Customizing

WIKINDX can be customized via three types of components: plugin, style, template.

Disclaimer : currently the interface between the components and the core is not mature and we have not set up an infrastructure that would allow a developer to distribute an official component without also being an active developer of the core. The interface is quite unstable from one version to another, however you can develop a component for your private use if you are not put off by the code changes with each version.

Each type of component has its own structure described on its page. The only common point is a component.json file describing the component and a unique component identifier by type which must also be the name of the folder that contains the component.

To prevent access problems between different operating systems and file systems, the component identifier must respect the following constraints:

  • ASCII characters allowed: a to z, 0 to 9, - (hyphen), or _ (underscore).
  • All lowercase.
  • The <id> folder name of install/folder/components/<type>/<id> = component_id field of the component.json file.

A component of type plugin is a set of PHP code files that add new functionality. It must respect an interface with the core code.

A component of type style is an XML file defining bibliographic style rules.

A component of type template is a theme made of a collection of Smarty templates, images, CSS and Javascript that customizes the general appearance and major pages.