Feineinstellung der Benutzerrechte

Hilfe zur Installation
Post Reply
Flohbude
New Member
New Member
Posts: 5
Joined: Tue Feb 17, 2009 12:59 pm

Feineinstellung der Benutzerrechte

Post by Flohbude »

Hallo liebe Contentmanager!

Ich richte mir gerade begeistert das CMSms ein und stoße auf die erste richtige Hürde. Konkret geht es um eine Feineinstellung der Benutzerrechte. Ich möchte ca. 50 Benutzer anlegen. Diese sollen eine Art Startseite haben. "Darunter" sollen sie sich so viele Seiten anlegen dürfen, wie sie wollen. Skizze:

Code: Select all

1. Bereich Alpha
  1.1 Benutzer X
    1.1.1 Unterseite 1
    1.1.2 Unterseite 2
    1.1.n Unterseite n
  1.2 Benutzer Y
    1.2.1 Unterseite 1
    1.2.2 Unterseite 2
    1.2.n Unterseite n

2. Bereich Beta
  2.1 Benutzer Z
    2.1.1 Unterseite 1
    2.1.2 Unterseite 2
    2.1.n Unterseite n

usw.
Jetzt habe ich bisher zwei Wege gefunden, dies zu realisieren; jedoch wohnt beiden ein kleiner Makel inne, den ich mit eurer Hilfe zu beseitigen versuche.

Variante 1
1. Ich lege einen Benutzer an.
2. Diesen gruppiere ich in eine Benutzergruppe.
3. Dieser Gruppe erlaube ich prinzipiell das Erstellen von Seiten.

Problem: Erlaube ich das Erstellen von Seiten, können die Benutzer diese praktisch überall anlegen. Ich möchte aber, dass sie dies nur unter "ihrer" Benutzerstartseite tun können. Ich könnte ihnen natürlich das Modifizieren der Seitenstruktur (Verschieben der Seiten etc.) erlauben, aber ich denke, dass das Chaos dadurch noch größer würde.

Variante 2
1. Ich lege einen Benutzer an.
2. Diesen gruppiere ich in eine Benutzergruppe.
3. Dieser Gruppe verbiete ich das Erstellen neuer Seiten, ebenso das Verändern der Seitenstruktur (Verschieben); jedoch lege ich ihm x Seiten in seinem Besitz an, so dass sich Problem aus Variante 1 nicht ergibt.

Problem: Die von mir vorbereiteten Seiten werden immer angezeigt, egal ob sich etwas auf ihnen befindet. Denn: Verbietet man der Gruppe das Verändern der Seitenstruktur, können Beiträge auch nicht mehr als aktiv/inaktiv markiert werden.

Gibt es eine Einstellungsmöglichkeit, die das Erstellen von neuen Seiten ausschließlich unter einer Seite erlaubt, die im Besitz des angemeldeten Users ist? Oder ein Modul, dass so etwas leistet? Leider half die Forensuchfunktion mir hier nicht weiter; vielleicht suchte ich auch nach den falschen Stichworten...

Vielen Dank im Voraus!
(Und ich hoffe, meine Einlassung war nicht zu voluminös.)
antibart
Power Poster
Power Poster
Posts: 1162
Joined: Sun Aug 17, 2008 9:29 am

Re: Feineinstellung der Benutzerrechte

Post by antibart »

Hallo,

ich verstehe noch nicht ganz genau: meinst Du mit "Benutzern" FrontendUser oder Redakteure? D.h. 50 Redakteure dürfen in ihrem Bereich innerhalb der Administration so viele Seiten einrichten und editieren, wie sie möchten?

Könntest Du dein Projekt näher beschreiben?
Last edited by antibart on Tue Feb 17, 2009 1:50 pm, edited 1 time in total.
Flohbude
New Member
New Member
Posts: 5
Joined: Tue Feb 17, 2009 12:59 pm

Re: Feineinstellung der Benutzerrechte

Post by Flohbude »

Ich glaube, so meinte ich das. Ich verstehe den von Dir ins Spiel gebrachte "FrontendUser" als einen gewöhnlichen Besucher der Homepage und den "Redakteur" als ein Mitglied des Projekts, dass sich anmelden und "seine" Seiten bearbeiten sowie nach den oben geschilderten Maßgaben auch neu anlegen darf.

Zur Erklärung:
  • Es geht hier um ein Projekt, in dem ich ~50 Mitglieder habe, nämlich Dozenten an einem Institut.
  • Für jedes Mitglied soll seitens des Administrators (also mir) eine Seite eingerichtet werden.
  • Unterhalb dieser vom Admin eingerichteten Seite (die ich hier mal als persönliche Startseite bezeichnen will) soll jeder Dozent so viele Seiten anlegen dürfen, wie er/sie benötigt, z.B. "Lehre", "Publikationen", "Materialien" etc.
  • Alle Studenten und sonstigen Besucher sollen die persönlich betreuten Bereiche der Dozenten einsehen dürfen, da dort Informationen liegen, die für alle zugänglich sind.
Im Endeffekt geht es darum, dass ich für einen Dozenten einen Useraccount im CMS anlege, eine persönliche Seite anfertige und der Dozent "unterhalb" dieser Seite eigene Seiten erzeugen und später natürlich auch pflegen kann.

Ich hoffe, die Infos reichen aus? Sonst werde ich gerne noch detaillierter.
Vielen Dank!
NaN

Re: Feineinstellung der Benutzerrechte

Post by NaN »

Hallo Flohbude,

willkommen im Forum!

Da hatte schonmal jemand im Englischsprachigen Forum nach einer ähnlichen Funktion gefragt.

Ich fürchte da wird man um die Modifikation einiger Core-Dateien des CMS nicht herumkommen.
(Im Prinzip dürften die Dateien, die für die Auflistung/Bearbeitung von Inhalten zuständig sind, nur den Besitzer/Zusätzlichen Bearbeiter einer Seite überprüfen. Irgendwie scheinen diese Einstellungen bisher aber keine Auswirkung zu haben.)

Eine andere Möglichkeit wäre, den Benutzergruppen generell die Benutzung des Bereichs "Inhalte->Seiten" zu verbieten (also kein Erstellen, Ändern von Seiten bzw. Seitenstruktur etc.) und stattdessen ein Modul zu kreieren, dass im Grunde nichts anderes macht, wie die Core-Dateien, jedoch dem Benutzer nur die Seiten anzeigt, denen er als Eigentümer zugeordnet ist.
Somit würden die lästigen Core-Modifikationen wegfallen.

Ich gehe mal davon aus, dass man Dir sowas nicht zumuten kann, oder?
Hatte schonmal angefangen sowas zu schreiben, aber aus Zeitmangel erstmal auf Eis gelegt.
Die Entwicklung von CMSms geht momentan recht schnell (zumindest komme ich kaum noch hinterher. bald kommt schon die 1.5.3 und ich bin gerade erstmal dabei meine Module für die 1.5.2 zu optimieren...  ::) ).
Ist bestimmt nur eine Frage der Zeit bis die Rechtevergabe der Benutzer überarbeitet wird.
Aber ich behalte die Idee mit dem Modul mal noch im Hinterkopf.
Mal sehen wann ich Zeit habe in meiner Schublade zu kramen.

Flohbude wrote:
(Und ich hoffe, meine Einlassung war nicht zu voluminös.)
Je mehr Infos, desto weniger "blöde Gegenfagen", wie z.B. welche Version, welches Modul... etc. ;)
Flohbude
New Member
New Member
Posts: 5
Joined: Tue Feb 17, 2009 12:59 pm

Re: Feineinstellung der Benutzerrechte

Post by Flohbude »

NaN wrote: Eine andere Möglichkeit wäre, den Benutzergruppen generell die Benutzung des Bereichs "Inhalte->Seiten" zu verbieten (also kein Erstellen, Ändern von Seiten bzw. Seitenstruktur etc.) und stattdessen ein Modul zu kreieren, dass im Grunde nichts anderes macht, wie die Core-Dateien, jedoch dem Benutzer nur die Seiten anzeigt, denen er als Eigentümer zugeordnet ist.
Somit würden die lästigen Core-Modifikationen wegfallen.
Da wir auf Grund der fehlenden Funktionalität nun ja "nur" hypothetisch brainstormen, fiele mir noch ein anderer Ansatz ein: Es würde genügen, wenn in der Dropdown-Liste "Übergeordnete Seite:" nur die Seiten angezeigt werden, die dem Eigentümer gehören. Ebenso auf der Seite, auf der man mittels der Pfeile die Seitenstruktur durch "verschieben" verändern kann.
NaN wrote:Ich gehe mal davon aus, dass man Dir sowas nicht zumuten kann, oder?
Ich habe schonmal die ein oder andere PHP-Zeile geschrieben ;-) Da es sich bei meinem Vorschlag um ein recht einfaches Ausschlusskriterium zu handeln scheint, könnte ich es ja mal probieren. Andererseits: Ich nutze das CMSms erst seit vier, fünf Tagen auf meinem lokalen Server und weiß überhaupt nicht, wo genau ich da ansetzen sollte. Aber das ließe sich ja relativ schnell ändern. Zumal das Problem speziell bei mir eher darin liegt, eventuelle Fehlbedienungen der Benutzer auszuschließen und keine potentiellen Hackerszenarios zu unterbinden.

Fazit: Es gibt diese Funktion nicht. Sie wird aber gebraucht und offensichtlich nicht nur von mir. Kann man sich dieses Feature irgendwo "wünschen"?
NaN

Re: Feineinstellung der Benutzerrechte

Post by NaN »

Hier: http://dev.cmsmadesimple.org/feature_request/list/6

(Mit Deinem Forumslogin dort anmelden. In englisch. Und vorher schauen, obs nicht evtl. schon auf dem Wunschzettel steht.)
Last edited by NaN on Tue Feb 17, 2009 10:59 pm, edited 1 time in total.
Flohbude
New Member
New Member
Posts: 5
Joined: Tue Feb 17, 2009 12:59 pm

Re: Feineinstellung der Benutzerrechte

Post by Flohbude »

Volltreffer!

Die Wishlist war ergiebiger als erwartet. Unter http://dev.cmsmadesimple.org/feature_request/view/1856 wünschte sich ein User genau das, was ich wollte: "Add new sub pages only to pages where you have edit permission". Das Beste hierbei ist der Code, den er gleich mitlieferte. Ein quick-n-dirty patchen der entsprechenden Datei unter /lib/classes brachte auch schon den ersten Erfolg! Es werden dem User nur "seine" Seiten angezeigt, ergo also nur ein Unterordnen unter die höchste in der Hierarchie gestattet.

(Sollte das alles etwas wirr klingen: Hier treffen Übermüdung und Freude aufeinander.)

Ich werde das Ganze morgen mal durchtesten.
Vielen Dank für die Hilfe!
Post Reply

Return to “Installation und Einstellungen”