Skip to content
CretectionPublic

About

Backend Group Kinds - Roles and building blocks for TYPO3 backend permissions

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

161 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Backend Group Kinds (be_groups)

CI TYPO3 14 Latest Stable Version TER License

🇬🇧 English · 🇩🇪 Deutsch


English

Backend Group Kinds turns TYPO3 backend user groups into kinds: small building blocks with exactly one purpose and roles that are composed of them. Backend users only get roles.

The official TYPO3 documentation recommends exactly this structure – and states that "TYPO3 currently lacks the feature to categorize backend user groups by context or purpose". This extension closes the gap: real group kinds with a guided user interface instead of naming conventions.

Originally created by Michael Klapper (2012). See Credits.

Features

  • 11 kinds aligned with the official TYPO3 guideline: role, access rights (ACL), page permission group, page tree entry points, file mounts, file operations, category mounts, languages, TSconfig, workspace and classic.
  • One form per kind – every group only shows the fields of its kind.
  • Roles are composed in the core field subgroup, with the building blocks grouped by kind.
  • Backend users only get roles (classic groups can stay allowed while converting).
  • What is not visible does not apply: permission fields that do not belong to a kind are cleared on every save – in the backend, via the DataHandler API and by import or sync tools. Stored assignments are never dropped, other data on the group is never touched.
  • Core native: only one additional field (tx_begroups_kind). TYPO3 resolves permissions as usual.
  • Overview module "Roles & Building Blocks" (Administration): which role consists of which building blocks, who has which role, where a building block is used – sortable, filterable and with markers for inconsistencies.
  • Assistants for existing installations: begroups:classify proposes a kind for every classic group, begroups:split splits mixed groups into building blocks and a role that keeps the uid – verified and rolled back if any effective permission would change.
  • Consistency check begroups:audit with exit codes and JSON output for deployments and monitoring, extensible through a PSR-14 event.

Requirements

  • TYPO3 14.3 LTS
  • PHP 8.2 – 8.5

Installation

composer require cretection/be-groups
vendor/bin/typo3 extension:setup

After the installation all existing groups are of kind "Classic" – nothing changes for your users until you convert them.

Documentation

The manual is available in English and German on docs.typo3.org and in Documentation/.

Contributing

Contributions are welcome! Read CONTRIBUTING.md and the coding guidelines. Report security issues privately, see SECURITY.md.

Credits

be_groups was invented by Michael Klapper, who developed it in 2012 at morphodo / AOE. His concept of building blocks and META groups is the model the official TYPO3 documentation recommends today. Version 1.0 is a complete rewrite, the idea and the name are his. The relaunch for TYPO3 14 happens with his explicit consent – thank you, Michael!

Thanks also to Christian Zenker, Tomas Norre Mikkelsen, Stefan Rotsch, Dragan Tomic, Jonathan Klauck and Martin Tepper, who maintained the extension at AOE. Maintained since 2022 by Jonathan Starck (Cretection). The full story is in the Credits & History chapter.

License

GPL-2.0-or-later, see LICENSE.txt.


Deutsch

Backend Group Kinds macht aus TYPO3-Backend-Benutzergruppen Gruppentypen: kleine Bausteine mit genau einer Aufgabe und Rollen, die sich aus ihnen zusammensetzen. Backend-Benutzer bekommen nur Rollen.

Die offizielle TYPO3-Dokumentation empfiehlt genau diese Struktur – und stellt fest, dass TYPO3 Backend-Benutzergruppen derzeit nicht nach Kontext oder Zweck einordnen kann. Diese Extension schließt die Lücke: echte Gruppentypen mit geführter Oberfläche statt Namenskonventionen.

Ursprünglich entwickelt von Michael Klapper (2012). Siehe Credits.

Funktionen

  • 11 Gruppentypen nach der offiziellen TYPO3-Empfehlung: Rolle, Zugriffsrechte (ACL), Seitenrechte-Gruppe, Seitenbaum-Einstiegspunkte, Dateifreigaben, Dateioperationen, Kategorie-Freigaben, Sprachen, TSconfig, Workspace und Klassisch.
  • Ein Formular pro Typ – jede Gruppe zeigt nur die Felder ihres Typs.
  • Rollen werden im Core-Feld subgroup zusammengesetzt, die Bausteine nach Typ gruppiert.
  • Backend-Benutzer bekommen nur Rollen (während der Umstellung einstellbar).
  • Was nicht sichtbar ist, wirkt nicht: Rechtefelder, die nicht zu einem Typ gehören, werden bei jedem Speichern geleert – im Backend, über die DataHandler-API und durch Import- oder Sync-Werkzeuge. Gespeicherte Zuweisungen gehen nie verloren, andere Daten der Gruppe bleiben unberührt.
  • Core-nativ: nur ein zusätzliches Feld (tx_begroups_kind). TYPO3 wertet die Rechte wie gewohnt aus.
  • Übersichtsmodul „Rollen & Bausteine“ (Administration): welche Rolle aus welchen Bausteinen besteht, wer welche Rolle hat, wo ein Baustein verwendet wird – sortier- und filterbar, mit Markierung von Inkonsistenzen.
  • Assistenten für bestehende Installationen: begroups:classify schlägt für jede klassische Gruppe einen Typ vor, begroups:split teilt gemischte Gruppen in Bausteine und eine Rolle auf, die die uid behält – geprüft und zurückgerollt, falls sich ein wirksames Recht ändern würde.
  • Konsistenzprüfung begroups:audit mit Exit-Codes und JSON-Ausgabe für Deployments und Monitoring, erweiterbar über ein PSR-14-Event.

Voraussetzungen

  • TYPO3 14.3 LTS
  • PHP 8.2 – 8.5

Installation

composer require cretection/be-groups
vendor/bin/typo3 extension:setup

Nach der Installation sind alle bestehenden Gruppen vom Typ „Klassisch“ – für Ihre Benutzer ändert sich nichts, bis Sie umstellen.

Dokumentation

Das Handbuch gibt es auf Englisch und Deutsch auf docs.typo3.org und in Documentation/Localization.de_DE/.

Mitwirken

Beiträge sind willkommen! Siehe CONTRIBUTING.de.md und die Coding-Leitlinien. Sicherheitslücken bitte vertraulich melden, siehe SECURITY.md.

Credits

be_groups wurde von Michael Klapper erfunden, der die Extension 2012 bei morphodo / AOE entwickelt hat. Sein Konzept aus Bausteinen und META-Gruppen ist das Modell, das die offizielle TYPO3-Dokumentation heute empfiehlt. Version 1.0 ist komplett neu geschrieben, die Idee und der Name stammen von ihm. Der Relaunch für TYPO3 14 erfolgt mit seiner ausdrücklichen Zustimmung – danke, Michael!

Danke auch an Christian Zenker, Tomas Norre Mikkelsen, Stefan Rotsch, Dragan Tomic, Jonathan Klauck und Martin Tepper, die die Extension bei AOE gepflegt haben. Seit 2022 gepflegt von Jonathan Starck (Cretection). Die ganze Geschichte steht im Kapitel Credits & Geschichte.

Lizenz

GPL-2.0-or-later, siehe LICENSE.txt.

About

Backend Group Kinds - Roles and building blocks for TYPO3 backend permissions

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages