O'Reilly logo

RT Essentials by Robert Spier, Jesse Vincent, Richard Foley, Dave Rolsky, Darren Chamberlain

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 10. Development Environments

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.

DevelMode

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 —with-devel-mode switch.

You also can edit the etc/RT_SiteConfig.pm file to include this line:

    Set($DevelMode => 1);

The —with-devel-mode configuration option simply adds this line to the etc/RT_Config.pm file.

Turning on development mode disables the static_source and 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.

Modifying RT’s Codebase

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 Hook::LexWrap.

Overlays

Overlays are the easiest way to make major changes to RT’s ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required