dennczak
HomeProjectsContent Managment SystemDocumentationDeveloper GuideModules

Modules

In this area you will find information about the modules. 

There are currently two types of modules.

  • Frontend
  • Backend 

The frontend modules are output modules for the public output area such as text and headings. The backend modules are administration modules in the protected administration area. Both types work on the same principle. 

A module consists of 2 components.

  • Controller
  • View 

If a module uses its own database table, two additional components are added.

  • Schema
  • Model 

The controller is the entry point of a module, the controller uses parameters to decide which data and which view is loaded and made available. 

Each controller must provide two entry-level functions.

  • logic
  • view 

All other functions within the controller are the responsibility of the developer as he designs the controller. 

Basic data of a module are stored in a module.json. This contains information about what kind of module it is, how it should be installed and what rights it provides. After a module installation, the user groups must be adjusted because by default they have no rights to these modules, this also applies to the administrator. 

The core modules distribute their data in the /core directory

  • /core/models 
  • /core/modules 
  • /core/schemes 

Mantle modules can distribute their data to appropriate directories in the /mantle directory. But it would make sense for the modules to keep their respective data. 

In the process of a page call, the modules or the content objects used are determined by functions and called by a main function. This class with this main function has the proper name Imperator. 

Further information on the modules can be found in the subsections.