The ClioPatria plugin architecture
ClioPatria plugins are Prolog source-files that can do two things:
- Define hooks to alter the behavior of the existing application.
Supported hooks are documented in
hooks.pl
. - Create an HTTP service. Such services come in two types:
- Services that produce HTML for human consumption
- Services that produce XML or JSON for machines.
Plugins can be added to ClioPatria in many different ways. To preserve
best modularity, we suggest to add plugins to the configuration
directory config-enabled
. Standard plugins are provided in the
directory config-available
. In addition, most packages come with
a config-available
directory.
If ClioPatria is configures (using configure (Unix) or setup.pl
(Windows), it installs a default configuration of plugins in
config-enabled
. This default is determined by the file DEFAULTS,
in the directory config-available
. This file contains Prolog terms
of the format:
config(File, Action).
Here, File is a reference to a file in the config directory and Action is one of
- link
- Try to install the file using a link. This is used for plugin files that are typically need no further editing. If linking is not provided by the platform, the file is copied.
- copy
- Install the file by copying. This is typically used for files that need further configuration.