At Kaleidos we develop projects with mainly two powerful MVC frameworks: Django and Grails.
For a long time our Django colleagues have been teasing us (the Grails teams) with the great solution that is the Django Admin. Usually the lack of a real admin interface was justified saying “we have scaffolding!” but of course we knew how different those two solutions (scaffolding vs an admin interface) were.
- Scaffolding ships in two flavors: dynamic and static. The static scaffolding is for code generation to start developing your project and a dynamic scaffolding is not so easily customizable.
- Scaffolding doesn’t integrates security out-of-the-box.
- You have to develop on top of scaffolding to have a real backoffice for your clients.
- You can do certain optimizations inside an Admin interface that can’t be applied with just scaffolding
So, we thought that an admin interface could be a very cool addition to the Grails ecosystem and taking advantage of a calm period between projects we started to develop this idea.
Our objectives were:
- Easy to use
- Administration of domain objects
- Powerful
- For both final users and developers
- Extensible
After a few weeks of development we’re proud to introduce: Grails Admin Interface Plugin
We have released the first public version so you can now install it on your Grails project just by adding it to your BuildConfig.groovy
plugins { runtime ":admin-interface:0.6.4" }
Once the plugin is installed the only mandatory step is to define the domains that you will expose through the admin interface Config.groovy
grails.plugin.admin.domains = [ "conferences.Room", "conferences.Attendee", "conferences.Conference", "conferences.Talk", "conferences.Speaker" ]
And… that’s it! you will now have a ready to use administration interface.
Dashboard
List the items
Create a new Item
Well that’s great and all but we can customize to a greater extent.
We can remove fields and group them
Create a new Item
And we can change the custom visualization for each one of the fields (with an abstraction that we have called widget)
This is just a first release, we are planning much more functionality for future releases like…
- Filters
- Widget multi-property
- Batch actions
- Inline related elements
- More widgets: Media content, list-view widgets
- Themes
- Content roles
- Changes history (Auditing)
- User-defined CRUD methods
- Events
- Calculated fields
And there is much more so we encourage you to check out the documentation here: https://kaleidos.github.io/grails-admin-interface/
Give it a try and let us know if you found a bug or you want an improvement in our Github page: https://github.com/kaleidos/grails-admin-interface
And if you want to try a live demo you can do so here: http://sample.grailsadmininterface.kaleidos.net
Or check out all the information on the official Grails plugin page: http://grails.org/plugin/admin-interface.