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.
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.
|
Module types
Some modules are bundled as part of the standard Core offering. This means the module is automatically installed as part of your project.
All other modules 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.
Type | Description |
---|---|
Core |
Core Magnolia modules These modules comprise the foundation of Magnolia and its functionality. Requires standard license and is bundled as part of that license. This includes Community Edition (CE) modules which are free and open-source. |
Extension |
Extension modules These modules extend the functionality of Magnolia and meet certain use-cases. May require an additional license and typically, the module is unbundled. This means there is likely additional installation required. See individual modules for details. |
Framework |
Framework modules These modules provide frameworks to use extensions. May require an additional license and typically, the module is unbundled. This means there is likely additional installation required. See individual modules for details. |
Incubator |
Incubator modules These modules are provided by Magnolia Professional Services. They are offered in incubator mode and are supported by Magnolia Professional Services on commercially reasonable efforts only, meaning Magnolia is not bound to fix any bug or issue right away. Included in standard DX Core core license and the module is unbundled. This means there is likely additional installation required. See individual modules for details. |
List of modules
Module | Type | Bundled | License | Latest |
---|---|---|---|---|
Core |
CE |
|
||
Extension |
Special |
|
||
Core |
CE |
|
||
Extension |
Special |
|
||
Incubator |
DX Core |
|
||
Core |
DX Core |
|
||
Incubator |
DX Core |
|
||
Incubator |
DX Core |
|
||
Framework |
DX Core |
|
||
Extension |
Special |
|
||
Extension |
Special |
|
||
Extension |
Special |
|
||
Extension |
Special |
|
||
Extension |
DX Core |
|
||
Extension |
CE |
|
||
Extension |
Special |
|
||
Extension |
Special |
|
||
Core |
CE |
|
||
Incubator |
DX Core |
|
||
Extension |
DX Core |
|
||
Extension |
DX Core |
|
||
Extension |
DX Core |
|
||
Core |
CE |
|
||
Incubator |
DX Core |
|
||
Framework |
DX Core |
|
||
Incubator |
DX Core |
|
||
Extension |
Special |
|
||
Incubator |
DX Core |
|
||
Framework |
DX Core |
|
||
Extension |
Special |
|
||
Extension |
Special |
|
||
Extension |
Special |
|
||
Extension |
Special |
|
||
Core |
CE |
|
||
Extension |
CE |
|
||
Core |
DX Core |
|
||
Core |
DX Core |
|
||
Core |
CE |
|
||
Core |
DX Core |
|
||
Extension |
DX Core |
|
||
Core |
CE |
|
||
Framework |
DX Core |
|
||
Extension |
DX Core |
|
||
Incubator |
DX Core |
|
||
Incubator |
DX Core |
|
||
Incubator |
DX Core |
|
||
Incubator |
DX Core |
|
||
Incubator |
DX Core |
|
||
Core |
CE |
|
||
Extension |
CE |
|
||
Core |
DX Core |
|
||
Core |
CE |
|
||
Incubator |
DX Core |
|
||
Framework |
DX Core |
|
||
Extension |
CE |
|
||
Incubator |
DX Core |
|
||
Extension |
DX Core |
|
||
Extension |
CE |
|
||
Extension |
DX Core |
|
||
Incubator |
DX Core |
|
||
Incubator |
DX Core |
|
||
Extension |
DX Core |
|
||
Core |
CE |
|
||
Core |
CE |
|
||
Extension |
DX Core |
|
||
Core |
CE |
|
||
Extension |
DX Core |
|
||
Extension |
Special |
|
||
Core |
CE |
|
||
Extension |
CE |
|
||
Framework |
DX Core |
|
||
Core |
DX Core |
|
||
Core |
CE |
|
||
Incubator |
DX Core |
|
||
Extension |
Special |
|
||
Extension |
CE |
|
||
Extension |
CE |
|
||
Core |
DX Core |
|
||
Extension |
CE |
|
||
Extension |
Special |
|
||
Core |
CE |
|
||
Extension |
CE |
|
||
Framework |
CE |
|
||
Core |
DX Core |
|
||
Extension |
DX Core |
|
||
Extension |
CE |
|
||
Core |
CE |
|
||
Core |
DX Core |
|
||
Core |
CE |
|
||
Core |
CE |
|
||
Framework |
CE |
|
||
Framework |
DX Core |
|
||
Extension |
Special |
|
||
Core |
CE |
|
||
Core |
CE |
|
||
Core |
CE |
|
||
Extension |
Special |
|
||
Incubator |
DX Core |
|
||
Extension |
Special |
|
||
Incubator |
DX Core |
|
||
Core |
CE |
|
||
Core |
DX Core |
|
||
Extension |
DX Core |
|
||
Incubator |
DX Core |
|
||
Extension |
DX Core |
|
||
Extension |
DX Core |
|
||
Incubator |
DX Core |
|
||
Extension |
DX Core |
|
||
Core |
DX Core |
|
||
Core |
DX Core |
|
||
Core |
DX Core |
|
||
Core |
CE |
|
||
Core |
CE |
|
||
Core |
CE |
|
||
Core |
DX Core |
|
||
Incubator |
DX Core |
|
||
Core |
DX Core |
|