Preferences - Contributed Extensions / Tools
Select the
ProvideX > Contributed Extensions / Tools preference page.

Standard Options
The ProvideX plug-in includes a feature that allows developers to write
their own tools or extensions that can be used to extend the features of the
Plug-in.
- Enable external observers
- This option tells the ProvideX plug-in to load all observers
for the registered extensions and contributed tools.
- Directory for user-defined observers
- This option is used to specify the directory where the contributed
tools and extensions have been placed. If the directory does not contain a
file with the name 'classes.txt' containing the
registration information, no observers will be loaded.
All extensions and some contributed tools will listen for specific
events from the Workbench and will execute only when these events occur. Many
extensions add logic to the standard ProvideX build process and can be invoked
before, after or before and after the standard build process. During the
ProvideX Event Manager startup, an option will be added to this preference
page for each registered extension or contributed tool.
Built-in Observers
The ProvideX plug-in includes several standard extensions and
contributed tools.

- Convert ProvideX keyed files to/from XML
- This option is for a contributed tool that will also appear on the ProvideX
| Contributed Tools menu and can be accessed from there. It has also
registered itself as a builder extension and this option is used to enable
that part of the contributed tool - this option will NOT affect the operation
of the tool from the contributed tools menu option.
- Substitute modification year of source file for 'Copyright-year' tag
- This is an extension that will replace the text '%(Copyright-year)%'
within the first 1000 characters of the source file with the current year.
- Set modification time stamp of output file to be the same as source
file
- This is an extension that has registered itself as a post-process
builder extension that will change the modification time stamp of the output
file to match the time stamp of the source file.
Register User-Defined Observers
A developer can write an extension (or contributed tool) following the
steps described later in this documentation and place the programs into a
directory on each workstation. This directory must also contain a file with
the name 'classes.txt' to identify the programs to
be registered with the plug-in.

As this example shows, the format of each line is:
eventName=<NameOfClass>
where <NameOfClass> is replaced by the
name of the class definition to be loaded.
Manage User-Defined Observers
Once the ProvideX Event Manager has been started, the observers that
have registered themselves as pre/post process observers will appear on this
preference page. The order of the observers on this preference page is not
predictable.

- Sage Style Check
- This option is for a contributed tool that will also appear on the ProvideX
| Contributed Tools menu and can be accessed from there. This tool has
also registered itself as a builder extension and this option is used to
enable that part of the contributed tool - this option will NOT affect the
operation of the tool from the contributed tools menu option.
- Show message in Console
- This is an extension that has registered itself as a pre-process and
post-process builder extension. This is a very simple extension; the source code
can be reviewed to see how easily this can be accomplished. When this
extension is enabled, a message will be sent to the console during the
builder pre-process and a second message will be sent during the builder
post-process.
