Quick links: Content - sections - sub sections

A Jelix application can make use of third-party module. But certainly, you will need to customize it more or less. Still, it would be a pain to modify its code directly. Jelix offers a way to overload the module files. As a result, any update of the module will be transparent and won't revert your modifications.

Module files you can overload :

As for templates, see theme system description. If you haven't configure your themes, then the default one is active. You only need to put your modified files in app/themes/default.

Other files needs to be located under app/overloads/<module_to_overload>/.

Say you want to overload example module.

  • daos will be located under app/overloads/example/daos/
  • forms will be located under app/overloads/example/forms/
  • locales will be located under app/overloads/example/locales/

Filenames must be equivalent to their original copy. And in the case of dao, you shoud respect its original api, ie, keep all methods defined in the original.

Any overloaded files respecting those criterias will automatically be loaded by Jelix and used instead of its original copy.

Note: before Jelix 1.7, the overloads/ directory was into var/, not int @@app/@. Since Jelix 1.7, it is still possible to put files into var/overloads/, but use this directory only for files that are generated during the life of the application (like xml forms file generated by a module for example), or for files specific to the server environment. In general, you'll put overload files into app/overloads/.