(Quick Reference)

1 Overview - Reference Documentation

Authors: Marc Palmer (marc@grailsrocks.com), Stéphane Maldini (stephane.maldini@gmail.com)

Version: 1.0.M2-SNAPSHOT

1 Overview

The Plugin Platform provides APIs and utilities that provide the glue required for advanced Grails plugin development and integration across multiple Grails versions, and turbo-charge the development of a new generation of plugins.

The founding principle is that these platform features should not be part of Grails core because this would tie plugins that use the APIs to specific Grails versions.

This relative freedom from Grails versions means that plugins that use the platform should remain compatible with more Grails versions for longer, and that new features used by all plugins can be added outside of the Grails release cycle.

1.1 The APIs

The features include in this release include:
  • Configuration API - Plugin-namespaced config, Config merging, validation and default values
  • Security API - An abstraction of basic security features that most applications require, with implementations to be provided by plugins or your application
  • UI Extensions - A set of tags and helper functions

Each feature is covered in more detail later in this documentation.

The platform is very self-referential - it uses own APIs - for example to provide event hooks for Grails application lifecycle, to declare dynamic methods on your controller and service artefacts, and to declare the configuration values that it uses.

All of these APIs are designed to be as simple as possible while providing some very high level features.

Use this platform to add tighter and more consistent integration to your own plugins.

1.2 Change log

1.0.M2-SNAPSHOT

  • Refined and documented Navigation API
  • There are no longer any "g" namespaced tags. All g: tags have move to p: namespace
  • Added "site.url" Config setting for siteLink tag to use instead of grails.serverURL if the two differ for your use case
  • Refactored Injection, Conventions and Navigation implementations into public interface + implementation classes

1.0.M1

First public release with Config and Security APIs and some UI Extensions. Work-in-progress APIs for Events, Injection, Conventions and Navigation.

1.3 Known Issues

1.0.M2-SNAPSHOT

  • Automatic convention controller navigation includes all actions, not just those with GET allowedMethod

1.0.M1

  • Config API - false validation errors with platform-ui due to no x.y.'*' support yet
  • Navigation API - controllers do not auto-register in Grails 1.3.x, no DSL artefact, no reloading
  • Conventions API - API not for public use. Not fully implemented / TBD
  • Events - API not for public use. Scopes not fully implemented / TBD
  • Injection - injection may not re-apply dynamic methods and properties to reloaded or new artefacts, API is not for public use at all yet