[Rt-commit] rtir branch 5.0/process-articles created. 5.0.3-11-g91235046

BPS Git Server git at git.bestpractical.com
Wed Mar 29 20:09:36 UTC 2023


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "rtir".

The branch, 5.0/process-articles has been created
        at  912350464b62888d48d2ae20c7c19195c79f61fb (commit)

- Log -----------------------------------------------------------------
commit 912350464b62888d48d2ae20c7c19195c79f61fb
Author: Ronaldo Richieri <ronaldo at bestpractical.com>
Date:   Wed Mar 29 17:09:04 2023 -0300

    Update RTIR Tutorial with Process Articles information

diff --git a/docs/Tutorial.pod b/docs/Tutorial.pod
index 8e8aee81..0749f4b9 100644
--- a/docs/Tutorial.pod
+++ b/docs/Tutorial.pod
@@ -334,6 +334,24 @@ You will be required to provide one or more correspondents.
 To create a new Countermeasure, create a new ticket in the Countermeasures
 queue. You will be required to link the Countermeasure to an Incident.
 
+=head2 Procedures for Incident Response
+
+Since RT 5.0.4 it's possible to create custom procedures that are shown
+on the Ticket Display page, in a privileged section that helps staff to
+follow a specific workflow.
+
+You can know more about procedures in the RT documentation:
+F<docs/customizing/articles_introduction.pod>
+
+In RTIR we provide a default skeleton for Incident Response procedures, one per
+the default Incident Classifications that comes with the system.
+You can customize them and create new ones at Articles, under the Incident
+Procedures Class.
+
+After creating a new procedure, remember to update the %ProcessArticleMapping
+configuration setting and others that may apply, as described in the RT
+documentation.
+
 =head2 Managing 'RT at glance' and 'RTIR at a glance' Pages
 
 You can add, delete, or reorder portlets on the RT and RTIR at a glance

commit ae9674ed45b1b490c7ad95c5a6c77cf2c4bc5a92
Author: Ronaldo Richieri <ronaldo at bestpractical.com>
Date:   Wed Mar 29 17:06:48 2023 -0300

    Add Process Articles do RTIR Incidents
    
    Adds a simple skeleton with a new class called Incidents Processes and
    a Article for eacho of the defaults Incident Classifications.

diff --git a/etc/RTIR_Config.pm b/etc/RTIR_Config.pm
index 8d836ef0..f97b5c7f 100644
--- a/etc/RTIR_Config.pm
+++ b/etc/RTIR_Config.pm
@@ -640,6 +640,38 @@ By default RTIR enables 'httpurl_overwrite', 'ip', 'email' and 'domain'.
 
 Set(@Active_MakeClicky, qw(httpurl_overwrite ip email domain));
 
+=item Process Articles related settings
+
+The following settings enables the Process Articles at Incidents Display
+page by default in RTIR:
+
+    %ProcessArticleFields
+    %ProcessArticleMapping
+
+You can see additional information about how to manage Process Articles at
+RT documentation: F<docs/customizing/articles_introduction.pod>
+
+=cut
+
+Set(%ProcessArticleFields,
+    (   Incidents =>
+            { Field => 'CF.Classification', Class => 'Incidents Processes' },
+    )
+   );
+
+Set(%ProcessArticleMapping,
+    (   'CF.Classification' => {
+            'Spam'              => 'Spam Process',
+            'System Compromise' => 'System Compromise Process',
+            'Query'             => 'Query Process',
+            'Scan'              => 'Scan Process',
+            'Denial of Service' => 'Denial of Service Process',
+            'Piracy'            => 'Piracy Process',
+        },
+    )
+   );
+
+
 =back
 
 =head1 Custom Fields
diff --git a/etc/upgrade/process_articles_initialdata b/etc/upgrade/process_articles_initialdata
new file mode 100644
index 00000000..f5ad940e
--- /dev/null
+++ b/etc/upgrade/process_articles_initialdata
@@ -0,0 +1,77 @@
+ at Classes = (
+    {
+        Name => 'Incidents Processes',
+        Description => 'Procedures to be followed in the event of an incident',
+    }
+);
+
+ at Articles = (
+    {
+        Name => 'Spam Process',
+        Summary => 'This is the summary of the process for handling spam',
+        CustomFields => [
+            {
+                CustomField  => 'Content',
+                Content => 'This is the content of the process for handling spam',
+            },
+        ],
+        Class => 'Incidents Processes',
+    },
+    {
+        Name => 'System Compromise Process',
+        Summary => 'This is the summary of the process for handling system compromise',
+        CustomFields => [
+            {
+                CustomField  => 'Content',
+                Content => 'This is the content of the process for handling system compromise',
+            },
+        ],
+        Class => 'Incidents Processes',
+    },
+    {
+        Name => 'Query Process',
+        Summary => 'This is the summary of the process for handling queries',
+        CustomFields => [
+            {
+                CustomField  => 'Content',
+                Content => 'This is the content of the process for handling queries',
+            },
+        ],
+        Class => 'Incidents Processes',
+    },
+    {
+        Name => 'Scan Process',
+        Summary => 'This is the summary of the process for handling scans',
+        CustomFields => [
+            {
+                CustomField  => 'Content',
+                Content => 'This is the content of the process for handling scans',
+            },
+        ],
+        Class => 'Incidents Processes',
+    },
+    {
+        Name => 'Denial of Service Process',
+        Summary => 'This is the summary of the process for handling denial of service',
+        CustomFields => [
+            {
+                CustomField  => 'Content',
+                Content => 'This is the content of the process for handling denial of service',
+            },
+        ],
+        Class => 'Incidents Processes',
+    },
+    {
+        Name => 'Piracy Process',
+        Summary => 'This is the summary of the process for handling piracy',
+        CustomFields => [
+            {
+                CustomField  => 'Content',
+                Content => 'This is the content of the process for handling piracy',
+            },
+        ],
+        Class => 'Incidents Processes',
+    }
+);
+
+1;
diff --git a/html/RTIR/Display.html b/html/RTIR/Display.html
index 36a5fc7b..4262c48b 100644
--- a/html/RTIR/Display.html
+++ b/html/RTIR/Display.html
@@ -270,6 +270,8 @@
 % }
     </&>
 
+    <& /Elements/ShowArticle, Ticket => $Ticket &>
+
 <%PERL>
     my $dates_url      = RT::IR->HREFTo("Edit.html?id=".$Ticket->Id);
     my $dates_inline   = sprintf( $modify_inline, $m->interp->apply_escapes( $dates_url, 'h' ) );
diff --git a/html/RTIR/Incident/Display.html b/html/RTIR/Incident/Display.html
index e384faa2..2e08a17f 100644
--- a/html/RTIR/Incident/Display.html
+++ b/html/RTIR/Incident/Display.html
@@ -298,6 +298,8 @@
   <div class="boxcontainer col-md-6">
 % $m->callback( %ARGS, Ticket => $TicketObj, CallbackName => 'RightColumnStart' );
 
+<& /Elements/ShowArticle, Ticket => $TicketObj &>
+
 <& /Ticket/Elements/ShowLinkedQueues,
     TicketObj => $TicketObj,
 &>

-----------------------------------------------------------------------


hooks/post-receive
-- 
rtir


More information about the rt-commit mailing list