RT 5.0.7 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 interchangeably.

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:

  1. 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 the RTHOME environment variable to the root of your RT location.

  2. Run make to prepare the package for installation.

  3. Run make install; you may need to run this step as root, or at least a user that has permission to install into RT's directories.

  4. 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 the INSTALLING section of the module's documentation.

  5. 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' );
  6. Configure any additional settings that the extension requires. Many options that must be set before the plugin can be used. Read the documentation carefully.

  7. 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.

  8. 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.

← Back to index