Ik ben dus bezig met een cms, en wat ik nu wil inbouwen is een oplossing voor het volgende probleem:
Als een user een pagina gaat editen dan wil ik dat er niet tegelijkertijd een andere user ook die pagina kan editen want dan kan je krijgen dat jopie een pagina opent om te editen, een paar seconden later sjakie ook, vervolgens na 3 minuten tikken slaat jopie op. maar na 5 minuten slaat sjakie ook op. dan is dus alles van jopie weg.
Nou zou je zeggen: sim-pel. gewoon een x-tra kolom die 1 is als ie geedit wordt en 0 als ie niet geedit wordt. Dat zou ook goed bij te houden zijn als er te detecteren was of de browser wordt gesloten, maar helaas is dit niet mogelijk. dus een andere oplossing.
Toen bedacht ik het volgende:
Wel die x-tra kolom in de tabel maar dan nog bijhouden hoelang het geleden is dat er getypt is in die pagina. Dus als de tekst edit pagina wordt opgeroepen wordt die kolom op 1 gezet. In mijn tekst edit pagina loopt een timer mee (constant). Als een toets wordt ingedrukt dan wordt de timer gereset. Op het moment dat de timer meer dan n seconden aan het lopen is wordt een php pagina in een iframe dat zich onzichtbaar op de pagina bevindt gerefreshed die vervolgens de kolom weer op 0 zet. Vervolgens kan die pagina dus weer door andere geedit worden.
Mocht de gebruiker van hierboven dan weer actief worden en weer willen gaan tikken dan kijkt de pagina eerst of de kolom nog steeds op 0 staat (of dat er misschien dus ondertussen een andere gebruiker aan het editen is geslagen). zoja, dan kan de gebruiker weer verder, zo nee, dan wordt er een melding gegeven dat een andere gebruiker nu de pagina aan het editen is en wordt de mogelijkheid gegeven om de getypte tekst op te slaan op de hdd zodat de getypte tekst niet verloren gaat en later alsnog geplaatst kan worden.
Iemand nog verfrissende andere ideeen? Wat vinden jullie van mijn idee?
Als een user een pagina gaat editen dan wil ik dat er niet tegelijkertijd een andere user ook die pagina kan editen want dan kan je krijgen dat jopie een pagina opent om te editen, een paar seconden later sjakie ook, vervolgens na 3 minuten tikken slaat jopie op. maar na 5 minuten slaat sjakie ook op. dan is dus alles van jopie weg.
Nou zou je zeggen: sim-pel. gewoon een x-tra kolom die 1 is als ie geedit wordt en 0 als ie niet geedit wordt. Dat zou ook goed bij te houden zijn als er te detecteren was of de browser wordt gesloten, maar helaas is dit niet mogelijk. dus een andere oplossing.
Toen bedacht ik het volgende:
Wel die x-tra kolom in de tabel maar dan nog bijhouden hoelang het geleden is dat er getypt is in die pagina. Dus als de tekst edit pagina wordt opgeroepen wordt die kolom op 1 gezet. In mijn tekst edit pagina loopt een timer mee (constant). Als een toets wordt ingedrukt dan wordt de timer gereset. Op het moment dat de timer meer dan n seconden aan het lopen is wordt een php pagina in een iframe dat zich onzichtbaar op de pagina bevindt gerefreshed die vervolgens de kolom weer op 0 zet. Vervolgens kan die pagina dus weer door andere geedit worden.
Mocht de gebruiker van hierboven dan weer actief worden en weer willen gaan tikken dan kijkt de pagina eerst of de kolom nog steeds op 0 staat (of dat er misschien dus ondertussen een andere gebruiker aan het editen is geslagen). zoja, dan kan de gebruiker weer verder, zo nee, dan wordt er een melding gegeven dat een andere gebruiker nu de pagina aan het editen is en wordt de mogelijkheid gegeven om de getypte tekst op te slaan op de hdd zodat de getypte tekst niet verloren gaat en later alsnog geplaatst kan worden.
Iemand nog verfrissende andere ideeen? Wat vinden jullie van mijn idee?