[TYPO3-UG Dutch] Record locking

WP Perquin perquin at yuplounge.nl
Thu Sep 11 14:22:59 CEST 2008


Heartbeat is juist wel handig.

Wat doe je wanneer iemand zijn computer uitvalt of het scherm wordt gewoon
afgesloten.

Precies... het veld blijft op lock staan.
Zolang de heartbeat leeft, het scherm dus geopend is en of de gebruiker nou
we of niet iets doet, hij blijft gelockt.

Bij een nieuwe gebruiker wordt gekeken of het niet gelocked is OF gelocked
is EN de laatste heartbeat meer dan 5 minuten geleden is. In beide gevallen
mag de gebruiker gaan editten.

http://www.google.nl/search?hl=nl&q=javascript+timer&meta=

succes

w-p

-----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 13:37
Aan: typo3-ug-dutch at lists.netfielders.de
Onderwerp: Re: [TYPO3-UG Dutch] Record locking

Bedankt. Maar dit lijkt me een vrij zinloze exercitie. Immers als de 
pagina wordt gesloten (en dus de wijzigingen opgeslagen), is de 
editsessie afgelopen en kan de record-locking ook meteen worden 
vrijgegeven. Die timeout is dan dus niet meer nodig.

Het onbewaakt open laten staan van een bewerkbare pagina is natuurlijk 
zeer slordig. Maar zulke dingen gebeuren nu eenmaal en je moet erop 
voorbereid zijn.

Veel zinvoller lijkt me om bij elke handeling (toetsaanslag, 
muisbeweging?) van de gebruiker de timeout te updaten. Maar het lijkt me 
ondoenlijk om bij elke toetsaanslag iets naar de server gaan zitten 
sturen. Is misschien een lokale "actieteller" in javascript een 
oplossing, die bij elke toetsaanslag en/of muisbeweging wordty 
opgehoogd, en elke minuut kijkt of hij inderdaad opgehoogd is (dwz. dat 
er handelingen plaatsvinden), en zo ja een  timeoutreset op de server 
aanvraagt?

De volgende vraag wordt dan hoe ik zoiets naar de server stuur. Met Ajax 
heb ik nog nooit gewerkt en ik weet er ook niets van. Met een iframe zou 
het uiteraard kunnen, maar die vermijd ik liever omdat ik gekozen heb 
voor xhtml 1.0 strict (dus zonder frames) en alles correct gevalideerd 
moet worden.
Kan ik een PHP-script starten door bijv. een img-tag of een script-tag 
een "...php"-bestand als source te geven, waarbij het src-attribuut 
dynamisch (dus NA het laden van de pagina) wordt gewijzigd?
H. Hahn

Pim Broens - Redkiwi schreef:
> 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
>   
_______________________________________________
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