RT 5.0.4 Documentation
Extensions
Introduction
RT has a lot of core features, but sometimes you have a problem to solve that's beyond the scope of just configuration. The standard way to add features to RT is with an extension, or plugin -- RT uses the terms interchangably.
Finding extensions
Most of the extensions written by Best Practical (and quite a few contributed by the community) are available from CPAN; a search for RT::Extension will turn up most of them. The Best Practical website also maintains a list, at http://www.bestpractical.com/rt/extensions.html
Installing extensions
RT extensions should be installed by downloading the .tar.gz
file for the extensions, extracting it (with tar xzf filename.tar.gz
), and following the instructions in its included README.
The instructions under INSTALLING
in the README always take precedence over those found here. In general, however, the process is as follows:
Run
perl Makefile.PL
to check for dependencies, and minimum versions of RT. If your RT is in an unusual location (not/opt/rt5/
), you may need to set theRTHOME
environment variable to the root of your RT location.Run
make
to prepare the package for installation.Run
make install
; you may need to run this step asroot
, or at least a user that has permission to install into RT's directories.If the extension contains database changes or new queues, scrips, templates, or the like, you will need to run
make initdb
to install them. Not all extensions have database changes, and most of them only need this step run when they are first installed, and not on later updates. Refer to theINSTALLING
section of the module's documentation.Add the plugin to RT's configuration. By default, newly installed plugins are not enabled. On RT 4.2 and later, each plugin should be enabled by the
Plugin()
command:Plugin( 'RT::Extension::Example' ); Plugin( 'RT::Extension::Sample' );
On RT 4.0, enabling them instead requires adding them to the
@Plugins
configuration:Set( @Plugins, 'RT::Extension::Example', 'RT::Extension::Sample' );
Configure any additional settings that the extension requires. Many options that must be set before the plugin can be used. Read the documentation carefully.
Next, clear the cache. RT caches the files it serves, and installing a plugin requires clearing this cache to ensure that the changes are served. This is done by removing files in the /opt/rt5/var/mason_data/obj directory:
rm -rf /opt/rt5/var/mason_data/obj
This step may not be necessary if the extension does not affect RT's display.
Finally, restart your webserver. The steps for this will vary from webserver to webserver.
Again, the above are generalizations. The README
shipped with the extension always takes precedence over the above steps.
We do not suggest using the command-line cpan
or cpanm
client to install RT extensions, despite them being available from CPAN. Those command-line clients are not aware of steps 4-8 listed above, and may result in an incomplete installation.