Directories, Plugins and Scopes
Base directory: UM/cmsbs-conf/cse/
Directory relative to base dir | Explanation |
---|---|
| Provided by installer; overridden during installation and update; do not touch! Feel encouraged to browse through for inspiration, thou. |
| All your custom code belongs here. See Plugins below. |
| These are legacy custom code locations and should not be used anymore. |
Plugins
All custom code must be organized in Plugins. Each plugin must have a unique (Java package) name. E.g.:
de.pinuts.tutorial
foo.bar
de.demo-project
Invalid name: only alphanumeric and dots allowedcom.acme.foo
Invalid:com...
,net...
andorg...
denote reserved namespaces and can not be used as top-level package names
Each plugin must have a plugin.desc.json
file that can be initially created by the Kickstarter.
Scopes
There are four different scopes that are used to separate code that will be executed in different contexts. Each scope has its own subdirectory:
./custom/
: Functions to be called as Cron Jobs
./callback/
: Callbacks are invoked when specific events occur in the application core
./wizard/
: Backoffice wizards
./rest/
: REST endpoints
./shared/
: Code that will be available in all of the above contexts.
When in doubt, put your files into the ./shared/
directory. The scoping logic has become less important since code can be structured using ECMAScripts export and import statements nowadays.