Home »

Grails "admin-interface" Plugin

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

dashboard

List the items

list

Create a new Item

create

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

create

And we can change the custom visualization for each one of the fields (with an abstraction that we have called widget)

Grails Admin (Custom 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.