The Groovy module version compatible with Magnolia 5 starts from 2.0. The following documentation refers particularly to version 2.2 (released alongside Magnolia 5.2) and greater. Prior to version 2.2 the UI was a legacy app, wrapping the old interface. If you are using a version of the Groovy module before 2.2, you can still refer to the old documentation.

Also, please be aware that the bundled Groovy language version has been updated to the latest stable available at the moment of developing version 2.2 of the module, i.e. Groovy 2.1.8

The Groovy app is installed by the Groovy module that adds Groovy capabilities to Magnolia. The app is accessible in Dev > Groovy. For more information about using the app see the Groovy module documentation.

 

Configuration

The Groovy app is installed by the Groovy module. The app is based on the content app framework and is a good example of extending the framework. The configuration of the browser and detail subapps are typical of any content app. The console supapp uses a custom subapp class, GroovyConsoleSubApp . Permission to access the app is limited to users assigned the scripter role. In addition, the Dev app group that this app belongs to is only available to the superuser role. This is configured in the app launcher layout. The app is configured at /modules/groovy/apps/groovy.

Node name

Value

 
modules

 

 
groovy

 

 
apps

 

 
groovy

 

 
subapps

 

 
browser

 

 
detail

 

 
console

 

 
class

info.magnolia.ui.api.app.registry.ConfiguredSubAppDescriptor

 
closable

 false

 
subAppClass

 info.magnolia.module.groovy.console.GroovyConsoleSubApp

 
permissions

 

 
roles

 

 
scripter

scripter

 
appClass

info.magnolia.module.groovy.app.GroovyApp

 
class

 info.magnolia.ui.contentapp.ConfiguredContentAppDescriptor

 
icon

 icon-development-app

Workspace

The Groovy app operates on the scripts workspace that stores the Groovy scripts.

Node types

The Groovy app operates on mgnl:folder and mgnl:content node types

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))