Plugin config files are interpreted with the informal syntax. Since leading/trailing whitespace is not significant, it is recommended to write complex entries with a space between the two equals signs. For instance, if a plugin checked for an AlertLevel conditional expression on its configuration to determine when to send an alert, you could write it as:
AlertLevel = =LoadAvg > 4
Alternatively, plugin config files can use a colon as the separator instead, to make it more clear:
AlertLevel : =LoadAvg > 4
This can then be transformed into:
AlertLevel := LoadAvg > 4
This is often the cleanest way to write it, but the meaning still comes from the leading = and not from the combined :=.
As of version 6.1.0, plugin configurations can use “dotted” attributes to define nested configurations. For instance, suppose you have a plugin that expects a nested record specifying the source and destination:
Source.Host = example.com Source.User = jsmith Source.Password = p4ssw0rd
This is equivalent to the following, but can be much easier to understand:
Source := [Host="example.com"; User="jsmith"; Password="p4ssw0rd"]
Each plugin has a set of named properties. These properties are stored by the system as an ad of type Plugin. The table below lists many default plugin properties. A plugin may also have an arbitrary number of custom properties, and some parts of CycleServer may use attributes not listed below.
|Name||String||Required||unique name for this plugin|
|Disabled||Boolean||Optional||Flag indicating whether this plugin is disabled.
Disabled plugins cannot be retrieved from the
plugin registry. The default value is false.
|Dependencies||List||Optional||List of plugins that this plugin depends on. Most
plugins imported are automatically detected as
dependencies. Note: adding dependencies on plugins
in another app will not cause that app to be loaded first.
|Version||String||Optional||Version of the code currently loaded into the system.|
|PluginClass||String||Optional||Name of a Java class used to create new instances
of this plugin.
|JavaPluginClass||String||Optional||Name of a Java interface that this plugin should
be seen as when returned by the plugin registry.
|WebContent||String||Optional||If present, indicates how HTTP requests to this
plugin should be handled. See webcontent plugins
|UriPatterns||String||Optional||Comma-separated list of URI patterns associated
with this plugin.
|Hook||String||Optional||Name of the plugin that this plugin overrides.|
|HookOrder||Integer||Optional||Defines the order in which the hooks for the
Hook plugin are looked up. Hooks with the
lowest value come first. Only the first valid
hook is executed.
|AdTriggerType||String||Optional||Identifies this plugin as being a handler for ad
triggers of type AdTriggerType.
|AdTriggerTypeOrder||Integer||Optional||Defines the order in which the plugins of type
AdTriggerType are executed.
|AdEventType||String||Optional||Identifies this plugin as being a handler for ad
events of type AdEventType
|AdEventTypeOrder||Integer||Optional||Defines the order in which the plugins of type
AdEventType are executed.
|Command||Boolean||Optional||If true, this plugin can be triggered from the
command-line as ./cycle_server <command_Name> <cluster_name>
|Command_Name||String||Optional||Used in conjunction with Command, the name
that will be used to execute this plugin on the command-line,
with optional arguments
The following attributes are set by the system automatically
|Component||String||Auto-generated||The name of the component that contains this plugin.|
|Location||String||Auto-generated||Indicates where this plugin came from (might be a
path or a URL).
|LoadTime||AbsTime||Auto-generated||Time at which this plugin was loaded.|
|LastModified||AbsTime||Auto-generated||Time at which the code for this plugin or any of
its properties was last modified.
|Language||String||Auto-generated||Language used to implement this plugin, e.g. Java
|Installed||Boolean||Auto-generated||Flag indicating whether this plugin was
installed. The value is set to true only
after the onInstall() function completes successfully.