Grails plugin for the Canoo UltraLightClient (ULC)
| Under construction This page is currently under construction. |
Purpose and background information
The Grails ULC Plugin enables any Grails application to make use of Canoo ULC as an alternative view and controller technology to present your domain model in a rich user interface. The ULC user interface shows the same appearance and capabilities as Swing while executing all application specific code on the server.
You can use the ULC views and controllers alongside any usual Grails views (GSPs) and controllers. You automatically share all objects.
Inside ULC controllers ("listeners" that is), you have have the exactly same capabilities as inside Grails controllers. You can access Domain classes, load and save them, and use any dynamic finder method.
ULC views and controllers may be written in either Java or Groovy.
With the plugin comes an initial ULC interface that allows to explore all your domain objects.
- From a drop-down list you can select any domain class.
- This results in showing all known objects of the class in a table with their properties as columns.
- Each object is shown in an editable detail pane when selected in the above table.
The initial version of the Grails ULC Plugin was developed during the famous Canoo Code Camp in January 2008 by Patrick Lisser and Dierk König.
You can bet that we had a lot of fun programming.
Suppose you have a simplistic domain model with the following unrelated classes.
class Canooey {
String name
String technology
String toString() { "$name knows $technology" }
}
and
class CodeCamp {
String year
String location
String toString() { "The $location Code Camp $year" }
}
You can use the usual Grails capabilities to create-read-update-delete-list instances of these classes, e.g. add Canooeys Pat and Mittie and add the latest Code Camps
Now with the ULC plugin you get a new gsp page called after your application
<application>.gsp
that comes up like
Note that you can select from all known domain classes.
After selecting the domain class of interest, you see all known instances like
Selecting any instance in the table shows the details of that instance (including its toString() representation) in the lower detail pane.