[rt-devel] contributions helper

Bruce Campbell bruce_campbell at ripe.net
Sat Dec 21 17:13:22 EST 2002

On Sat, 21 Dec 2002, Stanislav Sinyagin wrote:

> I think it would be nice to integrate a small utility
> into RT distribution which would help to install and
> (probably) maintain the contribution add-ons.

You need to be more precise, as there are a number of types of add-ons,
all of which are somewhat different.

> First thing that this utility would do is variable substitution:
> so that the main RT installation and the installed add-ons would
> reference the same version of Perl, the same RT lib, etc, and bin
> paths, and (possibly) the same database access mechanisms.

Theres really four generic types of contributions.

Firstly, the ScripActions, ScripConditions and extra pages within the
WebRT directory.  These wouldn't require any assistance from such a tool,
as they all (should be) within the RT library scope and called using the
RT API methods by RT itself.  ( ie, 'use lib' shouldn't occur within a
RT::Action, RT::Condition or any file under WebRT/html ).

Secondly, standalone scripts that use the RT libraries.  These do need
substitutions of RT library paths, but thats it.  The rest of the RT
infrastructure takes care of the mundane tasks such as talking to the
database etc.

Thirdly, scripts which manipulate the database directly.  You probably
don't want to attempt to change those script's ideas about where libraries

> The second nice-to-have task is much more complicated:
> a kind of package management. The most complexity would be in
> the sources version control, because most of the add-ins
> need to modify some files in the installation.

And Fourthly, localised changes to the RT libraries or existing webpages.
For the latter, RT currently defines a separate directory (see
$MasonLocalComponentRoot), where localised overrides to the page can be
placed, with (I assume) your own version control.  for the former, the
next version of RT has a similar 'Overlay' concept, which allows localised
changes to libraries to be in separate files, again with your own version

However, to address the 'package management' issue, you could always use
CPAN, which

> Perhaps it requires a kind of integrity control with
> checksums, in order to ensure that the patches are applied correctly.

does keep checksums and etc.

> P.S. I wish you nice Holidays, by the way :)

I'm on-call at the moment.  What is this strange 'holiday' word people
keep referencing? ;)

                             Bruce Campbell                            RIPE
                   Systems/Network Engineer                             NCC
                 www.ripe.net - PGP562C8B1B             Operations/Security

More information about the Rt-devel mailing list