WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 29.01.2024 18:06:16

isd17
Mitglied

Mehrere Benutzer gleichzeitig bearbeiten eine Seite. Hinweis?

Wenn man mehrere Benutzer für das Backend angelkegt hat und diese gleichzeiteig Seiten bearbeiten, gibt es dann die Möglichkeit, dass ein Hinweis erscheint für Benutzer "A", das Benutzer "B" gerade die aktuelle Seite bearbeitet?

Offline

#2 29.01.2024 18:56:32

stefanek
Core-Team

Re: Mehrere Benutzer gleichzeitig bearbeiten eine Seite. Hinweis?

Nein, dafür gibt es derzeit keine Mechanismen.


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#3 29.01.2024 18:58:16

webbird
Administrator

Re: Mehrere Benutzer gleichzeitig bearbeiten eine Seite. Hinweis?

Das ist ganz schwierig. Benutzer B kann ja während des Bearbeitens die Lust verlieren, einen langen Spaziergang machen, oder gleich 3 Wochen in Urlaub gehen. HTML ist ein statusloses Protokoll, der Server bekommt nie mit, ob z.B. der Browser geschlossen wird. Also woran soll man erkennen, dass Benutzer B fertig ist? Kann man nicht. Das einzige halbwegs sichere Kriterium wäre, wenn der Benutzer seine Session beendet, also sich abmeldet - aber wer macht das schon.

Also nein, man kann keinen solchen Hinweis einblenden, und es wäre schwierig, dafür Kriterien zu definieren. Die einzige Option wäre, ein Flag zu setzen, das nach einer bestimmten Zeit wieder zurückgesetzt wird. Das bedeutet dann aber noch lange nicht, dass Benutzer B dann nicht trotzdem noch Stunden später seine Änderungen speichert und damit die von Benutzer A überschreibt.


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

Offline

Liked by:

florian

#4 29.01.2024 19:40:15

florian
Administrator

Re: Mehrere Benutzer gleichzeitig bearbeiten eine Seite. Hinweis?

In der Tat, ich hatte auch kurz überlegt, was man da machen könnte. Es ist wirklich nicht machbar. Zum einen kennt WBCE keinen Status "gesperrt", man müsste da also irgendwie mit den Gruppenzugriffsrechten herumwürgen. Zum anderen ginge es zwar möglicherweise noch, durch eine entsprechende Anpassung des Backendthemes beim Laden einer Seite im Backend einen wie auch immer gearteten "In Bearbeitung"-Flag zu setzen, aber wie ihn wieder aufheben? Die "Speichern" bzw. "Speichern und Zurück"-Schaltflächen hängen ja an den Modulen. Das heißt, selbst wenn - rein theoretisch - in das WYSIWYG-Modul eine "Sperre jetzt aufheben"-Funktion mit der "Speichern und Zurück"-Schaltfläche verknüpft würde, wäre das nur die halbe Miete (bzw. 1/10 Miete), weil dies ja dann auch bei sämtlichen weiteren Modulen, die sich möglicherweise mit auf der fraglichen Seite befinden, eingebaut werden müsste.
Also, kurzum, es ist blöd, aber wirklich nicht zu ändern.
Ein Workaround könnte eventuell sein, das Postits-Modul zu implementieren und darüber den anderen Bescheid zu sagen "Hallo, ich bearbeite jetzt gerade die Seite "Über uns", Finger weg" o.ä.


Wir Benötigen: Cents, Euros... jetzt spenden!

Offline

Liked by:

webbird, mk70

#5 29.01.2024 22:09:11

stefanek
Core-Team

Re: Mehrere Benutzer gleichzeitig bearbeiten eine Seite. Hinweis?

Ja, richtig schwierig.

Was ansatzweise helfen könnte, wäre, einen Hinweis der zuletzt eingeloggten Nutzer darzustellen.
Das sagt zwar nichts darüber aus, ob eine bestimmte Seite bearbeitet wird, aber zeigt an, dass andere Nutzer auch grade im Backend sind.

webbird schrieb:

Das einzige halbwegs sichere Kriterium wäre, wenn der Benutzer seine Session beendet, also sich abmeldet - aber wer macht das schon.

Verfällt die session nicht nach einiger Zeit?


Gruß,
Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#6 29.01.2024 22:54:49

mrbaseman
Core-Team

Re: Mehrere Benutzer gleichzeitig bearbeiten eine Seite. Hinweis?

florian schrieb:

Ein Workaround könnte eventuell sein, das Postits-Modul zu implementieren und darüber den anderen Bescheid zu sagen "Hallo, ich bearbeite jetzt gerade die Seite "Über uns", Finger weg" o.ä.

Das Hints-Modul zielt auch in diese Richtung. Man kann entweder auf der Startseite zentral oder auf jeder einzelnen Seite eine Hints-Section hinzufügen, die im Frontend nicht angezeigt wird. Im Backend kann man dort Hinweise an die Coautoren hinterlegen, was z.B. Vorschläge sein können, was an der jeweiligen Seite noch zu tun ist, oder Erklärungen zu den verwendeten Modulen, oder eben auf diesen Anwendungsfall zugeschnitten die Aufforderung an alle anderen "Diese Seite nicht bearbeiten, ich bin gerade dran folgendes umzusetzen: blabla, Gruß XY" - und das könnte da auch 2 Wochen lang stehen, wenn XY gerade nicht dazu kommt, das umzusetzen, aber irgendwann wird er sich dann hinsetzen und darauf hoffen, dass ihm in der Zwischenzeit niemand dazwischen gefunkt hat... Damit das funktioniert, bedarf es allerdings einiger Absprachen, dass alle ihre geplanten Änderungen hinterlegen, diese dann auch zeitnah durchführen und schließlich den Änderungshinweis wieder zurücknehmen, und dass alle anderen erstmal einen Blick auf die Hinweise werfen, bevor sie anfangen eine Seite zu ändern.

stefanek schrieb:

Verfällt die session nicht nach einiger Zeit?

Ja, Nach 2 Stunden Inaktivität würde die Session auslaufen.

Trotzdem , wenn jemand die Seite im Backend öffnet, dann kann diese ja mehrere Sections beinhalten. Welche davon bearbeitet der Kollege nun? Man müsste alle Sections irgendwie als "In Bearbeitung" markieren. Quasi mit dem Aufruf der modify.php eines jeden Moduls wird sie für den aktuellen User als "in Bearbeitung" markiert, und alle anderen würden eine Nachricht angezeigt bekommen. Das ginge noch dort, wo die modify.php aufgerufen wird.
Nun klickt er in einer der Sections auf "Speichern", damit müssten alle Sections auf dieser Seite wieder frei gegeben werden.... Nein, das dürften sie nicht, denn nach dem Speichern landet man ja erneut auf der Bearbeiten-Ansicht der aktuellen Section (es sei denn der Nutzer hat "Speichern & zurück" geklickt). Man könnte aber auch weiter navigieren im Backend. Dementsprechend müssten alle Backend-Aufrufe (z.B. auch ein Klick auf die Medienverwaltung) die bisherigen Sperrungen wieder aufheben und ggf. neue setzen.
Die nächste Frage wäre, was macht man mit dem Nutzer, dem man einen Hinweis eingeblendet hat, dass die aktuelle Seite gerade in Bearbeitung ist? Zeigt man ihm trotzdem wie bisher die Bearbeitungs-Ansicht? Dann hat auch er die Chance, Änderungen vorzunehmen, und man muss dritte davor warnen, dass die Seite gerade von 2 Personen bearbeitet wird. Was, wenn man die Bearbeiten-Ansicht gar nicht mehr präsentiert und die Leute das Browser-Fenster einfach schließen? Dann müssen alle anderen 2 Stunden warten um diese Seite überhaupt wieder bearbeiten zu können.
Ich stimme euch zu, dass eine technische Lösung sehr schwierig ist und viele Fragen aufwirft. Eine gute Organisation der Autoren, unterstützt durch Module, die die Abstimmung erleichtern, halte ich in dem Fall auch für den Weg, den man einschlagen sollte.

Offline

#7 30.01.2024 00:40:05

stefanek
Core-Team

Re: Mehrere Benutzer gleichzeitig bearbeiten eine Seite. Hinweis?

Hallo Martin,

danke.

Meine Idee bezog sich auf einen schlichten Hinweis, dass noch andere Benutzer im Backend sind. Nicht mal notwendigerweise auf welcher Seite sie sich befinden.
Ist nur ein wenig hilfreich, aber mehr als gar nichts.
Sieht man, dass jemand anderes auf der Seite ist kann man dann entweder ihn auf anderen Wegen kontaktieren oder erstmal nichts machen.

Eine andere Idee, Section basiert, wäre ein "Lock-Flag" für die Section, die man bearbeiten will, zu setzen.

In der Datenbank würde gespeichert:
  | section_id | user_id | when_locked |

Geht ein anderer User in die Seite im Backend sieht er statt der Section einen Hinweis "Diese Seite wurde am, um, von zum Bearbeiten gelockt".
(Beispiel-Phrasen).

Nur der User der die Lock-Flag gesetzt hat kann sie wieder entsperren. Oder "SuperAdmin".
Versucht man eine gerade von jemand anderem gelockte Section zu locken erhält man den Hinweis, dass sie grade von einem anderen User gelockt wurde.

Was meint ihr?
Wäre das praktikabel?

EDIT/P.S.
Es Section basiert zu machen würde bedeuten, dass es dieser Funktionalität egal ist, um welchen Section-Modul-Typ es sich handelt.
statt der modify.php würde dann einfach nur ein Hinweis eingeblendet werden (für andere). Im Frontend würde einfach alles funktionieren wie bisher.
Der lockende User der die Section bearbeitet würde zusätzlich einen Hinweis dargestellt bekommen, als Erinnerung, dass diese Section für andere gelockt ist.

Gruß,
Christian

Beitrag geändert von stefanek (30.01.2024 14:00:29)


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#8 01.02.2024 12:28:04

webbird
Administrator

Re: Mehrere Benutzer gleichzeitig bearbeiten eine Seite. Hinweis?

stefanek schrieb:

Verfällt die session nicht nach einiger Zeit?

Sicher, aber davon kriegt der Server ja nichts mit. Die in WBCE eingestellte Sessionzeit wirkt sich nur auf den Cookie aus, der wird irgendwann ungültig und man muss sich neu anmelden. Auf der Serverseite ist es aber der Garbage Collector, der irgendwann veraltete Sessions aufräumt. Und "irgendwann" ist ernst zu nehmen, wann das genau ist, ist nämlich schwer zu sagen. Und WBCE kriegt davon auch nichts mit. Dazu müßte es sich für jeden User dessen SessionID merken und bei jedem Zugriff alle Sessions abklappern und schauen, ob die noch im entsprechenden Verzeichnis existieren.

Aber ich glaube, WBCE hat inzwischen DB-basierte Sessions? Dann hat es das natürlich etwas mehr im Griff. Ist trotzdem noch schwierig. Im Prinzip müßte man dann einen eigenen Garbage Collector bauen, der abgelaufene Sessions wegräumt und dann auch damit zusammenhängende "zur Bearbeitung gesperrte" Sektionen wieder frei macht. Da WBCE eher selten für richtig viele Admins zum Einsatz kommt, ist das eine Frage von Aufwand und Nutzen. Also wie vielen Endanwendern bringt das wirklich was und lohnt es sich dafür, viele Stunden Konzeption und Entwicklung aufzubringen.


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

Offline

#9 01.02.2024 12:34:32

webbird
Administrator

Re: Mehrere Benutzer gleichzeitig bearbeiten eine Seite. Hinweis?

stefanek schrieb:

Eine andere Idee, Section basiert, wäre ein "Lock-Flag" für die Section, die man bearbeiten will, zu setzen.

Das wäre ein gangbarer Ansatz. Wichtig bleibt die Frage, wie man später "vergessene" Locks wegräumt. Ich hab jetzt nicht nachgeschaut, wie WBCE das aktuell mit den Sessions handhabt, aber wenn ein eigener Session Handler vorhanden ist, hat man damit einige Möglichkeiten. Man könnte beim Lock die SessionID hinterlegen, zu der es gehört, und beim Löschen der Session das Lock mit entfernen. Das setzt voraus, dass der Session Handler einen sauber implementierten Garbage Collector hat.

Einen Punkt wollte ich noch in den Raum werfen: Das Frustpotenzial des Anwenders. Da will man vielleicht "mal eben" eine "wichtige Änderung" vornehmen und dann ist die Sektion von einem anderen Admin gesperrt. Man weiß nicht, was der gerade macht, ob der überhaupt gerade was macht, wie lange er noch dafür braucht... Ihr könnt das sicher selber weiter spinnen. wink Natürlich gibt es umgekehrt auch eine Menge Frust, wenn die eigenen Änderungen von einem anderen überschrieben werden, der parallel an derselben Sektion arbeitet, ohne dass man es weiß.

Auf jeden Fall sollte so ein Feature IMHO deaktivierbar sein. Sprich optional.


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

Offline

Liked by:

stefanek

#10 01.02.2024 16:23:36

isd17
Mitglied

Re: Mehrere Benutzer gleichzeitig bearbeiten eine Seite. Hinweis?

Holla, so viel Aufruhr und Text auf meine Frage.
Habe verstanden, dass es komplizierter ist als ich dachte.

Der Tipp mit Post-it oder dem Hints-Modul ist aber nicht schlecht. Das werde ich mal weiter verfolgen.

Offline

#11 01.02.2024 20:02:00

stefanek
Core-Team

Re: Mehrere Benutzer gleichzeitig bearbeiten eine Seite. Hinweis?

isd17 schrieb:

Holla, so viel Aufruhr und Text auf meine Frage.
Habe verstanden, dass es komplizierter ist als ich dachte.

Der Tipp mit Post-it oder dem Hints-Modul ist aber nicht schlecht. Das werde ich mal weiter verfolgen.

Ja, ein Thema über das wir uns schon öfter Gedanken gemacht haben. Deswegen ist es so aus uns herausgesprudelt  lol


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

Liked by:

mk70, bernd

#12 01.02.2024 20:10:33

stefanek
Core-Team

Re: Mehrere Benutzer gleichzeitig bearbeiten eine Seite. Hinweis?

webbird schrieb:

Einen Punkt wollte ich noch in den Raum werfen: Das Frustpotenzial des Anwenders. Da will man vielleicht "mal eben" eine "wichtige Änderung" vornehmen und dann ist die Sektion von einem anderen Admin gesperrt. Man weiß nicht, was der gerade macht, ob der überhaupt gerade was macht, wie lange er noch dafür braucht... Ihr könnt das sicher selber weiter spinnen. wink

Ja, das stimmt. Es ist halt nicht perfekt.
Es könnte noch eine Kolumne dazu gedacht werden

  | section_id | user_id | when_locked | message


Da könnte man dann eine Nachricht mit dem Grund hinterlassen, warum die Section gesperrt wurde.

webbird schrieb:

Natürlich gibt es umgekehrt auch eine Menge Frust, wenn die eigenen Änderungen von einem anderen überschrieben werden, der parallel an derselben Sektion arbeitet, ohne dass man es weiß.

Ja, oft kriegt man es dann auch gar nicht mit.


webbird schrieb:

Auf jeden Fall sollte so ein Feature IMHO deaktivierbar sein. Sprich optional.

Ja, das definitiv.
Lass uns das mal für die 2er Reihe andenken.

Gruß,
Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#13 02.02.2024 08:23:42

berny
Mitglied

Re: Mehrere Benutzer gleichzeitig bearbeiten eine Seite. Hinweis?

Ich kenn das jetzt nur von Joo...
Da gibt es einfach einen Flag in der Übersicht, kann auch der eigene User sein.

Ein Admin kann diesen löschen.

Es reicht ja zu wissen, dass jemand was bearbeitet, dann muss man halt miteinander kommunizieren.

Offline

Liked by:

stefanek

#14 02.02.2024 17:29:07

florian
Administrator

Re: Mehrere Benutzer gleichzeitig bearbeiten eine Seite. Hinweis?

@berny - Man darf hier durchaus auch Begriffe wie Joomla, Wordpress oder Typo3 ausschreiben.

Danke für Eure Überlegungen zu diesem Thema. Vielleicht mag wer einen Issue dazu aufmachen, damit es nicht in Vergessenheit gerät, und das dann für den Meilenstein 2.0 aufs Backlog setzen.
Davon abgesehen würde ich dann vorschlagen, es hiermit erst einmal bewenden zu lassen. Es sind gute und wichtige Überlegungen und Ideen geäußert worden, die dann zum gegebenen Zeitpunkt wieder aufgegriffen werden können.


Wir Benötigen: Cents, Euros... jetzt spenden!

Offline

Liked by:

mk70, berny, stefanek

#15 19.02.2024 01:15:08

mrbaseman
Core-Team

Re: Mehrere Benutzer gleichzeitig bearbeiten eine Seite. Hinweis?

Bitte schön: ich hab Issue #555 dazu aufgemacht  smile

Offline

Liked by:

florian

Fußzeile des Forums

up