Tom: sehr langen text in mysql speichern

Beitrag lesen

Hello Tim,

ich brauche für eine Website folgende Funktionalität:

Die gewünschte Funktionalität heißt "Zeilenumbruch".

+----------------+    gesamter Text, in "Zeilen-Records" aufgeteilt
    |                |
    |                |
    ++
    |                |    angezeigtes "Fenster", mit dem man über den Gesamttext gleiten kann
    +
+
    |                |
    |                |
    |                |
    +----------------+

Den angezeigten Text kannst Du aus dem Gesamttext von einen Aufsetzpunkt aus extrahieren und dann aus den Zeilen (z.B. 10) in der Textbox zusammenbauen.

Bei jedem Scrollen über den Text muss geprüft werden, ob der sich geändert hat und ob der Ausschnitt rückgesichert werden muss.

Das Problem bei der Sache wird die Handhabung des gleichzeitigen Mehrnutzerbetriebes. Bei Einfügen und/oder Wegfall neuer Zeilen müsste nämlich geprüft werden, ob der Aufsetzpunkt neu numeriert werden muss oder ob Überlappungen der Benutzer bei der Bearbeitung vorliegen.

Da benötigst Du erstmal eine Strategie.

In verbindungsorientierten Systemen macht man sowas mittels Blockstart, Blocklänge und neutralen Zeichen. Das heißt, die Blöcke werden immer komplett gespeichert mit "Luft" im Block. Die "Luft" besteht z.B. aus dem Wert NULL. Dieser wird innder Anzeige unterdrückt. Immer, wenn mal kein Benutzer einen Block zur Änderung angefordert hat (die gesamte Datei ist frei, es liegen keine Blocksperren vor), werden die Blöcke reorganisiert, also wieder eine definierte Menge "Luft" eingebaut.

In verbindungs- und damit auch zustandslosen Systemen musst Du dir diese Infomation über Session und Zeitverhalten emulieren. Ein Block wird also zur Änderung angefordert und der User hat nun genau soundsolange Zeit, die Bearbeitung abzuschließen. Danach verfällt seine Berechtigung und der Aufsetzpunkt des Blockes muss ggf. neu positioniert und der Block neu geladen werden.

Duch einen "Ticker" kann man aber diese Offenzeit auch dynamisch gestalten. Solange der Ticker (z.B. regelmäßiger AJAX-Request) zum Block kommt, kann man davon ausgehen, dass der Client den Block noch in Bearbeitung hat und nicht seinen Browser schon zugeklappt hat.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de