Komponente THM-Groups

Aus THM-Wiki
Wechseln zu: Navigation, Suche
iCampus-Projekt
Arbeitstitel iCampus
Betreuer Dennis Priefer
Projektbeginn 2008
Mitarbeiter Dennis Priefer
Programmiersprache PHP
Framework Joomla!

Beschreibung

Die Komponente com_thm_groups wurde konzipiert um die Benutzer- und Gruppenverwaltung von Joomla! zu erweitern. In Joomla! haben Benutzer lediglich die Möglichkeit, Attribute wie Name und EMail anzugeben. Außerdem gibt es im Frontend keine (sinnvollen) Darstellungsmöglichkeiten für Benutzer- und/oder Gruppenattribute. An dieser Stelle kommt THM Groups zum Einsatz. Durch mehrere Erweiterungen können nun Benutzer- sowie Gruppenattribute erweitert und nach Belieben dargestellt werden. Außerdem können Gruppenmitglieder eine beliebige Rolle in jeder Gruppe übernehmen, was zu weiteren Darstellungsmöglichkeiten führt. Dabei spielt die Komponente die zentrale Rolle zur konsistenten und redundanzfreien Datenhaltung.

Im folgenden wird das Backend, sowie der Frontend-Teil der Komponente vorgestellt.

Views

Backend

THM-Groups Backend

Das Backend der Komponente unterteilt sich in mehrere Views um Gruppen, Rollen und Attribute zu administrieren. Außerdem Gibt es eine Administrationsübersicht aller Benutzer und deren Gruppen/Rollen-Zugehörigkeit. Die unterschiedlichen Ansichten im Backend helfen dem Adminitrator, die Benutzer, sowie Gruppen und Rollen sinnvoll zu verwalten. Dabei wird auch auf die View zur Verwaltung der Attribute eingegangen. Bis auf die vorgegebenen Joomla!-Attribute (Name, Username, EMail) können eigene Attribute angelegt und verwaltet werden. Seit Version 3.1.0 beinhaltet THM Groups die Funktionalität der ehemaligen eigenständigen Komponente THM Quickpages. Deren Backend-Ansicht wurde daher ebenso in die Backend-Ansicht von THM Groups integriert. Die folgenden Unterkapitel gehen genauer auf die einzelnen Backend-Views der Komponente ein.

Membermanager

THM-Groups Backend - Membermanager

Groupmanager

THM-Groups Backend - Groupmanager

Rolemanager

THM-Groups Backend - Rolemanager

Rolle hinzufügen/editieren

THM-Groups Backend - Rolemanager - add/edit Role

Structuremanager

THM-Groups Backend - Structuremanager

Attribut erstellen/editieren

THM-Groups Backend - Structuremanager - add/edit structure entry

Quickpage

Optionen

Wurzelkategorien

Hier können sie Wurzelkategorien für Quickpages, Repositories und das Costum HTML Modul festlegen.

Berechtigungen

Standardberechtigungen für sämtliche Inhalte diese Komponente. Hier können sie zum Beispiel die Zugriffsrechte für Benutzergruppen festlegen.

Userberechtigungen

Hier können sie global einstellen, ob ein User sein eigenes Profil editieren darf, oder dafür Sonderrechte (Moderatoren etc.) nötig sind. Diese Einstellung wirkt sich auf alle Frontend Views von THM Groups aus.

Frontend

Das Frontend der Komponente dient ausschließlich der Darstellung von Gruppen und Gruppenmitgliedern. Dabei wird auf die vorhandene Attributstruktur eingegangen. Die unterschiedlichen Views wurden so konzipiert, Attribute von Gruppen und deren Mitglieder nach belieben darzustellen. Es gibt unterschiedliche Darstellungsmöglichkeiten, angefangen bei einer einfachen Listenansicht, bis hin zur Darstellung aller Gruppenmitglieder einer bestimmten Gruppe mit der Möglichkeit alle Attribute direkt darzustellen. Die folgenden Unterkapitel beschreiben die einzelnen Frontend-Ansichten, sowie deren Parametrisierung im Backend.

Listenansicht

Parametrisierung im Backend

Gruppenansicht

Die Gruppenansicht präsentiert derzeit alle Gruppen der Joomla Installation in einer hierarchischen Liste. Ein Nutzer mit entsprechenden Rechten kann hier die Gruppe im Frontend editieren. Außerdem kann im Backend ausgewählt werden, welche Gruppe das Wurzelelement der Liste ist, und ob die Liste gekürzte lange Texte und/oder Bilder anzeigt.

Parametrisierung im Backend

Erweiterte Ansicht

Die erweiterte Ansicht stellt detaillierte Informationen zu den Usern dar. Der Administrator hat im Backend die Möglichkeit, zu entscheiden, welche Informationen wie dargestellt werden sollen.

Listenansicht

Wenn der Administrator mehrere Informationen enthält, kann es durch den Button "mehr erfahren" angezeigt werden. Nach Wunsch kann der Administrator im Backend unter Basiseinstellungen>Strukturelemente>Longinfo die Anzeige aktivieren bzw. deaktivieren.

THM-Groups Backend - Erweiterte Ansicht THM-Groups Backend - Erweiterte Ansicht

Tabellarische Ansicht

Wenn der Administrator mehrere Informationen enthält, kann es durch den Button "mehr erfahren" angezeigt werden. Nach Wunsch kann der Administrator im Backend unter Basiseinstellungen>Strukturelemente>Longinfo die Anzeige aktivieren bzw. deaktivieren. Die angezeigte Zeile wird entsprechend der zweiten Spalteninformation angepasst (siehe Bild unten).

THM-Groups Backend - Erweiterte Ansicht THM-Groups Backend - Erweiterte Ansicht


Parametrisierung im Backend

Durch das Fieldset "Layout" hat der Administrator die Möglichkeit, optische Änderungen am Layout der erweiterten Ansicht vorzunehmen. Die Felder "Zusätzliche individuelle Styles" ermöglichen es dem Administrator eigenen CSS-Code hinzuzufügen und so das Layout nach seinen Wünschen zu gestalten.

Profil-Container Größe

Es besteht hier die Möglichkeit, die Breite des Profil-Containers zu bestimmen. Mit 100% (Default-Wert) kann die volle Breite genutzt werden, die zur Verfügung steht. Des Weiteren kann die Höhe des Profil-Containers bestimmt werden. Mit auto (Default-Wert) passt sich die Höhe des Profils an den Inhalt an. Möglich ist auch die Bestimmung des inneren Seitenabstands des Profils und vertikalen Abstands zwischen den Profilen durch Eingabe von Zahlen. Erlaubt sind Angaben in Pixel, pt, em, etc. und in % (Prozent). Bei einer Eingabe von einfachen Zahlen besteht eine Funktion, die die Zahl mit px (Pixel) ergänzt. Beispiel: Eingabe: 30 --> Ergänzung: 30px. Der Default-Wert bei den beiden Feldern ist auf 10 gesetzt.

THM-Groups Backend - Erweiterte Ansicht THM-Groups Backend - Erweiterte Ansicht

Schriftart

Es besteht die Möglichkeit, die Schriftart bzw. die Schriftgröße zu bestimmen, die verwendet werden soll. Mit inherit wird die Schriftart bzw. Schriftgröße des Elternelements geerbt. inherit ist gleichzeitig der Default-Wert.
THM-Groups Backend - Erweiterte Ansicht THM-Groups Backend - Erweiterte Ansicht

Farbgestaltung

Außer der Schriftart und -größe kann der Administrator die Hintergrundfarbe und die Schriftfarbe des Profil-Containers bestimmen (Zweite Schriftfarbe ist die von der detaillierten Beschreibung). Mit einem Klick in das Eingabefeld erscheint eine Farbpalette, in der die gewünschte Farbe ausgewählt werden kann. Es ist aber auch möglich, die Farbe manuell in Hexadezimal (Bsp: #f9f9f9) einzugeben.

Im Feld von Hintergrund kann durch none die Hintergrundfarbe deaktiviert werden. Durch die Eingabe inherit in der ersten bzw. zweiten Schriftfarbe wird die Schriftfarbe des Elternelements geerbt. THM-Groups Backend - Erweiterte Ansicht THM-Groups Backend - Erweiterte Ansicht

Lange Texte

Auf Wunsch besteht die Option, die detaillierte Beschreibung im Profil-Container vollständig anzeigen zu lassen. Andernfalls erscheint ein Weiterlesen-Button. THM-Groups Backend - Erweiterte Ansicht

Profilbild

In diesem Bereich kann die Breite und die Höhe des Profilbildes festgelegt werden. Mit der Angabe von auto passt sich die Höhe des Profils an die Breite des Bildes an. Ein Rahmen um das Bild wird auf Wunsch angezeigt. Außerdem ist es möglich, die Position des Profilbildes links oder rechts zu bestimmen.

THM-Groups Backend - Erweiterte Ansicht THM-Groups Backend - Erweiterte Ansicht

Eigene CSS-Gestaltung

Eine recht spannende Angelegenheit ist die Bestehung der Möglichkeit, sich eigene individuelle Styles zu erstellen bzw. CSS-Code in die jeweils zugehörigen Felder einzugeben. THM-Groups Backend - Erweiterte Ansicht THM-Groups Backend - Erweiterte Ansicht

Vorschau

Nach dem der Administrator die gewünschten Daten eingegeben bzw. ausgewählt hat, besteht für ihn die Möglichkeit, sich mit dem Vorschau-Button eine Vorschau anzeigen zu lassen, um zu überprüfen, ob die gewünschte Ansicht angezeigt wird.

THM-Groups Backend - Erweiterte Ansicht THM-Groups Backend - Erweiterte Ansicht

Profilansicht

Redundante Views

Benutzer-Editieransicht

THM-Groups Backend - Membermanager - Editieroption

Gruppen-Editieransicht

THM-Groups Backend - Groupmanager - add/edit Group

Quickpage

Dieser Teil von THM Groups ersetzt die ehemalige Komponente THM Quickpages. Damit wird auch Benutzern ohne Programmierkenntnisse eine personalierte Webpräsenz ermöglicht.

Zum Umfang dieser Funktion gehört ebenfalls das Modul THM Groups Quickpages Linklist (ab Version 1.2.0), das den eingestellten Content listenartig anzeigen kann. Es fungiert als Navigation und Inhaltsverzeichnis für eine Quickpage.

Grundlegend für die Komponente sowie das Modul ist zudem die Library THM Groups Quickpages Library (ab Version 1.2.0), welche unbedingt installiert sein muss.

Sofern diese zugehörigen Erweiterungen für die Komponente THM Quickpages bereits installiert waren (in dem Fall ohne Groups im Namen), sollten Sie diese aktualisiern, um einen reibungslosen Verlauf zu ermöglichen.

Optional kann außerdem die Komponente THM Repository eingebunden werden. Dieser Teil wurde darauf ausgelegt, die Funktionalität dieser Komponente auch für einzelne Quickpages zur Verfügung zu stellen, indem entsprechende Kategorien angelegt werden (Siehe nachfolgende Beschreibung). Beide Komponente können prinzipiell aber auch unabhängig betrieben werden.

Benutzung

Um die Quickpage nutzen zu können, muss diese über das Nutzer-Profil von THM Groups freigeschaltet werden.

Die Pflege der Quickpage wird dem Benutzer überlassen und passiert vollständig im Frontend. Hierzu dient eine Administrationsoberfläche, die der Administration der Komponente Content im Backend nachempfunden wurde. Der Benutzer kann folgende Operationen durchführen um seinen Content zu verwalten:

  • Anlegen
  • Bearbeiten
  • Sortieren
  • Un-/Veröffentlichen
  • Löschen
  • Wiederherstellen

Backend-Konfiguration

Bitte vergessen Sie nicht, die Konfiguration Root-Kategorie der Quickpages im Optionsmenü (Siehe oben rechts auf dieser Seite):

  1. Erstellen Sie eine neue Kategorie (z.B. Quickpages) über den Category-Manager, unter der die Quickpages geführt werden. Wir empfehlen dafür eine Root-Kategorie (ohne Parent-Kategorie).
  2. Falls die Komponente THM Repository installiert ist: Erstellen Sie eine neue Kategorie (z.B. Quickpage-Repositories) über den Category-Manager, unter der die Repositories für die einzelnen Quickpages geführt werden. Wir empfehlen auch dafür eine Root-Kategorie (ohne Parent-Kategorie). Wichtig: Die Kategorie muss für Komponente THM Repository angelegt werden.
  3. Öffnen Sie das Optionsmenü (Siehe oben rechts auf dieser Seite) und legen Sie die zuvor angelegten Kategorien im Reiter "Wurzelkategorien" entsprechend fest.

Im Anschluss an die Erstellung und Konfiguration der Kategorien muss nun einer bestimmten Gruppe die Schreib-Lese-Rechte darauf zugewiesen werden.

Hinweise

Falls die Komponente THM Repository erst installiert wird, nachdem bereits Quickpages angelegt wurden, so muss Schritt 2 und 3 der Backend-Konfiguration unbedingt nachgeholt werden.

Zur weiteren Verwendung existierender Quickpages sollten Sie zuerst die Komponete THM Quickpages auf die Version 1.2.0 (oder höher) aktualisieren und erst anschließend diese deinstallieren, da sonst wichtige Daten verlohren gehen können. Mit der Umstellung der Quickpages über THM Groups ist es nötig, die zugehörigen Erweiterungen THM Groups Quickpages Linklist (sofern installiert) und THM Groups Quickpages Library auf die Version 1.2.0 (oder höher) zu aktualisieren.

Datenbankschema

Derzeit besteht das Datenbankschema aus einzelnen Tabellen, welche nicht miteinander verknüpft sind. Die Visualisierung entspricht folgender Grafik. Die folgenden Datenbankschemata wurden mit dem Open-Source Tool Dia erstellt.

Version 1:

THM-Groups DB Schema - Version 1


Erweitert man die Grafik um die logischen Zusammenhänge erhält man eine erste Version eines verbesserten Datenbankschemas.

Version 2:

THM-Groups DB Schema - Version 2


Hier ist die aktuelle Version der .dia Datei: thm_groups_dbschema_dia.zip.