Modules
Magnolia has a modular architecture. A module can perform a task, package content, or provide specialized functionality. Modules can be project specific or reused across different projects. You should use the module mechanism to package and deploy your own site’s configuration and functionality.
In Magnolia documentation, the terms module and project module always refer to a Magnolia module.
What makes a Magnolia module are files specific to Magnolia in a particular folder. You can add such a Magnolia module folder directly into the webapp of your Magnolia instance.
You can define a Magnolia module with one file, with its Module descriptor. Typically, the descriptor resides either in a Maven module or within a light module together with other files.
When you are creating a website project, you should have one module for templates, another module for content, a third for a theme, and so on. |
Maven also uses the term module but it means something different. For this, we explicitly write Maven module. You can make the Magnolia module folder part of a Maven module. In that case you would build a JAR file and deploy it to your webapp.
You don’t need to know Java or Maven to create a perfectly valid Magnolia module. Put your project files into a file-system directory to create a light module.
Use YAML-based configuration and Magnolia’s unified resource loading. |
This enables light development, a development style which does not require Java skills or a Java development environment. It’s a straightforward way to get started with Magnolia development and works well for front-end developers. The Hello Magnolia tutorial uses light development to create a fully-functional template module.
Store your light modules outside of the apache-tomcat directory so that the modules you add can be accessed by any Magnolia instance.
If you already have a light modules directory you want to use, edit the magnolia.resources.dir property in your magnolia.properties file to point to it.
|
Bundled modules
Some modules are bundled as part of the Community Edition (CE) or standard DX Core offering. This means the module is automatically installed as part of your project.
All others modules are are unbundled. For these modules, you can pick and choose the modules you want to add to your project. Note that additional licenses may be required.
List of modules
Module compatibilities with DX Core and CE
The value in the SPA column marks the module’s availability for implementation in SPA/Headless projects. |
Module | Edition | Bundling options | SPA | Latest version | Issues |
---|---|---|---|---|---|
CE |
Yes |
n/a |
6.2.19 |
||
CE |
Yes |
n/a |
6.2.41 |
||
DX Core |
Yes |
n/a |
2.3.6 |
||
DX Core |
Yes |
n/a |
2.5.1 |
||
CE |
Yes |
n/a |
3.7.3 |
||
Multiple (see modules) |
Yes |
n/a |
5.9.19 |
||
DX Core |
Yes |
n/a |
2.1.0-beta2 |
||
DX Core |
Yes |
n/a |
1.3.2 |
||
CE |
Yes |
n/a |
2.9.1 |
||
CE |
Yes |
n/a |
6.2.53 |
||
CE |
Yes |
n/a |
1.8.4 |
||
DX Core |
Yes |
n/a |
2.0.6 |
||
DX Core |
Yes |
n/a |
2.1.13 |
||
CE |
Yes |
n/a |
1.0.5 |
||
DX Core |
Yes |
n/a |
2.0.6 |
||
DX Core |
Yes |
n/a |
2.5.11 |
||
CE |
Yes |
n/a |
1.2 |
||
CE |
Yes |
n/a |
2.1.3 |
||
CE |
Yes |
n/a |
1.1 |
||
DX Core |
Yes |
No |
2.2.8 |
||
CE |
Yes |
n/a |
3.0.39 |
||
CE |
Yes |
No |
2.7.8 |
||
DX Core |
Yes |
n/a |
1.1.9 |
||
CE |
Yes |
n/a |
3.0.5 |
||
DX Core |
multiple (see modules) |
n/a |
multiple (see modules) |
multiple (see modules) |
|
DX Core |
Yes |
n/a |
1.2.5 |
||
CE |
Yes |
n/a |
3.5.10 |
||
CE |
No |
No |
2.0 |
||
CE |
Yes |
n/a |
1.3 |
||
DX Core |
Yes |
n/a |
1.10.4 |
||
CE |
Yes |
n/a |
1.1.2 |
||
CE |
Yes |
n/a |
5.6.4 |
||
DX Core |
Yes |
Yes |
2.0.1 [1] |
||
CE |
Yes |
n/a |
6.2.19 |
||
CE |
Yes |
No |
2.0.4 |
||
CE |
Yes |
n/a |
2.0.4 |
||
DX Core |
Yes |
Yes |
2.1.5 |
||
CE |
Yes |
n/a |
2.2.1 |
||
CE |
Yes |
Yes |
6.2.40 |
||
CE |
Yes |
n/a |
1.2.9 |
||
CE |
Yes |
n/a |
1.2.10 |
||
DX Core |
Yes |
Yes |
2.1.15 |
||
DX Core |
Yes |
n/a |
2.0 |
||
CE |
Yes |
No |
2.7.7 |
||
CE |
Yes |
n/a |
1.3.17 |
||
DX Core |
Yes |
n/a |
1.2.5 |
||
CE |
Yes |
n/a |
3.0.10 |
||
CE |
Yes |
n/a |
2.0.5 |
||
CE |
Yes |
n/a |
2.2.27 |
||
CE |
Yes |
n/a |
2.6.6 |
||
CE |
Yes |
n/a |
2.3.6 |
||
CE |
Yes |
n/a |
2.3.6 |
||
CE |
Yes |
n/a |
1.4.7 |
||
DX Core |
Yes |
n/a |
3.1.4 |
||
DX Core |
Yes |
n/a |
6.1.12 |
||
DX Core |
No |
n/a |
3.1.9 |
||
DX Core |
Yes |
n/a |
2.0.1 |
||
DX Core |
Yes |
n/a |
1.1.6 |
||
DX Core |
Yes |
n/a |
1.9.3 |
||
DX Core |
Yes |
Yes |
1.0.3 |
||
DX Core |
Yes |
n/a |
1.0.6 |
||
CE,Cloud |
Yes |
n/a |
6.2.53 |
||
CE,Cloud |
Yes |
n/a |
6.2.53 |
||
CE |
Yes |
n/a |
6.2.53 |
||
DX Core |
Yes |
n/a |
1.0.3 |
||
DX Core |
Yes |
n/a |
6.0.15 |
Module bundling for webapps
magnolia-empty-webapp
is the base Magnolia webapp. All other webapps build upon it successively. dx-core-webapp
on top of the empty webapp, dx-core-demo-webapp
overlaying dx-core, and so forth. The same is true for CE editions, with magnolia-community-webapp
and magnolia-community-demo-webapp
built successively on the empty webapp.
Module | Bundled in magnolia-empty-webapp |
Bundled in dx-core-webapp |
Bundled in dx-core-demo-webapp |
---|---|---|---|
Yes |
Yes |
Yes |
|
Yes |
Yes |
Yes |
|
No |
Yes |
Yes |
|
No |
Yes |
Yes |
|
Yes |
Yes |
Yes |
|
No |
Yes |
Yes |
|
No |
Yes |
Yes |
|
Yes |
Yes |
Yes |
|
No |
Yes |
Yes |
|
Yes |
Yes |
Yes |
|
Yes |
Yes |
Yes |
|
No |
Yes |
Yes |
|
No |
Yes |
Yes |
|
No |
No |
Yes |
|
No |
Yes |
Yes |
|
No |
Yes |
Yes |
|
Yes |
Yes |
Yes |
|
No |
Yes |
Yes |
|
Yes |
Yes |
Yes |
|
No |
Yes |
Yes |
|
Yes |
Yes |
Yes |
|
Yes |
Yes |
Yes |
|
Yes |
Yes |
Yes |
|
No |
Yes |
Yes |
|
No |
No |
Yes |
|
No |
Yes |
Yes |
|
No |
Yes |
No |
|
Yes |
Yes |
Yes |
|
No |
Yes |
Yes |
|
No |
Yes |
Yes |
Unbundled modules, for example, |
Connector Pack modules
Module | Connector Pack | Bundled in DX Core | SPA | Latest version | Issues |
---|---|---|---|---|---|
Analytics Connector Pack |
No |
n/a |
1.3.0 |
||
Commerce Connector Pack |
No |
Yes |
1.3.6 |
||
DAM Connector Pack |
No |
n/a |
1.1.9 |
||
Marketing Automation Connector Pack |
No |
Yes |
1.0.4 |
||
Optimization Connector Pack |
No |
n/a |
1.2.1 |
Special Feature modules
Module | Bundled in DX Core | SPA | Latest version | Issues |
---|---|---|---|---|
No |
No |
1.0.1 |
||
No |
Yes |
3.2.15 |
Incubator modules
Incubator modules are developed and supported by Magnolia Professional Services. They have typically been developed in close collaboration with customers to meet requirements not covered by the core product. Now you can benefit from these useful features in your projects as well. However, you must assume some risk as the modules have not been through a rigid development process.
General information
Only available to Magnolia Enterprise customers.
Our MLA is friendly and includes access to the source code. All extensions are covered by this agreement.
See also the GPL.
Incubator modules are supported by the Magnolia Professional Services team. It is crucial to be aware that incubator modules supported by Magnolia Professional Services are based on commercially reasonable efforts only, meaning the team is not bound to fix any bug or issue right away. The estimated completion time could be defined, but no guarantee is made.
Please, open a ticket in the appropriate Jira project.
6.2
, preconfigured Magnolia DX Core bundles contain version 1.4.4
of the Marketing Tags module. Version 1.4
is compatible with the 5 UI framework. If you wish to use module version 2.0
(or higher), you must first remove the 1.4.4
module.