|< Day Day Up >|
If you've created an extension that you think would be generally useful for the RT community, you can package it and distribute it as a Perl module on CPAN, the Comprehensive Perl Archive Network.
All RT extensions placed on the CPAN should have a name starting with RTx to distinguish them from core RT code.
You can use Module::Install::RTx to help create an installer for your extension. It automates a number of RT-specific installation tasks, such as installing .po files for I18N, installing Mason components, and updating the database.
Here is an example Makefile.PL for a fictional RTx::MechaRepair extension:
use inc::Module::Install; RTx('MechaRepair'); author('Dave Rolsky <email@example.com>'); license('perl'); WriteAll( );
Module::Install::RTx looks for certain directories in the distribution like html or po and makes sure that files in there end up in the appropriate place when installed. See the Module::Install::RTx documentation for details.
10.9.1.1. Updating the database
You can include SQL files to update the database under etc/. To change the database schema, use a file named schema.XXX, where XXX is the name of a DBI driver like "Pg" or "mysql." SQL to update ACLs should be named acl.XXX. If you have a file named initialdata, this can be used to run a set of INSERT or UPDATE statements to update the database.
If any of these files are present, the end user installing your extension will be able to run make initdb, which takes care of running rt-setup-database appropriately.
RT is open source software, which is made freely available under the terms of version 2 of the GNU GPL. When you release an extension, we encourage you to use an OSI-approved license that is compatible with RT's. If you have any questions about appropriate licensing for your RT extensions, we encourage you to consult legal counsel.
|< Day Day Up >|