Sperre eines Artikels

Ideen für neue Funktionen in CONTENIDO?
Antworten
Dinkel
Beiträge: 565
Registriert: Di 22. Mär 2005, 14:52
Kontaktdaten:

Sperre eines Artikels

Beitrag von Dinkel » Mo 20. Apr 2009, 11:45

Wenn Benutzer A einen Artikel editiert und Benutzer B will den gleichen Artikel auch bearbeiten, dann erscheint ja die Meldung ala "Artikel wird von Benutzer A benutzt". Dazu habe ich nun meine Fragen:

1.
Wenn der Browser von Benutzer A abschmiert/geschlossen wird/etc, dann wird die Sperre ja irgendwann aufgehoben. Aber nach welcher Zeit ist das? (die Zeit nenne ich nachfolgend Zeit X)

2.
Wenn Benutzer A den Artikel länger editiert als Zeit X und auch nicht zwischenspeichert, was passiert dann? Kann Benutzer B diesen Artikel dann dennoch bearbeiten? Das würde dann bedeuten, dass der User "gewinnt", der zuletzt speichert.
selbstentwickelte Module:
Downloads und Infos zu den Modulen: gibt es hier.
Modul: Forum | Version 0.9 | getestet: 4.6.24 MR, 4.8.11, 4.8.11 AMR
Modul: Galleriffic | Version: 0.3.4 BETA | getestet: 4.8.11, 4.8.11 AMR, 4.8.12, 4.8.12 AMR
Modul: Metadata | Version: 2.0 | getestet: 4.9.7, 4.9.7 AMR
Modul: Slider Gallery | Version: 1.0 | getestet: 4.9.12 AMR
Modul: Up- & Download | Version: 4.1 | getestet: 4.9.12 AMR

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

Re: Sperre eines Artikels

Beitrag von _wiewo_ » Mo 20. Apr 2009, 12:23

gilt zeit x nicht genau wie der login ausem contenidobackend?
wenn der auf speichern klicken würde käme der login zum backend

interessant wirds natürlich wenn er dann vor dem speichern nochmal nen neuen tab öffnet und sich einloggt mit der alten sessionid, da ging ja irgendwie was
dann ist das ne berechtigte frage :) würd mich auch mal interessieren

Oldperl
Beiträge: 4254
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Sperre eines Artikels

Beitrag von Oldperl » Mo 20. Apr 2009, 12:41

  1. Sollte dem Sessiontimeout entsprechen, bin ich mir aber nicht sicher.
  2. Wenn dem so ist, passiert nix, und zwar rein garnix, mit Speichern bei Mister A, weil er nämlich gesagt bekommt, er habe zu lange gebraucht und müsse sich neu einloggen und auch nix gespeichert wird.
Ich würde da für eine nächste Version von Contenido fast ein automatisches Speichern vorsehen, bzw. eine Ajaxfunktion die beim Editieren eines Artikels das Timeout verlängert, solange der Frame noch im Browser aufgerufen ist.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Dinkel
Beiträge: 565
Registriert: Di 22. Mär 2005, 14:52
Kontaktdaten:

Re: Sperre eines Artikels

Beitrag von Dinkel » Mo 20. Apr 2009, 13:16

Das fände ich eine super Erweiterung!
selbstentwickelte Module:
Downloads und Infos zu den Modulen: gibt es hier.
Modul: Forum | Version 0.9 | getestet: 4.6.24 MR, 4.8.11, 4.8.11 AMR
Modul: Galleriffic | Version: 0.3.4 BETA | getestet: 4.8.11, 4.8.11 AMR, 4.8.12, 4.8.12 AMR
Modul: Metadata | Version: 2.0 | getestet: 4.9.7, 4.9.7 AMR
Modul: Slider Gallery | Version: 1.0 | getestet: 4.9.12 AMR
Modul: Up- & Download | Version: 4.1 | getestet: 4.9.12 AMR

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Sperre eines Artikels

Beitrag von GaMbIt_ » Mo 20. Apr 2009, 13:51

Ich habe mal die Erfahrung gemacht dass die Sperre weit über die Sessionzeit hinaus geht...

- Habe als Administrator einen Artikel bearbeitet.. gespeichert, war aber noch im Editor...
- Bin Essen gegangen.. ca. 2 Stunden später war ich wieder am Contenido...
- Session Zeit Abgelaufen...
- Nach dem Login den selben Artikel aufgerufen und siehe Da.. die Sperre war aktiv, die Meldung lautete dass der Artikel vom Benutzer (Ich) bearbeitet wird...
Als Sysadmin kein Problem die Sperre zu übergehen... Aber die User werden da wohl Probleme bekommen..

Die Frage dazu wäre jetzt..
Hätte ich mich nach der abgelaufenen Session und dem erneuten Anmelden wieder manuell abgemeldet.. wäre die Sperre dann auch verschwunden?

Damit könnte ja jeder leben..

Ich habs aber glücklicherweise erst einmal bei einem Kunden gehabt... und dieser hat eben angerufen dass eine Sperre auf einem Artikel liegt..
Als Admin kurz entsperrt und alles war wieder in Ordnung... Ich könnte mir aber auch vorstellen dass das ein ziemliches Geraffel wird wenn das häufiger auftritt.
Nützliche Contenido Infos gibts hier: Contenido Wiki

Oldperl
Beiträge: 4254
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Sperre eines Artikels

Beitrag von Oldperl » Mo 20. Apr 2009, 14:07

Ich habs mal zum Prüfen und Überdenken in Feature Requests verschoben, Denke man sollte sich da mal ernsthaft drum kümmern. Wenn das so ist wie GaMbIt_ es beschreibt, kann das kein haltbarer Zustand sein/bleiben.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Sperre eines Artikels

Beitrag von idea-tec » Mo 20. Apr 2009, 14:08

ich kann das von GaMbIt_ bestätigen
mir passiert das dauernd, da ich viel redaktionelle arbeit meiner kunden übernehme und dazwischen immer mal das telefon klingelt, supports reinkommen, etc. da ist das immer wieder so.
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)

andrej
Beiträge: 333
Registriert: Mi 8. Okt 2003, 09:46
Kontaktdaten:

Re: Sperre eines Artikels

Beitrag von andrej » Mo 20. Apr 2009, 15:09

Kann es auch bestätigen, als Sysadmin natürlich kein Problem, als Moderator/User würde mich so etwas doch ernsthaft ärgern.

mfweb
Beiträge: 270
Registriert: Mo 12. Sep 2005, 18:31
Kontaktdaten:

Re: Sperre eines Artikels

Beitrag von mfweb » Mo 20. Apr 2009, 22:01

Oldperl hat geschrieben:Ich würde da für eine nächste Version von Contenido fast ein automatisches Speichern vorsehen, bzw. eine Ajaxfunktion die beim Editieren eines Artikels das Timeout verlängert, solange der Frame noch im Browser aufgerufen ist.
Ersteres problematisch, zweiteres sehr praktisch. ;-)

Ein automatisches Speichern würde dann Probleme bereiten, wenn man einen Artikel bearbeitet, der online ist. Dann würden jeweils unfertige/"unschöne" Artikelversionen online sein (sofern ich deine Idee richtig verstanden habe). Den Artikel vorher offline schalten geht nicht immer und ist bei Kleinigkeiten ja auch nicht notwendig.

Grüße
mfweb
Immer mal ein Blick wert: Contenido Wiki ... auch schreibender Zugriff ist erlaubt!

GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: Sperre eines Artikels

Beitrag von GaMbIt_ » Mo 20. Apr 2009, 23:26

Da fällt mir gleich nochwas ein...

Vielleicht gibts ja dann die Möglichkeit evtl. mit dem Workflow Plugin automatisch einen "Klon" des zu bearbeitenden Artikels zu erstellen um diesen dann zu bearbeiten.
Aber so genau hab ich mir den Workflow noch nicht angesehen...
Nützliche Contenido Infos gibts hier: Contenido Wiki

OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Re: Sperre eines Artikels

Beitrag von OliverL » Di 21. Apr 2009, 00:01

Geht die Problemlösung nicht in richtung dieses Artikels mit msgbox mit beforstehendem session-timeout?
http://forum.contenido.org/viewtopic.php?f=36&t=23638

mfg OliverL

idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Re: Sperre eines Artikels

Beitrag von idea-tec » Di 21. Apr 2009, 06:01

ja, die diskussion geht dahin. das problem ist doch aber folgendes:
  • einfach die session verlängern, halte ich nicht für sonderlich klug, da die session-time schon sinn macht, ansonsten könnten wir sie gleich draußen lassen
  • auch halte ich ein popup aus sicherheitsgründen nicht für gut gewählt, denn ich habe keine lust, wenn ich nicht am rechner bin, dass da irgendein kollege meine session verlängert und das popup positiv bestätigt
wie wäre es also, wenn wir die tastatur-codes oder mausbewegenungen abfragen?
Sind (z.B. in den letzten 10 minuten bevor die session abläuft) welche vorhanden -> wird die session verlängert/erneuert/wasauchimmer

Dies löst nun aber noch nciht das problem, das artikel gesperrt sind, wenn man ausgeloggt wird.
hier würde ich nun ganz einfach in der entsprechenden funktion ansetzen, die meine session prüft und dann entscheidet: nö, der ist draußen:
-> hier wird, wenn die entscheidugn gefallen ist, dass man draußen ist, einfach auch noch die einträge in der inuse (ist es noch diese?) des entsprechenden users gekillt.
man kann auch beim login (egal welche rolle/rechte der einloggende hat) prüfen ob in der inuse einträge von usern sind, die keine gültige session mehr haben

Fazit: es geht nicht wirklich in die gleiche richtung, es kann lediglich miteinander zu tun haben, bzw. es bestehen schnittpunkte

EDIT (eine knappe halbe Stunde nachgedacht):
Folgendes könnte machbar sein:
- im Editor/dort wo es nötig sein wird, wird ein Javascript geladen, das zunächst alle 5 oder auch nur 10 Minuten prüft ob die übergebene Session noch gültig ist und bis wann
- Ist die Session noch gültig und beträgt die Zeit bis zum Ablauf nur noch 5 Minuten oder gar weniger, wird per ajax irgendwo (natürlich passend) ein onkeyup gesetzt
Also ich stelle mir vor, dass dann z.B. in einem entsprechenden div, textarea, was auch immer das onkeyup und/oder onmousemove oder was für was auch immer wir uns noch entscheiden sollten gesetzt wird.
- Dieses löst dann folgendes aus: Verlängerung der Session (ob man die ganzen 60 minuten nimmt müsste man auch noch diskutieren)

- Ist die Session nicht mehr gültig, löst die javascript-funktion ein paar funktionen aus, die dafür sorgen, dass der artikel "entsperrt" wird und der user direkt auf den login gesetzt wird.
So kommt man auch nicht mehr in versuchung, dass man noch weiter content eintippt und dieser dann nicht gespeichert wird und ich den ganzen summs noch einmal tippen muss.

Das halte ich für elegant, modern, userfreundlich und sicher
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)

OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Re: Sperre eines Artikels

Beitrag von OliverL » Di 21. Apr 2009, 07:44

idea-tec hat geschrieben:- einfach die session verlängern, halte ich nicht für sonderlich klug, da die session-time schon sinn macht, ansonsten könnten wir sie gleich draußen lassen
> jepp, seh ich auch so
idea-tec hat geschrieben:- auch halte ich ein popup aus sicherheitsgründen nicht für gut gewählt, denn ich habe keine lust, wenn ich nicht am rechner bin, dass da irgendein kollege meine session verlängert und das popup positiv bestätigt
> puhh, nicht nette Kollegen ;)
idea-tec hat geschrieben:wie wäre es also, wenn wir die tastatur-codes oder mausbewegenungen abfragen?
> Auch eine sehr gute Idee
Sind welche vorhanden -> wird die session verlängert/erneuert/wasauchimmer
> Hier halte ich ein Verhältniswert in % zur dauer der Session angebrachter
idea-tec hat geschrieben:Dies löst nun aber noch nciht das problem, das artikel gesperrt sind, wenn man ausgeloggt wird.
hier würde ich nun ganz einfach in der entsprechenden funktion ansetzen, die meine session prüft und dann entscheidet: nö, der ist draußen:
-> hier wird, wenn die entscheidugn gefallen ist, dass man draußen ist, einfach auch noch die einträge in der inuse (ist es noch diese?) des entsprechenden users gekillt.
man kann auch beim login (egal welche rolle/rechte der einloggende hat) prüfen ob in der inuse einträge von usern sind, die keine gültige session mehr haben
> muss ich dir zustimmen - beim anmelden von Usere-Sessions auch die anderen Session prüfen find ich gut (auch die position der prüfung)
idea-tec hat geschrieben:Folgendes könnte machbar sein:
- im Editor/dort wo es nötig sein wird, wird ein Javascript geladen, das zunächst alle 5 oder auch nur 10 Minuten prüft ob die übergebene Session noch gültig ist und bis wann
- Ist die Session noch gültig und beträgt die Zeit bis zum Ablauf nur noch 5 Minuten oder gar weniger, wird per ajax irgendwo (natürlich passend) ein onkeyup gesetzt
Also ich stelle mir vor, dass dann z.B. in einem entsprechenden div, textarea, was auch immer das onkeyup und/oder onmousemove oder was für was auch immer wir uns noch entscheiden sollten gesetzt wird.
- Dieses löst dann folgendes aus: Verlängerung der Session (ob man die ganzen 60 minuten nimmt müsste man auch noch diskutieren)
- Ist die Session nicht mehr gültig, löst die javascript-funktion ein paar funktionen aus, die dafür sorgen, dass der artikel "entsperrt" wird und der user direkt auf den login gesetzt wird.
So kommt man auch nicht mehr in versuchung, dass man noch weiter content eintippt und dieser dann nicht gespeichert wird und ich den ganzen summs noch einmal tippen muss.
ja (zeit in 5 zum timeout)
ja
ja
ja (beim tinyMce würde ich ein Popup vorziehen, da mann dann wenigstens mit Strg+c den Content kopieren/sichern kann)
idea-tec hat geschrieben:Das halte ich für elegant, modern, userfreundlich und sicher
noch nen JA

mfg OliverL

Antworten