[TYPO3-UG Dutch] Record locking

Pim Broens - Redkiwi broens at redkiwi.nl
Thu Sep 11 13:13:42 CEST 2008


Hoi H.,

De heartbeat wordt alleen gebruikt op een openstaande pagina.
Zolang die pagina openstaat wordt er iedere x seconden een zogenaamde
heartbeat gestuurd die de timestamp update. Zodat, wanneer iemand langer
dan 5 minuten koffie drinken is, er nog geen man overboord is.

Zodra hij/zij klaar is, sluit men het venster, en zal de heartbeat
ophouden. Waardoor de timestamp de 5 minuten zal overschrijden zal het
item open staan voor de volgende gebruiker om te editen. 
 

Met vriendelijke groet,

Pim Broens


	
-----Oorspronkelijk bericht-----
Van: typo3-ug-dutch-bounces at lists.netfielders.de
[mailto:typo3-ug-dutch-bounces at lists.netfielders.de] Namens H. Hahn
Verzonden: donderdag 11 september 2008 12:17
Aan: typo3-ug-dutch at lists.netfielders.de
Onderwerp: Re: [TYPO3-UG Dutch] Record locking

Alvast bedankt. Alleen dat van die heartbeat snap ik niet helemaal. Als 
ik een timout heb van bijv. 5 minuten, en ik laat automatisch elke 
minuut dat datum-/tijdveld updaten, dan is het effect per saldo toch 
hetzelfde als helemaal geen timeout? Tenminste, ik neem aan dat dit 
datum-/tijdveld bedoeld is als de starttijd van de timeout?
H. Hahn

Rudy Gnodde schreef:
> Hallo H.,
>
> H. Hahn wrote:
>> De klant wil met meer dan een redacteur kunnen werken. Het gevaar 
>> bestaat dus dat redacteur A en redacteur B per ongeluk tegelijk aan 
>> dezelfde pagina gaan werken. Er is dus een vorm van record locking 
>> nodig. Daar heb ik alleen geen enkele ervaring mee.
>>
>> Nu lijkt me een simpele record locking niet zo moeilijk te maken. 
>> Gewoon een vlag (bijv. een extra veld in de databasetabel) die 
>> aangeeft dat er iemend bezig is met die alinea (ik heb een record per

>> alinea, dus meerdere records per pagina). Als de betreffende 
>> redacteur de pagina sluit, wordt de vlag gereset.
>>
>> Maar als nu intussen door welke oorzaak dan ook de verbinding tussen 
>> browser en server wegvalt, zou die vlag nooit meer gereset worden en 
>> het betreffende record dus niet meer wijzigbaar zijn. Een gewone 
>> timeout lijkt me ook bezwaarlijk; iemand kan immers net even een 
>> kopje koffie aan het drinken zijn of zo, waardoor die vlag mogelijk 
>> te vroeg gereset wordt.
>> Ook kan ik die vlag in plaats van de waarde "1" (= "bezig") en "0" (=

>> "vrij") de waarde van de session_id resp. "leeg" geven. Bij elke 
>> poging om iets te wijzigen of op te slaan kan ik de session_id 
>> vergelijken met die in be browser (cookie fe_typo_user). Maar dat 
>> levert nog geen criterium op voor het resetten van de vlag.
>>
>> Weet iemand bruikbare oplossing voor het veilig (dwz. niet te vroeg 
>> en niet te laat) resetten van zo'n vlag? Graag oplossingen in PHP 
>> en/of MySQL, maar niet in Typoscript (mijn FE-editing is niet als 
>> "extensie" uitgevoerd en kan dus niet met TS overweg).
>> Bij voorbaat dank.
>> H. Hahn
>
> De beste manier voor een record locking meganisme is om met een 
> datum/tijd en een timeout te werken. Als iemand een record begint te 
> bewerken zet je de datum/tijd in een databaseveld. Na bv 5 minuten 
> geen activiteit is het record weer vrij.
>
> Nu geef je zelf al aan dat dit niet wenselijk is, want wat als er 
> iemand langer van 5 minuten weg is om koffie te halen. Dat probleem 
> kun je oplossen met een heartbeat. Je moet dan via Ajax of een hidden 
> iframe of iets dergelijks regelmatig automatisch een aanvraag naar de 
> server doen waardoor het datum/tijd veld wordt geupdate. Als je de 
> timeout op 5 minuten hebt staan is een heartbeat van eens in de minuut

> meer dan genoeg.
>
> Met vriendelijke groet,
>
> Rudy Gnodde
> WIND Internet
> http://www.windinternet.nl
_______________________________________________
TYPO3-UG-dutch mailing list
TYPO3-UG-dutch at lists.netfielders.de
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-ug-dutch


More information about the TYPO3-UG-dutch mailing list