WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 01.03.2023 12:11:55

tsv
Mitglied

[gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

Wenn sich Benutzter im Backend einloggen, ist es ja kein Problem die Berechtigungen durch Gruppen in der Benutzerverwaltung einzuschränken. Allerdings werden diesen Benutzern trotzdem alle Seite des Projekts angezeigt (wenn auch ohne Bearbeitungs- und Auswahlmöglichkeit).

Gibt es eine Einstellung, mit der dem Benutzer auch nur die Seiten angezeigt werden, die er bearbeiten darf?
Dies würde für wesentlich mehr Übersichtlichkeit bei den Benutzern sorgen.

Beitrag geändert von florian (04.03.2023 08:52:53)


WBCE Version: 1.6.0  /  PHP Version: 8.1.15  /  Template: Deizerr 0.7
Wichtig ist es nicht, dass man es schon kann, sondern das man einfach erst einmal anfängt!

Offline

#2 01.03.2023 21:50:14

florian
Administrator

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

Das liegt an der Seitenbaumlogik, das lässt sich nicht abstellen. Hintergrund ist aber auch, dass es ja sein kann, dass jemand nur auf bestimmte Unterseiten Zugriff hat, und die würden sonst ja frei schwebend in der Luft hängen ;-)


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#3 02.03.2023 09:46:37

tsv
Mitglied

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

OK. Kann ich nachvollziehen, auch wenn es für mich sehr nützlich wäre  wink


WBCE Version: 1.6.0  /  PHP Version: 8.1.15  /  Template: Deizerr 0.7
Wichtig ist es nicht, dass man es schon kann, sondern das man einfach erst einmal anfängt!

Offline

#4 02.03.2023 19:23:19

webbird
Administrator

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

Mit einem etwas "intelligenteren" Seitenbaum könnte man zumindest die Seiten hervorheben, auf die ein Benutzer Ändern-Rechte hat. Z.B. indem alle anderen in Kursivschrift o.ä. dargestellt werden. Ich weiß aber nicht, ob der derzeitige Page Tree das hergibt. Ansonsten ist das Kernproblem tatsächlich, dass man in einer Baumstruktur das Problem hätte, dass man die Unterseite, auf die man Rechte hätte, gar nicht erreichen kann, wenn man "oben drüber" eben keine Rechte hat. Das ist in Verzeichnisbäumen unter Windows oder Linux ähnlich.

Was ich mir alternativ vorstellen könnte, wäre ein Admin Tool. Da könnten einem Anwender Links auf die Seiten angeboten werden, auf die er Zugriff hat - dann eben nicht als Baum, sondern als reine Linkliste. Keine Ahnung, ob das in Frage käme. Ein solches Admin Tool gibt es allerdings m.W. derzeit noch nicht und müßte vermutlich kostenpflichtig beauftragt werden, sofern sich nicht jemand berufen fühlt, das aus reiner Freude am Programmieren zu bauen. wink


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Online

#5 02.03.2023 21:29:52

bernd
Developer

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

Mit einem etwas "intelligenteren" Seitenbaum könnte man zumindest die Seiten hervorheben, auf die ein Benutzer Ändern-Rechte hat. Z.B. indem alle anderen in Kursivschrift o.ä. dargestellt werden. Ich weiß aber nicht, ob der derzeitige Page Tree das hergibt.

Das gibt er her!
Hab's grade mit argos_reloaded ausprobiert. Sollte aber mit wbce_flat ähnlich zu realisieren sein.
in der page_tree.php (function renderPageTree) werden ja ohnehin schon die Berechtigungen verwurschtelt um die Links/Icons zum Bearbeiten, etc. anzuzeigen
Da könnte man - ganz primitiv mal nur auf die Editierrechte bezogen einen Einzeiler reinhängen

$noPermStyle = ($canModifyPage === false) ? 'style="font-style:italic;"' : 'style="font-weight:bold;"';

und dann die <table class="pages-view" ...
so erweitern:

<table class="pages-view" cellspacing="0" cellpadding="0" border="0" <?php echo $noPermStyle; ?> >

Dann wären alle nicht-editierbaren Einträge kursiv und die editierbaren fett dargestellt.


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

Liked by:

berny, jean, florian, webbird

#6 02.03.2023 21:50:38

berny
Mitglied

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

Ich verstehecdas problem, es könnte ja sein, dass ich als Seitenbetreiber zB nicht will, dass der Redakteur die Titel der anderen Seiten sieht.

Kann man hier nicht einfach den Titel deaktivieren?
Beim Auslesen der Berechtigungen werden ja auch die Edit Symbole nicht angezeigt.

wäre das eine Überlegung für nächste Versionen?

Ob ein übergeordneter Ordner ohne Titel angezeigt wird, wäre ja dann egal.

Gehts eigentlich eh nur um den Titel, andere Informationen gibt es ja nicht, oder?

Ausgrauen oder kursiv ist auf jeden Fall schon ein guter Ansatz.

Offline

#7 02.03.2023 22:06:49

bernd
Developer

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

Also Titel ausblenden fände ich schon arg suboptimal.
Der Page-Tree bildet ja im Prinzip die Menu-Struktur im Frontend ab. Da fällt mir beim besten Willen eigentlich kein Szenario ein bei dem ein Redakteur die anderen Seitentitel nicht sehen können sollte.
Und für die Übersichtlichkeit wäre das auch nicht wirklich förderlich.
Folgendes Szenario:
Lieber Redakteur du kümmerst dich um die Unterseite "Mein toller Inhalt".
Das ist eine Unterseite von "" ("" = Titel ausgeblendet)
Und dann hat man z.B. im Root 10 Seiten mit ausgeblendetem Titel devil


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

Liked by:

florian, webbird

#8 03.03.2023 10:55:41

webbird
Administrator

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

bernd schrieb:

Da könnte man - ganz primitiv mal nur auf die Editierrechte bezogen einen Einzeiler reinhängen

$noPermStyle = ($canModifyPage === false) ? 'style="font-style:italic;"' : 'style="font-weight:bold;"';

Ich würd's mit CSS-Klassen machen, aber genau so hatte ich mir das vorgestellt. thumb_up


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Online

#9 03.03.2023 12:25:20

tsv
Mitglied

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

Ich habe das mal ausprobiert, allerdings ist bei mir dann alles fett und nicht nur die Seiten mit Berechtigung?
Habe ich vielleicht die beiden Zeilen falsch eingefügt?

function draw_pagetree($pages_list)
{
    $noPermStyle = ($canModifyPage === false) ? 'style="font-style:italic;"' : 'style="font-weight:bold;"';
    global $admin, $database, $use_working_copy, $icons_dir, $TEXT, $HEADING, $MESSAGE, $statusMap;
    $siblings = count($pages_list);
// ! relevant table cell for drag'n'drop sorting: #7 (0-indexed) !

        ob_start();
        ?>
        <li class="p{PARENT}">
            <table class="pages-view" cellspacing="0" cellpadding="0" border="0" <?php echo $noPermStyle; ?> >
                <tr>

WBCE Version: 1.6.0  /  PHP Version: 8.1.15  /  Template: Deizerr 0.7
Wichtig ist es nicht, dass man es schon kann, sondern das man einfach erst einmal anfängt!

Offline

#10 03.03.2023 17:25:25

bernd
Developer

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

@webbird:
wenn es fest integriert wird, dann ist es mit Klassen natürlich schicker.
Das sollte jetzt mal nur für ein schnelles Ergebnis ohne viel Editieraufwand sorgen.

@tsv
hab das vielleicht bischen undeutlich formuliert.
Die Zeile gehört natürlich nicht direkt an den Anfang der Funktion. Sie muss an einer Stelle stehen nachdem die ganzen Berechtigungen bearbeitet sind. Beim argos_reloaded ist das so ca. Zeile 120

Ergänzung:
wobei man in der Praxis evtl. auf die Fett-Formatierung für bearbeitbare Seiten verzichten sollte.
Bewirkt die doch das dann z.B. für den Admin alle Seiten in fett dargestellt werden.

Beitrag geändert von bernd (03.03.2023 17:54:35)


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

Liked by:

webbird

#11 03.03.2023 20:01:47

webbird
Administrator

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

Fett/kursiv waren ja auch eher beispielhaft, da gibt es beliebig viele Optionen. big_smile Es soll sich ja nur optisch von den anderen Links unterscheiden, damit man den Leuten sagen kann: "Die Seiten, die Du bearbeiten kannst, sehen so aus, wenn [die Schrift kursiv|der Text rot|der Text grau|whatever...] ist, hast Du da keine Rechte."

Ich möchte noch darauf hinweisen, dass solche optischen Anpassungen natürlich auch immer voraussetzen, dass die Beteiligten keine Sehschwäche haben. Wenn man z.B. Leute mit rot-grün-Schwäche dabei hat, ist "roter Text" keine geeignete Hervorhebung. Auf Basis von bernds Beispiel kann man aber mit ein bißchen Phantasie noch viel mehr machen, z.B. auch den Bearbeiten-Link weglassen, einen zusätzlichen Text vor oder hinter den Seitennamen stellen, mit aria-Attributen arbeiten (werden von Screenreadern ausgewertet), etc. Bei einer kleinen Gruppe von Benutzern, innerhalb derer man das klären kann, kann ein einfaches Hervorheben mit Farbe oder Kursivschrift aber vollkommen ausreichend sein.

Das ist dann auch genau der Punkt, wo ich damit hadere, so eine Funktion standardmäßig in den page tree einzubauen. Da hat dann ja wieder jeder eine andere Meinung und mit anderen Ansprüchen und Besonderheiten zu tun, das führt dazu, dass man letztlich nie eine Lösung findet, die allen gerecht wird. Da ist es dann besser, das bei Bedarf in Form von Customizing einzubauen. Dabei muss man dann nur dran denken, dass das nach einem Update weg ist und neu eingebaut werden muss.


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Online

#12 03.03.2023 20:48:28

bernd
Developer

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

@webbird:
durchaus valide Argumente!

Damit der Benutzy nicht im Quelltext des page_tree rumfummeln muss, könnte man als Kompromis das Setzen einer entsprechenden Klasse standardmäßig einbauen und diese halt im .css unformatiert lassen.
Dann könnte man bei einer Frage wie der des OP einfach sagen "ne geht so nicht aber du kannst die inaktiven Seiten per CSS in der Klasse 'xyz' entsprechend formatieren" ...


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#13 03.03.2023 21:08:07

ruebezahl
Mitglied

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

Das ist eigentlich recht einfach:
Jeder <li> im Pagetree hat eine ID jsadmin_id_3[PAGE_ID], mit der man die Zeile anfassen kann.
Zusätzlich gibt es auch die KLassen im <tr> is-hidden usw.
Wenn ich jetzt noch irgendwo eine JS-Liste mit allen PAGE_IDs habe, die der User (nicht) bearbeiten darf, kann ich per jQuery durchgehen und eine weitere Class anhängen.
Mit ein wenig Custom-CSS kann ich dann machen, was ich will.

Offline

#14 04.03.2023 02:22:52

bernd
Developer

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

Naja Chio,
ganz so einfach ist das nicht, wenn man dadurch jemanden nicht - bedingt durch den Seitenbaum - den Zugang zu einer untergeordneten Seite verbauen will. Da ist es mit bischen "is-hidden" oder was auch immer nicht getan, da muss deutlich mehr Gehirnschmalz dahinter.


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#15 04.03.2023 08:49:25

florian
Administrator

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

Ich würde da nicht zu viel Aufwand betreiben, weil sich über kurz oder lang Änderungen an der Pagetree-Implementierung ergeben werden. Ein hart verdrahteter Style ist vollkommen ausreichend, habe ich jetzt gleich mal noch für die 1.6.0 mit vorgesehen.

attachment.php?item=3397&download=1
attachment.php?item=3399&download=1

(Die is-hidden-Klassen gibt es übrigens nicht mehr, da ein freidrehendes Browser-Datenschutz-Plugin sich davon angesprochen fühlte und dann auch diese Seiten im Backend versteckt hat. Im übrigen hatte is-hidden nichts mit den Zugriffsrechten zu tun, sondern dem Frontend-Sichtbarkeitsstatus der Seite)

Beitrag geändert von florian (04.03.2023 08:52:26)


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

stefanek, berny, webbird

#16 05.03.2023 04:50:26

bernd
Developer

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

@florian:
will ja nicht meckern ... aber wenn schon hartverdrahtet, würde ich eine Klasse besser finden, weil:
wenn dem Anwender der Style doch nicht gefällt muss er nur im .css die Klasse anders gestalten und nicht in der page_tree.php rumfummeln um den style zu ändern ...

Beitrag geändert von bernd (05.03.2023 08:22:31)


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#17 06.03.2023 07:25:22

tsv
Mitglied

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

florian schrieb:

Ich würde da nicht zu viel Aufwand betreiben, weil sich über kurz oder lang Änderungen an der Pagetree-Implementierung ergeben werden.

Dann warte ich mal gespannt die nächste Version ab smile

(vielleicht kann man ja trotzdem alle Seiten ohne Zugriff ausblenden und halt nur die darstellen die notwendig sind, weil es sich um eine berechtigte Unterseite handelt?)


WBCE Version: 1.6.0  /  PHP Version: 8.1.15  /  Template: Deizerr 0.7
Wichtig ist es nicht, dass man es schon kann, sondern das man einfach erst einmal anfängt!

Offline

#18 06.03.2023 08:03:16

florian
Administrator

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

(vielleicht kann man ja trotzdem alle Seiten ohne Zugriff ausblenden und halt nur die darstellen die notwendig sind, weil es sich um eine berechtigte Unterseite handelt?)

Nicht in absehbarer Zeit, dafür müsste die Pagetree-Logik komplett umgestrickt werden.

will ja nicht meckern ... aber wenn schon hartverdrahtet, würde ich eine Klasse besser finden, weil:
wenn dem Anwender der Style doch nicht gefällt muss er nur im .css die Klasse anders gestalten und nicht in der page_tree.php rumfummeln um den style zu ändern ...

Ich schau mir an, ob das geht, aber das wird vermutlich nicht so ohne weiteres möglich sein bzw. auf ein !important-Gewitter hinauslaufen.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#19 06.03.2023 13:06:24

webbird
Administrator

Re: [gelöst] Eingeschränkter Zugriff zeigt (eigentlich nutzlos) alle Seiten

Ich find's hartverdrahtet erst mal okay. Mit der Argumentation "...und wenn es dann jemandem nicht gefällt..." könnte man ja alles wegbügeln. wink Es soll ja auch nicht für alle Zeiten so bleiben, sondern eine Zwischenlösung sein, und da muss man mit dem Aufwand ja nicht gleich übertreiben.


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Online

Fußzeile des Forums

up