Letzte Änderungen:
15.01.11 - "Hilfe! nichts geht mehr" mit einer weiteren Fehlerbeschreibung (JFusion) erweitert.
16.08.10 - ein paar Ergänzungen und Änderungen in folgenden Absätzen: "Installation", "Hilfe! Nichts geht mehr" und "Frontend" - Neu hinzugefügt: "Das Schloss - und nun?"
24.05.10 - Backend & Spezifische
15.03.10 - Hilfe! Nichts geht mehr!
Das aktuelle GMAccess gibts hier:
GMAccess spricht deutsch
Inzwischen gibt es eine deutsche Übersetzung für GMAccess, die auf des Herstellers Seiten zu finden ist:
http://www.eduvs.ch/gmaccess/index.php?option=com_rokdownloads&view=folder&Itemid=57&id=5%3Apatch-update&limitstart=10
Etwas herunterscrollen und den "Patch allemand" downloaden, entpacken und per FTP hochladen.
Installation
Die Installation ist mittlerweile recht einfach geworden. Auf manchen Systemen treten aber dennoch manchmal Fehler auf.
Ich benutze die "automatische Installation". Und man muss darauf achten, nicht die französische Version zu nehmen, da diese die französischen Sprachdateien erfordert. Wer dennoch die französische Version installieren möchte, findet bei mir im Downloadcenter die notwendigen Sprachdateien (die Sprachdateien entpacken und in die angegebenen Verzeichnisse per FTP laden).
Danach die Komponente wie gewohnt in Joomla hochladen. Es kann sein, dass man nach dem Klick auf "finalizer" aus Joomla geworfen wird und sich vor dem Login wiederfindet. Einfach wieder einloggen - normalerweise funktioniert jetzt GMAccess. Das geschiejht auch deswegen, weil die Rechteverwaltung sich jetzt geändert hat und die Core-Dateien teilweise überschrieben werden.
Updates
Da GMAccess die Core-Dateien (also die Joomla-Systemdateien) verändert, erscheint ein Updaten zunächst schwierig. Aber nach bisherigen Erfarhungen liefert der Entwickler der Komponente mit nur sehr kurzer Verzögerung zu einem neuen Joomla-Update ein neues GMAccess-Update.
Dann einfach zuerst das Joomla-Update vollziehen und anschließend das GMAcess-Update.
Ich selber bebutze GMAccess auf mehreren Websiten und habe noch nie Probleme damit gehabt.
Das Schloss - und nun?
Viele glauben, das Schloß vor der Komponente im Menü bedeutet, das man nicht zugreifen könne. Aber es handelt sich nur um das Icon für diese Komponente. Also nur ein Bild ohne Funktion. Sieht man es, ist GMAccess installiert.
Hilfe! Nichts geht mehr!
Keine Panik! Es passiert selten, aber manchmal gehts doch schief.
Wenn man sich noch einloggen kann, einfach die Komponente deinstallieren (Erweiterungen --> Installieren/Deinstallieren --> Komponenten --> GMAccess auswählen --> Löschen).
Kann man sich nicht mehr einloggen, ist das auch nicht so tragisch, wie es zunächst ausschaut. Einfach das FTP-Programm starten und die letzte Joomla-Version über die bestehenden Dateien überspielen. Bis auf installation, templates, tmp, cache und images, einfach alle Dateien über die bestehenden drüberspielen. Danach geht wieder alles einwandfrei und man kann nun die Reste von GMA normal über die Komponenten deinstallieren (siehe oben).
Ein User hat mir geschrieben, dass bei der Fehlermeldung
Fatal error: Undefined class name 'fonctiongmaccess' in /mnt/web2/53/93/51387493/htdocs/...domain..../libraries/joomla/application/menu.php on line 279
es hilft, die Cookies im Browser zu löschen. Danach wäre wieder alles in Ordnung.
Vielen Dank an Martin für diesen Tipp!
Ich selber hatte diesen Fehler mal sehr hartnäckig und habe ihn weder durch Browser-Cache-, noch durch eine Cookie-Löschung wegbekommen. Des Rätsels Lösung war: Ich hatte JFusion installiert gehabt. JFusion und GMAccess vertragen sich überhaupt nicht. Nach dem ich die gesamte JFusion-Komponente deinstalliert hatte, lief alles einwandfrei. Das Deaktivieren des JFusion-Authentifikations-Plugin brachte hingegen keine Lösung. Erst nach dem Deinstallieren JFusions klappte es einwandfrei.
Groups
Werden neuen Gruppen Rechte zugeteilt, handelt es sich dabei um eine Erweiterung der bestehenden Joomlarechte. Das bedeutet, dass SuperAdmins nicht automatisch diese Rechte miterben/mit erhalten. Es ist explizit notwendig SuperAdmins neuen Gruppen auch zu zuteilen, damit diese auch über die entsprechenden Rechte, die für diese Gruppe gelten, verfügen.
Sonst kann es passieren, dass man als SuperAdmin Menüpunkte, die nur für bestimmte Gruppen zugänglich sind, nicht mehr sieht und somit auch dort nicht zugreifen kann.
Public und Membre sind fest vorgegeben und können nicht verändert werden. Es handelt sich dabei um die Standard nichtregistrierten und registrierten User.
Collective
… bedeutet, dass hier eine Gruppe von Usern definiert wird. Dieser Gruppe kann dann später entsprechende Rechte zugeteilt werden. Jeder User, der später dieser Gruppe zugeordnet wird, erhält automatisch die zur Gruppe zugeordneten Rechte.
Unter Name gebe man den Gruppennamen ein, dazu noch eine kleine Beschreibung.
Unter Available Users stehen die vorhandenen User.
Mit Strg+Linker Maustaste können mehrere User ausgewählt werden,
mit Shift+LM zusammenhängende Bereiche
und mit einem einfachen Mausklick ein einzelner User, der dann mit dem Pfeil zu den "Members of this group" (Mitglieder dieser Gruppe) verschoben werden können.
Nested groups
Damit ist es möglich, bereits vorhandene Gruppen in die neue Gruppe hineinzuschieben. Beispielsweise kann man eine Administratorengruppe machen, die dann als Gruppe in die neue Gruppe geschoben wird und die Rechte dieser Gruppe automatisch erbt.
Individual
Eine ganze Gruppe auszuwählen, ist es auch möglich einen einzelnen User auszuwählen und diesem bestimmte Rechte zuzuweisen.
Dazu einfach einen oder mehrere User markieren und mittels des Icons "Create" als Individuellen User anzulegen. Dieser User tauscht dann später bei der Rechtevergabe mit seinem Namen auf und kann mit individuellen Rechten belegt werden.
Mit dem großen Icon oben rechts – Menu – kommt man immer zur GMAccess-Menü-Auswahl.
Rules - Regeln
Meiner Meinung nach ist dieses eines der absoluten Highlights in GMAccess! Unter diesen Menüpunkt kann ich sehr individuelle Lösungen kreieren und eine weitreichende Rechteverwaltung vollziehen. An dieser Stelle wird Joomla meines Erachtens entscheidend aufgebrochen und kaum noch Grenzen gesetzt.
Einige Abläufe, die in Joomla bekannt sind, sind bereits vorgegeben und können User im Backend individuell zugewiesen werden.
Diese Rechte können durch neue Regeln erweitert werden. Und zwar sowohl für das Backend, als auch Frontend. Es ist ohne weiteres möglich nicht nur Bereiche, Kategorien und Artikel, Module, Plugins oder ganze Komponenten zu sperren/freizugeben, sondern auch Teilbereiche einer Komponente oder bestimmte Downloads freizugeben/zu sperren und vielerlei mehr zu machen.
Legen wir eine neue Regel an. Klicken wir in der großen Iconleiste auf Neu.
Joomla
Standardmäßig ist als "Typ der Rechtevergabe" (Übersetzung von mir) "Joomla" ausgewählt.
Unter Acosection wird die Komponente ausgewählt, die von Joomla benutzt wird und für bestimmte Vorgänge innerhalb Joomlas zuständig sind. Wobei es sich hier ausschließlich um Vorgänge im Backend handelt.
Unter Aco wird die Aktion ausgwählt, die zur Komponente passt. Ich empfehle einfach mal ein paar der vorhandenen Regeln anzuschauen und bei Bedarf ein wenig zu experimentieren. Da ich selber ausschließlich erweiterte Rechte für das Frontend brauchte, habe ich mich mit diesem Teil nicht näher befasst.
Specific - Spezifische Regeln
- Acosection
Der Name der Komponente, Plugin, Modules , auf das zugegriffen werden soll (Beispiel: com_content). - Aco
Die Aktion die gewirkt werden soll (Beispiele: add, read, edit, delete, …) - Axosection
Der Elementtyp auf dem zugegriffen werden soll (Beispiel: item, category, form, …) - Axo
ID des betreffenden Elements (Beispiel: 12, 35, …)
URL componant - Komponentenerweiterung
"Komponentenerweiterung" ist meine Übersetzung.
Für mich persönlich ist das hier der spannendste Teil, da ich hiermit Komponenten aufbrechen kann und auf Teilbereiche zugreifen kann, an die ich über eine "normale" Rechteverwaltung nicht heran komme. In der eglischen Übersetzung fehlte an dieser Stelle selbige. Ich habe meine eigene Übersetzung gemacht. Das File dazu, kann bei mir downloadet werden.
- Label = Dieser Text wird später bei der Rechtevergabe angezeigt
- Komponente
Komponentenauswahl - Variable URL 1
Der vordere Teil der URL - Wert URL 1
… und deren Wert - Variable URL 2
Der hintere Teil der URL - Wert URL 2
… und deren Wert
Dazu ein paar Beispiele:
Auf Bingelbonx haben wir den AdsManager installiert. Wir möchten das nur Premiumuser eine neue Anzeige aufgeben dürfen. Der Aufruf einer neuen Anzeige im Frontend ergibt diese URL:
http://www.bingelbonx.de/index.php?option=com_adsmanager&page=write_ad&Itemid=121
Unter Komponente muss nun der AdsManager eingteragen werden. Also "com_adsmanager".
Der erste Teil der URL ist "page=write_ad". Variable und Wert. Einen zweiten Teil gibt es nicht, da die ItemID für unsere Belange unwichtig ist. Daraus ergibt sich:
Label: Neue Ads schreiben
Komponente: com_adsmanager
Variable URL 1: page
Wert URL 1: write_ad
Diese neue Regel findet sich nun in dem Bereich der Frontend-Rechtevergabe wider. Hier kann ich nun festlegen, welche Gruppe oder Individualuser auf diesen Menüpunkt – Neue Ads schreiben – zugreifen dürfen. Wer dafür keine Berechtigung hat, erhält eine 403-Fehlermeldung. Somit kann ich also eine individuelle Fehlerseite für den 403-Fehler festlegen und freundlich mitteilen, das man keine Berechtigung hat.
Ob man diesen Menüpunkt verstecken kann, so dass der Menüpunkt unsichtbar ist, wenn man zu einer nichtberechtigten Gruppe zugehört, vermag ich nicht zu sagen. Vielleicht bekommt ja jemand heraus, wie das geht und kontaktet mich dann …
Ein weiteres Beispiel:
Wir haben ein Magazin, in dem unter anderem Buchtipps stehen. Angenommen ich wollte bestimmte Buchtipps nur bestimmten Usern zugänglich machen und andere Tipps allen, dann kann ich das wie folgt lösen:
Zunächst ermittel ich die URL des Buchtipps, das ich für die Allgemeinheit sperren möchte:
http://www.bingelbonx.de/index.php?option=com_content&view=article&id=75
option=com_content
Hier wird die Komponente angezeigt, die wir benutzen
view=article
Der erste Teil der URL
id=75
Der zweite Teil der URL
Damit kann ich meine Regel folgendermaßen festlegen:
Typ der Rechtevergabe: Komponentenerweiterung
Label: Bestimmten Buchtipp sperren
Komponente: com_content
Variable URL 1: view
Wert URL 1: article
Variable URL 2: id
Wert URL 2: 75
Im Frontend taucht diese Regel wieder auf und kann entsprechend zugewiesen werden.
Ich kann auf diese Art und Weise auf beinahe jeden Teilbereich in Joomla zugreifen und somit eine sehr individuelle Rechteverwaltung ermöglichen.
ACHTUNG! Bei den Labels etwas aufpassen. Ich hatte Schwierigkeiten mit einem Minuszeichen zwischen zwei Namen. Eine URL im Label wird auch übel genommen. In der Frontend-Zuordnung kann es dann passieren, dass dort nichts angezeigt wird. Also sämtliche Extensions verschwunden sind.
Backend & Specific
Möchte man einem User Zugang zum Backend gewähren, der normalerweise sich dort nicht einloggen kann, kann man in GMA entsprechende Ausnahmen definieren und auch sehr konkrete Zuweisungen machen, was der betreffende User oder die Usergruppe im Backend sehen kann, bzw. worauf sie Zugriff hat.
Dazu zunächst links die Gruppe anklicken, für die man einen Zugang definieren möchte und dann im ersten TAB rechts (Joomla-Rechte) den ersten Punkt mit einem grünen Haken versehen. Also das Accéder au backend.
Detailansicht:
Obwohl es sich um einen User handelt, der sonst nicht ins Backend hineinkommt (also das Joomla-Recht "Registriert" bis "Publisher" hat, kann sich dieser User nun doch im Backend einloggen.
Unter Joomla-Rechte stehen weitere grundlegende Rechte, die aber leider aufgrund der französischen Sprache und meinem Nichtwissen selbiger etwas schwer zu erraten sind. Ich habe dennoch mal etwas herumgespielt und folgendes herausfinden können. Wobei ein rotes Kreuz den jeweiligen Punkt ausblendet und ein grüner Haken ihn einblendet (Menü und Icon):
- Gérer les médias = Medienverzeichnis
- Gérer tous les menus = Menüs
- Gérer les section & les catégories = Das Menü mit den Bereichen und Kategorien wird angezeigt und kann editiert werden
- Installer/Supprimer des extensions = Erweiterungen können de-/installiert werden
- Gérer les plugins = Plugins betreffend
- Gérer les langues = Sprachen können de-/installiert werden
- Vérification globale = Globales einchecken
- Gérer les utilisateurs = Benutzer einsehen und neu anlegen. Wobei bei meinem Testuser es so war, dass der den Admin nicht sehen konnte in der Benutzerliste
- Accès au workflow = --- unbekannt – ich habs nicht herausfinden können ---
- Configurer le site = Konfiguration aufrufen und ändern
- Gérer la corbeille = Papierkorb: Beiträge
- Gérer la frontpage = Startseite einsehen. Aber es können keine Beiträge verändert werden
- Gérer les modules = Module einsehen und ändern
- Gérer les templates = Templates einsehen und ändern
- Gérer la messagerie de masse = Massenmail versenden
- Nettoyer le cache = Cache leeren (Cache und abgelaufenen Cache)
In den weiteren TABs kann nun eingestellt werden, was er da genau machen darf.
Im Menümanagement und Komponentenmanagement kann ganz genau zugewiesen werden, auf welche Menüs und oder Komponenten der User oder die Usergruppe im Backend zugreifen dürfen. Unter Spezifischer Zugang können Regeln zugewiesen werden, die zuvor im Regelwerk erstellt wurden. Wurde nichts geändert, steht hier standardmäßig eine Beispielregel, die aber meines Wissens keine Funktion hat.
Der User kann übrigens alle Beiträge sehen, diese aber weder editieren noch löschen. Das Recht dieses tun zu dürfen, erhält er über die Frontend-Zuweisungen.
Tipp: Änderungen werden erst übernommen, wenn man einmal auf "Zurück" geklickt hat. Also auf dem grünen Icon oben rechts.
Frontend
Bereiche, Kategorien und einzelne Artikel können gesperrt und zugeweisen werden.
Ebenso Module, Plugins und Komponenten.
Bei den Modulen finden sich auch die Menümodule, die wiederum die einzelnen Menüpunkte enthalten, die somit individuell zugewiesen werden können.
Und die selbst angelegten Frontend-Regeln finden sich unter den Komponenten ebenfalls wieder.
Einfach anklicken und die Gruppen und User mit einem grünen Häkchen versehen, die zugreifen dürfen …
Im Joomla-Frontend selber kann man die Unterschiede beim eingeloggten Useer jeweils erst sehen, wenn man sich einmal aus- und wieder einloggt. Vorher werden Änderungen ignoriert.