[Rt-commit] rt branch 5.0/document-self-service-interface created. rt-5.0.4-59-gaf51481c8c

BPS Git Server git at git.bestpractical.com
Thu Jul 13 18:27:33 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 "rt".

The branch, 5.0/document-self-service-interface has been created
        at  af51481c8c32363b999d9f15b63ed77c0f60ec36 (commit)

- Log -----------------------------------------------------------------
commit af51481c8c32363b999d9f15b63ed77c0f60ec36
Author: Ronaldo Richieri <ronaldo at bestpractical.com>
Date:   Thu Jul 13 15:24:38 2023 -0300

    Rename Self-Service Interface Documentation

diff --git a/docs/self-service-dashboard.pod b/docs/self-service-interface.pod
similarity index 100%
rename from docs/self-service-dashboard.pod
rename to docs/self-service-interface.pod

commit 96ea8cb43176bb0f537bf75e161c2a5481788f25
Author: Ronaldo Richieri <ronaldo at bestpractical.com>
Date:   Thu Jul 13 15:23:46 2023 -0300

    Update Self Service Interface Documentation

diff --git a/docs/self-service-dashboard.pod b/docs/self-service-dashboard.pod
index efce506453..c777443cdd 100644
--- a/docs/self-service-dashboard.pod
+++ b/docs/self-service-dashboard.pod
@@ -1,26 +1,207 @@
 =head1 The Self-Service Interface
 
-Unprivileged users do not have access to the normal RT interface; instead,
-they are restricted to a subset of the interface under the SelfService
-directory tree.
+Unprivileged users do not have access to the staff RT interface; instead,
+they have access to a special area called the "Self-Service Interface".
+
+The Self-Service Interface is designed to be simple, so end-users can easily
+follow their tickets as well as interact with them.
 
 By default, the self-service interface simply presents a "Tickets"
-menu that allows the user to see his or her open or closed tickets.
+menu that allows users to see their open or closed tickets.
 (Additional menus may be enabled by giving unprivileged users
 additional rights.)
 
-It is possible to configure RT to present a self-service-specific dashboard
-to unprivileged users instead of just the default menu interface.
-Setting this up will be described in the rest of this document.
+You can use the self-service interface to let your users view knowledge-base
+articles in a particular class as well.
+See L<customizing/articles_introduction> for more information.
+
+It is also possible to configure RT to present a self-service-specific
+dashboard to unprivileged users instead of just the default menu interface.
+
+=head2 Allowing Unprivileged Users to Create and Respond to Tickets
+
+The ticket creation through the Self-Service interface is not available by
+default. To enable it, you must do the following steps:
+
+=over
+
+=item *
+Go to Admin -> Queues and select the queue(s) you want to make available
+to the customers on the Self-Service ticket creation page (let's use the
+General queue as an example).
+
+=item *
+Click the "Group Rights" tab on the queue edition.
+
+=item *
+Select the "Unprivileged" system group on the left panel.
+
+=item *
+Add the "Create tickets" and "View queue" privileges and save it.
+
+=back
+
+Now the users will be able to see the queue as an option on create ticket
+page as well as create a ticket in that queue, but they will still not be
+able to see the ticket after its created due to the very granular permission
+system of RT. So, let's give this permission to the users:
+
+=over
+
+=item *
+At the same rights edition page, click on the "Requestor" role on the left
+sidebar
+
+=item *
+Select "View ticket summaries" and "Reply to tickets" and save it.
+
+=back
+
+Now the users will be able to see the ticket after its creation and reply
+to tickets in that queue where they are requestors.
+
+Why did we use the Requestor role rather than the Unprivileged group?
+Because if you use the unprivileged group, users are going to be able
+to see tickets from all other users on the same queue rather than only the
+ones they are requestors.
+
+=head2 Handling multiple companies or departments
+
+Request Tracker is ideal for businesses or departments that handle requests
+from multiple companies or departments and want to allow requestors from
+each company or department to see not only their own tickets but also
+tickets from other requestors from the same company or department.
+
+There are a few different manners to handle multiple customer companies or
+departments with Request Tracker. The approach we are sharing on this
+documentation is one simple which might cover a good amount of situations,
+but feel free to adapt it as needed.
+
+=head3 Create a Group per Customer Company or Department
+
+First, you need to create a group for each company or
+department you are servicing and add the respective users of those companies
+or departments as members of those groups.
+
+You can go to Admin -> Groups -> Create and add a group for each
+of your customers whenever you get a new one, and, when you create new users,
+you can modify the company (group) they belong to on the "Membership" tab of
+users edition.
+
+=head3 Store the Customer Company or Department on the Ticket
+
+Now you need to create a Custom Role for the tickets called B<"Customer Group">
+where you will store the company or department group of the ticket.
+
+Please check L<custom_roles> to see how to proceed with Custom Roles
+creation.
+
+
+The idea is to define this role in the ticket whenever a ticket gets created,
+with the corresponding customer company or department group of the requestor.
+
+=head3 Automatically set the Customer Group role with a Scrip
+
+You can build a Scrip that will automatically set the B<"Customer Group">
+role of the ticket with the company or department group of the requestor.
+
+Go to Admin -> Global -> Scrips -> Create and fill in the following fields:
+
+    Description: On Create Set Customer Group Role
+    Condition: On Create
+    Action: User Defined
+    Template: Blank
+    Custom action preparation code: return 1;
+
+And for the "Custom action commit code" add the following:
+
+    return unless $self->TicketObj->Requestor->UserMembersObj->Count;
+    my $requestorGroups =
+        $self->TicketObj->Requestor->UserMembersObj->First->OwnGroups;
+    unless ( $requestorGroups->Count ){
+        # no groups found for this user
+        return;
+    }
+    while ( my $group = $requestorGroups->Next ){
+            my ($ok, $msg) = $self->TicketObj->AddWatcher(
+                Type => 'RT::CustomRole-1',
+                PrincipalId => $group->Id,
+                Silent => 0,
+            );
+            unless ( $ok ){
+                $RT::Logger->error("Unable to add group " .
+                $group->Id . " as watcher to ticket " .
+                $self->TicketObj->Id . ": $msg");
+            }
+    }
+
+Please note that the type attribute on the code above (RT::CustomRole-1) can be
+different if you have already created other Custom Roles on your system.
+
+Also, if you want this Scrip to only run on tickets created in a specific queue,
+such as General, you must change its behavior on the "Applies to" tab of
+the Scrip.
+
+You may also want a scrip that sets the customer group role based on the
+requestor's email domain. Feel free to adapt the code above to your needs.
+
+=head3 Allow users of the same company or department to see each other tickets
+
+The final step of this process is allowing users to find and see tickets of
+other users if they are members of the same Company or Department (same
+group in RT).
+
+First, add the following configuration on your RT_SiteConfig.pm (and restart
+the web server):
+
+C<Set( $SelfServiceShowGroupTickets, 1);>
+
+Now, let's give the right permissions to the users:
+
+=over
+
+=item *
+Go to Admin -> Global -> Group rights
+
+=item *
+Select the "Unprivileged" system group on the left panel.
+
+=item *
+Add the "See tickets for other group members in SelfService" privilege and
+save it.
+
+=item *
+Now go to Admin -> Queues and select the queue(s) you want to make this
+feature available (let's use the General queue again as an example).
+
+=item *
+Click the "Group Rights" tab on the queue edition.
+
+=item *
+Select the "Customer Group" role on the left panel.
+
+=item *
+Check the "View ticket summaries" permission and save it.
+
+=back
+
+With the procedures above, your customers will start seeing a new portlet
+on Self-Service's homepage called "My group's tickets", where they will be
+able to see tickets created by other requestors of the same company or
+department.
+
+Also, they will be able to create new tickets from the Self-Service interface.
+
+=head2 Self-Service User Dashboards
 
-=head2 Configuration Items
+=head3 Configuration Items
 
 The following configuration items control the self-service dashboard interface.
 
 =over 4
 
 =item * L<RT_Config/SelfServiceUseDashboard> enables the self-service
-dashboard iterface if set to 1, or disables it (defaulting to the
+dashboard interface if set to 1, or disables it (defaulting to the
 simple menu interface) if set to 0.
 
 =item * L<RT_Config/SelfServicePageComponents> is a list of components
@@ -33,7 +214,7 @@ users to see articles in that class.
 
 =back
 
-=head2 Creating the Self-Service Dashboard
+=head3 Creating the Self-Service Dashboard
 
 To create the self-service dashboard, the configuration item
 C<$SelfServiceUseDashboard> must be set to 1.  This enables
@@ -47,5 +228,5 @@ Once you have created the self-service dashboard, self-service users
 will see the components on the dashboard when they log in.  Please note
 that you I<also> need to give self-service users the appropriate
 rights to be able to use the components you place on the self-service
-dashboard; these rights are not automatically granted simply by virtue
-of the components being placed on the dashboard.
+dashboard; these rights are not automatically granted simply by the
+components being placed on the dashboard.

commit 0712e1cd7f7174d8b982f917f4cec6287dba607e
Author: Dianne Skoll <dianne at bestpractical.com>
Date:   Tue Nov 24 10:33:49 2020 -0500

    Document RT_Config/SelfServiceArticleClass

diff --git a/docs/self-service-dashboard.pod b/docs/self-service-dashboard.pod
index ab0d9f4e24..efce506453 100644
--- a/docs/self-service-dashboard.pod
+++ b/docs/self-service-dashboard.pod
@@ -26,6 +26,11 @@ simple menu interface) if set to 0.
 =item * L<RT_Config/SelfServicePageComponents> is a list of components
 that are allowed to be placed into the self-service dashboard.
 
+=item * L<RT_Config/SelfServiceArticleClass> is an article class
+that should be shown to self-service users.  Note that you I<also>
+have to set permissions on the article class for unprivileged
+users to see articles in that class.
+
 =back
 
 =head2 Creating the Self-Service Dashboard

commit fa8a2d7630f97c141455c4df02736f4c99e8fae6
Author: Dianne Skoll <dianne at bestpractical.com>
Date:   Wed Oct 7 09:51:39 2020 -0400

    First draft of self-service dashboard documentation.

diff --git a/docs/self-service-dashboard.pod b/docs/self-service-dashboard.pod
new file mode 100644
index 0000000000..ab0d9f4e24
--- /dev/null
+++ b/docs/self-service-dashboard.pod
@@ -0,0 +1,46 @@
+=head1 The Self-Service Interface
+
+Unprivileged users do not have access to the normal RT interface; instead,
+they are restricted to a subset of the interface under the SelfService
+directory tree.
+
+By default, the self-service interface simply presents a "Tickets"
+menu that allows the user to see his or her open or closed tickets.
+(Additional menus may be enabled by giving unprivileged users
+additional rights.)
+
+It is possible to configure RT to present a self-service-specific dashboard
+to unprivileged users instead of just the default menu interface.
+Setting this up will be described in the rest of this document.
+
+=head2 Configuration Items
+
+The following configuration items control the self-service dashboard interface.
+
+=over 4
+
+=item * L<RT_Config/SelfServiceUseDashboard> enables the self-service
+dashboard iterface if set to 1, or disables it (defaulting to the
+simple menu interface) if set to 0.
+
+=item * L<RT_Config/SelfServicePageComponents> is a list of components
+that are allowed to be placed into the self-service dashboard.
+
+=back
+
+=head2 Creating the Self-Service Dashboard
+
+To create the self-service dashboard, the configuration item
+C<$SelfServiceUseDashboard> must be set to 1.  This enables
+a menu item Admin > Global > Self-Service Home Page.  Select
+this item to edit the self-service dashboard.
+
+The self-service dashboard interface is just like any other
+dashboard editor; see L<dashboards> for more details.
+
+Once you have created the self-service dashboard, self-service users
+will see the components on the dashboard when they log in.  Please note
+that you I<also> need to give self-service users the appropriate
+rights to be able to use the components you place on the self-service
+dashboard; these rights are not automatically granted simply by virtue
+of the components being placed on the dashboard.

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


hooks/post-receive
-- 
rt


More information about the rt-commit mailing list