Ongetwijfeld hebben jullie dit wel eens meegemaakt, je bent bezig met een beheersysteem (maakt in princiepe niet uit in welke taal) en je komt erachter dat er meerdere users tegelijkertijd aan 1 record (of 1 file) aan het werken zijn en dat natuurlijk tegelijkertijd.
Nu was mijn vraag (aangezien mijn inleiding nogal moeilijk google't
), hoe dit het beste opgelost kan worden. Zelf zat ik te denken om dit bij te houden in een tabel, met de volgende (pseudo) opzet:
Alles spreekt voor zich behalve de locktime. Dit is een timestamp (bijv een *nix timestamp) die de tijd van locken opslaat. Deze lock zal verwijderd worden zodra de gebruiker het item opslaat of naar een andere pagina navigeert. Aangezien je ook rekening moet houden met het feit dat gebruikers de browser kunnen sluiten en mijn gebruikers automatisch uitloggen na 1 uur, kun je dus ook automatisch de records ouder dan 1 uur verwijderen zodat een item maximaal 1 uur gelocked blijft.
Tot zover mijn huidige gedachtengang en ideeen hierover; Heeft iemand hier ideeen over, of zijn er toevallig ergens artikelen verschenen waarin dit soort constructies naar voren komen? Ik kan natuurlijk ook in de source van bijv. Mambo CMS gaan kijken maar ik probeer eerst zelf iets te verzinnen wat werkt (voor de uitdaging
)
Nu was mijn vraag (aangezien mijn inleiding nogal moeilijk google't
code:
Als je het zou willen uitbreiden met ook het werken met bestanden zou je ipv tabelnaam en recordid ook een lockid kunnen construeren voor een item.1
2
3
4
5
| tabelnaam recordid companyid userid locktime |
Alles spreekt voor zich behalve de locktime. Dit is een timestamp (bijv een *nix timestamp) die de tijd van locken opslaat. Deze lock zal verwijderd worden zodra de gebruiker het item opslaat of naar een andere pagina navigeert. Aangezien je ook rekening moet houden met het feit dat gebruikers de browser kunnen sluiten en mijn gebruikers automatisch uitloggen na 1 uur, kun je dus ook automatisch de records ouder dan 1 uur verwijderen zodat een item maximaal 1 uur gelocked blijft.
Tot zover mijn huidige gedachtengang en ideeen hierover; Heeft iemand hier ideeen over, of zijn er toevallig ergens artikelen verschenen waarin dit soort constructies naar voren komen? Ik kan natuurlijk ook in de source van bijv. Mambo CMS gaan kijken maar ik probeer eerst zelf iets te verzinnen wat werkt (voor de uitdaging