Welcome, Guest. Please login or register.
Did you miss your activation email?
May 26, 2012, 12:52:24 AM

Login with username, password and session length
Search:     Advanced search
Interested in joining the WebsiteBaker team?
For more Information read here or on our new website.
155533 Posts in 21713 Topics by 7738 Members
Latest Member: Pattieardathfe
* Home Help Search Login Register
Pages: [1] 2   Go Down
Print
Author Topic: Beitrag während der Bearbeitung Sperren  (Read 2614 times)
abraxas

Offline Offline

Posts: 24


« on: October 10, 2009, 08:58:37 PM »

Hallo zusammen,

gibt es eine Möglichkeit Beiträge die gerade von einem Benutzer bearbeitet werden für andere zu sperren?
Bei unserer Vereins-Seite ist es leider schon vorgekommen das zwei Leute gleichzeitig einen
Beitrag bearbeitet haben, derjenige der zuerst gespeichert hat war dann der Verlierer, weil der Beitrag anschließen vom 2. Benutzer überschrieben wurde.

Gruß Markus
Logged
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3147



WWW
« Reply #1 on: October 10, 2009, 09:31:27 PM »

Nein leider nicht. Es ist aber für eine zukünfige Version angedacht zumindest einen Hinweis zu zeigen ,dass die Seite gerade bearbeitet wird.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
abraxas

Offline Offline

Posts: 24


« Reply #2 on: October 10, 2009, 09:42:27 PM »

Danke für die schnelle Antwort,
dann werde ich mal sehn ob ich da übergangsweise irgend etwas entwickeln kann,
vielleicht eine Anzeige wer was gerade bearbeitet oder so.

Gruß Markus
Logged
Hans>NULL

Offline Offline

Posts: 1389


« Reply #3 on: October 12, 2009, 01:23:01 PM »

Falls eine Eingangsseite nicht schon für andere Zwecke belegt ist, kann man diese dafür verwenden.
Klappt natürlich nicht bei Direktlinks.
= Richtige Antwort, aber nicht auf die Frage, welche gestellt wurde (Verwechslung, Dank an "Stefek").
Gruß, Hans>NUL
« Last Edit: October 12, 2009, 01:57:53 PM by Hans>NULL » Logged

/dev/null Ort ohne Wiederkehr
Stefek
WebsiteBaker Org e.V.

Offline Offline

Posts: 4884



« Reply #4 on: October 12, 2009, 01:44:11 PM »

Falls eine Eingangsseite nicht schon für andere Zwecke belegt ist, kann man diese dafür verwenden.
Klappt natürlich nicht bei Direktlinks.
Gruß, Hans>NUL
Hast Du überhaupt gelesen und verstanden, worum es geht?

Wenn ja, dann erkläre doch mal bitte, wie du die Eingangsseite für diesen Zweck verwenden würdest.

Stefek
Logged

"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Hans>NULL

Offline Offline

Posts: 1389


« Reply #5 on: October 12, 2009, 01:54:42 PM »

Du hast "Recht". Ich hatte hier eine ähnliche Frage aus einem anderen Forum vorliegen und verwechselt.
Das paßt ja nun überhaupt nicht.
Danke.
Gruß, Hans>NUL
« Last Edit: October 12, 2009, 02:17:46 PM by Hans>NULL » Logged

/dev/null Ort ohne Wiederkehr
Stefek
WebsiteBaker Org e.V.

Offline Offline

Posts: 4884



« Reply #6 on: October 12, 2009, 02:03:19 PM »

Kein Problem -
hätte ja sein können, dass Du ein neues geniales Tool in die Datei eingebunden hast  grin

Zum Glück hat sich noch nie einer meiner Kunen beschwert darüber.
Aber ich sehe, dass eine konkrete Lösung dafür ein gutes Feature für eine 3.0 WB Version wäre.
Doch es wäre gut, wenn dies über Optionen einstellbar wäre, und es nicht von vornherein diesen "in_bearbeitung_chec k" ausführen würde, sondern nur, wenn es für eine Installation explizit eingestellt (ausgewählt) wurde.

Gruß,
Stefek
Logged

"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Hans>NULL

Offline Offline

Posts: 1389


« Reply #7 on: October 12, 2009, 02:05:41 PM »

Übrigens: Ich meine wirklich DANKE, weil im anderen Forum (Firma/Intranet) stand natürlich jetzt komplett Unverständliches. Deine Aufmerksamkeit hat mich vor Peinlichkeiten bewahrt.
Gruß, Hans>NUL
Logged

/dev/null Ort ohne Wiederkehr
Stefek
WebsiteBaker Org e.V.

Offline Offline

Posts: 4884



« Reply #8 on: October 12, 2009, 02:36:44 PM »

Deine Aufmerksamkeit hat mich vor Peinlichkeiten bewahrt.

So, so... vielleicht solltest Du öfter 'auf mich höhren'  grin
Logged

"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3147



WWW
« Reply #9 on: October 12, 2009, 02:43:09 PM »

Das Problem einer Sperre ist, was ist wenn der Browser abstürzt bevor die Sperre wieder freigegeben wird. Dann bleibt die Sperre bestehen. Ist auch ein Problem bei der Anzeige, bevor die Bearbeitung abgeschlossen ist. Hmm, mal schauen, alles nicht so einfach

Dietmar
Logged

We are human beings - and nobody is perfect at all.
Stefek
WebsiteBaker Org e.V.

Offline Offline

Posts: 4884



« Reply #10 on: October 12, 2009, 02:47:29 PM »

Weil ich keine Ahnung habe, gleich eine Frage:
was wenn man es beim Speichern macht? Ich bearbeite eine Datei, speichere sie, und wenn sie zwischenzeitlich geändert wurde, bekomme ich einen Hinweis zu Gesicht, dass die Seite soeben geändert wurden.
Meine Äbderungen bleiben ungespeichert vorhanden, ich habe Zeit, mir im Frontend die gemachten Änderungen anzuschauen.

DasProblem ist nur, dass es generell an einer Versionsbearbeitung mangelt.
Thorn hat da etwas gemacht, recht rudimentär - wahrscheinlich, weil das System im Moment nicht mehr Spielraum bietet.

Gruß,
Stefek
Logged

"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Hans>NULL

Offline Offline

Posts: 1389


« Reply #11 on: October 12, 2009, 02:56:33 PM »

Meinen Anwendern würde als vorläufige Lösung genügen, wenn jemand aus einer bestimmten Gruppe aktiv ist, sich andere aus dieser Gruppe nicht anmelden können, da der Kreis der Redakteure klein ist und jemand manchmal nur ein Zimmer weiter sitzt. Die Pausen stören nicht, da die Bearbeitung meist per copy&paste geschieht. Nur so als Anregung...
Gruß, Hans>NUL
« Last Edit: October 12, 2009, 02:59:33 PM by Hans>NULL » Logged

/dev/null Ort ohne Wiederkehr
doc
Guest
« Reply #12 on: October 12, 2009, 04:57:42 PM »

Hi,

bevor man nun wieder am WB 2.x Core frickelt, sollte man das aus anderen CMS Systemen bekannte Staging neben einer runderneuerten Rechteverwaltung wohl lieber für WB 3 vorsehen wink

Ein brauchbares Staging (Versionierung und Speichern von Seitenansichten als Entwurf) findet sich z.B. in Silverstripe.

Doc
Logged
FrankH

Offline Offline

Posts: 735


WWW
« Reply #13 on: October 12, 2009, 05:44:50 PM »

Ein brauchbares Staging (Versionierung und Speichern von Seitenansichten als Entwurf) findet sich z.B. in Silverstripe.

Oh ich glaub, dort kann man sich nicht nur *eine* Scheibe abschneiden...
Logged

Ochs und Esel in ihrem Lauf
halt ich leider auch nicht auf
abraxas

Offline Offline

Posts: 24


« Reply #14 on: October 18, 2009, 06:07:24 PM »

Also ich kenne sowas aus Joomla,
wenn dort jemand eine Seite bearbeitet bekommen andere beim Öffnen dr Seite
dies angezeigt. Für den Fall das eine Seite nicht korrekt geschlossen wird kann der Administrator diese
manuell frei zu schalten.
Ich denke das sollte mit einer zusätzlichen Bool-Variable zu machen sein oder?
Also im sinne von wenn bearbeitung==true -> Seite wird gerade bearbeitet.

Gruß Markus
Logged
Waldschwein
Guest
« Reply #15 on: October 18, 2009, 06:38:52 PM »

Ein brauchbares Staging (Versionierung und Speichern von Seitenansichten als Entwurf) findet sich z.B. in Silverstripe.

Oh ich glaub, dort kann man sich nicht nur *eine* Scheibe abschneiden...

*hust* Aber bitte nicht zu viel, das wäre dann der berühmte Schuss ins Knie.  wink *hust*
Logged
FrankH

Offline Offline

Posts: 735


WWW
« Reply #16 on: October 18, 2009, 06:41:08 PM »

*hust* Aber bitte nicht zu viel, das wäre dann der berühmte Schuss ins Knie.  wink *hust*

Das verstehe ich jetzt nicht, wie meinst du das?
Logged

Ochs und Esel in ihrem Lauf
halt ich leider auch nicht auf
Waldschwein
Guest
« Reply #17 on: October 18, 2009, 06:59:10 PM »

Das verstehe ich jetzt nicht, wie meinst du das?
Ich meine, dass vieles von diesem CMS definitiv nicht "WebsiteBaker tauglich" ist. Man kann den Entwicklern nicht oft genug eintrichern: Benutzt und beliebt ist - wie man in vielen Foren im Netz lesen kann - WebsiteBaker eigentlich nur, weil es "das einfachste" CMS ist. Wenn man jetzt so einen Web2.0 Verschnitt wie es tausende andere gibt hernimmt als Vorbild verspielt man sich die komplette Kundschaft.  wink
Logged
FrankH

Offline Offline

Posts: 735


WWW
« Reply #18 on: October 19, 2009, 10:45:05 AM »

Quote
Benutzt und beliebt ist - wie man in vielen Foren im Netz lesen kann - WebsiteBaker eigentlich nur, weil es "das einfachste" CMS ist.

Ja das habe ich auch geglaubt - bis zu dem Tag, an dem ich Silverstripe installiert habe. Das ist einfacher als bei WB.
Logged

Ochs und Esel in ihrem Lauf
halt ich leider auch nicht auf
DarkViper
Development Team
*****
Offline Offline

Posts: 1252


« Reply #19 on: October 19, 2009, 01:34:33 PM »

@Luisehahne & Doc
Ein kleiner Denkanstoß...  mit dem Gedanken, das WB so einfach wie möglich bleiben soll..

Eine wirksame Bearbeitungssperre könnte relativ einfach realisiert werden.

Sowie ein Benutzer eine Seite zur Bearbeitung öffnet, bekommt er für diese Seite eine Lease mit einstellbarer Verfallszeit(Settings) zugeteilt. Solange diese dann existiert, kann kein anderer die Seite zur Bearbeitung öffnen. mit jedem Speichern wird die Verfallszeit wieder auf max gesetzt. Ruft der Benutzer eine beliebige andere Seite des Backends auf, werden seine sämtlichen noch nicht abgelaufenen Leases gelöscht und die Seiten sind wieder für die 'Allgemeinheit' frei. Im Falle eines Rechnerabsturzes etc. dauert es eben max. die Verfallszeit... und die Leases löschen sich selbst.
Inhalt der lease:  user_id, page_id, timeout-timestamp
Diese Methode erfordert keinerlei aufwändige Versionshistory oder ähnliches und bringt auch im Laufzeitverhalten nur wenig Nachteile.
Sollte jemand eine Seite in Bearbeitung haben, zwischendurch dann in die Kaffeepause gehen und sich dann wundern, dass seine Schreibberechtigung weg ist (Lease abgelaufen) dann ist er eben selber schuld.

häppy nachdenkeling..... 

Werner cool
« Last Edit: October 19, 2009, 01:43:53 PM by DarkViper » Logged

Anleitungen lesen und selber nachdenken ist anstrengend...  Da lass ich doch lieber andere für mich denken...

In 1984:  Nineteen Eighty-Four is a unrealistic utopia!!
In 2012:  Nineteen Eighty-Four is a little piece only of our reality!!
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3147



WWW
« Reply #20 on: October 19, 2009, 01:39:46 PM »

Hötz sich einfach an, aber wie willst das umsetzen. Der Server tut nichts von alleine. Und wenn der Browser abstürzt, was dann?
Wie willst du das umsetzen? Evtl indem der nächste der versucht den Content zu editieren, die Zeitschleife wieder ans Laufen bringt?

Dietmar
Logged

We are human beings - and nobody is perfect at all.
DarkViper
Development Team
*****
Offline Offline

Posts: 1252


« Reply #21 on: October 19, 2009, 02:09:26 PM »

hört sich nicht nur einfach an, ist es auch. Ich habe das selbe System schon in mehreren meiner Anwendungen erfolgreich eingesetzt. Eine einzige Klasse mit nur 3 Funktionen genügt.

Tabelle:
  page_id (unique key)
  user_id
  timeout

abstrahierter Code:
Code:
class Lease {

  function create_lease( $user_id, $page_id ){
    lösche alle Leases wo timeout < now
    lege neuen datensatz an mit $page_id, $user_id, $timeout( now + Verfallszeit)
    return:
       true wenn Datensatz angelegt werden konnte
       false wenn $page_id bereits existierte (wird durch den unique-key ausgelöst)
  }

  function refresh_lease( $user_id, $page_id ) {
    UPDATE tabelle SET $timeout( now + Verfallszeit) WHERE user_id = $user_id AND page_id = $page_id
    return:
       true wenn Update durchgeführt werden konnte
       false wenn bei Fehler, weil z.B. Datensatz nicht mehr existierte
  }

  function delete_lease( $user_id ) {
    lösche alle Leases wo timeout < now  oder user_id == $user_id
  }

}

Diese Klassenfunktionen lassen sich jetzt problemlos z.B. in den Aufruf zu modify_page einbauen. Bzw. delete_lease() in die allgemeine Anzeige des Backends, wenn der Aufruf nicht für modify_page bestimmt ist.


   
Logged

Anleitungen lesen und selber nachdenken ist anstrengend...  Da lass ich doch lieber andere für mich denken...

In 1984:  Nineteen Eighty-Four is a unrealistic utopia!!
In 2012:  Nineteen Eighty-Four is a little piece only of our reality!!
Waldschwein
Guest
« Reply #22 on: October 19, 2009, 02:17:12 PM »

Ja das habe ich auch geglaubt - bis zu dem Tag, an dem ich Silverstripe installiert habe. Das ist einfacher als bei WB.
Das hab ich einmal gestern auf XAMPP gemacht - grauenvolles Ding als "Ganzes" betrachtet. Für den Geek sicherlich gut, aber alleine schon wenn man 1 Minute auf eine neue Seite im Backend warten muss... Nein Danke.  wink Viel zu unübersichtlich, viel zu überladen, und viel zu langsam. Ob es gut ist weiß ich nicht, aber da ist Drupal von dem Schlage CMS schneller und übersichtlicher, wenn auch etwas unlogischer aufgebaut, was ich zugeben muss...

Zum Sperren: Versionierung ist sicher ein ganz guter Ansatz, wobei das vorgeschlagene von DarkViper wenn es geht ja auch nicht so schlecht klingt.
Logged
albatros

Offline Offline

Posts: 674


WWW
« Reply #23 on: October 19, 2009, 02:53:26 PM »

Hi Waldschwein,

Deine Aussage zu Silverstripe beruhigt mich jetzt aber. Ich habe es auch auf den XAMPP gelegt und nur mal kurz reingeschaut. Mein Eindruck war ähnlich. Ich werde es mir aber trotzdem noch genauer ansehen. Was für Obama gut war kann für mich ja nicht schlecht sein.  grin

Gruß

Uwe
Logged
Stefek
WebsiteBaker Org e.V.

Offline Offline

Posts: 4884



« Reply #24 on: October 19, 2009, 03:04:56 PM »

Habe mir SS auch schon mal angeschaut.
Es mag für eigene Projekte gut sein, aber meine Kunden würde ich nur ungern an so ein Monster setzen.

Da kommt nix über WB. Jetzt mit eigens für Kunden erstellten BackendThemes ist es unschlagbar.


DarkViper: nicht schlecht, nicht schlecht...

Gruß,
Stefek
Logged

"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Pages: [1] 2   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!