From 732d2d79c23785e994b940a33dbce06778fc9f16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20S=C4=85gol?= Date: Tue, 27 Feb 2024 13:20:06 +0100 Subject: [PATCH] [TASK] Add Setting Up BE Groups section for Permissions Managemend docs This commit adds the Setting Up Backend User Groups section to the new Permissions Management documentation. This is part #3 from the PR series. --- ...PermissionsManagementPrefixedGroupName.png | Bin 0 -> 18825 bytes ...rmissionsManagementTCAFieldDescription.png | Bin 0 -> 18377 bytes Documentation/PermissionsManagement/Index.rst | 3 + .../SettingUpBackendGroups/Index.rst | 245 ++++++++++++++++++ 4 files changed, 248 insertions(+) create mode 100644 Documentation/Images/ManualScreenshots/PermissionsManagement/PermissionsManagementPrefixedGroupName.png create mode 100644 Documentation/Images/ManualScreenshots/PermissionsManagement/PermissionsManagementTCAFieldDescription.png create mode 100644 Documentation/PermissionsManagement/SettingUpBackendGroups/Index.rst diff --git a/Documentation/Images/ManualScreenshots/PermissionsManagement/PermissionsManagementPrefixedGroupName.png b/Documentation/Images/ManualScreenshots/PermissionsManagement/PermissionsManagementPrefixedGroupName.png new file mode 100644 index 0000000000000000000000000000000000000000..f61b798f54e2e16b3770177825b49707359b9c57 GIT binary patch literal 18825 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 ZUs9fWi)R`-@Mm^FB*o-JD~0s~{u>9}SP}pL literal 0 HcmV?d00001 diff --git a/Documentation/PermissionsManagement/Index.rst b/Documentation/PermissionsManagement/Index.rst index 39ed7b12..2be5f2a9 100644 --- a/Documentation/PermissionsManagement/Index.rst +++ b/Documentation/PermissionsManagement/Index.rst @@ -51,6 +51,8 @@ of recommended practices and guidelines that could be beneficial in managing permissions within the TYPO3 backend. However, remember that these recommendations are adaptable and can be tailored to suit your specific requirements. +.. _available_acl_options: + What access options can be set within TYPO3? ============================================ @@ -103,3 +105,4 @@ the naming convention for backend groups later on. :titlesonly: :glob: + SettingUpBackendGroups/Index diff --git a/Documentation/PermissionsManagement/SettingUpBackendGroups/Index.rst b/Documentation/PermissionsManagement/SettingUpBackendGroups/Index.rst new file mode 100644 index 00000000..58efafc0 --- /dev/null +++ b/Documentation/PermissionsManagement/SettingUpBackendGroups/Index.rst @@ -0,0 +1,245 @@ +.. include:: /Includes.rst.txt + +.. index:: backend, acl, permissions, user groups, user management + +.. _setting-up-backend-user-groups: + +============================== +Setting up backend user groups +============================== + +Backend user groups can be categorized into three main types. Those used to +grant permissions to pages and define mounts for databases, categories, +or files we can refer to as **System Groups**. The ones responsible for granting +access to modules, various content elements, record types, and specific fields +within forms can be termed **Access Control List (ACL) Groups**. Finally, +we have **Role Groups**, which aggregate groups from both the System and ACL Groups +to provide a permissions set representing a specific role. + +This classification should not be seen as a TYPO3 standard, but rather as a guideline +that will assist in configuring groups later on. Read more to discover the details. + +.. _system-groups: + +System groups +============= + +System groups will be those from the lowest level of permissions without which +other groups like :ref:`Access Control List (ACL) <_acl-groups>` +and :ref:`Role <_role_groups>` groups will not work. +They enable access to individual pages based on user and group IDs, allow +the definition of accessible sections of the pages or categories tree for users, +and determine access to files and folders within storages (via File Mounts). +System groups are likely to be the ones you modify the least often. + +.. note:: + System groups are likely to be the ones you modify the least often. + +.. _acl-groups: + +Access Control List (ACL) groups +================================ + +Access Control List (ACL) groups will form the largest set of groups, used to +set detailed permissions for elements like modules, dashboard widgets, tables +for listing and editing, and specific fields in backend forms. + +It's crucial to configure the ACL group in such a way that it grants all +the necessary permissions for managing a specific element. For instance, +let's consider a custom record type (like Article, Product etc.), which +is displayed by custom plugins. Users responsible for managing these records +on the site should have the capability to list existing news items, create +new records, and access them, either through a dedicated custom backend module +or the List module. With this in mind, we should ensure such a group has access to: + +* Listing and modifying the table of a records +* Editing all necessary fields within the record to align with this group's purpose +* Accessing the core List module or custom module for records management +* If there are relations from this record, for example, to files, it should also permit uploading, selecting, and processing these files + +Therefore, consider such a group as an independent unit that provides complete +access to a specific part of the system and can be integrated later with other units (groups). + +.. note:: + Consider an Access Control List (ACL) group as a standalone, complete set of + permissions tailored to a specific element(s), designed to fulfill its defined + scope or purpose (editing/managing Articles or Products). + +.. _role-groups: + +Role groups as aggregators of specific role permissions +======================================================= + +Backend role groups in TYPO3 are designed to correspond to the specific roles +users fulfill, such as editor, proofreader, etc. These groups inherit permissions +from other assigned groups rather than having direct accesses assigned to them. +Instead, they accumulate permissions exclusively through the inheritance from subgroups. +This hierarchical setup ensures that role groups can effectively grant users +the precise set of permissions needed to perform their designated roles, such as editing. +By utilizing this structure, TYPO3 allows for a clear and organized approach +to managing access rights, ensuring users have just the permissions they need, +nothing more, nothing less. + +.. note:: + Role groups inherit permissions from subgroups and should not have any + access configured directly on themselves. + +.. _naming-convention: + +Implementing a naming convention for simplified group management +================================================================ + +At the moment TYPO3 does not allow grouping backend user groups by some context +or their purpose. Instead when they are listed (for example in the backend user +edit form, where we can assign them to the user) they appear sorted by their +names (ascending). From one side this might be good as you can quickly find +what you are looking for. On the other hand if you will have a lot of groups +defined, and you will try to quickly find and select/assign some of them +to the user, it might be challenging to scroll over a large list. + +The situation might be even worse if there is more than 1 administrator responsible +for group and user permissions management. If there won’t be some conventions +used to name such groups which all administrators follow, then they might find it +difficult to figure out what given group is responsible for. + +As mentioned in one of the previous chapters, which detailed various +:ref:`Access Control Options in TYPO3 <_available_acl_options>`, +these options can be categorized into types like access lists, mounts, page permissions, +etc. This categorization can also aid in organizing backend user groups. +Let’s explore how implementing prefixes in group names can help streamline their organization. + +.. _role-group:: + +Role Group +---------- + +**ROLE_** or **R_** + Examples: *R_editor*, *R_editor_advanced*, *R_proofreader* + + A group representing a specific role, such as editor or proofreader, will + inherit permissions from multiple other groups (aggregates them) to compile + the necessary permissions set. + +.. _page-group: + +Page Group +---------- + +**PAGE_GROUP_** or **PG_** + Examples: *PG_website_a*, *PG_website_a_blog*, *PG_website_b*, *PG_website_b_gallery* + + Grants permissions to all pages in the pages tree for a given site or only + selected branches of pages in such a tree. + + Those groups will be assigned directly to the pages (see Page Permissions + for more details) following the TSConfig or the Access Module configuration. + +.. _database-mount: + +Database Mount +-------------- + +**DATABASE_MOUNT_** or **DBM_** + Examples: *DBM_website_a*, *DBM_website_a_blog*, *DBM_website_b*, *DBM_website_b_gallery* + + Specifies which portion (either the entirety or a segment) of the pages tree + will be displayed to the user. + + This setting is closely linked to page access permissions — without sufficient + permissions to list the pages, a user will not be able to view the mounted page tree. + +.. _file-mount: + +File Mount +---------- + +**FILE_MOUNT_** or **FM_** + Examples: *FM_website_a*, *FM_website_a_blog*, *FM_website_b*, *FM_website_b_gallery*, *FM_shared* + + Grants access to the selected folders (File Mounts) within file storages. + +.. _category-mount: + +Category Mount +-------------- + +**CATEGORY_MOUNT_** or **CM_** + Examples: *CM_website_a*, *CM_website_b* + + Provides access to system categories, or more precisely, to the entire categories tree or a portion of it. + +.. _access-control-lists: + +Access Control Lists +-------------------- + +**ACCESS_CONTROL** or **ACL_** + Examples: *ACL_content_elements*, *ACL_news*, *ACL_news_extended*, *ACL_module_reports* + + These groups will constitute the largest segment among all, defining granular + access to content elements, plugins, modules, fields and more. + +.. _file-operations: + +File Operations +--------------- + +**FILE_OPERATION_** or **FO_** + Examples: *FO_all*, *FO_read_write* + + Defines the range of allowed operations for files and folders, such as read, write, delete, etc. + +.. _limit-to-languages: + +Limit to languages +------------------ + +**LANGUAGE_** + Examples: *L_all*, *L_english_german*, *L_en_pl_de* + + Specifies the list of languages available for managing content. Keep in mind + that you would have to have access to the source language when creating the translation. + + +As you can see we now have dedicated groups prefixes for Pages access, +Database Mounts, File Mounts, File Operations, Category Mounts and access +to modules, tables, widgets, languages etc. Remember, these are just examples, +and you could — and should — tailor them to meet your specific needs. +Each group name should be simple and self explaining (tell what permissions it contains). + +.. figure:: ../../Images/ManualScreenshots/PermissionsManagement/PermissionsManagementPrefixedGroupName.png + :alt: Prefixed group names + + Prefixing group names makes them more organized and easier to search within forms + +.. note:: + Use prefixes or other naming conventions which will allow you to easily + distinguish backend user groups by their purpose. + +Here’s a useful tip for those managing backend groups in your project. +If you’re implementing naming conventions for groups, you likely have documentation +detailing these guidelines. Instead of directing your colleagues to consult +the documentation for this information, consider extending the TCA for +the be_groups and be_users tables (and potentially others where the group +selection box appears). You can add a field description that outlines +the naming conventions and prefixes used. This approach ensures that anyone +modifying backend group inheritance or assignments will have immediate access +to explanations of the naming conventions directly within the interface. + +.. code-block:: php + :caption: Add description to a form field through TCA + + $GLOBALS['TCA']['be_users']['columns']['usergroup']['description'] = 'Prefixes: R_ - Role, PG_ - Page Group, DBM_ - Database Mount, FM_ - File Mount, FO_ - File Operations, CM_ - Category Mount, ACL_ - Access Control'; + +This code demonstrates the assignment of a static description for the usergroup +field in the backend user form. However, you should place it in a translation +file and retrieve it from there for better flexibility and localization support. + +Another good practice for managing backend groups is to clearly describe +the purpose or scope of each group. This can be done using the Description +field located within the Notes tab of the backend group form. + +.. figure:: ../../Images/ManualScreenshots/PermissionsManagement/PermissionsManagementTCAFieldDescription.png + :alt: TCA field description + + Describe the scope or purpose of the group