From plasmaball at pchome.com.tw Sat Feb 1 13:01:06 2003 From: plasmaball at pchome.com.tw (plasma) Date: Sun Apr 11 16:03:42 2004 Subject: [rt-devel] Override global ACL Message-ID: <20030201180106.GA30925@plasmanb.plasma.idv.tw> Hi all, Maybe some of you would like to override global ACLs in a queue. Attached is the patch against .64. Please note the new field 'OverrideGlobalACL' field in Queues table in database. There will be a new field labeled 'Override global rights' in the page of queue basics, as well as those of group rights and user rights. If it is checked, global ACLs will be ignored in that queue (unless you're THE root, of course). Any rights you want to grant to users must be set up. Ya, it's better if a specific ACL could be revoked, but I don't know how to implement it. This is the quickest way I can think of. Hope it helps. plasma -------------- next part -------------- diff -ruN rt-2-1-64.orig/etc/schema.mysql rt-2-1-64.work/etc/schema.mysql --- rt-2-1-64.orig/etc/schema.mysql Sun Feb 2 00:23:34 2003 +++ rt-2-1-64.work/etc/schema.mysql Sun Feb 2 00:34:34 2003 @@ -36,6 +36,7 @@ LastUpdatedBy integer NOT NULL DEFAULT 0 , LastUpdated DATETIME NULL , Disabled int2 NOT NULL DEFAULT 0 , + OverrideGlobalACL int2 NOT NULL DEFAULT 0 , PRIMARY KEY (id) ) TYPE=InnoDB; CREATE UNIQUE INDEX Queues1 ON Queues (Name) ; diff -ruN rt-2-1-64.orig/html/Admin/Elements/CheckOverrideGlobalACL rt-2-1-64.work/html/Admin/Elements/CheckOverrideGlobalACL --- rt-2-1-64.orig/html/Admin/Elements/CheckOverrideGlobalACL Thu Jan 1 08:00:00 1970 +++ rt-2-1-64.work/html/Admin/Elements/CheckOverrideGlobalACL Sun Feb 2 00:34:34 2003 @@ -0,0 +1,46 @@ +%# BEGIN LICENSE BLOCK +%# +%# Copyright (c) 1996-2002 Jesse Vincent +%# +%# (Except where explictly superceded by other copyright notices) +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# +%# Unless otherwise specified, all modifications, corrections or +%# extensions to this work which alter its source code become the +%# property of Best Practical Solutions, LLC when submitted for +%# inclusion in the work. +%# +%# +%# END LICENSE BLOCK +> <&|/l&>Override global rights
+ +<%INIT> +my $OverrideGlobalACL = ""; + +if ( defined($SetOverrideGlobalACL) && + $SetOverrideGlobalACL xor $QueueObj->OverrideGlobalACL() ) { + my ($code, $msg) = + $QueueObj->SetOverrideGlobalACL( $SetOverrideGlobalACL ? 1 : 0 ); + push @{$results}, loc('OverrideGlobalACL status [_1]', loc_fuzzy($msg)); +} + +if ($QueueObj->OverrideGlobalACL()) { + $OverrideGlobalACL = "CHECKED"; +} + + +<%ARGS> +$results => undef +$QueueObj => undef +$SetOverrideGlobalACL => undef + diff -ruN rt-2-1-64.orig/html/Admin/Queues/GroupRights.html rt-2-1-64.work/html/Admin/Queues/GroupRights.html --- rt-2-1-64.orig/html/Admin/Queues/GroupRights.html Sun Feb 2 00:23:35 2003 +++ rt-2-1-64.work/html/Admin/Queues/GroupRights.html Sun Feb 2 00:34:34 2003 @@ -35,6 +35,13 @@

<&|/l&>System groups

+ + + % $Groups = RT::Groups->new($session{'CurrentUser'}); % $Groups->LimitToSystemInternalGroups(); % while (my $Group = $Groups->Next()) { @@ -107,4 +114,5 @@ <%ARGS> $id => undef +$SetOverrideGlobalACL => undef diff -ruN rt-2-1-64.orig/html/Admin/Queues/Modify.html rt-2-1-64.work/html/Admin/Queues/Modify.html --- rt-2-1-64.orig/html/Admin/Queues/Modify.html Sun Feb 2 00:23:35 2003 +++ rt-2-1-64.work/html/Admin/Queues/Modify.html Sun Feb 2 00:34:34 2003 @@ -80,9 +80,14 @@ - +
+<& /Admin/Elements/CheckOverrideGlobalACL, QueueObj => $QueueObj, + results => \@results, + SetOverrideGlobalACL => $SetOverrideGlobalACL &> +
+ > <&|/l&>Enabled (Unchecking this box disables this queue)
+<& /Admin/Elements/CheckOverrideGlobalACL, QueueObj => $QueueObj, + results => \@results, + SetOverrideGlobalACL => $SetOverrideGlobalACL &> +
@@ -158,4 +163,5 @@ $DefaultDueIn => undef $SetEnabled => undef $Enabled => undef +$SetOverrideGlobalACL => undef diff -ruN rt-2-1-64.orig/html/Admin/Queues/UserRights.html rt-2-1-64.work/html/Admin/Queues/UserRights.html --- rt-2-1-64.orig/html/Admin/Queues/UserRights.html Sun Feb 2 00:23:35 2003 +++ rt-2-1-64.work/html/Admin/Queues/UserRights.html Sun Feb 2 00:34:34 2003 @@ -34,7 +34,13 @@ - + + + % while (my $Member = $Users->Next()) { % my $UserObj = $Member->MemberObj->Object(); % my $group = RT::Group->new($session{'CurrentUser'}); @@ -88,4 +94,5 @@ $UserString => undef $UserOp => undef $UserField => undef +$SetOverrideGlobalACL => undef diff -ruN rt-2-1-64.orig/lib/RT/Principal_Overlay.pm rt-2-1-64.work/lib/RT/Principal_Overlay.pm --- rt-2-1-64.orig/lib/RT/Principal_Overlay.pm Sun Feb 2 00:23:34 2003 +++ rt-2-1-64.work/lib/RT/Principal_Overlay.pm Sun Feb 2 00:34:33 2003 @@ -291,7 +291,7 @@ } # }}} - # {{{ if we've cached a negative result for this query return undef + # {{{ if we've cached a negative result for this query return undef elsif ( ( defined $self->_ACLCache->{"$hashkey"} ) && ( $self->_ACLCache->{"$hashkey"}{'val'} == -1 ) && ( defined $self->_ACLCache->{"$hashkey"}{'set'} ) @@ -307,7 +307,7 @@ - # {{{ Out of date docs + # {{{ Out of date docs # We want to grant the right if: @@ -348,12 +348,19 @@ " AND Groups.Type = ACL.PrincipalType AND Groups.Id = Principals.ObjectId AND Principals.PrincipalType = 'Group') "; } - # {{{ If an object is defined, we want to look at rights for that object + # {{{ Construct Right Match + + # If an object is defined, we want to look at rights for that object my @look_at_objects; - push (@look_at_objects, "ACL.ObjectType = 'RT::System'"); - + my $IsOverrideACL = + ( ( (ref($args{Object}) eq 'RT::Ticket') && + $args{Object}->QueueObj->__Value('OverrideGlobalACL')) || + ( (ref($args{Object}) eq 'RT::Queue') && + $args{Object}->__Value('OverrideGlobalACL')) ); + push (@look_at_objects, "ACL.ObjectType = 'RT::System'") + unless $IsOverrideACL; foreach my $obj (@{$args{'EquivObjects'}}) { next unless (UNIVERSAL::can($obj, 'id')); @@ -362,16 +369,33 @@ push @look_at_objects, "(ACL.ObjectType = '$type' AND ACL.ObjectId = '$id')"; } + my $MatchRight; + if ($IsOverrideACL) { # Override ACL in a queue? + $MatchRight = + # Superuser can do everything + "( (ACL.RightName = 'SuperUser' AND ACL.ObjectType = 'RT::System' ) ". + # Or only those rights granted in queue + "OR (ACL.RightName = '$right' AND (".join('OR', @look_at_objects).")) )"; + } else { # Not override ACL in a queue + $MatchRight = + # Only find superuser or rights with the name $right + "(ACL.RightName = 'SuperUser' OR ACL.RightName = '$right') " . + + # Make sure the rights apply to the entire system or to + # the object in question + "AND ( ".join(' OR ', @look_at_objects).") "; + } # }}} - # {{{ Build that honkin-big SQL query + # {{{ Build that honkin-big SQL query my $query = "SELECT COUNT(ACL.id) from ACL, Groups, Principals, CachedGroupMembers WHERE ". - # Only find superuser or rights with the name $right - "(ACL.RightName = 'SuperUser' OR ACL.RightName = '$right') ". + + $MatchRight . + # Never find disabled groups. "AND Principals.Disabled = 0 " . "AND CachedGroupMembers.Disabled = 0 ". @@ -382,9 +406,6 @@ # also, check to see if the right is being granted _directly_ to this principal, # as is the case when we want to look up group rights "AND Principals.Id = CachedGroupMembers.GroupId AND CachedGroupMembers.MemberId = '" . $self->Id . "' ". - - # Make sure the rights apply to the entire system or to the object in question - "AND ( ".join(' OR ', @look_at_objects).") ". # limit the result set to groups of types ACLEquivalence (user) UserDefined, SystemInternal and Personal "AND ( ( ACL.PrincipalId = Principals.Id and Principals.ObjectId = Groups.Id AND ACL.PrincipalType = 'Group' AND ". diff -ruN rt-2-1-64.orig/lib/RT/Queue.pm rt-2-1-64.work/lib/RT/Queue.pm --- rt-2-1-64.orig/lib/RT/Queue.pm Sun Feb 2 00:23:34 2003 +++ rt-2-1-64.work/lib/RT/Queue.pm Sun Feb 2 00:34:33 2003 @@ -91,6 +91,7 @@ FinalPriority => '0', DefaultDueIn => '0', Disabled => '0', + OverrideGlobalACL => '0', @_); $self->SUPER::Create( @@ -102,6 +103,7 @@ FinalPriority => $args{'FinalPriority'}, DefaultDueIn => $args{'DefaultDueIn'}, Disabled => $args{'Disabled'}, + OverrideGlobalACL => $args{'OverrideGlobalACL'}, ); } @@ -326,6 +328,8 @@ LastUpdated => {read => 1, auto => 1, type => 'datetime', default => ''}, Disabled => + {read => 1, write => 1, type => 'smallint(6)', default => '0'}, + OverrideGlobalACL => {read => 1, write => 1, type => 'smallint(6)', default => '0'}, } From bduc at dyndaco.com Sat Feb 1 15:39:12 2003 From: bduc at dyndaco.com (Bart Duchesne) Date: Sun Apr 11 16:03:42 2004 Subject: [rt-devel] rt-2.1.62 - some progress In-Reply-To: <2CD6444F-2F7D-11D7-A949-003065DC18B8@hamburg.fcb.com> References: <2CD6444F-2F7D-11D7-A949-003065DC18B8@hamburg.fcb.com> Message-ID: <3E3C3070.1000504@dyndaco.com> Hi all, I just installed 2.1.65 and had the same problem; after some digging I found that the require of RT::Tickets_Overlay in RT::Tickets fails because Date::Parse is not installed. After installing this one it worked. make testdeps didn't report any error. Harald Wagener wrote: > > Am Freitag, 24.01.03 um 01:30 Uhr schrieb Robert Spier: > >>> I can login, but get the same error as in 2.1.60/61 ('Can't locate >>> object method "LimitOwner" via package "RT::Tickets" at >>> /opt/rt3/share/html/Elements/Mytickets line 76.') >> >> >> Are there any other errors? There is definitely a LimitOwner in >> RT::Tickets. >> > > |[root@rt3 lib]# find . -type f -name '*.pm' -exec grep -l > 'LimitOwner' '{}' \;./|RT/Interface/Web.pm > |./RT/Tickets_Overlay.pm > |[root@rt3 lib]# grep Tickets_Overlay RT/Tickets.pm > | eval "require RT::Tickets_Overlay"; > |RT::Tickets_Overlay, RT::Tickets_Local > |[root@rt lib]# > > Yes, same over here > >> Does a 'make regression' work? > > > no, it fails after test 312 (output attached). > > Regards, > Harald > > From bduc at dyndaco.com Sat Feb 1 15:39:21 2003 From: bduc at dyndaco.com (Bart Duchesne) Date: Sun Apr 11 16:03:42 2004 Subject: [rt-devel] fresh install of RT3 (RT-2-1-64) Message-ID: <3E3C3079.9070204@dyndaco.com> Hi all, After installing RT2.1.64 on my system, I could log in to RT but immediately got an error saying that LimitOwner could not be found in RT::Tickets.pm. After digging a while I discovered that the require statement in RT::Tickets that pulls in RT::Tickets_Overlay gave an error saying it didn't find Date::Parse; after installing this package everyhting works fine. Maybe include a test in 'make testdeps' as I'm sure other people will have trouble with this. From jesse at bestpractical.com Sat Feb 1 16:51:51 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:42 2004 Subject: [rt-devel] rt-2.1.62 - some progress In-Reply-To: <3E3C3070.1000504@dyndaco.com> References: <2CD6444F-2F7D-11D7-A949-003065DC18B8@hamburg.fcb.com> <3E3C3070.1000504@dyndaco.com> Message-ID: <20030201215151.GV6262@pallas.fsck.com> Thanks. What needs to happen here is to ahve that calle to Date::Parse replaced with a call to Time::ParseDate. On Sat, Feb 01, 2003 at 09:39:12PM +0100, Bart Duchesne wrote: > Hi all, > > I just installed 2.1.65 and had the same problem; after some digging I > found that the require of RT::Tickets_Overlay in RT::Tickets fails > because Date::Parse is not installed. > > After installing this one it worked. > > make testdeps didn't report any error. > > Harald Wagener wrote: > > > > >Am Freitag, 24.01.03 um 01:30 Uhr schrieb Robert Spier: > > > >>>I can login, but get the same error as in 2.1.60/61 ('Can't locate > >>>object method "LimitOwner" via package "RT::Tickets" at > >>>/opt/rt3/share/html/Elements/Mytickets line 76.') > >> > >> > >>Are there any other errors? There is definitely a LimitOwner in > >>RT::Tickets. > >> > > > >|[root@rt3 lib]# find . -type f -name '*.pm' -exec grep -l > >'LimitOwner' '{}' \;./|RT/Interface/Web.pm > >|./RT/Tickets_Overlay.pm > >|[root@rt3 lib]# grep Tickets_Overlay RT/Tickets.pm > >| eval "require RT::Tickets_Overlay"; > >|RT::Tickets_Overlay, RT::Tickets_Local > >|[root@rt lib]# > > > >Yes, same over here > > > >>Does a 'make regression' work? > > > > > >no, it fails after test 312 (output attached). > > > >Regards, > > Harald > > > > > > -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From jesse at bestpractical.com Sun Feb 2 02:52:05 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:42 2004 Subject: [rt-devel] RT 2.1.66 Message-ID: <20030202075205.GC26723@pallas.fsck.com> [2.1.65 was an internal test version] RT 2.1.66 features a significant amount of work designed to speed up common operations. It includes some new database indices and some code changes. (And one particular database index was deleted, as it confused mysql sort of badly on ACL checks). On my test dataset with the nastiest ACLs, common page-views render in 1/3 third the time they did with 2.1.64. A couple more optimizations I've got up my sleeve should cut this down a good deal more, but I'm going to back off on those for the moment and concentrate on getting the bugs folks have found in 2.1.6x rolled into 2.1.67. Best, Jesse -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From bthauvin at clearchannel.fr Sun Feb 2 13:55:02 2003 From: bthauvin at clearchannel.fr (THAUVIN Blaise (Dir. Informatique)) Date: Sun Apr 11 16:03:42 2004 Subject: [rt-devel] RT 2.1.64, my findings and a new translation file Message-ID: <870E25EC362DD6118A7400306E1260E2010D49A8@33par_exchange.dauphin-affichage.com> Skipped content of type multipart/alternative From bthauvin at clearchannel.fr Sun Feb 2 15:47:58 2003 From: bthauvin at clearchannel.fr (THAUVIN Blaise (Dir. Informatique)) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] RT3 importer v1.2, bug report Message-ID: <870E25EC362DD6118A7400306E1260E2010D49A9@33par_exchange.dauphin-affichage.com> Skipped content of type multipart/alternative From pdh at snapgear.com Sun Feb 2 19:21:50 2003 From: pdh at snapgear.com (Phil Homewood) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] rt-2.1.62 - some progress In-Reply-To: <3E3C3070.1000504@dyndaco.com> References: <2CD6444F-2F7D-11D7-A949-003065DC18B8@hamburg.fcb.com> <3E3C3070.1000504@dyndaco.com> Message-ID: <20030203002150.GV468@luggage.internal.moreton.com.au> Bart Duchesne wrote: > I just installed 2.1.65 and had the same problem; after some digging I > found that the require of RT::Tickets_Overlay in RT::Tickets fails > because Date::Parse is not installed. Date::Parse should have gone away. Try the following (as usual) untested attempt at a patch? -- Phil Homewood, Systems Janitor, www.SnapGear.com pdh@snapgear.com Ph: +61 7 3435 2810 Fx: +61 7 3891 3630 SnapGear - Custom Embedded Solutions and Security Appliances -------------- next part -------------- diff -ur rt-2-1-66-orig/lib/RT/Date.pm rt-2-1-66/lib/RT/Date.pm --- rt-2-1-66-orig/lib/RT/Date.pm 2003-02-02 17:47:04.000000000 +1000 +++ rt-2-1-66/lib/RT/Date.pm 2003-02-03 10:19:56.000000000 +1000 @@ -90,10 +90,10 @@ If $args->{'Format'} is ISO, tries to parse an ISO date. -If $args->{'Format'} is 'unknown', require Date::Parse and make it figure things -out. This is a heavyweight operation that should never be called from within -RT's core. But it's really useful for something like the textbox date entry -where we let the user do whatever they want. +If $args->{'Format'} is 'unknown', require Time::ParseDate and make it figure +things out. This is a heavyweight operation that should never be called from +within RT's core. But it's really useful for something like the textbox date +entry where we let the user do whatever they want. If $args->{'Value'} is 0, assumes you mean never. @@ -174,11 +174,11 @@ } } elsif ( $args{'Format'} =~ /^unknown$/i ) { - require Date::Parse; + require Time::ParseDate; #Convert it to an ISO format string - my $date = Date::Parse::str2time( $args{'Value'} ); + my $date = Time::ParseDate::parsedate( $args{'Value'} ); #This date has now been set to a date in the _local_ timezone. #since ISO dates are known to be in GMT (for RT's purposes); diff -ur rt-2-1-66-orig/lib/RT/Tickets_Overlay.pm rt-2-1-66/lib/RT/Tickets_Overlay.pm --- rt-2-1-66-orig/lib/RT/Tickets_Overlay.pm 2003-02-02 17:47:06.000000000 +1000 +++ rt-2-1-66/lib/RT/Tickets_Overlay.pm 2003-02-03 10:20:20.000000000 +1000 @@ -350,10 +350,10 @@ die "Incorrect Meta Data for $field" unless (defined $meta->[1]); - use Date::Parse; + require Time::ParseDate; use POSIX 'strftime'; - my $time = str2time($value); + my $time = Time::ParseDate::parsedate($value); $value = strftime("%Y-%m-%d %H:%M",localtime($time)); $sb->_SQLLimit( @@ -393,7 +393,7 @@ Handle fields limiting based on Transaction Date. -The inpupt value must be in a format parseable by Date::Parse +The inpupt value must be in a format parseable by Time::ParseDate Meta Data: None From pdh at snapgear.com Sun Feb 2 19:49:47 2003 From: pdh at snapgear.com (Phil Homewood) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] RT 2.1.64, my findings and a new translation file In-Reply-To: <870E25EC362DD6118A7400306E1260E2010D49A8@33par_exchange.dauphin-affichage.com> References: <870E25EC362DD6118A7400306E1260E2010D49A8@33par_exchange.dauphin-affichage.com> Message-ID: <20030203004947.GW468@luggage.internal.moreton.com.au> THAUVIN Blaise (Dir. Informatique) wrote: > Dates : The dates field does not understand localized formats. This > will lead to lots of mistakes in Europe : when I enter 2/1/2003, I mean 2nd > of january, but RT understands 1st of February. Throw out the last patch I sent to rt-devel and apply this one. You should then be able to make RT understand sensible date formats by tweaking RT_Config.pm. Actually, sensible is the default if you apply this; if you want broken you should change $DateDayBeforeMonth to 0. :-) -- Phil Homewood, Systems Janitor, www.SnapGear.com pdh@snapgear.com Ph: +61 7 3435 2810 Fx: +61 7 3891 3630 SnapGear - Custom Embedded Solutions and Security Appliances -------------- next part -------------- diff -ur rt-2-1-66-orig/etc/RT_Config.pm.in rt-2-1-66/etc/RT_Config.pm.in --- rt-2-1-66-orig/etc/RT_Config.pm.in 2003-02-02 17:47:01.000000000 +1000 +++ rt-2-1-66/etc/RT_Config.pm.in 2003-02-03 10:41:31.000000000 +1000 @@ -363,4 +363,32 @@ # }}} +# {{{ RT Date Handling Options (for Time::ParseDate) + +# Set this to 1 if your local date convention looks like "dd/mm/yy" +# instead of "mm/dd/yy". + +$DateDayBeforeMonth = 1; + +# Should "Tuesday" default to meaning "Next Tuesday" or "Last Tuesday"? +# Set to 0 for "Next" or 1 for "Last". + +$AmbiguousDayInPast = 1; + +# }}} + +# {{{ RT Date Handling Options (for Time::ParseDate) + +# Set this to 1 if your local date convention looks like "dd/mm/yy" +# instead of "mm/dd/yy". + +$DateDayBeforeMonth = 1; + +# Should "Tuesday" default to meaning "Next Tuesday" or "Last Tuesday"? +# Set to 0 for "Next" or 1 for "Last". + +$AmbiguousDayInPast = 1; + +# }}} + 1; Only in rt-2-1-66/etc: RT_Config.pm.in.orig diff -ur rt-2-1-66-orig/lib/RT/Date.pm rt-2-1-66/lib/RT/Date.pm --- rt-2-1-66-orig/lib/RT/Date.pm 2003-02-02 17:47:04.000000000 +1000 +++ rt-2-1-66/lib/RT/Date.pm 2003-02-03 10:44:20.000000000 +1000 @@ -90,10 +90,10 @@ If $args->{'Format'} is ISO, tries to parse an ISO date. -If $args->{'Format'} is 'unknown', require Date::Parse and make it figure things -out. This is a heavyweight operation that should never be called from within -RT's core. But it's really useful for something like the textbox date entry -where we let the user do whatever they want. +If $args->{'Format'} is 'unknown', require Time::ParseDate and make it figure +things out. This is a heavyweight operation that should never be called from +within RT's core. But it's really useful for something like the textbox date +entry where we let the user do whatever they want. If $args->{'Value'} is 0, assumes you mean never. @@ -174,11 +174,14 @@ } } elsif ( $args{'Format'} =~ /^unknown$/i ) { - require Date::Parse; + require Time::ParseDate; #Convert it to an ISO format string - my $date = Date::Parse::str2time( $args{'Value'} ); + my $date = Time::ParseDate::parsedate($args{'Value'}, + UK => $RT::DateDayBeforeMonth, + PREFER_PAST => $RT::AmbiguousDayInPast, + PREFER_FUTURE => !($RT::AmbiguousDayInPast)); #This date has now been set to a date in the _local_ timezone. #since ISO dates are known to be in GMT (for RT's purposes); diff -ur rt-2-1-66-orig/lib/RT/Tickets_Overlay.pm rt-2-1-66/lib/RT/Tickets_Overlay.pm --- rt-2-1-66-orig/lib/RT/Tickets_Overlay.pm 2003-02-02 17:47:06.000000000 +1000 +++ rt-2-1-66/lib/RT/Tickets_Overlay.pm 2003-02-03 10:46:13.000000000 +1000 @@ -350,10 +350,13 @@ die "Incorrect Meta Data for $field" unless (defined $meta->[1]); - use Date::Parse; + require Time::ParseDate; use POSIX 'strftime'; - my $time = str2time($value); + my $time = Time::ParseDate::parsedate( $value, + UK => $RT::DateDayBeforeMonth, + PREFER_PAST => $RT::AmbiguousDayInPast, + PREFER_FUTURE => !($RT::AmbiguousDayInPast)); $value = strftime("%Y-%m-%d %H:%M",localtime($time)); $sb->_SQLLimit( @@ -393,7 +396,7 @@ Handle fields limiting based on Transaction Date. -The inpupt value must be in a format parseable by Date::Parse +The inpupt value must be in a format parseable by Time::ParseDate Meta Data: None From jesse at bestpractical.com Sun Feb 2 22:23:09 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] Re: RT 2.1.64, my findings and a new translation file In-Reply-To: <870E25EC362DD6118A7400306E1260E2010D49A7@33par_exchange.dauphin-affichage.com> References: <870E25EC362DD6118A7400306E1260E2010D49A7@33par_exchange.dauphin-affichage.com> Message-ID: <20030203032309.GS26723@pallas.fsck.com> On Sat, Feb 01, 2003 at 01:41:42AM +0100, THAUVIN Blaise (Dir. Informatique) wrote: > Hi Jesse, > > I hope your short holidays were nice. > > I have done a deep review of my translations. Some where quite funny in > fact! This new file should be acceptable for the first beta. I still have a > problem with one word : "principals". I did not translate it, mainly because > I don't fully understand the concept. "Principal" is a meta-term which includes "user" and "Group". It's a way of identifiying someone who can do something, has done something or is a member of a group. > I also tried to understand how the "approbations" worked, but I must admit I > did not. Is there any description somewhere? Do you mean the approvals stuff? It's not properly documented yet. > > Here are my findings on the latest release. > > General aspect : the right margin on all pages and some objects is missing. > The figures on the right column in the home page are almost half cut. This > is visible on your site too. I use IE6 on Windows 2000 and did not try with > another browser. In the same way, the login button on the first dialog box > is cropped on the right. Interesting. I'll try to get ahold of a copy of IE. Could you send me a screenshot? > The "Best Practical" link on the bottom of the page is so small it is hardly > readable. You deserve something bigger. It's supposed to be. I'll have a look. > Ticket list page > Column name : in the ticket list page, the last column title is > "Left", but the data shown is really "Time spent" Thanks. > Status : The status is not translated in this page : I read "new" > where I expect "Nouveau". Ok. should be easily fixable. > I also read "Nobody" in the owner column, but this > I can change in the database as it is a "system created" user. A quick look > in the code shows this would break many things in RT. One solution I see is > to always fill "Nickname" with the user login name as a default, and show > the nickname in the contact column. That way, it becomes possible to > translate Nobody and other system accounts. Also, in our specific case, our > logins are not always readable as they contain some company structure > specific information. Showing the nickname field would make the ticket list > much more readable. That's site customizable, to an extent, but I should be able to get "Nobody" localized. > Sort order : "started" appears twice in the list as a sort criteria, > but does not correspond to the same item. Huh. > Tickets detail page : > Dates : The dates field does not understand localized formats. This > will lead to lots of mistakes in Europe : when I enter 2/1/2003, I mean 2nd > of january, but RT understands 1st of February. I think pdh addressed this with his patch today which went into core. > Also I don't understand well > the difference between "starts", "started" and "starts by" before I > translate. I see "started" is set when the ticket is opened. But then, what > is the "start" field? Starts and "Starts By" are the same thing. 2.1.67 will have "Starts By" removed. Starts is: "When do we estimate that work will begin?" Started is "When did work begin?" > Commands : the order for : open, resolve, comment, steal, take links > used to be in the logical "life order" for a ticket, it is not anymore. I'll have a look > Blaise -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From jesse at bestpractical.com Mon Feb 3 01:08:35 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: RT3 Importer 1.3 ( Was Re: [rt-devel] RT3 importer v1.2, bug report) In-Reply-To: <870E25EC362DD6118A7400306E1260E2010D49A9@33par_exchange.dauphin-affichage.com> References: <870E25EC362DD6118A7400306E1260E2010D49A9@33par_exchange.dauphin-affichage.com> Message-ID: <20030203060835.GX26723@pallas.fsck.com> 1.3 is up. This should fix that issue On Sun, Feb 02, 2003 at 09:47:58PM +0100, THAUVIN Blaise (Dir. Informatique) wrote: > Hi, > > Here is a small bug in the lastest importer. I was also there in 1.1. > > When importing the queues, the queues in RT3 are not in the same order as in > RT2. The same queue does not have the same ID in both version . In my > instance, the first queue is Id=2. > > When importing tickets, they go into the right queue, but when importing > "queue change" transactions, the original IDs are used instead of the new > IDs, resulting in corrupted information as to which is the old and the new > queue. > > Blaise -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From jesse at bestpractical.com Mon Feb 3 01:10:17 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] RT 2.1.67 - Like a greased weasel Message-ID: <20030203061017.GY26723@pallas.fsck.com> RT 2.1.67 is out. It contains a number of small cleanups for the issues that Blaise mentioned finding in 2.1.64, as well as a new french translation. Additionally, it's got a speedup from plasma and a couple new tricks I had up my sleeve. And it's got pdh's new Date magic. -jesse -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From hwagener at hamburg.fcb.com Mon Feb 3 10:21:02 2003 From: hwagener at hamburg.fcb.com (Harald Wagener) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] rt-2.1.62 - some progress In-Reply-To: <20030203002150.GV468@luggage.internal.moreton.com.au> Message-ID: <1B2F092B-378B-11D7-8BEE-003065DC18B8@hamburg.fcb.com> On Monday, February 3, 2003, at 01:21 Uhr, Phil Homewood wrote: > Bart Duchesne wrote: >> I just installed 2.1.65 and had the same problem; after some digging I >> found that the require of RT::Tickets_Overlay in RT::Tickets fails >> because Date::Parse is not installed. > > Date::Parse should have gone away. Try the following > (as usual) untested attempt at a patch? That worked quite well. Now, I have an asian-language login screen and some difficulties with permissions and the test database I am going to sort out. Regards, Harald -- Harald Wagener * FCB/Wilkens * An der Alster 42 * 20099 Hamburg From hwagener at hamburg.fcb.com Mon Feb 3 11:03:21 2003 From: hwagener at hamburg.fcb.com (Harald Wagener) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] rt-2-1-67 - some progress In-Reply-To: <1B2F092B-378B-11D7-8BEE-003065DC18B8@hamburg.fcb.com> Message-ID: <0441C186-3791-11D7-8BEE-003065DC18B8@hamburg.fcb.com> I seem to be too dumb for the most basic stuff in /opt/rt3/etc/RT_SiteConfig, I set $LogToSyslog='debug'; $LogToScreen='debug'; $LogToFile='debug'; hoping to get some more output. With a fresh install of rt-2-1-67, I seem to get the right language for my login page on Safari and Chimera 0.6. But I cannot login as root (pw: password, as this is still a test installation), getting a 'Your username and password is incorrect'. I don't get any debug messages in syslog, on Screen or in my rt.log. Where to whack me now (or the RT3 installation), so I get my feet out of this mess? Regards, Harald -- Harald Wagener * FCB/Wilkens * An der Alster 42 * 20099 Hamburg From jesse at bestpractical.com Mon Feb 3 13:51:36 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] rt-2-1-67 - some progress In-Reply-To: <0441C186-3791-11D7-8BEE-003065DC18B8@hamburg.fcb.com> References: <1B2F092B-378B-11D7-8BEE-003065DC18B8@hamburg.fcb.com> <0441C186-3791-11D7-8BEE-003065DC18B8@hamburg.fcb.com> Message-ID: <20030203185136.GA26723@pallas.fsck.com> Does "mysqldump rt3" show you a whole bunch of data or almost none? (You did 'make intialize-database' after installtion, right?) On Mon, Feb 03, 2003 at 05:03:21PM +0100, Harald Wagener wrote: > I seem to be too dumb for the most basic stuff > in /opt/rt3/etc/RT_SiteConfig, I set > > $LogToSyslog='debug'; > $LogToScreen='debug'; > $LogToFile='debug'; > > hoping to get some more output. > > With a fresh install of rt-2-1-67, I seem to get the right language for > my login page on Safari and Chimera 0.6. But I cannot login as root > (pw: password, as this is still a test installation), getting a 'Your > username and password is incorrect'. I don't get any debug messages in > syslog, on Screen or in my rt.log. > > Where to whack me now (or the RT3 installation), so I get my feet out > of this mess? > > Regards, > Harald > > -- > Harald Wagener * FCB/Wilkens * An der Alster 42 * 20099 Hamburg > > _______________________________________________ > rt-devel mailing list > rt-devel@lists.fsck.com > http://lists.fsck.com/mailman/listinfo/rt-devel > -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From info at debian.homeunix.net Mon Feb 3 16:48:52 2003 From: info at debian.homeunix.net (Stefan Fischer) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] Re: RT 2.1.56 (wrong charset) In-Reply-To: <20030105000352.36821.qmail@web13708.mail.yahoo.com> References: <20030104233235.GK12365@pallas.fsck.com> <20030105000352.36821.qmail@web13708.mail.yahoo.com> Message-ID: <32906.217.233.98.149.1044308932.squirrel@debian.homeunix.net> Hello Stan & Jesse, thank you for your investigations! Stan asked me for the perl version on my box... hostname:~/rt-2-1-66# perl -v This is perl, v5.6.1 built for i386-linux hostname:~/rt-2-1-66# uname -a Linux hostname 2.4.18 #5 Fri Jan 31 16:52:02 CET 2003 i686 unknown Debian woody stable The problem further below described is still the same in 2.1.66. Greetings Stefan! > > --- Jesse Vincent wrote: >> > > First is that the charset information should be >> > > sent in HTTP header, >> >> And, actually, it is: >> >> Content-Type: text/html; charset=utf-8 > > aha, the situation is more complicated: the strings that > Stefan Fischer has sent, are not Unicode! and neither ISO latin1. > > Unfortunately, I've got no server to check it quickly, > but I suspect it went through these steps: > > 1) > lib/RT/I18N/de.po is encoded Latin1. > > 2) > Then it goes through lib/RT/I18N.pm and is presented as wanna-be Unicode. > I'm not sure at this stage if it really produces unicode. > > 3) > Then it goes through HTML::Entities (as told by default_escape_flags => > 'h'), > and all non-ascii characters are replaced with entities: > Ä for a-umlaut etc. > At this stage, HTML::Entities depends on Perl version (Stefan, what's > yours?). > > If it's 5.6, it treats each non-ascii byte (remember, Unicode > symbols come as two-byte symbols?) as non-ascii character, and > produces two HTML entities per each Unicode symbol. > > In 5.8, each non-ascii Unicode symbol (two bytes) is > replaced with a HTML entity. In HTML::Entities, they are defined > for Latin1 symbols only. It means, Cyrillic (Russian) symbols would > be replaced with (one or two?) numeric entities. > Some browsers will survive that (in case if it's still one entity), > but it's definitely wrong way. > > The right way would be to totally avoid entity'izing, and > shoot out the plain text, with correct charset in HTTP header. > > With regards, > > Stan > > > > _______________________________________________ > rt-devel mailing list > rt-devel@lists.fsck.com > http://lists.fsck.com/mailman/listinfo/rt-devel > -- Mit freundlichen Gr??en / Kind Regards Stefan Fischer From bthauvin at clearchannel.fr Mon Feb 3 17:38:41 2003 From: bthauvin at clearchannel.fr (THAUVIN Blaise (Dir. Informatique)) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] RT 2.1.67 : bug report Message-ID: <870E25EC362DD6118A7400306E1260E2010D49BC@33par_exchange.dauphin-affichage.com> Skipped content of type multipart/alternative From jesse at bestpractical.com Mon Feb 3 21:36:55 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] RT 2.1.67 : bug report In-Reply-To: <870E25EC362DD6118A7400306E1260E2010D49BC@33par_exchange.dauphin-affichage.com> References: <870E25EC362DD6118A7400306E1260E2010D49BC@33par_exchange.dauphin-affichage.com> Message-ID: <20030204023655.GF26723@pallas.fsck.com> On Mon, Feb 03, 2003 at 11:38:41PM +0100, THAUVIN Blaise (Dir. Informatique) wrote: > Hi, > > Here are my findings on 2.1.67 : > > First, it is really faster than the previous versions and is now fast enough > to be used for real. All tests are done with migrated data, not with "fresh" > RT3 data. That's very good to hear. > Persistent change : using a specific subject string, everytime I click on > "save changes", RT records a subject update, even though it was not modified > at all. This seems to be related to accented caracters as the problem is > visible with "?ch?ance" but is not with "echeance" (the same string with or > without accents). Sounds like a UTF-8 bug. I'll see what I can find > Custom fields 1 : Imported custom field do not seem to work. Looking at the > database, 17 Keywords and 8 records in keywordSelects are converted to 200 > Customfields and 1450 CustomfieldValues. Some were disabled in my RT2 > isntance, they are imported as active. CustomFields created within RT3 are > OK Interesting. Sounds like an exporter bug. I'll have a look. > Custom fields 2 : in Ticket, "Jumbo" : changes in custom fields are ignored > when pressing "save changes". Changes are recorded if the same change is > made in "Basics" page. > Fixed in 2.1.68 > Dates 1 : in Ticket, "dates". When updating a date previously unset (null), > the action reports states the previous value is the current states instead > of "null": Started changed from Mon. Feb. 03 23:20:32 2003 to Sun. Feb. 02 > 00:00:00 2003 by bthau051 Did you Open the ticket at the same time? Opening a ticket that was previously new sets its "Started" date. > Dates 2 : in Ticket, "dates". When updating the "last contact" date, the > action reports says : "User notified by bthau051" when I expected it to say > "last contact changed from.... to .....". There is no mail sent. The > transaction recorded is "user notified", with the current date and time and > not the one entered in the field. Maybe I did not understand how this field > is supposed to be used. Changed this one to just report the change of date. This is a historical thing going back to RT 1.0. > Blaise > -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From jesse at bestpractical.com Mon Feb 3 23:27:12 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] RT 2.1.67 : bug report In-Reply-To: <20030204023655.GF26723@pallas.fsck.com> References: <870E25EC362DD6118A7400306E1260E2010D49BC@33par_exchange.dauphin-affichage.com> <20030204023655.GF26723@pallas.fsck.com> Message-ID: <20030204042712.GI26723@pallas.fsck.com> > > Persistent change : using a specific subject string, everytime I click on > > "save changes", RT records a subject update, even though it was not modified > > at all. This seems to be related to accented caracters as the problem is > > visible with "?ch?ance" but is not with "echeance" (the same string with or > > without accents). > > Sounds like a UTF-8 bug. I'll see what I can find Fixed in 2.1.68. -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From jesse at bestpractical.com Tue Feb 4 02:57:19 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] 2.1.68 Message-ID: <20030204075719.GT26723@pallas.fsck.com> RT 2.1.68 * Fixes for UTF8 and other issues Blaise brought up * "Goto ticket" has been replaced with a smart "Search" feature which does a pretty good job of guessing whether you're trying to go to a specific ticket, search for all tickets from a given email address, find all new/open tickets in a given queue or search for tickets whose subjects match a string. Thanks to Chris Reinhardt * Cleanups to ticket editing and creation * Updates to sbin/rt-setup-database -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From ssinyagin at yahoo.com Tue Feb 4 06:21:25 2003 From: ssinyagin at yahoo.com (Stanislav Sinyagin) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] Re: RT 2.1.56 (wrong charset) In-Reply-To: <32906.217.233.98.149.1044308932.squirrel@debian.homeunix.net> Message-ID: <20030204112125.68031.qmail@web13709.mail.yahoo.com> Hi Stefan and all, I still had no time to dig deeper into the problem, but I promise I'll try and catch the moment. Cheers, Stan --- Stefan Fischer wrote: > Hello Stan & Jesse, > > thank you for your investigations! Stan asked me for the perl version on > my box... > > hostname:~/rt-2-1-66# perl -v > This is perl, v5.6.1 built for i386-linux From hwagener at hamburg.fcb.com Tue Feb 4 06:49:26 2003 From: hwagener at hamburg.fcb.com (Harald Wagener) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] rt-2-1-67 - some progress In-Reply-To: <20030203185136.GA26723@pallas.fsck.com> Message-ID: On Monday, February 3, 2003, at 07:51 Uhr, Jesse Vincent wrote: > > > Does "mysqldump rt3" show you a whole bunch of data or almost none? It shows the basic table structure and contents (611 lines, according to my 'wc -l'). > (You did 'make intialize-database' after installtion, right?) > Yes, definitely. The root user does exist in the Users database as well (with an encrypted string for the password). Regards, Harald -- Harald Wagener * FCB/Wilkens * An der Alster 42 * 20099 Hamburg From simonf at cshl.edu Wed Feb 5 11:34:11 2003 From: simonf at cshl.edu (Vsevolod (Simon) Ilyushchenko) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] Problems with rt-2-1-67 (Can't locate object method "_OpenParen") Message-ID: <3E413D03.10704@cshl.edu> Hi, I am not sure if I am supposed to even run 2-1-67, but I tried. I converted my database using the rt2-to-rt3 conversion script. I could not login as any user, so I put "return 1" in the beginning of User_Overlay::IsPassword. But now I get the error below. I would appreciate any help. Thanks, Simon error: Can't locate object method "_OpenParen" via package "RT::Tickets" at /opt/rt3/lib/RT/Tickets_Overlay_SQL.pm line 66. context: .. 277: } 278: 279: # All errors returned from this routine will be in exception form. 280: local $SIG{'__DIE__'} = sub { 281: rethrow_exception( $_[0] ); 282: }; 283: 284: # 285: # $m is a dynamically scoped global containing this .. code stack: /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/Request.pm:281 /opt/rt3/lib/RT/Tickets_Overlay_SQL.pm:66 /opt/rt3/lib/RT/Tickets_Overlay_SQL.pm:160 /opt/rt3/lib/RT/Tickets_Overlay_SQL.pm:285 /opt/rt3/lib/RT/Tickets_Overlay.pm:1931 /opt/rt3/lib/RT/Tickets_Overlay.pm:1719 /opt/rt3/share/html/Elements/MyTickets:36 /opt/rt3/share/html/index.html:32 /opt/rt3/share/html/autohandler:162 -- Simon (Vsevolod ILyushchenko) simonf@cshl.edu http://www.simonf.com "Large software projects are like werewolves because they transform unexpectedly from the familiar into horrors." Fred Brooks From Andreas.Warnke at 3SOFT.de Wed Feb 5 11:58:47 2003 From: Andreas.Warnke at 3SOFT.de (Warnke, Andreas) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] Avoiding Brute Force attacks on rt-2-0-15 Message-ID: <50C52FFF0D55E540AD943758F4208370148B9E@corvus.de.3soft> Hi there, For RT2-0-15, there is no protection from brute force attacks on either the user/pass combination or on the cookie-strings. Here is a solution: Exchange the webrt/autohandler script by the lines below to limit the number of rejected logins to 10 per minute. (And be sure, you have installed Cookie::Cookie from cpan) I would appreciate comments. Kind Regards Andreas -- Andreas Warnke 3SOFT GmbH, Frauenweiherst. 14, 91058 Erlangen Tel.: +49-9131-7701-274 mailto:Andreas.Warnke@3SOFT.de Fax: +49-9131-7701-333 http://www.3SOFT.de ------------------------------------------------------------------------ ---------- %# $Header: /pro/CVS/rt/rt-2-0-15/webrt-rtee/autohandler,v 1.1 2002/11/07 10:59:31 anwa2219 Exp $ <& /Elements/Footer, %ARGS &> <%INIT> my $current_time = time; $m->{'rt_base_time'} = $current_time; # ---------------------------------------- # added by Andreas Warnke # 'Period' denotes the end of the current observation interval # 'Attacks' is the number of rejected login tries # during the current observation interval # ---------------------------------------- my $ACache = $m->cache; my $period = $ACache->get('Period') || 0; my $attacks = $ACache->get('Attacks'); # ---------------------------------------- # ---------------------------------------- # added by Andreas Warnke # Next observation interval? # (And initialization) # ---------------------------------------- if ( $period < $current_time ) { $period = $current_time + 60; $attacks = 0; $ACache->set('Period',$period); $ACache->set('Attacks',$attacks); } # ---------------------------------------- # ---------------------------------------- # added by Andreas Warnke # AttackEncountered? # ---------------------------------------- sub AttackEncountered { my $ACache = $m->cache; my $attacks = $ACache->get('Attacks'); $attacks += 1; $ACache->set('Attacks',$attacks); } # ---------------------------------------- #if it's a noauth file, don't ask for auth. if ($m->base_comp->path =~ '^/+NoAuth/') { $m->call_next(); $m->abort(); } # ---------------------------------------- # added by Andreas Warnke # The complete database is locked # if there have been more than 10 attacks. # Q: Why not just disable the login-sequence # A: There are 2 types of brute force attacks: # 1) Brute force on the user/pass combination # 2) Brute force on a valid session cookie # So: Neither may be served if the system # is under attack # ---------------------------------------- elsif ( $attacks > 10 ) { $m->comp('/Elements/Login', Error => 'Sorry. RT2 is locked for 60 seconds.', %ARGS); $m->abort(); } # ---------------------------------------- # ---------------------------------------- # deleted by Andreas Warnke # ---------------------------------------- # If RT is configured for external auth, let's get REMOTE_USER # We intentionally don't test for REMOTE_USER to meet our policy #elsif ($RT::WebExternalAuth){ # # $user = $ENV{'REMOTE_USER'}; # $session{'CurrentUser'} = RT::CurrentUser->new(); # $session{'CurrentUser'}->Load($user); # unless ($session{'CurrentUser'}->id() ) { # delete $session{'CurrentUser'}; # $m->comp('/Elements/Login', %ARGS, Error=> 'You are not an authorized user'); # $m->abort(); # } #} # ---------------------------------------- # If the user is loging in, let's authenticate elsif (defined ($user) && defined ($pass)){ $session{'CurrentUser'} = RT::CurrentUser->new(); $session{'CurrentUser'}->Load($user); unless ($session{'CurrentUser'}->id() ) { delete $session{'CurrentUser'}; AttackEncountered(); $m->comp('/Elements/Login', %ARGS, Error=> 'Your username or password is incorrect'); $m->abort(); }; unless ($session{'CurrentUser'}->IsPassword($pass)) { delete $session{'CurrentUser'}; AttackEncountered(); $m->comp('/Elements/Login', Error => 'Your username or password is incorrect', %ARGS); $m->abort(); } } #If we've got credentials, lets serve the file up. if ( (defined $session{'CurrentUser'}) and ( $session{'CurrentUser'}->Id) ) { # If the user isn\'t privileged, they can only see SelfService if ((! $session{'CurrentUser'}->Privileged) and ($m->base_comp->path !~ '^/+SelfService/') ) { $m->comp('/SelfService/index.html'); $m->abort(); } else { $m->call_next; } } #If we have no credentials else { AttackEncountered(); $m->comp('/Elements/Login', %ARGS); $m->abort(); } <%ARGS> $user => undef $pass => undef From rspier at pobox.com Wed Feb 5 13:39:30 2003 From: rspier at pobox.com (Robert Spier) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] Problems with rt-2-1-67 (Can't locate object method "_OpenParen") In-Reply-To: <3E413D03.10704@cshl.edu> References: <3E413D03.10704@cshl.edu> Message-ID: Do you have the latest DBIx::SearchBuilder? What version of perl? > error: Can't locate object method "_OpenParen" via package > "RT::Tickets" at /opt/rt3/lib/RT/Tickets_Overlay_SQL.pm line 66. > context: From simonf at cshl.edu Wed Feb 5 14:04:19 2003 From: simonf at cshl.edu (Vsevolod (Simon) Ilyushchenko) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] Problems with rt-2-1-67 (Can't locate object method "_OpenParen") In-Reply-To: References: <3E413D03.10704@cshl.edu> Message-ID: <3E416033.8000904@cshl.edu> Robert Spier wrote: > Do you have the latest DBIx::SearchBuilder? What version of perl? DBIx::SearchBuilder is 0.73, which is up-to-date according to cpan. Perl is 5.8.0. Thanks, Simon -- Simon (Vsevolod ILyushchenko) simonf@cshl.edu http://www.simonf.com "Large software projects are like werewolves because they transform unexpectedly from the familiar into horrors." Fred Brooks From jesse at bestpractical.com Wed Feb 5 14:32:52 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] [rt-announce] fsck.com RT instance Upgraded to 2.1.68 Message-ID: <20030205193252.GP26723@pallas.fsck.com> You have no idea how much pleasure it gives me to announce that fsck.com's RT instance has been upgraded to RT 2.1.68. We'll be watching closely over the next serveral days to make sure everything is in order, but so far, so good. Jesse -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. _______________________________________________ rt-announce mailing list rt-announce@lists.fsck.com http://lists.fsck.com/mailman/listinfo/rt-announce From jesse at bestpractical.com Wed Feb 5 19:21:35 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] [rt-announce] RT 3.0 Beta 1 Message-ID: <20030206002135.GD19555@pallas.fsck.com> As is always the case with such announcements, it gives me great pleasure to announce that the build tagged as rt.2.1.69 is the first Beta release of RT 3.0. This release represents over a year of engineering work and is quite close to being released as RT 3.0.0. It's ready for widespread testing and, in limited case, production deployment. Best Practical Solutions does not support RT 2.1.x (or any other pre-release products) in production environments unless specific prior arrangments have been negotiated. [1] As of this morning, fsck.com's RT instance is running rt 2.1.69. You can download this release at: http://www.bestpractical.com/pub/rt/devel/rt-3-0-beta1.tar.gz A beta-quality import tool is available from: http://www.bestpractical.com/pub/rt/devel/rt2-to-rt3-v1.4.tar.gz This import tool should be used to _test_ the import of your data into an RT instance, but if you intend to migrate from RT2 to RT3 at this time, it is strongly recommended that you check over the imported data by hand, paying particular attention to Scrips and ACLs. Selected Improvements since RT 2.0: * RT's installation process has been streamlined and the installation process now uses autoconf (./configure) to build your Makefile * Keywords have been replaced with a much more flexible "Custom Fields" system that allows fulltext custom fields * RT is now unicode-native and has been completely internationalized (It speaks about a dozen languages, with varying levels of fluency. New translations are always appreciated) * The UI has gotten a massive overhaul. RT should be prettier, friendlier and easier to use. And it works even better in lynx, as most of the user interface now uses Cascading Style Sheets for the pretty bits. * RT is even more extensible than it was before. In addition to the "local" directory for overriding HTML::Mason components, RT's web UI now supports callbacks, to let you embed your own components within RT's UI with no changes to the core, an "overlay" system for the configuration file, so you can be assured that you always know what you've changed from the defaults and "Overlay" perl modules that let you override most of RT's core at the subroutine level in a way that will persist across upgrades * RT's database schema has been simplified. The "Watchers" mechanism has been replaced with queue and ticket specific role groups, which should lead to much faster ticket searches and more linear scalability. * RT's notion of groups has been significantly enhanced. Groups can now contain other groups, with as deep a hierarchy as you want, so long as you don't try to make a group a member of itself. ;) * RT's ACL system is now much more flexible. Users who have been granted the right to delegeate their rights can give groups of users of their choosing any right they have been granted. Of course, when you revoke a user's rights, any of their delegations vanish too. * RT's mail gateway now uses an HTTP-based RPC mechanism to talk to your RT server. (The mail gateway is now a tiny perl script that doesn't need to live on your RT server, run setgid or anything nasty like that.) Known issues that should be addressed before RT 3.0.0: * Notify ScripAction will be enhanced to include transaction attachments * Web UI still needs a bit of cleanup, though it's largely done * The new CLI needs to be completed and integrated. (If you need the CLI, Beta 1 is not for you) * Translations need to be updated * Default scrips need to be set up. Right now, you need to do it all by hand * Approvals scrips should probably be set up by default * The new logo needs to be included * Some more performance tuning should happen Best, Jesse Vincent Best Practical Solutions, LLC [1] If you run RT 2.1.x in production and need support for it, expect to pay through the nose. -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. _______________________________________________ rt-announce mailing list rt-announce@lists.fsck.com http://lists.fsck.com/mailman/listinfo/rt-announce From jesse at bestpractical.com Thu Feb 6 00:16:59 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] Styleguide Message-ID: <20030206051659.GI19555@pallas.fsck.com> Attached is the New RT Style Guide, based significantly on the Slashcode style guide. Nothing in it is cast as a hard and fast rule yet, but it may give you a good feel for how to write code that quacks like RT -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. -------------- next part -------------- #!perl -w # run this document through perl to check its syntax use Pod::Checker; podchecker(\*DATA); __END__ =head1 NAME rtstyleguide - RT Style Guide =head1 INTRODUCTION All code and documentation that is submitted to be included in the RT distribution should follow the style in this document. This is not to try to stifle your creativity, but to make life easier for everybody who has to work with your code, and to aid those who are not quite sure how to do something. These conventions below apply to perl modules, web programs, and command-line programs, specifically, but also might apply to some degree to any Perl code written for use in RT. Note that these are all guidelines, not unbreakable rules. If you have a really good need to break one of the rules herein, however, then it is best to ask on the B mailing list first. Note that with much of this document, it is not so much the Right Way as it is Our Way. We need to have conventions in order to make life easier for everyone. So don't gripe, and just follow it, because you didn't get a good grade in "Plays Well With Others" in kindergarten and you want to make up for it now. If you have any questions, please ask us on the B mailing list: http://www.bestpractical.com/rt/lists.html We don't always follow this guide. We are making changes throughout our code to be in line with it. But just because we didn't do it yet, that is no excuse. Do it anyway. :-) This document is subject to change at the whims of the core RT team. We hope to add any significant changes at the bottom of the document. =head1 CODING PRINCIPLES =head2 Perl Version We code everything to perl 5.6.1. Some features require advanced unicode features in perl 5.8.0. It is acceptable that unicode features work only for US-ASCII on perl 5.6.1. =head2 Documentation All modules will be documented using the POD examples in the module boilerplate. The function, purpose, use of the module will be explained, and each public API will be documented with name, description, inputs, outputs, side effects, etc. If an array or hash reference is returned, document the size of the array (including what each element is, as appropriate) and name each key in the hash. For complex data structures, map out the structure as appropriate (e.g., name each field returned for each column from a DB call; yes, this means you shouldn't use "SELECT *", which you shouldn't use anyway). Also document what kind of data returned values are. Is it an integer, a block of HTML, a boolean? All command-line program options will be documented using the boilerplate code for command-line programs, which doesn't yet exist. Each available function, switch, etc. should be documented, along with a statement of function, purpose, use of the program. Do not use the same options as another program, for a different purpose. All web templates should be documented with a statement of function, purpose, and use in a mason comment block. Any external documents, and documentation for command-line programs and modules, should be written in POD, where appropriate. From there, they can be translated to many formats with the various pod2* translators. Read the perlpod manpage before writing any POD, because although POD is not difficult, it is not what most people are used to. It is not a regular markup language; it is just a way to make easy documentation for translating to other formats. Read, and understand, the perlpod manpage, and ask us or someone else who knows if you have any questions. =head2 Version Our distribution versions use tuples, where the first number is the major revision, the second number is the version, and third number is the subversion. Odd-numbered versions are development versions. Examples: 1.0.0 First release of RT 1 1.0.1 Second release of RT 1.0 1.0.10 etc. 1.1.0 First development release of RT 1.2 (or 2.0) 2.0.0 First release of RT 2 Versions can be modified with a hyphen followed by some text, for special versions, or to give extra information. Examples: 2.0.0-pre1 Notes that this is not final, but preview In perl 5.6.0, you can have versions like C, but this is not allowed in previous versions of perl. So to convert a tuple version string to a string to use with $VERSION, use a regular integer for the revision, and three digits for version and subversion. Examples: 1.1.6 -> 1.001006 2.0.0 -> 2.000000 This way, perl can use the version strings in greater-than and less-than comparisons. =head2 Comments All code should be self-documenting as much as possible. Only include necessary comments. Use names like "$ticket_count", so you don't need to do something like: # ticket count my $tc = 0; Include any comments that are, or might be, necessary in order for someone else to understand the code. Sometimes a simple one-line comment is good to explain what the purpose of the following code is for. Sometimes each line needs to be commented because of a complex algorithm. Read Kernighan & Pike's I about commenting. Good stuff, Maynard. =head2 Warnings and Strict All code must compile and run cleanly with "use strict" enabled and the perl "-w" (warnings) option on. If you must do something that -w or strict complains about, there are workarounds, but the chances that you really need to do it that way are remote. =head2 Lexical Warnings C is more warningful than -w. If you need to disable one, you can explicitly do: { no warnings 'something'; blah; } =head2 Lexical Variables Use only lexical variables, except for special global variables ($VERSION, %ENV, @ISA, $!, etc.) or very special circumstances (see %HTML::Mason::Commands::session ). Global variables for regular use are never appropriate. When necessary, "declare" globals with "use vars" or, preferably "our()". (RT's codebase is now 5.6 or higher, so "our" is safe) A lexical variable is created with my(). A global variable is pre-existing (if it is a special variable), or it pops into existence when it is used. local() is used to tell perl to assign a temporary value to a variable. This should only be used with special variables, like $/, or in special circumstances. If you must assign to any global variable, consider whether or not you should use local(). local() may also be used on elements of arrays and hashes, though there is seldom a need to do it, and you shouldn't. =head2 Exporting Do not export anything from a module by default. Feel free to put anything you want to in @EXPORT_OK, so users of your modules can explicitly ask for symbols (e.g., "use Something::Something qw(getFoo setFoo)"), but do not export them by default. =head2 Pass by Reference Arrays and hashes should be passed to and from functions by reference only. Note that a list and an array are NOT the same thing. This is perfectly fine: return($user, $form, $constants); An exception might be a temporary array of discrete arguments: my @return = ($user, $form); push @return, $constants if $flag; return @return; Although, usually, this is better (faster, easier to read, etc.): if ($flag) { return($user, $form, $constants); } else { return($user, $form); } We need to talk about Class::ReturnValue here. =head2 Garbage Collection Perl does pretty good garbage collection for you. It will automatically clean up lexical variables that have gone out of scope and objects whose references have gone away. Normally you don't need to worry about cleaning up after yourself, if using lexicals. However, some glue code, code compiled in C and linked to Perl, might not automatically clean up for you. In such cases, clean up for yourself. If there is a method in that glue to dispose or destruct, then use it as appropriate. Also, if you have a long-running function that has a large data structure in it, it is polite to free up the memory as soon as you are done with it, if possible. my $huge_data_structure = get_huge_data_structure(); do_something_with($huge_data_structure); undef $huge_data_structure; =head2 DESTROY All object classes must provide a DESTROY method. If it won't do anything, provide it anyway: sub DESTROY { } =head2 die() and exit() Don't do it. Do not die() or exit() from a web template or module. Do not call C. Don't do it. In command-line programs, do as you please. =head2 shift and @_ Do not use @_. Use shift. shift may take more lines, but Jesse thinks it leads to cleaner code. my $var = shift; # right my($var) = @_; # ick. no sub foo { uc $_[0] } # icky. sometimes ok. my($var1, $var2) = (shift, shift); # Um, no. my $var1 = shift; # right my $var2 = shift; =head2 Tests Modules should provide test code, with documentation on how to use it. Test::Inline allows tests to be embedded in code. Test::More makes it easy to create tests. Any code you write should have a testsuite. Any code you alter should have a test suite. If a patch comes in without tests, there is something wrong. When altering code, you must run the test harness before submitting a patch or committing code to the repository. "make regression" will extract inline tests, blow away the system database and run the test suite. "make regression-quiet" will do all that and not print the "ok" lines. =head2 STDIN/STDOUT Always report errors using $RT::Logger. It's a Log::Dispatch object. Unlike message meant for the user, log messages are not to be internationalized. There are several different levels ($RT::Logger methods) of logging: =over 4 =item debug Used for messages only needed during system debugging. =item info Should be used to describe "system-critical" events which aren't errors. Examples: creating users, deleting users, creating tickets, creating queues, sending email (message id, time, recipients), recieving mail, changing passwords, changing access control, superuser logins) =item error Used for RT-generated failures during execution. =item crit Should be used for messages when an action can not be completed due to some error condition beyond our control. =back In the web UI and modules, never print directly to STDERR. Do not print directly to STDOUT, unless you need to print directly to the user's console. In command-line programs, feel free to print to STDERR and STDOUT as needed for direct console communication. But for actual error reporting, use the logging API. =head2 System Calls Always check return values from system calls, including open(), close(), mkdir(), or anything else that talks directly to the system. Perl built-in system calls return the error in $!; some functions in modules might return an error in $@ or some other way, so read the module's documentation if you don't know. Always do something, even if it is just calling $RT::Logger->warning(), when the return value is not what you'd expect. =head1 STYLE Much of the style section is taken from the perlsyle manpage. We make some changes to it here, but it wouldn't be a bad idea to read that document, too. =head2 Terminology =over 4 =item RT the name "RT" is the name of the project. "RT" is, optionally, the specific name for the actual file distribution. That's it. While we sometimes use "RT2" or "RT3", that's shortand that's really not recommended. The name of the project is "RT". To specify a major version, use "RT 3.0". To specify a specific release, use "RT 3.0.12" =item function vs. sub(routine) vs. method Just because it is the Perl Way (not necessarily right for all languages, but the documented terminology in the perl documentation), "method" should be used only to refer to a subroutine that are object methods or class methods; that is, these are functions that are used with OOP that always take either an object or a class as the first argument. Regular subroutines, ones that are not object or class methods, are functions. Class methods that create and return an object are optionally called constructors. =item Users "users" are normally users of RT, the ones hitting the site; if using it in any other context, specify. "system users" are user names on the operating system. "database users" are the user names in the database server. None of these needs to be capitalized. =back =head2 Names Don't use single-character variables, except as iterator variables. Don't use two-character variables just to spite us over the above rule. Constants are in all caps; these are variables whose value will I change during the course of the program. $Minimum = 10; # wrong $MAXIMUM = 50; # right Other variables are lowercase, with underscores separating the words. They words used should, in general, form a noun (usually singular), unless the variable is a flag used to denote some action that should be taken, in which case they should be verbs (or gerunds, as appropriate) describing that action. $thisVar = 'foo'; # wrong $this_var = 'foo'; # right $work_hard = 1; # right, verb, boolean flag $running_fast = 0; # right, gerund, boolean flag Arrays and hashes should be plural nouns, whether as regular arrays and hashes or array and hash references. Do not name references with "ref" or the data type in the name. @stories = (1, 2, 3); # right $comment_ref = [4, 5, 6]; # wrong $comments = [4, 5, 6]; # right $comment = $comments->[0]; # right Make the name descriptive. Don't use variables like "$sc" when you could call it "$story_count". See L<"Comments">. There are several variables in RT that are used throughout the code, that you should use in your code. Do not use these variable names for anything other than how they are normally used, and do not use any other variable names in their place. Some of these are: $self # first named argument in object method Subroutines (except for special cases, like AUTOLOAD and simple accessors) begin with a verb, with words following to complete the action. Accessors don't start with "Get" if they're just the name of the attribute. Accessors which return an object should end with the suffix Obj. This section needs clarification for RT. Words begin with a capital letter. They should as clearly as possible describe the activity to be peformed, and the data to be returned. Load(); # good LoadByName(); # good LoadById(); # good Subroutines beginning with C<_> are special: they are not to be used outside the current object. There is not to be enforced by the code itself, but by someone very big and very scary. For large for() loops, do not use $_, but name the variable. Do not use $_ (or assume it) except for when it is absolutely clear what is going on, or when it is required (such as with map() and grep()). for (@list) { print; # OK; everyone knows this one print uc; # wrong; few people know this print uc $_; # better } Note that the special variable C<_> I be used when possible. It is a placeholder that can be passed to stat() and the file test operators, that saves perl a trip to re-stat the file. In the example below, using C<$file> over for each file test, instead of C<_> for subsequent uses, is a performance hit. You should be careful that the last-tested file is what you think it is, though. if (-d $file) { # $file is a directory # ... } elsif (-l _) { # $file is a symlink # ... } Package names begin with a capital letter in each word, followed by lower case letters (for the most part). Multiple words should be StudlyCapped. RT::User # good RT::Database::MySQL # proper name RT::Display::Provider # good RT::CustomField # not so good, but OK Plugin modules should begin with "RTx::", followed by the name of the plugin. =head1 Code formatting Use perltidy. Anything we say here is wrong if it conflicts with what perltidy does. Your perltidyrc should read: -lp -vt=2 -vtc=2 -nsfs -bar =head2 Indents and Blank Space All indents should be 4 spaces. If you find tabs, convert them to 4 spaces. No space before a semicolon that closes a statement. foo(@bar) ; # wrong foo(@bar); # right Line up corresponding items vertically. my $foo = 1; my $bar = 2; my $xyzzy = 3; open(FILE, $fh) or die $!; open(FILE2, $fh2) or die $!; $rot13 =~ tr[abcedfghijklmnopqrstuvwxyz] [nopqrstuvwxyzabcdefghijklm]; # note we use a-mn-z instead of a-z, # for readability $rot13 =~ tr[a-mn-z] [n-za-m]; Put blank lines between groups of code that do different things. Put blank lines after your variable declarations. Put a blank line before a final return() statement. Put a blank line following a block (and before, with the exception of comment lines). An example: # this is my function! sub foo { my $val = shift; my $obj = new Constructor; my($var1, $var2); $obj->SetFoo($val); $var1 = $obj->Foo(); return($val); } print 1; =head2 Parentheses For control structures, there is a space between the keyword and opening parenthesis. For functions, there is not. for(@list) # wrong for (@list) # right my ($ref) # wrong my($ref) # right Be careful about list vs. scalar context with parentheses! my @array = ('a', 'b', 'c'); my($first_element) = @array; # a my($first_element) = ('a', 'b', 'c'); # a my $element_count = @array; # 3 my $last_element = ('a', 'b', 'c'); # c Always include parentheses after functions, even if there are no arguments. There are some exceptions, such as list operators (like print) and unary operators (like undef, delete, uc). There is no space inside the parentheses, unless it is needed for readability. for ( map { [ $_, 1 ] } @list ) # OK for ( @list ) # not really OK, not horrible On multi-line expressions, match up the closing parenthesis with either the opening statement, or the opening parenthesis, whichever works best. Examples: @list = qw( bar baz ); # right if ($foo && $bar && $baz && $buz && $xyzzy ) { print $foo; } Whether or not there is space following a closing parenthesis is dependent on what it is that follows. print foo(@bar), baz(@buz) if $xyzzy; Note also that parentheses around single-statement control expressions, as in C, are optional (and discouraged) C it is I clear -- to a programmer -- what is going on. There is absolutely no need for parentheses around C<$xyzzy> above, so leaving them out enhances readability. Use your best discretion. Better to include them, if there is any question. The same essentially goes for perl's built-in functions, when there is nothing confusing about what is going on (for example, there is only one function call in the statement, or the function call is separated by a flow control operator). User-supplied functions must always include parentheses. print 1, 2, 3; # good delete $hash{key} if isAnon($uid); # good However, if there is any possible confusion at all, then include the parentheses. Remember the words of Larry Wall in the perlstyle manpage: When in doubt, parenthesize. At the very least it will let some poor schmuck bounce on the % key in vi. Even if you aren't in doubt, consider the mental welfare of the person who has to maintain the code after you, and who will probably put parens in the wrong place. So leave them out when it is absoutely clear to a programmer, but if there is any question, leave them in. =head2 Braces (This is about control braces, not hash/data structure braces.) There is always a space befor the opening brace. while (<$fh>){ # wrong while (<$fh>) { # right A one-line block may be put on one line, and the semicolon may be omitted. for (@list) { print } Otherwise, finish each statement with a semicolon, put the keyword and opening curly on the first line, and the ending curly lined up with the keyword at the end. for (@list) { print; smell(); } Generally, we prefer "uncuddled elses": if ($foo) { print; } else { die; } _If_ the if statement is very brief, sometimes "cuddling" the else makes code more readable. Feel free to cuddle them in that case: if ($foo) { print; } else { die; } =head2 Operators Put space around most operators. The primary exception is the for aesthetics; e.g., sometimes the space around "**" is ommitted, and there is never a space before a ",", but always after. print $x , $y; # wrong print $x, $y; # right $x = 2 >> 1; # good $y = 2**2; # ok Note that "&&" and "||" have a higher precedence than "and" and "or". Other than that, they are exactly the same. It is best to use the lower precedence version for control, and the higher for testing/returning values. Examples: $bool = $flag1 or $flag2; # WRONG (doesn't work) $value = $foo || $bar; # right open(FILE, $file) or die $!; $true = foo($bar) && baz($buz); foo($bar) and baz($buz); Note that "and" is seldom ever used, because the statement above is better written using "if": baz($buz) if foo($bar); Most of the time, the confusion between and/&&, or/|| can be alleviated by using parentheses. If you want to leave off the parentheses then you I use the proper operator. But if you use parentheses -- and normally, you should, if there is any question at all -- then it doesn't matter which you use. Use whichever is most readable and aesthetically pleasing to you at the time, and be consistent within your block of code. Break long lines AFTER operators, except for "and", "or", "&&", "||". Try to keep the two parts to a binary operator (an operator that has two operands) together when possible. print "foo" . "bar" . "baz" . "buz"; # wrong print "foo" . "bar" . "baz" . "buz"; # right print $foo unless $x == 3 && $y == 4 && $z == 5; # wrong print $foo unless $x == 3 && $y == 4 && $z == 5; # right =head2 Other Put space around a complex subscript inside the brackets or braces. $foo{$bar{baz}{buz}}; # OK $foo{ $bar{baz}{buz} }; # better In general, use single-quotes around literals, and double-quotes when the text needs to be interpolated. It is OK to omit quotes around names in braces and when using the => operator, but be careful not to use a name that doubles as a function; in that case, quote. $what{'time'}{it}{is} = time(); When making compound statements, put the primary action first. open(FILE, $fh) or die $!; # right die $! unless open(FILE, $fh); # wrong print "Starting\n" if $verbose; # right $verbose && print "Starting\n"; # wrong Use here-docs instead of repeated print statements. print <Foo! All newlines should be removed from localized strings, to make it easy to grep the codebase for strings to be localized The string Foo Bar Baz Should become <&|/l&>Foo Bar Baz Variable subsititutions should be moved to Locale::MakeText format The string Hello, <%$name %> should become <&|/l, $name &>Hello, [_1] Multiple variables work just like single variables The string You found <%$num%> tickets in queue <%$queue%> should become <&|/l, $num, $queue &>You found [_1] tickets in queue [_2] When subcomponents are called in the middle of a phrase, they need to be escaped too: The string  <& /Elements/SelectNewTicketQueue&> should become <&|/l, $m->scomp('/Elements/SelectNewTicketQueue')&> [_1] The string <& /Elements/TitleBoxStart, width=> "40%", titleright => "RT $RT::VERSION for $RT::rtname", title => 'Login' &> should become <& /Elements/TitleBoxStart, width=> "40%", titleright => loc("RT [_1] for [_2]",$RT::VERSION, $RT::rtname), title => loc('Login'), &> =item Library code Within RT's core code, every module has a localization handle available through the 'loc' method: The code return ( $id, "Queue created" ); should become return ( $id, $self->loc("Queue created") ); When returning or localizing a single string, the "extra" set of parenthesis () should be omitted. The code return ("Subject changed to ". $self->Data ); should become return $self->loc( "Subject changed to [_1]", $self->Data ); It is important not to localize the names of rights or statuses within RT's core, as there is logic that depends on them as string identifiers. The proper place to localize these values is when they're presented for display in the web or commandline interfaces. =back 4 =head1 CODING PRCEDURE This is for new programs, modules, specific APIs, or anything else. Contact for core team is the slashcode-development mailing list. =over 4 =item Present idea to core team We may know of a better way to approach the problem, or know of an existing way to deal with it, or know someone else is working on it. This is mostly informal, but a fairly complete explanation for the need and use of the code should be provided. =item Present complete specs to core team The complete proposed API to the core team should be submitted for approval and discussion. For web and command-line programs, present the functionality and interface (op codes, command-lin switches, etc.). The best way to do this is to take the documentation portion of the boilerplate and fill it in. You can make changes later if necessary, but fill it in as much as you can. =item Announce any changes to interface If the way it works or how it is called is going to change, notify the core team. =item Prepare for core review When you are done, the code will undergo a code review by a member of the core team, or someone picked by the core team. This is not to belittle you (that's just a nice side effect), it is to make sure that you understand your code, that we understand your code, that it won't break other code, that it follows the documentation and existing proposal. It is to check for possible optimizations or better ways of doing it. For members of the core team, one or more other members of the team will perform the review. Note that all code is expected to follow the coding principles and style guide contained in this document. =item Finish it up After the code is done (possibly going through multiple code reviews), if you do not have repository access, submit it to rt--bugs@fsck.com as a unified diff. From that point on, it'll be handled by someone with repository access. =back =head1 Features =head2 Callbacks It's easy to overlay your own components on top of RT's HTML::Mason web UI by creating a component with the same name and dropping it in the "local" component root. Often though, what you really want to do is to drop your own bit of interface in the middle of an existing RT component. So you copy the component and drop in your own code. A month later, a new release comes out with a critical bugfix in the component you overrode. Every time an upgrade happens, you have to audit RT's code to make sure that none of your code will override the newly fixed component. And what if two different add-ons alter the same component? I forsee a lot of diffing and patching in your future. At least that's the way it _used to work_. RT 3.0's web interface now supports callbacks to stackable user-defined components. within RT's HTML::Mason frontend, you'll see calls like this: in /Ticket/Frob.html, you might see a line like: <& /Elements/Callback, Name => 'foo', %ARGS &> This means that RT will look for any components that match the glob $RTROOT/local/html/Callbacks/*/Ticket/Frob.html/foo and call them with the %ARGS passed to Frob.html Some callbacks might additionally pass in other parameters, such as Ticket, Transaction or Queue. As of this moment, there's only a single callback in the codebase. I expect them to proliferate like small woodland creatures. I'll be adding them as _I_ need them for other RT-related projects. If _you_ need a callback added to RT's codebase, send a unified diff as an attachment to a message describing the callback to rt-3.0-bugs@fsck.com. Callbacks don't really impact the codebase, so I'm willing to take them "whenever," at my convenience. =head1 BUG REPORTS, PATCHES Use rt--bugs@fsck.com for I bug that is not being fixed immediately. If it is not in SourceForge.net, there is a good chance it will be forgotten. Send patches to rt--bugs@fsck.com, too. Use C for patches. =head1 TO DO Talk about DBIx::SearchBuilder Talk about mason component style cascading style sheets Talk about adding a new translation Talk more about logging =head1 CHANGES Adapted from Slash Styleguide by jesse - 20 Dec, 2002 =head1 VERSION 0.1 From mixo at beth.uniforum.org.za Thu Feb 6 02:15:22 2003 From: mixo at beth.uniforum.org.za (mixo) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] [rt-announce] fsck.com RT instance Upgraded to 2.1.68 References: <20030205193252.GP26723@pallas.fsck.com> Message-ID: <3E420B8A.2030805@beth.uniforum.org.za> Jesse Vincent wrote: >You have no idea how much pleasure it gives me to announce that >fsck.com's RT instance has been upgraded to RT 2.1.68. We'll be watching >closely over the next serveral days to make sure everything is in order, >but so far, so good. > > > > One question: what is the url of the instance of RT? From jesse at bestpractical.com Thu Feb 6 02:13:16 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] [rt-announce] fsck.com RT instance Upgraded to 2.1.68 In-Reply-To: <3E420B8A.2030805@beth.uniforum.org.za> References: <20030205193252.GP26723@pallas.fsck.com> <3E420B8A.2030805@beth.uniforum.org.za> Message-ID: <20030206071316.GN19555@pallas.fsck.com> > > > One question: what is the url of the instance of RT? if you go to fsck.com/rt2/ where the instance used to live, you'll be redirected to rt3.fsck.com, its new home. -j -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From hwagener at hamburg.fcb.com Thu Feb 6 04:39:57 2003 From: hwagener at hamburg.fcb.com (Harald Wagener) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] [rt-announce] fsck.com RT instance Upgraded to 2.1.68 In-Reply-To: <20030206071316.GN19555@pallas.fsck.com> Message-ID: On Thursday, February 6, 2003, at 08:13 Uhr, Jesse Vincent wrote: >>> >> One question: what is the url of the instance of RT? > > if you go to fsck.com/rt2/ where the instance used to live, > you'll be redirected to rt3.fsck.com, its new home. When I do that with a web browser identified by the following string: "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/51 (like Gecko) Safari/51" I get some asian looking login screen. The web pages are not german at all as well, being a mix of misrendered utf8 characters (not Your fault) and english. I guess the /de-de/ is not standards compliant. Regards, Harald -- Harald Wagener * FCB/Wilkens * An der Alster 42 * 20099 Hamburg From hwagener at hamburg.fcb.com Thu Feb 6 06:08:41 2003 From: hwagener at hamburg.fcb.com (Harald Wagener) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] [rt-announce] RT 3.0 Beta 1 Message-ID: <59BECD8C-39C3-11D7-A949-003065DC18B8@hamburg.fcb.com> Begin forwarded message: > From: Jesse Vincent > Date: Do Feb 6, 2003 1:21:35 Uhr Europe/Berlin > To: rt-announce@lists.fsck.com > Subject: [rt-devel] [rt-announce] RT 3.0 Beta 1 > > > As is always the case with such announcements, it gives me great > pleasure to announce that the build tagged as rt.2.1.69 is the > first Beta release of RT 3.0. [snip] > You can download this release at: > > http://www.bestpractical.com/pub/rt/devel/rt-3-0-beta1.tar.gz > > A beta-quality import tool is available from: I still can't login with root/password, but at least I can behold the beauty of rt3 at Your site now.... > http://www.bestpractical.com/pub/rt/devel/rt2-to-rt3-v1.4.tar.gz > > This import tool should be used to _test_ the import of > your data into an RT instance, but if you intend to migrate from > RT2 to RT3 at this time, it is strongly recommended that you check > over the imported data by hand, paying particular attention to > Scrips and ACLs. > Failure of import over here (this is with MySQL 4.0.9 - I just did the upgrade). |[Thu Feb 6 11:04:36 2003] [warning]: DBD::mysql::st execute failed: Column |'Disabled' cannot be null at /usr/lib/perl5/site_perl/5.8.0/DBIx/SearchBuilder/|Handle.pm line 376. | (/opt/rt3/lib/RT.pm:220) |[Thu Feb 6 11:04:36 2003] [warning]: RT::Handle=HASH(0x8cbf0fc) couldn't execute |the query 'INSERT INTO CustomFields (Queue, Creator, Type, LastUpdatedBy, |Disabled, SortOrder, Created, Name, Description, LastUpdated) VALUES (?, ?, ?, ?, |?, ?, ?, ?, ?, ?)' at /usr/lib/perl5/site_perl/5.8.0/DBIx/SearchBuilder/Handle.pm |line 383. | (/opt/rt3/lib/RT.pm:220) |[Thu Feb 6 11:04:36 2003] [crit]: Couldn't create custom field Arbeitsplatz at |dumpfile-to-rt-3.0 line 295. | (/opt/rt3/lib/RT.pm:226) Regards, Harald Wagener -- Harald Wagener * FCB/Wilkens * An der Alster 42 * 20099 Hamburg From ASnare at allshare.nl Thu Feb 6 06:13:10 2003 From: ASnare at allshare.nl (Andrew Snare) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] fsck.com RT instance Upgraded to 2.1.68 In-Reply-To: References: <20030206071316.GN19555@pallas.fsck.com> Message-ID: <5.1.0.14.0.20030206120445.037c8110@10.1.3.36> At 10:39 AM 6/02/2003 +0100, Harald Wagener wrote: >>if you go to fsck.com/rt2/ where the instance used to live, >>you'll be redirected to rt3.fsck.com, its new home. > >When I do that with a web browser identified by the following string: > >"Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/51 >(like Gecko) Safari/51" > >I get some asian looking login screen. The web pages are not german at all >as well, being a mix of misrendered utf8 characters (not Your fault) and >english. > >I guess the /de-de/ is not standards compliant. The de-de in the version string should be irrelevant since for language purposes it should be using the HTTP-Accept-Language header your browser sends. I think this is broken in RT, however. I noticed this problem in an early release of the 2.1 but didn't have time to investigate. At any rate, my HTTP-Accept-Language header is: HTTP_ACCEPT_LANGUAGE=en-au, en;q=0.66, nl;q=0.33 When I aim this at I get a Dutch page, despite the fact that English is listed as preferable. If I yank Dutch from the end of the list, I get an English page (as expected). Hence I think there's a problem with the auto-language detection in RT3. It's commendable that RT is trying to do the right thing here. One of my pet hates is web i18n that ignores what your browser says about your language preferences. Cheers, - Andrew From hwagener at hamburg.fcb.com Thu Feb 6 06:26:04 2003 From: hwagener at hamburg.fcb.com (Harald Wagener) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] fsck.com RT instance Upgraded to 2.1.68 In-Reply-To: <5.1.0.14.0.20030206120445.037c8110@10.1.3.36> Message-ID: Am Donnerstag, 06.02.03 um 12:13 Uhr schrieb Andrew Snare: > At 10:39 AM 6/02/2003 +0100, Harald Wagener wrote: >> >> I guess the /de-de/ is not standards compliant. > > The de-de in the version string should be irrelevant since for > language purposes it should be using the HTTP-Accept-Language header > your browser sends. Ah, OK. How do I find out what HTTP-Accept-Language header my browser sends? Regards, Harald -- Harald Wagener * FCB/Wilkens * An der Alster 42 * 20099 Hamburg From bthauvin at clearchannel.fr Thu Feb 6 06:33:51 2003 From: bthauvin at clearchannel.fr (THAUVIN Blaise (Dir. Informatique)) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] Language detection bug Message-ID: <870E25EC362DD6118A7400306E1260E2010D49D5@33par_exchange.dauphin-affichage.com> Skipped content of type multipart/alternative From autrijus at autrijus.org Thu Feb 6 07:48:55 2003 From: autrijus at autrijus.org (Autrijus Tang) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] Language detection bug In-Reply-To: <870E25EC362DD6118A7400306E1260E2010D49D5@33par_exchange.dauphin-affichage.com> References: <870E25EC362DD6118A7400306E1260E2010D49D5@33par_exchange.dauphin-affichage.com> Message-ID: <20030206124854.GA10512@not.autrijus.org> On Thu, Feb 06, 2003 at 12:33:51PM +0100, THAUVIN Blaise (Dir. Informatique) wrote: > I confirm something is broken in RT concerning language detection. > I use IE6 on windows 2000. > My language settings are [EN] and [FR], French being usually first. > When connecting, RT seems to ignore the preference order I set. I get the > french language whenever French is present in the list. This is because 'en-us' is provided, instead of 'en'. This is arguably wrong, since there's no US-specific things in that lexicon -- maybe just mv rt/lib/RT/I18N/en_us.po to en.po? /Autrijus/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available Url : http://pallas.eruditorum.org/pipermail/rt-devel/attachments/20030206/78a9279e/attachment.pgp From ASnare at allshare.nl Thu Feb 6 08:05:57 2003 From: ASnare at allshare.nl (Andrew Snare) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] fsck.com RT instance Upgraded to 2.1.68 In-Reply-To: References: <5.1.0.14.0.20030206120445.037c8110@10.1.3.36> Message-ID: <5.1.0.14.0.20030206140351.032679c8@10.1.3.36> At 12:26 PM 6/02/2003 +0100, Harald Wagener wrote: >Ah, OK. How do I find out what HTTP-Accept-Language header my browser sends? Drop the following script in your cgi-bin area, and point your browser at it. #!/bin/sh # # printenv -- simple CGI program which just prints its environment. # # - Andrew Snare # echo "Content-type: text/plain\n"; exec env | sort -t= # End Make sure it's executable. - Andrew From hwagener at hamburg.fcb.com Thu Feb 6 09:37:27 2003 From: hwagener at hamburg.fcb.com (Harald Wagener) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] fsck.com RT instance Upgraded to 2.1.68 In-Reply-To: <5.1.0.14.0.20030206140351.032679c8@10.1.3.36> Message-ID: <83D7FED9-39E0-11D7-A299-003065DC18B8@hamburg.fcb.com> Am Donnerstag, 06.02.03 um 14:05 Uhr schrieb Andrew Snare: > At 12:26 PM 6/02/2003 +0100, Harald Wagener wrote: >> Ah, OK. How do I find out what HTTP-Accept-Language header my browser >> sends? > > Drop the following script in your cgi-bin area, and point your browser > at it. > [snip] > Make sure it's executable. > > - Andrew Amongst other info, I spotted this nice one: |HTTP_ACCEPT_LANGUAGE=de-de, ja;q=0.20, en;q=0.60, en-us;q=0.40, de;q=0.80 Why japanese still is in there is beyond me, but being on a Mac at the time being, I am bound to the system preferences (where I selected german,english,us-english in that order). Safari is evil, but at least it recognizes some of the info. Chimera just has no user configurable Language Acception stuff. Regards, Harald -- Harald Wagener * FCB/Wilkens * An der Alster 42 * 20099 Hamburg From ASnare at allshare.nl Thu Feb 6 10:42:04 2003 From: ASnare at allshare.nl (Andrew Snare) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] RT language selection [Was: fsck.com RT instance Upgraded to 2.1.68] In-Reply-To: <83D7FED9-39E0-11D7-A299-003065DC18B8@hamburg.fcb.com> References: <5.1.0.14.0.20030206140351.032679c8@10.1.3.36> Message-ID: <5.1.0.14.0.20030206161523.036bd090@10.1.3.36> At 03:37 PM 6/02/2003 +0100, Harald Wagener wrote: >|HTTP_ACCEPT_LANGUAGE=de-de, ja;q=0.20, en;q=0.60, en-us;q=0.40, de;q=0.80 > >Why japanese still is in there is beyond me, but being on a Mac at the >time being, I am bound to the system preferences (where I selected >german,english,us-english in that order). Your list is equivalent to: de-de de[-]* en[-]* en-us ja[-]* Ignoring the Japanese on the end, note that en-us will never be 'selected' because 'en' occurs higher in the list. I doubt this is intended. >Safari is evil, but at least it recognizes some of the info. Chimera just >has no user configurable Language Acception stuff. Getting waaaay off-topic here, but if Chimera uses the same preferences code as Mozilla, you can change the languages line in your prefs.js to something like: user_pref("intl.accept_languages", "en-au, en, nl"); Chimera is arguably broken if it's sending an Accept-Languages header but doesn't give you a way to alter the settings (according to the RFC). This Accept-Language stuff is defined in RFC2616, Section 14.4. Cheers, - Andrew From ASnare at allshare.nl Thu Feb 6 10:44:40 2003 From: ASnare at allshare.nl (Andrew Snare) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] Language detection bug In-Reply-To: <20030206124854.GA10512@not.autrijus.org> References: <870E25EC362DD6118A7400306E1260E2010D49D5@33par_exchange.dauphin-affichage.com> <870E25EC362DD6118A7400306E1260E2010D49D5@33par_exchange.dauphin-affichage.com> Message-ID: <5.1.0.14.0.20030206164216.03368290@10.1.3.36> At 08:48 PM 6/02/2003 +0800, Autrijus Tang wrote: >This is because 'en-us' is provided, instead of 'en'. This is arguably wrong, >since there's no US-specific things in that lexicon -- maybe just mv >rt/lib/RT/I18N/en_us.po to en.po? While this fix may work, I think there's still a bug in the language-matching. According to my reading of RFC2616, Section 14.4, if 'en' is in my list, RT should be matching that against the 'en-us' that it can supply. - Andrew From jesse at bestpractical.com Thu Feb 6 13:28:25 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] Language detection bug In-Reply-To: <5.1.0.14.0.20030206164216.03368290@10.1.3.36> References: <870E25EC362DD6118A7400306E1260E2010D49D5@33par_exchange.dauphin-affichage.com> <870E25EC362DD6118A7400306E1260E2010D49D5@33par_exchange.dauphin-affichage.com> <5.1.0.14.0.20030206164216.03368290@10.1.3.36> Message-ID: <20030206182825.GU19555@pallas.fsck.com> On Thu, Feb 06, 2003 at 04:44:40PM +0100, Andrew Snare wrote: > At 08:48 PM 6/02/2003 +0800, Autrijus Tang wrote: > >This is because 'en-us' is provided, instead of 'en'. This is arguably > >wrong, > >since there's no US-specific things in that lexicon -- maybe just mv > >rt/lib/RT/I18N/en_us.po to en.po? > > While this fix may work, I think there's still a bug in the > language-matching. According to my reading of RFC2616, Section 14.4, if > 'en' is in my list, RT should be matching that against the 'en-us' that it > can supply. Which part of the language in that section? I'm not seeing it. FWIW, RT is using Locale::Maketext to do the parsing of the language tags. Switching from en-us to en seems to be at least _one_ of the right things to do. If we can make a case for anything else, I'm sure Sean would be happy to let us try to sell him on it. -j > > - Andrew > > > _______________________________________________ > rt-devel mailing list > rt-devel@lists.fsck.com > http://lists.fsck.com/mailman/listinfo/rt-devel > -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From jesse at bestpractical.com Thu Feb 6 13:33:26 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] [rt-announce] RT 3.0 Beta 1 In-Reply-To: <59BECD8C-39C3-11D7-A949-003065DC18B8@hamburg.fcb.com> References: <59BECD8C-39C3-11D7-A949-003065DC18B8@hamburg.fcb.com> Message-ID: <20030206183326.GW19555@pallas.fsck.com> > Failure of import over here (this is with MySQL 4.0.9 - I just did the > upgrade). A new import tool should be out later today which will resolve this issue. > > |[Thu Feb 6 11:04:36 2003] [warning]: DBD::mysql::st execute failed: > Column |'Disabled' cannot be null at > /usr/lib/perl5/site_perl/5.8.0/DBIx/SearchBuilder/|Handle.pm line 376. > | (/opt/rt3/lib/RT.pm:220) > |[Thu Feb 6 11:04:36 2003] [warning]: RT::Handle=HASH(0x8cbf0fc) > couldn't execute |the query 'INSERT INTO CustomFields (Queue, Creator, > Type, LastUpdatedBy, |Disabled, SortOrder, Created, Name, Description, > LastUpdated) VALUES (?, ?, ?, ?, |?, ?, ?, ?, ?, ?)' at > /usr/lib/perl5/site_perl/5.8.0/DBIx/SearchBuilder/Handle.pm |line 383. > | (/opt/rt3/lib/RT.pm:220) > |[Thu Feb 6 11:04:36 2003] [crit]: Couldn't create custom field > Arbeitsplatz at |dumpfile-to-rt-3.0 line 295. > | (/opt/rt3/lib/RT.pm:226) > > Regards, > Harald Wagener > -- > Harald Wagener * FCB/Wilkens * An der Alster 42 * 20099 Hamburg > > _______________________________________________ > rt-devel mailing list > rt-devel@lists.fsck.com > http://lists.fsck.com/mailman/listinfo/rt-devel > -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From mrz at intelenet.net Thu Feb 6 13:38:45 2003 From: mrz at intelenet.net (matthew zeier) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] conversion / migration tool question References: <59BECD8C-39C3-11D7-A949-003065DC18B8@hamburg.fcb.com> <20030206183326.GW19555@pallas.fsck.com> Message-ID: <006601c2ce0e$fafe50b0$6d180a0a@MRZTP> This is probably a wish but along with this import tool, can I migrate from mysql to postgres? Higher ups have decided that's the new corp standard db. - mz ----- Original Message ----- From: "Jesse Vincent" To: "Harald Wagener" Cc: Sent: Thursday, February 06, 2003 10:33 AM Subject: Re: [rt-devel] [rt-announce] RT 3.0 Beta 1 > Failure of import over here (this is with MySQL 4.0.9 - I just did the > upgrade). A new import tool should be out later today which will resolve this issue. > > |[Thu Feb 6 11:04:36 2003] [warning]: DBD::mysql::st execute failed: > Column |'Disabled' cannot be null at > /usr/lib/perl5/site_perl/5.8.0/DBIx/SearchBuilder/|Handle.pm line 376. > | (/opt/rt3/lib/RT.pm:220) > |[Thu Feb 6 11:04:36 2003] [warning]: RT::Handle=HASH(0x8cbf0fc) > couldn't execute |the query 'INSERT INTO CustomFields (Queue, Creator, > Type, LastUpdatedBy, |Disabled, SortOrder, Created, Name, Description, > LastUpdated) VALUES (?, ?, ?, ?, |?, ?, ?, ?, ?, ?)' at > /usr/lib/perl5/site_perl/5.8.0/DBIx/SearchBuilder/Handle.pm |line 383. > | (/opt/rt3/lib/RT.pm:220) > |[Thu Feb 6 11:04:36 2003] [crit]: Couldn't create custom field > Arbeitsplatz at |dumpfile-to-rt-3.0 line 295. > | (/opt/rt3/lib/RT.pm:226) > > Regards, > Harald Wagener > -- > Harald Wagener * FCB/Wilkens * An der Alster 42 * 20099 Hamburg > > _______________________________________________ > rt-devel mailing list > rt-devel@lists.fsck.com > http://lists.fsck.com/mailman/listinfo/rt-devel > -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. _______________________________________________ rt-devel mailing list rt-devel@lists.fsck.com http://lists.fsck.com/mailman/listinfo/rt-devel From jesse at bestpractical.com Thu Feb 6 13:45:22 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] conversion / migration tool question In-Reply-To: <006601c2ce0e$fafe50b0$6d180a0a@MRZTP> References: <59BECD8C-39C3-11D7-A949-003065DC18B8@hamburg.fcb.com> <20030206183326.GW19555@pallas.fsck.com> <006601c2ce0e$fafe50b0$6d180a0a@MRZTP> Message-ID: <20030206184522.GZ19555@pallas.fsck.com> On Thu, Feb 06, 2003 at 10:38:45AM -0800, matthew zeier wrote: > > This is probably a wish but along with this import tool, can I migrate from > mysql to postgres? Higher ups have decided that's the new corp standard db. The postgres port isn't well tested yet, but if you want to exercise it, by all means report back ;) The upgrade tool serializes data to a database-neutral format. you should be able to switch engines when you upgrade RT. > - mz -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From mbartsch at netglobalis.net Thu Feb 6 15:52:59 2003 From: mbartsch at netglobalis.net (Marcelo Bartsch) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] IS possible to "overwrite" a function in RT3 ? Message-ID: <1044564779.20154.8.camel@R2D2.NETGLOBALIS.CL> Hello, i'm trying to implement a diferent IsPassword function on RT3, is possible to put a .pm file somewhere the rt3 directories, so instead of use IsPassword from User_Overlay.pm use the one i code? i need this since my current RT2 authenticate against a Windows2000 AD and not local passwords and i don't want to be patching all releases until 3.0 final :) Thanks in advance. -- Marcelo Bartsch mbartsch@netglobalis.net www.netglobalis.net PGP Fingerprint : 877E 3A56 F523 B44A 3260 8F83 8916 E158 6100 F721 From jesse at bestpractical.com Thu Feb 6 16:19:30 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] IS possible to "overwrite" a function in RT3 ? In-Reply-To: <1044564779.20154.8.camel@R2D2.NETGLOBALIS.CL> References: <1044564779.20154.8.camel@R2D2.NETGLOBALIS.CL> Message-ID: <20030206211930.GC19555@pallas.fsck.com> so. if you perldoc User.pm it should tell you ennough about how to create User_Local.pm to get you started. On Thu, Feb 06, 2003 at 05:52:59PM -0300, Marcelo Bartsch wrote: > Hello, > i'm trying to implement a diferent IsPassword function on RT3, is > possible to put a .pm file somewhere the rt3 directories, so instead of > use IsPassword from User_Overlay.pm use the one i code? > i need this since my current RT2 authenticate against a Windows2000 AD > and not local passwords and i don't want to be patching all releases > until 3.0 final :) > > Thanks in advance. > > -- > Marcelo Bartsch > mbartsch@netglobalis.net > www.netglobalis.net > > PGP Fingerprint : > 877E 3A56 F523 B44A 3260 8F83 8916 E158 6100 F721 > > _______________________________________________ > rt-devel mailing list > rt-devel@lists.fsck.com > http://lists.fsck.com/mailman/listinfo/rt-devel > -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From mbartsch at netglobalis.net Thu Feb 6 16:30:07 2003 From: mbartsch at netglobalis.net (Marcelo Bartsch) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] IS possible to "overwrite" a function in RT3 ? In-Reply-To: <20030206211930.GC19555@pallas.fsck.com> References: <1044564779.20154.8.camel@R2D2.NETGLOBALIS.CL> <20030206211930.GC19555@pallas.fsck.com> Message-ID: <1044567007.20151.10.camel@R2D2.NETGLOBALIS.CL> On Thu, 2003-02-06 at 18:19, Jesse Vincent wrote: *grin* thanks! mmh i need to culturize myself more on perl :) Thanks a lot! > so. if you perldoc User.pm it should tell you ennough about how to > create User_Local.pm to get you started. > > > > On Thu, Feb 06, 2003 at 05:52:59PM -0300, Marcelo Bartsch wrote: > > Hello, > > i'm trying to implement a diferent IsPassword function on RT3, is > > possible to put a .pm file somewhere the rt3 directories, so instead of > > use IsPassword from User_Overlay.pm use the one i code? > > i need this since my current RT2 authenticate against a Windows2000 AD > > and not local passwords and i don't want to be patching all releases > > until 3.0 final :) > > > > Thanks in advance. > > > > -- > > Marcelo Bartsch > > mbartsch@netglobalis.net > > www.netglobalis.net > > > > PGP Fingerprint : > > 877E 3A56 F523 B44A 3260 8F83 8916 E158 6100 F721 > > > > _______________________________________________ > > rt-devel mailing list > > rt-devel@lists.fsck.com > > http://lists.fsck.com/mailman/listinfo/rt-devel > > -- Marcelo Bartsch mbartsch@netglobalis.net www.netglobalis.net PGP Fingerprint : 877E 3A56 F523 B44A 3260 8F83 8916 E158 6100 F721 From jo2y at midnightlinux.com Thu Feb 6 17:25:23 2003 From: jo2y at midnightlinux.com (James O'Kane) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] RT3.0 timeframe Message-ID: I'm not sure how to ask this delicately, but when do you estimate that a near final release of 3.0 will be done? I'm several days into setting up RT2.0 for our needs, but if 3.0 is going to be stable soon, I want to follow that branch now instead of doing an upgrade in a month. I understand there probably isn't a market driven release date like other software, but I'm looking for some idea so I can make an informed decision. Also, is anyone successfully running either version with Apache 2.0? The README for the beta says that it is supported, and we would prefer to keep as close to the default installation of RH8.0 as we can. Currently I'm using a version of 1.3.x. thanks -james From mhat at netlag.com Thu Feb 6 18:29:37 2003 From: mhat at netlag.com (Matt Knopp) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] RT3.0 timeframe In-Reply-To: ; from jo2y@midnightlinux.com on Thu, Feb 06, 2003 at 05:25:23PM -0500 References: Message-ID: <20030206172937.P48616@cthuga.netlag.com> > Also, is anyone successfully running either version with Apache 2.0? The > README for the beta says that it is supported, and we would prefer to keep > as close to the default installation of RH8.0 as we can. Currently I'm > using a version of 1.3.x. I had RT3 running under Apache2 a few weeks ago, it seemed to work fine. For reasons unrelated to RT3 I ended up deciding that Apache2 was still too new for production (sigh) so I switched back to 1.3.x. RT3 pretty much worked out of the box I believe there were one or two things I had to ignore when I ran test deps. Specifically there is no Apache::Request that is compatible with Apache 2.0, and at the time there was also no Apache::DBI. -Matt From jeffholst at hotmail.com Fri Feb 7 01:40:07 2003 From: jeffholst at hotmail.com (Jeff Holst) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] Bareword "REDIRECT" not allowed while "strict subs" in use Message-ID: I just installed a new instance of rt-2-1-69 on a test machine with a working copy of rt-2-0-15. After completing the initial install steps ( including: perl sbin/rt-test-dependencies --with-mysql --with-modperl1 --install ) to meet new prereqs, I'm now encountering the following error when I try to restart apache with the new or old version of RT. Any help would be appreciated. [Fri Feb 7 00:31:52 2003] [error] Bareword "REDIRECT" not allowed while "strict subs" in use at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/ApacheHandler.pm line 188. BEGIN not safe after errors--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/ApacheHandler.pm line 197. Compilation failed in require at /usr/local/rt3-beta/bin/webmux.pl line 47. BEGIN failed--compilation aborted at /usr/local/rt3-beta/bin/webmux.pl line 53. Compilation failed in require at (eval 5) line 1. Syntax error on line 315 of /usr/local/apache/conf/httpd.conf: Bareword "REDIRECT" not allowed while "strict subs" in use at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/ApacheHandler.pm line 188. BEGIN not safe after errors--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/ApacheHandler.pm line 197. Compilation failed in require at /usr/local/rt3-beta/bin/webmux.pl line 47. BEGIN failed--compilation aborted at /usr/local/rt3-beta/bin/webmux.pl line 53. Compilation failed in require at (eval 5) line 1. ./apachectl start: httpd could not be started _________________________________________________________________ Tired of spam? Get advanced junk mail protection with MSN 8. http://join.msn.com/?page=features/junkmail From ASnare at allshare.nl Fri Feb 7 05:23:48 2003 From: ASnare at allshare.nl (Andrew Snare) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] Language detection bug In-Reply-To: <20030206182825.GU19555@pallas.fsck.com> References: <5.1.0.14.0.20030206164216.03368290@10.1.3.36> <870E25EC362DD6118A7400306E1260E2010D49D5@33par_exchange.dauphin-affichage.com> <870E25EC362DD6118A7400306E1260E2010D49D5@33par_exchange.dauphin-affichage.com> <5.1.0.14.0.20030206164216.03368290@10.1.3.36> Message-ID: <5.1.0.14.0.20030207102442.03402528@10.1.3.36> At 01:28 PM 6/02/2003 -0500, Jesse Vincent wrote: >On Thu, Feb 06, 2003 at 04:44:40PM +0100, Andrew Snare wrote: > > At 08:48 PM 6/02/2003 +0800, Autrijus Tang wrote: > > >This is because 'en-us' is provided, instead of 'en'. This is arguably > > >wrong, > > >since there's no US-specific things in that lexicon -- maybe just mv > > >rt/lib/RT/I18N/en_us.po to en.po? > > > > While this fix may work, I think there's still a bug in the > > language-matching. According to my reading of RFC2616, Section 14.4, if > > 'en' is in my list, RT should be matching that against the 'en-us' that it > > can supply. > >Which part of the language in that section? I'm not seeing it. >FWIW, RT is using Locale::Maketext to do the parsing of the language >tags. Switching from en-us to en seems to be at least _one_ of the right >things to do. If we can make a case for anything else, I'm sure Sean >would be happy to let us try to sell him on it. I'm reading it again; it's a little ambiguous. The text we're discussing, reformatted, is: A language-range matches a language-tag if: 1) it exactly equals the tag; or if 2) it exactly equals a prefix of the tag such that the first tag character following the prefix is "-". The special range "*", if present in the Accept-Language field, matches every tag not matched by any other range present in the Accept-Language field. Definitions, restated to give context and also highlight any bad assumptions[1] I'm making, are: language-range: One of the languages tags in the client-supplied Accept-Languages header. Eg: 'en' or 'en-au' language-tag: The language tag of the available content on the server. Eg: 'en-us' (NOTE: This is not explicitly defined, unfortunately, and I may be making an error in assuming this.) The situation that has occurred, is that people have 'en' in their Accept-Languages header, and the server has 'en-us' content available. It seems to me that these should match since 'en' is a prefix of 'en-us'. As you mention, switching from en-us to en is one of several possible solutions. I'd argue against this switch however, for the following reasons: 1) If a user has 'en-us' on the list, but not 'en', they won't get the content. (The prefix rule is one-way). This is apparently quite common. 2) Although there might not be much specifically American in the translation, it will be American in subtle ways[2]. I hope this helps, one way or the other. Cheers, - Andrew [1] My assumptions appear to at least match those in this post: [2] For more information, see Section 2.2 of From lfarkas at bnap.hu Fri Feb 7 09:20:50 2003 From: lfarkas at bnap.hu (Farkas Levente) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] hungarian translation Message-ID: <3E43C0C2.8020305@bnap.hu> hi, AFAIS rt hasn't hungarian translation. actualy we just try to compile it and collect those dozens of perl packages which are requires (which seems to a nightmare, and would be better to create one rt-perl package which contains all perl packages which is needed). but if we ready and like it, we'd like to translate it to hungarian. so if... what we should have to translate in which format ..etc? -- Levente "Si vis pacem para bellum!" From jesse at bestpractical.com Fri Feb 7 14:15:29 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] RT2 -> RT3 1.5 Message-ID: <20030207191529.GO19555@pallas.fsck.com> Is out now. it should fix the importer issues various people have been seeing. -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From jesse at bestpractical.com Fri Feb 7 14:33:37 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] Beginnings of RT3 documentation now available for review Message-ID: <20030207193337.GQ19555@pallas.fsck.com> In the coming weeks, RT3's documentation set will be made available for public review online. The purporse of this review is to fine-tune the documentation set and make sure we're covering everything that needs to be covered. Right now, we've got the Introduction up, as well as the glossary and a table of scrips. Have a read through what's there and send your feedback to doc-comments@bestpractical.com. The current drafts are made available to you for review only. They are Copyright 2003 Best Practical Solutions, LLC. At this time, redistribution is NOT permitted. Drafts are available at: http://www.bestpractical.com/tech-review/ Best, Jesse -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From jo2y at midnightlinux.com Fri Feb 7 14:53:53 2003 From: jo2y at midnightlinux.com (James O'Kane) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] rt-mailgate and $WebExternalAuth Message-ID: Now that rt-mailgate uses a webpage to submit tickets, $WebExternalAuth gets in the way. I'm not sure if a --user and --pass option should be added to rt-mailgate or if just a note in the install documentation would be enough. In my case, I'm going override CurrentUser::IsPassword to do the external checking and remove $WebExternalAuth. -james From jesse at bestpractical.com Fri Feb 7 14:59:33 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:43 2004 Subject: [rt-devel] rt-mailgate and $WebExternalAuth In-Reply-To: References: Message-ID: <20030207195933.GU19555@pallas.fsck.com> On Fri, Feb 07, 2003 at 02:53:53PM -0500, James O'Kane wrote: > Now that rt-mailgate uses a webpage to submit tickets, $WebExternalAuth > gets in the way. I'm not sure if a --user and --pass option should be > added to rt-mailgate or if just a note in the install documentation would > be enough. If you haven't configured your web server to let requests to the various NoAuth directories, I suspect that this won't be the only thing that bites you. But yes, I'd take a patch to let the mailgate do HTTP auth when necessary. > In my case, I'm going override CurrentUser::IsPassword to do the external > checking and remove $WebExternalAuth. > > -james > > > _______________________________________________ > rt-devel mailing list > rt-devel@lists.fsck.com > http://lists.fsck.com/mailman/listinfo/rt-devel -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From demarest at arraycomm.com Thu Feb 6 17:39:45 2003 From: demarest at arraycomm.com (Timothy Demarest) Date: Sun Apr 11 16:03:44 2004 Subject: [rt-devel] Problem starting rt 2.1.x after good install Message-ID: <162574265.1044542385@[172.16.1.29]> I've got a trange problem with getting the 2.1.63,64, and 69 working with apache 1.3.27. RT2 (2.0.15) works just fine, and has been for a long time, using a very similar virtual host configuration. I havent tried any other releases 2.1.x releases. The problem crops up when I try to start apache: /etc/init.d/httpd start Subroutine handler redefined at /rt3/bin/webmux.pl line 111. [Thu Feb 6 09:37:43 2003] [error] Undefined subroutine &RT::LoadConfig called at /rt3/bin/webmux.pl line 60. Compilation failed in require at (eval 73) line 1. Syntax error on line 1322 of /home/http/conf/httpd.conf: Undefined subroutine &RT::LoadConfig called at /rt3/bin/webmux.pl line 60. Compilation failed in require at (eval 73) line 1. /rhome/http/bin/apachectl start: httpd could not be started httpd started Here is the relevant virtual hosts section of the apache conf: ServerAdmin rtadmin@arraycomm.com ServerAlias rt3.arraycomm.com rt3 DocumentRoot /rt3/share/html ServerName rt3.arraycomm.com Options FollowSymLinks SymLinksIfOwnerMatch ExecCGI AddDefaultCharset UTF-8 PerlModule Apache::DBI PerlRequire /rt3/bin/webmux.pl SetHandler perl-script PerlHandler RT::Mason SetHandler perl-script PerlHandler RT::Mason ErrorLog logs/rt3-error.log TransferLog logs/rt3-access.log If I simply execute the webmux.pl script from the command line as the user Apache runs as, it doesn't return any errors. Any ideas? Tim From autrijus at autrijus.org Sat Feb 8 07:08:20 2003 From: autrijus at autrijus.org (Autrijus Tang) Date: Sun Apr 11 16:03:44 2004 Subject: [rt-devel] RSS for RT3? In-Reply-To: <445ECBDC-2F79-11D7-984E-000393C0D078@xs4all.net> References: <445ECBDC-2F79-11D7-984E-000393C0D078@xs4all.net> Message-ID: <20030208120820.GA2095@not.autrijus.org> On Fri, Jan 24, 2003 at 09:53:11AM +0100, Scott A.McIntyre wrote: > Are there any plans afoot to support RSS for queues in RT3? It could > be useful for people who have to manage a phenomenal amount of email > and are mostly interested in a brief representation of queue changes > (maybe the first X lines of a comment/reply, and of course a link into > the ticket itself)... FWIW, http://p4.elixus.org/depot/RT/elixus/html/NoAuth/rss.html will DWYM. /Autrijus/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available Url : http://pallas.eruditorum.org/pipermail/rt-devel/attachments/20030208/2c29fe1b/attachment.pgp From jesse at bestpractical.com Sun Feb 9 01:34:12 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:44 2004 Subject: [rt-devel] RT 2.1.70 Message-ID: <20030209063412.GM8504@pallas.fsck.com> Contains a whole slew of bugfixes and a bunch of enhancements to the Custom Fields API. I haven't yet fixed blaise' IE display issue, but I think I've gotten most of the things that everyone has reported. If your favorite bug is still there, please send mail to rt-3.0-bugs@fsck.com -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From jesse at bestpractical.com Sun Feb 9 18:45:29 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:44 2004 Subject: [rt-devel] RT3.0 timeframe In-Reply-To: References: Message-ID: <20030209234529.GR8504@pallas.fsck.com> On Thu, Feb 06, 2003 at 05:25:23PM -0500, James O'Kane wrote: > I'm not sure how to ask this delicately, but when do you estimate that a > near final release of 3.0 will be done? I'm several days into setting up > RT2.0 for our needs, but if 3.0 is going to be stable soon, I want to > follow that branch now instead of doing an upgrade in a month. > I understand there probably isn't a market driven release date like other > software, but I'm looking for some idea so I can make an informed > decision. It all depends on how the beta series goes. If everything goes smoothly, I could see 3.0.0 happening in early March. if it doesn't, well, it'll take longer. -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From jesse at bestpractical.com Sun Feb 9 19:05:57 2003 From: jesse at bestpractical.com (Jesse Vincent) Date: Sun Apr 11 16:03:44 2004 Subject: [rt-devel] hungarian translation In-Reply-To: <3E43C0C2.8020305@bnap.hu> References: <3E43C0C2.8020305@bnap.hu> Message-ID: <20030210000557.GB31136@pallas.fsck.com> I've pinged the gent who first said he wanted to do the translation. if he's not working on it, I'll happily send you a .po file to translate. -j On Fri, Feb 07, 2003 at 03:20:50PM +0100, Farkas Levente wrote: > hi, > AFAIS rt hasn't hungarian translation. actualy we just try to compile it > and collect those dozens of perl packages which are requires (which > seems to a nightmare, and would be better to create one rt-perl package > which contains all perl packages which is needed). but if we ready and > like it, we'd like to translate it to hungarian. so if... what we should > have to translate in which format ..etc? > > -- > Levente "Si vis pacem para bellum!" > > _______________________________________________ > rt-devel mailing list > rt-devel@lists.fsck.com > http://lists.fsck.com/mailman/listinfo/rt-devel > -- ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From neil-list at hostmysite.com Sun Feb 9 21:14:50 2003 From: neil-list at hostmysite.com (Neil H.) Date: Sun Apr 11 16:03:44 2004 Subject: [rt-devel] hungarian translation References: <3E43C0C2.8020305@bnap.hu> <20030210000557.GB31136@pallas.fsck.com> Message-ID: <01ef01c2d0aa$4a437db0$a800a8c0@neilsmomma> Is there any screenshots or a demo version of 3.0? I would like to review it before considering implementation. Neil ----- Original Message ----- From: "Jesse Vincent" To: "Farkas Levente" Cc: Sent: Sunday, February 09, 2003 7:05 PM Subject: Re: [rt-devel] hungarian translation > I've pinged the gent who first said he wanted to do the translation. if > he's not working on it, I'll happily send you a .po file to translate. > > -j > > > On Fri, Feb 07, 2003 at 03:20:50PM +0100, Farkas Levente wrote: > > hi, > > AFAIS rt hasn't hungarian translation. actualy we just try to compile it > > and collect those dozens of perl packages which are requires (which > > seems to a nightmare, and would be better to create one rt-perl package > > which contains all perl packages which is needed). but if we ready and > > like it, we'd like to translate it to hungarian. so if... what we should > > have to translate in which format ..etc? > > > > -- > > Levente "Si vis pacem para bellum!" > > > > _______________________________________________ > > rt-devel mailing list > > rt-devel@lists.fsck.com > > http://lists.fsck.com/mailman/listinfo/rt-devel > > > > -- > ?|? http://www.bestpractical.com/rt -- Trouble Ticketing. Free. > _______________________________________________ > rt-devel mailing list > rt-devel@lists.fsck.com > http://lists.fsck.com/mailman/listinfo/rt-devel > From pdh at bestpractical.com Mon Feb 10 01:18:46 2003 From: pdh at bestpractical.com (Phil Homewood) Date: Sun Apr 11 16:03:44 2004 Subject: [rt-devel] OnCorrespond and Current email address In-Reply-To: <3DF790A5.7080402@monochromatic.net> References: <3DF790A5.7080402@monochromatic.net> Message-ID: <20030210061846.GG474@luggage.internal.moreton.com.au> Marc Britten wrote: > Is it possible to get the email address from the person sending a > correspondance in? [ from a scrip ] $self->TransactionObj->CreatorObj->EmailAddress -- »|« http://www.bestpractical.com/rt -- Trouble Ticketing. Free. From pdh at bestpractical.com Mon Feb 10 03:04:32 2003 From: pdh at bestpractical.com (Phil Homewood) Date: Sun Apr 11 16:03:44 2004 Subject: [rt-devel] Bareword "REDIRECT" not allowed while "strict subs" in use In-Reply-To: References: Message-ID: <20030210080432.GM474@luggage.internal.moreton.com.au> Jeff Holst wrote: > I just installed a new instance of rt-2-1-69 on a test machine with a > working copy of rt-2-0-15. After completing the initial install steps ( > including: perl sbin/rt-test-dependencies --with-mysql --with-modperl1 > --install ) to meet new prereqs, I'm now encountering the following error > when I try to restart apache with the new or old version of RT. Any help > would be appreciated. You are aware that you're doomed if you expect both the RT instances to coexist under mod_perl on the same machine, right? mod_perl does not play nicely with multiple apps. :-( > [Fri Feb 7 00:31:52 2003] [error] Bareword "REDIRECT" not allowed while > "strict subs" in use at > /usr/lib/perl5/site_perl/5.8.0/HTML/Mason/ApacheHandler.pm line 188. > BEGIN not safe after errors--compilation aborted at > /usr/lib/perl5/site_perl/5.8.0/H
+<& /Admin/Elements/CheckOverrideGlobalACL, QueueObj => $QueueObj, + results => \@results, + SetOverrideGlobalACL => $SetOverrideGlobalACL &> +