From 1aec182ed264c04b60239e3946e890a347a6aaf2 Mon Sep 17 00:00:00 2001
From: Hezekiah Bakare-Johnson <h.bakare@xsense.ch>
Date: Thu, 11 Jul 2024 12:38:08 +0000
Subject: [PATCH] =?UTF-8?q?=E2=80=9EREADME.md=E2=80=9C=20=C3=A4ndern?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 README.md | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 114 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 2e5f5f7..1df0b51 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,115 @@
-# OTOBO_Users_Groups_Roles
+# OTRS fork/Otobo User Hierarchy Setup
 
-Here we Look at how Xsense GmbH configures its Ttcketing tool.
\ No newline at end of file
+This guide outlines the steps to configure a user hierarchy in your OTRS fork/Otobo, allowing normal users to see only their own tickets, IT department members to see all of their company's tickets, and your company's internal support staff to see all tickets.
+
+## Table of Contents
+
+- [1. Define User Roles and Groups](#1-define-user-roles-and-groups)
+  - [Groups](#groups)
+  - [Roles](#roles)
+- [2. Set Up Groups](#2-set-up-groups)
+  - [Create Groups for Each Company](#create-groups-for-each-company)
+  - [Create a General Group for Internal Support](#create-a-general-group-for-internal-support)
+- [3. Create Roles](#3-create-roles)
+  - [Create Roles for Different User Levels](#create-roles-for-different-user-levels)
+  - [Assign Permissions to Roles](#assign-permissions-to-roles)
+- [4. Assign Users to Groups and Roles](#4-assign-users-to-groups-and-roles)
+  - [Assign Users to Groups](#assign-users-to-groups)
+  - [Assign Roles to Users](#assign-roles-to-users)
+- [5. Example Configuration](#5-example-configuration)
+- [6. FinalConfiguration](#6-finalconfiguration)
+
+## 1. Define User Roles and Groups
+
+### Groups
+
+- **CompanyA_Group**: Group for Company A.
+- **CompanyB_Group**: Group for Company B.
+- **InternalSupport_Group**: Group for your internal support staff.
+
+### Roles
+
+- **NormalUser_Role**: For users who should only see their own tickets.
+- **ITDepartment_Role**: For IT department members who should see all tickets within their company.
+- **InternalSupport_Role**: For internal support staff who should see all tickets.
+
+## 2. Set Up Groups
+
+### Create Groups for Each Company
+
+1. Navigate to **Admin** > **Groups**.
+2. Click on **Add Group**.
+3. Create a new group for each customer company (e.g., `CompanyA_Group`, `CompanyB_Group`).
+
+### Create a General Group for Internal Support
+
+1. Navigate to **Admin** > **Groups**.
+2. Click on **Add Group**.
+3. Create a group called `InternalSupport_Group`.
+
+## 3. Create Roles
+
+### Create Roles for Different User Levels
+
+1. Navigate to **Admin** > **Roles**.
+2. Click on **Add Role**.
+3. Create the following roles:
+   - `NormalUser_Role`: Minimal permissions.
+   - `ITDepartment_Role`: Permissions to view and manage all tickets within their group.
+   - `InternalSupport_Role`: Permissions to view and manage tickets across all groups.
+
+### Assign Permissions to Roles
+
+1. Navigate to **Admin** > **Roles** > **Group Relations**.
+2. Assign permissions as follows:
+   - `NormalUser_Role`: `rw` (read/write) permissions for their respective company groups.
+   - `ITDepartment_Role`: `rw` permissions for their respective company groups.
+   - `InternalSupport_Role`: `rw` permissions for all company groups.
+
+## 4. Assign Users to Groups and Roles
+
+### Assign Users to Groups
+
+1. Navigate to **Admin** > **Users**.
+2. Edit each user to assign them to the appropriate group:
+   - Normal users to their respective `CompanyA_Group`, `CompanyB_Group`, etc.
+   - IT department members to their respective `CompanyA_Group`, `CompanyB_Group`, etc.
+   - Internal support staff to the `InternalSupport_Group`.
+
+### Assign Roles to Users
+
+1. Navigate to **Admin** > **Users**.
+2. Edit each user to assign them the appropriate role:
+   - Normal users to `NormalUser_Role`.
+   - IT department members to `ITDepartment_Role`.
+   - Internal support staff to `InternalSupport_Role`.
+
+## 5. Example Configuration
+
+**Groups:**
+
+- `CompanyA_Group`
+- `CompanyB_Group`
+- `InternalSupport_Group`
+
+**Roles:**
+
+- `NormalUser_Role`
+- `ITDepartment_Role`
+- `InternalSupport_Role`
+
+**Permissions:**
+
+- `NormalUser_Role` has `rw` access to `CompanyA_Group` for Company A's normal users.
+- `ITDepartment_Role` has `rw` access to `CompanyA_Group` for Company A's IT department members.
+- `InternalSupport_Role` has `rw` access to all groups for internal support staff.
+
+## 6. FinalConfiguration
+
+Ensure that each user is correctly assigned to their group and role based on their function within the company. This setup allows:
+
+- Normal users to only see their tickets.
+- IT department members to see all tickets from their company.
+- Internal support staff to see all tickets from all companies.
+
+By following these steps, you will have a properly configured user hierarchy in your OTRS fork/Otobo, tailored to your needs.