- UPGRADING FROM RT 4.0.0 and greater

# UPGRADING FROM RT 4.0.0 and greater

This documentation notes internals changes between the 4.0 and 4.2 series that are primarily of interest to developers writing extensions or local customizations. It is not an exhaustive list.

- The link direction and type maps are consolidated into RT::Link. If you wrote local customizations or extensions utilizing `%RT::Ticket::LINKDIRMAP`, `%RT::Ticket::LINKTYPEMAP`, `RT::Ticket->LINKDIRMAP`, `RT::Ticket->LINKTYPEMAP`, or `%RT::Record::LINKDIRMAP`, you will need to switch to `%RT::Link::DIRMAP` and `%RT::Link::TYPEMAP`.

- MakeClicky handlers added via a callback are now passed an "object" key in the parameter hash instead of "ticket". The object may be any RT::Record subclass.

- `ShowUser` handlers (`/Elements/ShowUser*`) have moved out of Mason components and into `RT::User` methods. Any custom username formats will need to be reimplemented as `RT::User` methods. Renaming should follow that of the core components:

          /Elements/ShowUserConcise => RT::User->_FormatUserConcise
          /Elements/ShowUserVerbose => RT::User->_FormatUserVerbose

  The `_FormatUser*` methods are passed a hash containing the keys `User` and `Address`, which have the same properties as before.

- CSS is no longer processed through Mason; it's served by a proper static file handler. If you used the `Begin` or `End` callbacks of `main.css` in the aileron, web2, or ballard themes, you should transition to the "@CSSFiles" in RT_Config config option. If you need to target specific themes, you can use the class set on the <`body`> element (for example: body.aileron). See docs/customizing/styling_rt.pod for more information on custom styles.

- The `AddRights` and `AddRightCategories` methods on RT::Class, RT::CustomField, RT::Group, RT::Queue, and RT::System were refactored into "AddRight" in RT::Record::Role::Rights.

← Back to index