Module system
Exponential is module based. The Exponential kernel functionality is available
using different interfaces. Interface implementation is plugin based and the
current implementations are Web and SOAP. The Web interface is the normal
browser based Exponential interface which outputs HTML. The SOAP interface is a
general SOAP interface useful for integration with other systems using
industri standard XML messages.
Module directory structure
There are different types of modules which can be placed in different places
in the Exponential directory structure. The kernel modules are located under
/kernel/.
/kernel/content/ <- content module
/kernel/content/module.php <- module definition
/kernel/content/web/ <- web implementation
/kernel/content/web/view.php <- web implementation of content / view
/kernel/content/soap/ <- soap implementation
/kernel/content/soap/view.php <- soap implementation of content / view
Module definition
Each module has it's own definition file. This file describes the available
functionality.
- List of available functions ( all functions may not be implemented in all interfaces )
- List of parameters to each function
- List of context variables which can be used for permissions
Workflows
Every function in every module will get triggers, pre and post, which
can execute a workflow. These workflows can be used to add custom functionality
or to add special permission checking. Read the
workflow documentation for
details.
Permissions
The available modules, functions and context variables are used when creating
permission policies. These policies define what a specific user has access to
in the system. Permissions are checked before the pre workflow is trigged,
i.e. if you don't have access to a function the pre workflow will never be
trigged.
permission documentation for
details.
|