Magnolia 5.4 reached end of life on November 15, 2018. This branch is no longer supported, see End-of-life policy.
A Magnolia module can be purely be purely file based or it can be wrapped in a Maven project.
Table of Contents |
---|
Multiexcerpt | ||
---|---|---|
| ||
|
...
|
...
|
Notes:
Include Page | ||||
---|---|---|---|---|
|
<module-name>
folder folder contains exactly the same content in a Maven module and folder-based module. In a Maven module this folder is within is within src/main/resources
. In a folder-based modules this folder is within within $magnolia.resources.dir
.Avoid spaces and special characters (ü, ä, ö) in <module-name>
Include Page | ||||
---|---|---|---|---|
|
Info | ||||||
---|---|---|---|---|---|---|
|
apps | optional Configuration data for apps (YAML files) |
decorations | optional Definition decorator files files (YAML files) |
dialogs | optional Dialogs (YAML files), may have subfolders |
fieldTypes | optional FieldType definitions (YAML files). |
i18n | optional i18n message bundle (.properties files). |
messageViews | optional MessageView definitions (YAML files). |
webresources | optional All the web resources, typically contains subfolders. (Folder name is arbitrary.) |
templates | optional Template definitions (YAML files) and scripts with subfolders |
...
Starting with Magnolia 5.4, a Magnolia module does not have to be a Maven module. You can add a file-based module in the the $magnolia.resources.dir
directory directory.
By default $magnolia.resources.dir
is is the webapp folder, for instance magnoliaAuthor
or magnoliaPublic
. See See Add the module folder to $magnolia.home for more information about $magnolia.home
.
Include Page | ||||
---|---|---|---|---|
|
If you are familiar with Java and Maven you may want to use Maven to create and build your Magnolia module. Using Maven eases the eases the process of creating a JAR file, deployment, and dependency management of your modules. All All modules provided by Magnolia are built with Maven. This makes it easy to install or uninstall them by adding or removing a JAR file.
Magnolia provides a Maven archetype to build the skeleton of a Magnolia Maven module. The archetype provides options to build different modules:
The archetypeCatalog is in https://nexus.magnolia-cms.com/content/groups/public/
.
...
Execute the following maven command:
Include Page | ||||
---|---|---|---|---|
|
Choose an archetype when prompted. Here we choose the option option magnolia-module-archetype
which is a simple Magnolia project wrapped into Maven structure. Maven will then ask us for the standard Maven properties such as which version of Magnolia we will be using.
Next, the script asks to choose the archetype version - we recommend to choose always the latest version.
Now you must prompt typical Maven properties such as groupId, artifactId, package name and version plus the Magnolia specific parameters magnolia-bundle-version, module-class-name and module-name.
When you have prompted all the parameters - the archetype summarizes your inputs and you must confirm or can skip.
language | text |
---|
Code Block | ||
---|---|---|
| ||
Define value for property 'groupId': : com.example Define value for property 'artifactId': : myModule Define value for property 'version': 1.0-SNAPSHOT: : Define value for property 'package': com.example: : Define value for property 'magnolia-bundle-version': : 5.4.16 Define value for property 'module-class-name': : MyModule Define value for property 'module-name': myModule: : Confirm properties configuration: groupId: com.example artifactId: myModule version: 1.0-SNAPSHOT package: com.example magnolia-bundle-version: 5.4.16 module-class-name: MyModule module-name: myModule Y: : Y |
If you confirm, Maven generates the archetype skeleton.