group module

Gruppe - Überprüfung eines Moduls für Drupal

Das Erstellen von Benutzergruppen mit Zugriff auf ausgewählte Inhalte ist eine der häufigen Anforderungen, die in Spezifikationen für Webportale festgelegt sind. Das Group-Modul ermöglicht das Sparen von Hunderten Programmierstunden, indem es fertiggestellte und leicht erweiterbare Mechanismen bereitstellt. Prüfen Sie, wie viele nützliche Funktionen Sie in diesem Modul finden können.

Group wurde als Alternative zu Organic Groups (OG) erstellt, in denen Beziehungsmechanismen auf Feldern und Inhalten basieren. Im Gegensatz dazu wurden im Group-Modul vollwertige Entitäten mit eigenen Feldern erstellt, die erweitert und exportiert werden können. Jede Gruppe kann ihre eigenen Benutzer oder einzigartig konfigurierte Berechtigungen haben.

Daten

Der Ursprung des Moduls reicht zurück bis zur Drupal 7-Version, für die die erste Dev-Version im Jahr 2010 veröffentlicht wurde. Die Drupal 8-Version des Moduls wurde erstmals im März 2016 veröffentlicht und wird auch heute noch entwickelt. Die neueste stabile Version 1.2. wurde am 4. August 2020 veröffentlicht.

Beliebtheit des Moduls

Das Group-Modul ist ziemlich beliebt und wird derzeit von über 9.000 Websites genutzt. Die überwiegende Mehrheit, etwa 8.200, sind Projekte, die auf Drupal 8 basieren.

Module-Ersteller

Der Hauptverantwortliche des Moduls ist Kristiaan Van den Eynde (kristiaanvandeneynde), verantwortlich für fast 900 Commits zum Modul. Das Modul wird finanziell von Factorial GmbH unterstützt und wurde in der Vergangenheit von anderen Unternehmen und Organisationen unterstützt. Natürlich wird die Entwicklung des Moduls und seiner Sub-Module auch von einer großen Gruppe von Drupal-Entwicklern unterstützt.

Bisher haben 56 Entwickler zur Entwicklung des Moduls beigetragen; die vollständige Liste finden Sie hier: https://www.drupal.org/node/711148/committers

Wofür wird das Modul verwendet?

Das Group-Modul löst ein Problem, das in Drupal mit den eingebauten Mechanismen nicht gelöst werden kann. Es ermöglicht Ihnen, Benutzer in Gruppen zu unterteilen, innerhalb derer Sie sowohl Benutzerrechte verwalten als auch Inhalte erstellen können, die nur für die Gruppenmitglieder bestimmt sind.

Es ist ein extrem komplexes Projekt aus programmiertechnischer Sicht. Es verfügt über mehrere Klassen und Funktionen, die wesentliche Funktionalitäten wie Berechtigungsunterstützung, Cache oder Integration mit den Hauptmodulen von Drupal bereitstellen. Es gibt ein gnode-Untermodul im Repository des Moduls, das es Ihnen ermöglicht, Beziehungen zwischen Inhalten und Gruppen zu erstellen. Das Group-Modul kann auch mit der Funktionalität zur Erstellung von Untergruppen erweitert werden, was mit der Verwendung von Subgroup oder Subgroup (Graph)-Modulen möglich ist.

Beispiele für die Nutzung:

  • Klassenraummanagement in Schulen, wo Lehrer als Administratoren fungieren, Schüler Mitglieder einer bestimmten Gruppe sind und alle Zugriff auf gemeinsame Materialien haben,
  • Zugriff auf kostenpflichtige Inhalte durch Einschränkung der Zugänglichkeit von Materialien für Gruppenmitglieder (ein Beispiel finden Sie in unserem Artikel Drupal Commerce - Sell electronic products)
  • Portale für Organisationen/Gemeinschaften mit einer hierarchischen Struktur (mehrere voneinander abhängige Einheiten, jedoch mit unterschiedlichen Mitgliedern und Administratoren)
  • Organisation und Management von Konferenzen (Registrierung für Vorträge, Zugriff auf Materialien, Diskussionen). Group ist daher ein großartiges Werkzeug, wenn Sie geschlossene Benutzergruppen mit Zugriff auf spezielle Inhalte erstellen müssen.

Group ist daher ein großartiges Werkzeug, das wir im Rahmen von Drupal-Dienstleistungen verwenden, um geschlossene Benutzergruppen mit Zugriff auf spezielle Inhalte zu erstellen.

Unboxing

Sie können das Modul unter https://www.drupal.org/project/group herunterladen

Nach der Installation erscheint ein neues Modul „Gruppe“ im Menü Gruppen (/admin/group) zwischen den Registerkarten Konfiguration und Benutzer im Hauptsystemmenü.

Group bietet einen neuen Entitätstyp, sodass Sie im Untermenü Links zu Seiten wie Gruppentypen oder Liste finden werden. Es gibt auch eine Konfigurationsseite, auf der es möglich ist, ein Administrations-Design für Gruppenbearbeitung, Gruppenbenutzerseiten usw. festzulegen.

Das Group-Modul erfordert keine spezifische Konfiguration, um es nutzen zu können.

Verwendung des Moduls

Um Gruppen zu erstellen, müssen Sie zuerst mindestens einen Gruppentyp definieren. Gehen Sie dazu zu "/admin/group/types" und erstellen Sie einen neuen Gruppentyp. Dieser Prozess ähnelt der Erstellung eines neuen Inhaltstyps oder eines Vokabulars, hat aber auch zusätzliche Konfigurationsfelder im Zusammenhang mit den Berechtigungen von Benutzern in bestimmten Gruppen.

create groupe type

Nach der Erstellung des Gruppentyps können Sie die Gruppenfelder sowie die zugehörigen Formular- und Gruppenansichten konfigurieren.

tabs

Um die Rechte zu definieren, haben Sie auch die Möglichkeit, den Tab „Berechtigungen“ aufzurufen, unter dem Sie grundlegende Berechtigungen festlegen können, unterteilt in:

  • anonyme Benutzer,
  • Gruppenmitglieder,
  • Benutzer, die keine Gruppenmitglieder sind, 
  • Gruppenmitglieder mit einer definierten Rolle in der Gruppe

Es steht auch eine erweiterte Konfiguration der Berechtigungen eines Benutzers von außerhalb der Gruppe mit Hilfe von Systemrollen zur Verfügung.

permissions

Es ist möglich, Rollen für einen bestimmten Gruppentyp zu definieren (ähnlich den in Drupals Kern definierten Rollen). Dies ist im Tab „Rollen“ möglich:

role

Einer der wichtigsten Tabs ist „Inhalt“, wo Sie verfügbare Erweiterungen für eine Gruppe installieren können, einschließlich Inhaltstypen, Gruppenmitgliedschaft oder Untergruppen (nach der Installation der zuvor erwähnten Module).

content 0

Nachdem Sie alle Formulare durchlaufen haben, wird das Erstellen neuer Gruppen eines bestimmten Typs sehr einfach. Sie gehen einfach zur Gruppenliste-Seite (/admin/group) und fügen die benötigten Gruppen hinzu.

group2

Wie Sie sehen können, gibt es viele Konfigurationsmöglichkeiten, insbesondere im Hinblick auf Modulberechtigungen. Sie sind jedoch für den ordnungsgemäßen Betrieb erforderlich und es ist einfach, ihre Vorteile während der Nutzung des Moduls zu schätzen. Eine sehr interessante Anwendung des Group-Moduls finden Sie in der Open Social-Distribution.

Hooks und Integrationen

Das Modul hat die Fähigkeit, Verknüpfungen mit Entitätsoperationen zu modifizieren, die in einem Block auf der Webseite der Gruppe mithilfe des Hooks „hook_group_operations_alter“ eingebettet sind, der in seinen Argumenten eine Linktabelle und ein Gruppenobjekt akzeptiert.

Group bietet Integration mit den folgenden Modulen:

  • Views, bietet Plug-ins wie: Zugriff, Argument, Standardargument, Beziehung.
  • Tokens - 21 Tokens für Gruppe und deren Inhalte.

Zusammenfassung

Das Group-Modul ist sehr ausgereift und programmatisch komplex. Es fügt einen Mechanismus zum Erstellen von Gruppen und deren zugehörigen Inhalten hinzu, den Sie in einer reinen CMS-Drupal-Installation nicht finden. Es wurde mit der gebotenen Sorgfalt für die hohe Qualität des Codes geschrieben und gleichzeitig dafür gesorgt, dass es sich leicht mit neuen Funktionen erweitern lässt. Wenn dieses Modul zu den Anforderungen Ihres Projekts passt, empfehlen unsere Drupal-Berater, es ohne Zögern zu verwenden.

As part of Drupal support, we maintain existing websites and expand them with new functionalities