We’ve already seen some examples of how you can modify RT’s behavior through custom scrips, templates, and actions, but RT can be customized even further. You also may need to work on RT’s core code, either to develop features to submit back to the core developers or to fix bugs that you find.
Enabling RT’s development allows several features that make developing RT and RT extensions much simpler. There are several ways you can do this. You can enable RT’s “developer mode” feature when running the configure script by adding the
You also can edit the etc/RT_SiteConfig.pm file to include this line:
Set($DevelMode => 1);
—with-devel-mode configuration option simply adds this line to the etc/RT_Config.pm file.
Turning on development mode disables the
use_object_files Mason features, which means that components are re-parsed for every request. This guarantees that changes to components will be seen immediately.
It also enables the use of
Module::Refresh, which checks for changes to modules on each new request. Without this, it would be necessary to restart the HTTP server every time a module was changed.
Most of RT’s core classes are designed to allow you to customize their behavior through a mechanism called overlays. You also can use subclasses in some cases, or modules such as Damian Conway’s
Overlays are the easiest way to make major changes to RT’s ...