[rt-users] XLS export balks
Emmanuel Lacour
elacour at easter-eggs.com
Fri Sep 11 10:05:52 EDT 2015
Le 11/09/2015 15:45, Marc Chantreux a écrit :
>> you would better use a branch for upstream and one for your (or many if
>> you have prod/staging/...).
>
> i really would like but i don't know how to run RT from the sources
> (it seems you need to install it somewhere and run it from this place).
>
>> It's easier when you need to upgrade RT or compare your patches with
>> upstream...
>
> i patch the installed versions and maintain my own repos :( this is sad
> and i would be really happy to change it.
>
>
I ended up storing a configured version in my upstream branch for the
same problem.
So here is the process used here:
- I do a clean ./configure ... and make install of RT (no edition of
config files)
- I put this in git in a branch upstrean/4.2 and tag the release
- I checkout this in a branch "prod"
- I make my custom configuration/patches in prod
- when I need to install an extension, I first install it in upstream
branch and merge it in prod (thus I can patch it in prod if needed)
a new RT release comes:
- I run the same ./configure...make install as previously done
- I put the result in upstream branch and commit this as upgrade to RT 4.2.x
- I merge upstream in prod
you can do it with pure sources, but you won't be able to "easily"
deploy it on servers.
And FYI our developpement rules:
For html files
- uses callback and put them in local directory
- no callback, add the missing one in share/html (patch) (submit it to
upstream if it may be of any interest for anyone else) and add the
callback file in local directory
- need a new mason component: put it in local/html directory
- need to really patch an existing one: do it in place in share/html
(*never copy the file to local dir*, upgrades will be a pain!)
For lib files
- put new methods in local/lib/RT/xxx_Local.pm
- put new objects in local/lib/RT/...
- need to patch an existing method: try to do so by creating a
local/lib/RT/xxx_Local.pm with:
my $old_method = \&Method;
*Method = sub {
my $self = shift;
my %args = ( @_ );
....
$old_method->($self, @_);
....
- if you really need to patch the method, do it inplace in lib/RT/...,
*never copy a lib file/method to local dir* or upgrades will be a pain!
et voilà ;)
tip: I just discovered git "submodules" feature that may be used for RT
extensions ... maybe
--
Easter-eggs Spécialiste GNU/Linux
44-46 rue de l'Ouest - 75014 Paris - France - Métro Gaité
Phone: +33 (0) 1 43 35 00 37 - Fax: +33 (0) 1 43 35 00 76
mailto:elacour at easter-eggs.com - http://www.easter-eggs.com
More information about the rt-users
mailing list