[Rt-commit] [svn] r1466 - rtir/branches/1.1

leira at pallas.eruditorum.org leira at pallas.eruditorum.org
Thu Sep 9 17:19:48 EDT 2004


Author: leira
Date: Thu Sep  9 17:19:48 2004
New Revision: 1466

Added:
   rtir/branches/1.1/UPGRADING
Modified:
   rtir/branches/1.1/README
Log:
Updated README for RTIR 1.1.

Added an UPGRADING file for upgrading details.


Modified: rtir/branches/1.1/README
==============================================================================
--- rtir/branches/1.1/README	(original)
+++ rtir/branches/1.1/README	Thu Sep  9 17:19:48 2004
@@ -1,277 +1,64 @@
 RTIR (RT for Incident Reponse) is a tool for tracking, responding to,
 and investigating reported incidents.  Out of the box, it integrates
-with RT3 (Also available from bestpractical.com)
+with RT3 (Also available from bestpractical.com).
 
+WARNING!
+--------
 
-Upgrading from RTIR 1.0.2:
------
+This is a beta version of RTIR.  Be certain to make a full dump of
+your database, and make backups of any local modifications that you've
+made.
 
-Follow instructions from previous "upgrading from" sections if they apply.
+As always, if you are using RTIR in a production environment, we
+recommend that you first install and use this version in a test
+environment, in order to be certain that it meets your needs.
 
-1) RTIR 1.0.3 changes the "SetRTIRState" custom scrip action in the
-Incident Reports queue from previous versions.  AFTER Installing RTIR
-1.0.3, alter the "SetRTIRState"'s custom action cleanup content to read
-
-# ------------------------------------------------------------------- #
-    my $State;
-    my $cf = RT::CustomField->new($self->TransactionObj->CurrentUser);
-    $cf->LoadByNameAndQueue(Queue => $self->TicketObj->QueueObj->Id, Name => '_RTIR_State');
-    unless ($cf->Id) { 
-        return(1);
-    }
-    if ($self->TicketObj->Status eq 'new' or $self->TicketObj->Status eq 'open' or $self->TicketObj->Status eq 'stalled') {
-      $State = 'new';
-        my $parents = RT::Tickets->new($self->TransactionObj->CurrentUser);
-        $parents->LimitHasMember($self->TicketObj->id);
-        $parents->LimitQueue(VALUE => 'Incidents');
-      if ($parents->First) {
-        $State = 'open';
-        }
-    } elsif ($self->TicketObj->Status eq 'resolved') {
-      $State = 'resolved';
-    } elsif ($self->TicketObj->Status eq 'rejected') {
-      $State = 'rejected';
-    } else {
-      return 0;
-    }
-    $self->TicketObj->AddCustomFieldValue(Field => $cf->id, Value => $State);
-  return 1;
-# ------------------------------------------------------------------- #
-
-2) RTIR 1.0.3 changes the "SetRTIRState" custom scrip action in the
-Investigations queue from previous versions.  AFTER Installing RTIR
-1.0.3, alter the "SetRTIRState"'s custom action cleanup content to read
-
-# ------------------------------------------------------------------- #
-  my $State;
-  my $cf = RT::CustomField->new($self->TransactionObj->CurrentUser);
-  $cf->LoadByNameAndQueue(Queue => $self->TicketObj->QueueObj->Id, Name => '_RTIR_State');
-  unless ($cf->Id) { 
-      return(1);
-  }
-  if ($self->TicketObj->Status eq 'open' or $self->TicketObj->Status eq 'new') {
-      $State = 'open';
-  } elsif ($self->TicketObj->Status eq 'resolved') {
-      $State = 'resolved';
-  } else {
-      return 0;
-  }
-  $self->TicketObj->AddCustomFieldValue(Field => $cf->id, Value => $State);
-  return 1;
-# ------------------------------------------------------------------- #
-
-3) RTIR 1.0.3 changes the "SetRTIRState" custom scrip action in the
-Blocks queue from previous versions.  AFTER Installing RTIR
-1.0.3, alter the "SetRTIRState"'s custom action cleanup content to read
-
-# ------------------------------------------------------------------- #
-my $State;
-my $cf = RT::CustomField->new($self->TransactionObj->CurrentUser);
-$cf->LoadByNameAndQueue(Queue => $self->TicketObj->QueueObj->Id, Name => '_RTIR_State');
-unless ($cf->Id) { 
-    return(1);
-}
-
-if ($self->TicketObj->Status eq 'new') {
-  $State = 'pending activation';
-} elsif ($self->TicketObj->Status eq 'open') {
-  $State = 'active';
-} elsif ($self->TicketObj->Status eq 'stalled') {
-  $State = 'pending removal';
-} elsif ($self->TicketObj->Status eq 'resolved') {
-  $State = 'removed';
-} else {
-  return 0;
-}
-$self->TicketObj->AddCustomFieldValue(Field => $cf->id, Value => $State);
-return 1;
-# ------------------------------------------------------------------- #
-
-4) RTIR 1.0.3 changes the "SetRTIRState" custom scrip action in the
-Incidents queue from previous versions.  AFTER Installing RTIR
-1.0.3, alter the "SetRTIRState"'s custom action cleanup content to read
-
-# ------------------------------------------------------------------- #
-    my $State;
-    my $cf = RT::CustomField->new($self->TransactionObj->CurrentUser);
-    $cf->LoadByNameAndQueue(Queue => $self->TicketObj->QueueObj->Id, Name => '_RTIR_State');
-    unless ($cf->Id) { 
-        return(1);
-    }
-    if ($self->TicketObj->Status eq 'new' ||
-      $self->TicketObj->Status eq 'open' ||
-      $self->TicketObj->Status eq 'stalled') {
-      $State = 'open';
-    } elsif ($self->TicketObj->Status eq 'resolved') {
-      $State = 'resolved';
-    } elsif ($self->TicketObj->Status eq 'rejected') {
-      $State = 'abandoned';
-    } else {
-      return 0;
-    }
-    $self->TicketObj->AddCustomFieldValue(Field => $cf->id, Value => $State);
-  return 1;
-# ------------------------------------------------------------------- #
-
-5) RTIR 1.0.3 changes the "SetDates" custom scrip action in the
-Incident Reports queue from previous versions.  AFTER Installing RTIR
-1.0.3, alter the "SetDates"'s custom action cleanup content to read
-
-# ------------------------------------------------------------------- #
-my $sla;
-my $date = RT::Date->new($RT::SystemUser);
-$date->SetToNow;
-use Business::Hours;
-my $bizhours = new Business::Hours;
-if ($RT::BusinessHours) {
-  $bizhours->business_hours(%$RT::BusinessHours);
-}
-
-if ($self->TicketObj->FirstCustomFieldValue('_RTIR_SLA')) {
-  $sla = $self->TicketObj->FirstCustomFieldValue('_RTIR_SLA');
-} elsif ($bizhours->first_after($date->Unix) != $date->Unix) {
-  $sla = "Full service: out of hours";
-} else {
-  $sla = "Full service";
-}
-
-my $addminutes = $RT::SLA->{$sla};
-if ($self->TicketObj->StartsObj->AsString eq "Not set") {
-  my $starts = $bizhours->first_after($date->Unix);
-  $date->Set(Format => 'unix', Value => $starts);
-  $self->TicketObj->SetStarts($date->ISO);
-  my $due = $bizhours->add_seconds($date->Unix, $addminutes * 60);
-  $date->Set(Format => 'unix', Value => $due);
-  $self->TicketObj->SetDue($date->ISO);
-}
-my $cf = RT::CustomField->new($self->TransactionObj->CurrentUser);
-$cf->LoadByNameAndQueue(Queue => $self->TicketObj->QueueObj->Id, Name => '_RTIR_SLA');
-unless ($cf->Id) { 
-    return(1);
-}
-$self->TicketObj->AddCustomFieldValue(Field => $cf->id, Value => $sla);
-return 1;
-# ------------------------------------------------------------------- #
-
-6) RTIR 1.0.3 changes the "SetHowReported" custom scrip action in the
-Incident Reports queue from previous versions.  AFTER Installing RTIR
-1.0.3, alter the "SetHowReported"'s custom action cleanup content to read
-
-# ------------------------------------------------------------------- #
-my $cf = RT::CustomField->new($self->TransactionObj->CurrentUser);
-$cf->LoadByNameAndQueue(Queue => $self->TicketObj->QueueObj->Id, Name => '_RTIR_HowReported');
-unless ($cf->Id) { 
-    return(1);
-}
-my $Values = $self->TicketObj->CustomFieldValues($cf->id);
-if (!$Values->Next) {
-  $self->TicketObj->AddCustomFieldValue(Field => $cf->id, Value => "Email");
-}
-  return 1;
-# ------------------------------------------------------------------- #
-
-7) RTIR 1.0.3 changes the "FixOwnership" custom scrip action in the
-Incidents queue from previous versions.  AFTER Installing RTIR
-1.0.3, alter the "FixOwnership"'s custom action cleanup content to read
-
-# ------------------------------------------------------------------- #
-{
-  # change owner of child Incident Reports, Investigations, Blocks
-  while (my $link = $self->TicketObj->Members->Next) {
-    my $member= $link->BaseObj;
-    if ( ($member->QueueObj->Name eq 'Incident Reports' ||
-          $member->QueueObj->Name eq 'Investigations' ||
-          $member->QueueObj->Name eq 'Blocks' ) &&
-          $member->OwnerObj->id != $self->TransactionObj->NewValue) {
-      my ($res, $msg); 
-      my $user = new RT::CurrentUser($self->TransactionObj->CurrentUser);
-      $user->Load($self->TransactionObj->Creator);
-      my $t = new RT::Ticket($user);
-      $t->Load($member->id);
-      if ($self->TransactionObj->NewValue == $self->TransactionObj->Creator) {
-        if ($self->TransactionObj->CurrentUser->id == $RT::Nobody->id) {
-          ($res, $msg) = $t->Take();
-        } else {
-          ($res, $msg) = $t->Steal();
-	}
-      } else {
-          ($res, $msg) = $t->SetOwner($self->TransactionObj->NewValue);
-      }
-      $RT::Logger->debug("FixOwnership Scrip: ".$msg)
-    }
-  }
-  return 1;
-}
-# ------------------------------------------------------------------- #
-
-8) RTIR 1.0.3 changes the "FixOwnership" custom scrip action in the
-Incident Reports, Investigations, and Blocks queues from previous
-versions.  AFTER Installing RTIR 1.0.3, alter the "FixOwnership"'s
-custom action cleanup content in each of these queues to read
-
-# ------------------------------------------------------------------- #
-{
-  # change owner of parent Incident(s)
-  while (my $link = $self->TicketObj->MemberOf->Next) {
-    my $incident= $link->TargetObj;
-    if ( $incident->QueueObj->Name eq 'Incidents' &&
-         $incident->OwnerObj->id != $self->TransactionObj->NewValue) {
-      my ($res, $msg); 
-      my $user = new RT::CurrentUser($self->TransactionObj->CurrentUser);
-      $user->Load($self->TransactionObj->Creator);
-      my $t = new RT::Ticket($user);
-      $t->Load($incident->id);
-      if ($self->TransactionObj->NewValue == $self->TransactionObj->Creator) {
-          ($res, $msg) = $t->Steal();
-      } else {
-          ($res, $msg) = $t->SetOwner($self->TransactionObj->NewValue);
-      }
-      $RT::Logger->debug("FixOwnership Scrip: ".$msg)
-    }
-  }
-  return 1;
-}
-# ------------------------------------------------------------------- #
 
-9) In the Incidents, Incident Reports, Investigations, and Blocks
-Queues, give the DutyTeam group the "ShowTemplate" right.
+REQUIRED PACKAGES:
+------------------
 
-Upgrading from RTIR 1.0.0:
---------------------------
+o   All packages required by core RT
+
+o   RT 3.2.1 or later
 
-RTIR now installs in RT's share/html directory rather than local/html,
-making local modifications to RTIR easier.
+o   The Business::Hours module (version 0.05 or later)
 
-1) IMPORTANT!  Back up any modifications that you've made to the
-   /opt/rt3/local/html/RTIR directory.
+o   The Net::Whois::RIPE module
 
-2) Remove the old RTIR files:
 
-   rm -r /opt/rt3/local/html/RTIR
+Upgrading instructions:
+-----------------------
 
-3) Install RTIR by following the instructions below.
+If you've installed a prior version of RTIR, you may need to follow
+special steps to upgrade.  See the UPGRADING file for detailed
+information.
 
+If you are upgrading from a version prior to 1.0.3, you should follow
+each set of upgrade instructions separately.
 
 Installation instructions:
 --------------------------
 
-1) RTIR requires the Business::Hours module (version 0.05 or later)
-   and the Net::Whois::RIPE module.  You should install them before 
-   proceeding.
+1) Once RT 3.2 and other required package have been installed and
+   appear to be working properly, cd to the directory into which you
+   unpacked RTIR into.
 
-2) Install RT 3.0.  This version of RTIR requires at least RT
-   3.0.4.
+2) Edit RTIR's Makefile to point to the location of perl on your system:
 
-3) Once RT 3.0 appears to be happily installed, cd into the directory you
-   unpacked RTIR into.
+PERL                    =       /usr/bin/perl
 
-4) Edit RTIR's Makefile to point to your RT 3 instance.
+2) Edit RTIR's Makefile to point to your RT 3.2 instance:
 
-5) make sure that mysql or pgsql's commandline tool is in your path.
+RT_ROOT			=	/opt/rt3
 
-6) Type "make install".
+3) Make any other necessary changes to the Makefile (if you used RT's
+default configuration, you shouldn't need to make any).
 
-7) Add the following lines to your /opt/rt3/etc/RT_SiteConfig.pm file:
+4) make sure that mysql or pgsql's commandline tool is in your path.
+
+5) Type "make install".
+
+6) Add the following lines to your /opt/rt3/etc/RT_SiteConfig.pm file:
 
    # The RTIR config file
 
@@ -280,11 +67,13 @@
    require $RTIR_CONFIG_FILE
      || die ("Couldn't load RTIR config file '$RTIR_CONFIG_FILE'\n$@");
 
-8) If you are installindg RTIR for the first time, initialize the RTIR
-   database by typing "make initdb".  Do not attempt to re-initialize
-   the database if you are upgrading.
+7) If you are installing RTIR for the first time, initialize the RTIR
+   database by typing "make initdb".
+
+   WARNING: Do not attempt to re-initialize the database if you are
+   upgrading.
 
-9) Stop and start your web server.
+8) Stop and start your web server.
 
 
 Configuring RTIR

Added: rtir/branches/1.1/UPGRADING
==============================================================================
--- (empty file)
+++ rtir/branches/1.1/UPGRADING	Thu Sep  9 17:19:48 2004
@@ -0,0 +1,263 @@
+NOTE: Follow instructions from previous "upgrading from" sections if
+they apply to your installation.
+
+Upgrading from RTIR 1.0.3:
+-----
+
+If you are upgrading RTIR from version 1.0.3, we recommend a clean
+installation.  We recommand that you back up and then delete the
+contents of the following directories:
+
+   /opt/rt3/share/html/RTIR/
+   /opt/rt3/share/html/Callbacks/RTIR/
+
+Then, proceed with the installation instructions in the README.  Do
+not re-initialize the database.
+
+
+Upgrading from RTIR 1.0.2:
+-----
+1) RTIR 1.0.3 changes the "SetRTIRState" custom scrip action in the
+Incident Reports queue from previous versions.  AFTER Installing RTIR
+1.0.3, alter the "SetRTIRState"'s custom action cleanup content to read
+
+# ------------------------------------------------------------------- #
+    my $State;
+    my $cf = RT::CustomField->new($self->TransactionObj->CurrentUser);
+    $cf->LoadByNameAndQueue(Queue => $self->TicketObj->QueueObj->Id, Name => '_RTIR_State');
+    unless ($cf->Id) { 
+        return(1);
+    }
+    if ($self->TicketObj->Status eq 'new' or $self->TicketObj->Status eq 'open' or $self->TicketObj->Status eq 'stalled') {
+      $State = 'new';
+        my $parents = RT::Tickets->new($self->TransactionObj->CurrentUser);
+        $parents->LimitHasMember($self->TicketObj->id);
+        $parents->LimitQueue(VALUE => 'Incidents');
+      if ($parents->First) {
+        $State = 'open';
+        }
+    } elsif ($self->TicketObj->Status eq 'resolved') {
+      $State = 'resolved';
+    } elsif ($self->TicketObj->Status eq 'rejected') {
+      $State = 'rejected';
+    } else {
+      return 0;
+    }
+    $self->TicketObj->AddCustomFieldValue(Field => $cf->id, Value => $State);
+  return 1;
+# ------------------------------------------------------------------- #
+
+2) RTIR 1.0.3 changes the "SetRTIRState" custom scrip action in the
+Investigations queue from previous versions.  AFTER Installing RTIR
+1.0.3, alter the "SetRTIRState"'s custom action cleanup content to read
+
+# ------------------------------------------------------------------- #
+  my $State;
+  my $cf = RT::CustomField->new($self->TransactionObj->CurrentUser);
+  $cf->LoadByNameAndQueue(Queue => $self->TicketObj->QueueObj->Id, Name => '_RTIR_State');
+  unless ($cf->Id) { 
+      return(1);
+  }
+  if ($self->TicketObj->Status eq 'open' or $self->TicketObj->Status eq 'new') {
+      $State = 'open';
+  } elsif ($self->TicketObj->Status eq 'resolved') {
+      $State = 'resolved';
+  } else {
+      return 0;
+  }
+  $self->TicketObj->AddCustomFieldValue(Field => $cf->id, Value => $State);
+  return 1;
+# ------------------------------------------------------------------- #
+
+3) RTIR 1.0.3 changes the "SetRTIRState" custom scrip action in the
+Blocks queue from previous versions.  AFTER Installing RTIR
+1.0.3, alter the "SetRTIRState"'s custom action cleanup content to read
+
+# ------------------------------------------------------------------- #
+my $State;
+my $cf = RT::CustomField->new($self->TransactionObj->CurrentUser);
+$cf->LoadByNameAndQueue(Queue => $self->TicketObj->QueueObj->Id, Name => '_RTIR_State');
+unless ($cf->Id) { 
+    return(1);
+}
+
+if ($self->TicketObj->Status eq 'new') {
+  $State = 'pending activation';
+} elsif ($self->TicketObj->Status eq 'open') {
+  $State = 'active';
+} elsif ($self->TicketObj->Status eq 'stalled') {
+  $State = 'pending removal';
+} elsif ($self->TicketObj->Status eq 'resolved') {
+  $State = 'removed';
+} else {
+  return 0;
+}
+$self->TicketObj->AddCustomFieldValue(Field => $cf->id, Value => $State);
+return 1;
+# ------------------------------------------------------------------- #
+
+4) RTIR 1.0.3 changes the "SetRTIRState" custom scrip action in the
+Incidents queue from previous versions.  AFTER Installing RTIR
+1.0.3, alter the "SetRTIRState"'s custom action cleanup content to read
+
+# ------------------------------------------------------------------- #
+    my $State;
+    my $cf = RT::CustomField->new($self->TransactionObj->CurrentUser);
+    $cf->LoadByNameAndQueue(Queue => $self->TicketObj->QueueObj->Id, Name => '_RTIR_State');
+    unless ($cf->Id) { 
+        return(1);
+    }
+    if ($self->TicketObj->Status eq 'new' ||
+      $self->TicketObj->Status eq 'open' ||
+      $self->TicketObj->Status eq 'stalled') {
+      $State = 'open';
+    } elsif ($self->TicketObj->Status eq 'resolved') {
+      $State = 'resolved';
+    } elsif ($self->TicketObj->Status eq 'rejected') {
+      $State = 'abandoned';
+    } else {
+      return 0;
+    }
+    $self->TicketObj->AddCustomFieldValue(Field => $cf->id, Value => $State);
+  return 1;
+# ------------------------------------------------------------------- #
+
+5) RTIR 1.0.3 changes the "SetDates" custom scrip action in the
+Incident Reports queue from previous versions.  AFTER Installing RTIR
+1.0.3, alter the "SetDates"'s custom action cleanup content to read
+
+# ------------------------------------------------------------------- #
+my $sla;
+my $date = RT::Date->new($RT::SystemUser);
+$date->SetToNow;
+use Business::Hours;
+my $bizhours = new Business::Hours;
+if ($RT::BusinessHours) {
+  $bizhours->business_hours(%$RT::BusinessHours);
+}
+
+if ($self->TicketObj->FirstCustomFieldValue('_RTIR_SLA')) {
+  $sla = $self->TicketObj->FirstCustomFieldValue('_RTIR_SLA');
+} elsif ($bizhours->first_after($date->Unix) != $date->Unix) {
+  $sla = "Full service: out of hours";
+} else {
+  $sla = "Full service";
+}
+
+my $addminutes = $RT::SLA->{$sla};
+if ($self->TicketObj->StartsObj->AsString eq "Not set") {
+  my $starts = $bizhours->first_after($date->Unix);
+  $date->Set(Format => 'unix', Value => $starts);
+  $self->TicketObj->SetStarts($date->ISO);
+  my $due = $bizhours->add_seconds($date->Unix, $addminutes * 60);
+  $date->Set(Format => 'unix', Value => $due);
+  $self->TicketObj->SetDue($date->ISO);
+}
+my $cf = RT::CustomField->new($self->TransactionObj->CurrentUser);
+$cf->LoadByNameAndQueue(Queue => $self->TicketObj->QueueObj->Id, Name => '_RTIR_SLA');
+unless ($cf->Id) { 
+    return(1);
+}
+$self->TicketObj->AddCustomFieldValue(Field => $cf->id, Value => $sla);
+return 1;
+# ------------------------------------------------------------------- #
+
+6) RTIR 1.0.3 changes the "SetHowReported" custom scrip action in the
+Incident Reports queue from previous versions.  AFTER Installing RTIR
+1.0.3, alter the "SetHowReported"'s custom action cleanup content to read
+
+# ------------------------------------------------------------------- #
+my $cf = RT::CustomField->new($self->TransactionObj->CurrentUser);
+$cf->LoadByNameAndQueue(Queue => $self->TicketObj->QueueObj->Id, Name => '_RTIR_HowReported');
+unless ($cf->Id) { 
+    return(1);
+}
+my $Values = $self->TicketObj->CustomFieldValues($cf->id);
+if (!$Values->Next) {
+  $self->TicketObj->AddCustomFieldValue(Field => $cf->id, Value => "Email");
+}
+  return 1;
+# ------------------------------------------------------------------- #
+
+7) RTIR 1.0.3 changes the "FixOwnership" custom scrip action in the
+Incidents queue from previous versions.  AFTER Installing RTIR
+1.0.3, alter the "FixOwnership"'s custom action cleanup content to read
+
+# ------------------------------------------------------------------- #
+{
+  # change owner of child Incident Reports, Investigations, Blocks
+  while (my $link = $self->TicketObj->Members->Next) {
+    my $member= $link->BaseObj;
+    if ( ($member->QueueObj->Name eq 'Incident Reports' ||
+          $member->QueueObj->Name eq 'Investigations' ||
+          $member->QueueObj->Name eq 'Blocks' ) &&
+          $member->OwnerObj->id != $self->TransactionObj->NewValue) {
+      my ($res, $msg); 
+      my $user = new RT::CurrentUser($self->TransactionObj->CurrentUser);
+      $user->Load($self->TransactionObj->Creator);
+      my $t = new RT::Ticket($user);
+      $t->Load($member->id);
+      if ($self->TransactionObj->NewValue == $self->TransactionObj->Creator) {
+        if ($self->TransactionObj->CurrentUser->id == $RT::Nobody->id) {
+          ($res, $msg) = $t->Take();
+        } else {
+          ($res, $msg) = $t->Steal();
+	}
+      } else {
+          ($res, $msg) = $t->SetOwner($self->TransactionObj->NewValue);
+      }
+      $RT::Logger->debug("FixOwnership Scrip: ".$msg)
+    }
+  }
+  return 1;
+}
+# ------------------------------------------------------------------- #
+
+8) RTIR 1.0.3 changes the "FixOwnership" custom scrip action in the
+Incident Reports, Investigations, and Blocks queues from previous
+versions.  AFTER Installing RTIR 1.0.3, alter the "FixOwnership"'s
+custom action cleanup content in each of these queues to read
+
+# ------------------------------------------------------------------- #
+{
+  # change owner of parent Incident(s)
+  while (my $link = $self->TicketObj->MemberOf->Next) {
+    my $incident= $link->TargetObj;
+    if ( $incident->QueueObj->Name eq 'Incidents' &&
+         $incident->OwnerObj->id != $self->TransactionObj->NewValue) {
+      my ($res, $msg); 
+      my $user = new RT::CurrentUser($self->TransactionObj->CurrentUser);
+      $user->Load($self->TransactionObj->Creator);
+      my $t = new RT::Ticket($user);
+      $t->Load($incident->id);
+      if ($self->TransactionObj->NewValue == $self->TransactionObj->Creator) {
+          ($res, $msg) = $t->Steal();
+      } else {
+          ($res, $msg) = $t->SetOwner($self->TransactionObj->NewValue);
+      }
+      $RT::Logger->debug("FixOwnership Scrip: ".$msg)
+    }
+  }
+  return 1;
+}
+# ------------------------------------------------------------------- #
+
+9) In the Incidents, Incident Reports, Investigations, and Blocks
+Queues, give the DutyTeam group the "ShowTemplate" right.
+
+Upgrading from RTIR 1.0.0:
+--------------------------
+
+RTIR now installs in RT's share/html directory rather than local/html,
+making local modifications to RTIR easier.
+
+1) IMPORTANT!  Back up any modifications that you've made to the
+   /opt/rt3/local/html/RTIR directory.
+
+2) Remove the old RTIR files:
+
+   rm -r /opt/rt3/local/html/RTIR
+
+3) Install RTIR by following the instructions below.
+
+


More information about the Rt-commit mailing list