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 =
Source.User = jsmith
Source.Password = p4ssw0rd

This is equivalent to the following, but can be much easier to understand:

Source := [Host=""; User="jsmith"; Password="p4ssw0rd"]

Plugin Attributes

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.

Attribute Value Type Status Description
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
or Python.
Installed Boolean Auto-generated Flag indicating whether this plugin was
installed. The value is set to true only
after the onInstall() function completes successfully.