Source Code Structure

Good morning, I would like to know if there is somewhere a document that explains the code structure (folder organization) and the packages needed in order to make some customizations of the source code. If there isn’t one, could you please explain me? Thanks a lot!

The documentation for your version of RT is a good place to start - for example 4.4.2 docs. In there is information about various customization options for different features plus notes on hacking on the codebase.

The basic structure of the RT system is pretty straight forward. Assuming you’ve installed RT under /opt/rt4 the directories are:

bin - the main utilities: rt, rt-crontool and rt-mailgate
docs - a local copy of handy documentation about RT
etc - initial data and configuration files for the site
lib - the Perl library modules that form the basis of RT. These are covered by the “Developer Documentation” in the docs linked above.
local - local modifications. This is important - it has a sub-directory structure that mirrors some of directories at this level and its in here that you copy HTML, Perl modules, config files, and the like to make your modifications to. This way if you update RT, your modified versions don’t get blown away, plus if something goes wrong with your version you can always rename/move it and go back to the default distribution version.
sbin - more system support utility programs.
share - home of the html Text::Template files, language stuff, fonts, etc.
var - variable data from a running system such as logs and (importantly) the Mason object cache (which you have to nuke repeatedly during development to get rid of cached output).

Hope that helps

Hi! Thank you very much. This helps me a lot in my project. I’m very
grateful.