You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

A Magnolia light module is a file and folder-based module. It can define every Magnolia item which can be configured in YAML – such as apps, templates, dialogs, themes, and others. It can also contain a lightweight YAML-based module descriptor and web resources such as css and javascript files.

Light modules can be built with a simple text editor, with no special tools (such as Maven) required. A light module cannot incorporate java classes.

Light module structure

Below you see the structure of an exemplary light module. 

magnolia.resources.dir/
└── <module-name>/
    ├── apps/
    ├── dialogs/
    │   └── myDialog.yaml
    ├── module.yaml
    ├── webresources/
    └── templates/
        ├── components/
        │   ├── myComponent.ftl
        │   └── myComponent.yaml
        └── pages/
            ├── myTemplate.ftl
            └── myTemplate.yaml

Light modules can contain more or less folders compared to this example.

The magnolia.resources.dir folder

Please note that a Magnolia Light module must reside within the so called "magnolia resources directory".

magnolia.resources.dir is a property defining the directory from which resources are loaded in a Magnolia instance. This directory is used for file-based resources such as light modules and for overriding classpath resources. The property is configured in WEB-INF/config/default/magnolia.properties and has the default value $magnolia.home/modules. To see the current value of the property, go to the Config Info tab in the About Magnolia app.
(info) You can use symbolic links (a.k.a symlinks or soft links) in the resources directory to include light modules located elsewhere on your system.

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels