Record lock

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Developer Betty Blocks Blauwe Haven Rotterd

Functieomschrijving Voor de Politie zijn wij opzoek naar een Senior Developer Betty Blocks Blauwe Haven Rotterdam. De politieorganisatie heeft jaarlijks te maken met een aanzienlijk aantal politiemedewerkers die vanwege mentale overbelasting niet of beperkt inzetbaar zijn. De Blauwe Haven Rotterdam ondersteunt deze politiemedewerkers in hun herstel en re-integratieproces. De huidige digitale systemen van de Politie bieden onvoldoende ondersteuning in het herstel- en re-integratieproces van politiemedewerkers. Zowel voor de politiemedewerkers als voor de organisatie. Politiemedewerkers worden buitengesloten, waardoor zij eigen regie verliezen. Begeleiders kunnen de voortgang van de medewerkers niet goed monitoren. Management beschikt niet over de mogelijkheid trends te signaleren

Bekijk vacature »

Pagina: « vorige 1 2 3

Chris PHP

Chris PHP

14/06/2013 14:15:16
Quote Anchor link
Zoals ik al zei: Hoe vertel jij MySQL dat ze daar xx datum weer op null komen?

MySQL gaat niet automatisch kijken of hij op eigen houtje db velden kan gaan wijzigen, dat moet je aansturen en in jou geval is dat middels PHP.

Dus nogmaals mijn vraag: Hoe vertel jij MySQL dat ze daar xx datum weer op null komen?
 
PHP hulp

PHP hulp

17/11/2024 20:27:59
 
Paco de Wulp

Paco de Wulp

14/06/2013 14:19:39
Quote Anchor link
Iedere keer als je een record leest, eerst de 'lock-datum' en 'lock-sessie' checken !

Datum = 0 --> geen lock
Datum < huidige datum --> geen lock
Sessie niet meer actief --> geen lock
 
Ward van der Put
Moderator

Ward van der Put

14/06/2013 14:22:35
Quote Anchor link
In MySQL kun je events gebruiken die automatisch een query uitvoeren.

In PHP zou je daarnaast inderdaad sessies kunnen gebruiken: gaat de sessie verloren, dan worden alle in die sessie uitgecheckte records weer ingecheckt.

Punt is dan wel dat iemand die nog op kantoor is ingelogd ook de sessie moet kunnen verliezen wanneer hij thuis aan een document wil verder werken. Meteen koppelen aan gebruikersaccounts dus.
 
Paco de Wulp

Paco de Wulp

14/06/2013 14:36:24
Quote Anchor link
Als meneer of mevrouw is vergeten uit te loggen,...hahahahha ...pech gehad, geen toegang. Hou doe !!!!
Nee, hoor grapje. Inderdaad nog even gebruikersacc. opnemen.
Thx.
 
Ozzie PHP

Ozzie PHP

14/06/2013 15:26:37
Quote Anchor link
Paco, volgens mij pak je het nog steeds niet goed aan. Het lijkt me zinvol om de door Chris voorgestelde weg te gaan bewandelen in plaats van wat jij van plan bent.
 
Eddy E

Eddy E

14/06/2013 21:51:38
Quote Anchor link
Ozzie PHP op 13/06/2013 18:01:12:
Eddy, dat gaat toch niet werken? Dan kunnen 2 mensen nog steeds tegelijkertijd in hetzelfde record werken.


Werken wel, maar als de traagste (haha, loser :P) dan wil opslaan krijgt hij een melding dat het niet opgeslagen kan worden omdat het record inmiddels is gewijzigd.
En dan de vraag of hij de nieuwe gegevens wil openen of toch wil overschrijven (wat waarschijnlijk 100% kans is).
 
Ozzie PHP

Ozzie PHP

14/06/2013 22:09:44
Quote Anchor link
Dat lijkt me dus echt helemaal geen goede oplossing.
 
Eddy E

Eddy E

14/06/2013 22:22:25
Quote Anchor link
Beter is het inderdaad als er geen 'link' naar de bewerk-pagina zou zijn op het moment van de pagina openen.
Maar dat kan in een seconde al naast elkaar lopen.
 
Ozzie PHP

Ozzie PHP

14/06/2013 22:49:46
Quote Anchor link
Lees nog eens de methode van Chris...

Persoon 1 gaat bewerken. Het slot wordt ingeschakeld. Persoon 2 wil het record bewerken, maar krijgt keurig een melding dat het record niet bewerkt kan worden omdat iemand anders er mee bezig is. Prima toch? Zo voorkom je dat 2 mensen gelijktijdig tijd en moeite in iets investeren, terwijl uitsluitend het resultaat van 1 van deze personen behouden zal blijven.
 
Paco de Wulp

Paco de Wulp

16/06/2013 23:05:33
Quote Anchor link
Ward van der Put op 14/06/2013 14:22:35:
In MySQL kun je events gebruiken die automatisch een query uitvoeren.

In PHP zou je daarnaast inderdaad sessies kunnen gebruiken: gaat de sessie verloren, dan worden alle in die sessie uitgecheckte records weer ingecheckt.

Punt is dan wel dat iemand die nog op kantoor is ingelogd ook de sessie moet kunnen verliezen wanneer hij thuis aan een document wil verder werken. Meteen koppelen aan gebruikersaccounts dus.


Dit laatste is niet juist !
Omdat op deze manier er toch twee personen een record kunnen wijzigen. Het zijn dan wel dezelfde personen. De zelfde persoon zal toch op kantoor eerst moeten uitloggen of een melding moeten krijgen (op kantoor) dat het record is gewijzigd en wordt er vervolgens uit gegooid.

P.S. Goed boek: 'WebDesign met PHP 5' --> momenteel geleend in de Bieb !
Gewijzigd op 16/06/2013 23:38:51 door Paco de Wulp
 
Ward van der Put
Moderator

Ward van der Put

17/06/2013 07:17:16
Quote Anchor link
Maar dat bedoel ik natuurlijk ook:

1. Op kantoor inloggen.

2. Document uitchecken om het te bewerken.

3. Thuis opnieuw inloggen = op kantoor uitloggen en document weer inchecken.

4. Eventueel document weer uitchecken wanneer de gebruiker het thuis opnieuw opent.
 
Paco de Wulp

Paco de Wulp

17/06/2013 10:05:30
Quote Anchor link
Is het beter / handiger / sneller om de locks in een aparte tabel te stoppen of kan ik deze in het desbetreffende record vastleggen ?
 
Ward van der Put
Moderator

Ward van der Put

17/06/2013 10:08:44
Quote Anchor link
Paco de Wulp op 17/06/2013 10:05:30:
Is het beter / handiger / sneller om de locks in een aparte tabel te stoppen of kan ik deze in het desbetreffende record vastleggen ?

Hangt van verschillende beslissingen af. Kan één gebruiker bijvoorbeeld aan meerdere records tegelijk werken? Of wordt bij het openen van een record een ander door die gebruiker geopend record gesloten?

Welke soorten rechten wil je laten gelden voor de locks? Kan bijvoorbeeld een hoger geplaatste "manager" de lock van een lager geplaatste "medewerker" overrulen?
 
Chris PHP

Chris PHP

17/06/2013 12:07:50
Quote Anchor link
Persoonlijk zou ik het gewoon aan het record vastleggen.

Dus een tabel waar je alles inzet (even als voorbeeld nieuwsberichten)

Tabel: nieuwsberichten
Velden: id, author, title, summay, message, date, locked

Echter is dit de werkwijze die ik zou hanteren, dit is voor iedereen anders. Ik maak namelijk ook vaak een log tabel, waar ik dit soort wijzigingen in vast leg. Op deze manier kun je snel achter problemen komen, en eventueel je klant/gebruikers erop aan spreken.
 
Ozzie PHP

Ozzie PHP

17/06/2013 12:14:05
Quote Anchor link
Ik zou het ook in de tabel zelf zetten. Je moet het vooral zien als een hulpmiddel. Als Pietje normaal gesproken bericht X mag wijzigen, dan mag hij dat nu ook. Echter, het slot waarschuwt hem dat iemand anders met het bericht bezig is. Mooier is dan nog (denk ik) als je de naam van degene die het bericht aan het bewerken is, opslaat in het "lock" veld. Dus, standaard is het veld bijv. 0 en zodra iemand gaat bewerken, staat de naam van de persoon die aan het bewerken is in het lock-veld. Op die manier kun je dus ook zien WIE het record aan het bewerken is. Dan kun je even naar die persoon toe lopen en vragen of hij inderdaad aan het bewerken is. Zo ja, dan weet je dat jij dus niet kunt bewerken. Zo nee, dan kun jij het bericht gewoon unlocken en alsnog gaan bewerken.
Gewijzigd op 17/06/2013 12:15:23 door Ozzie PHP
 
Chris PHP

Chris PHP

17/06/2013 12:21:51
Quote Anchor link
@Ozzie,

Daarom maak ik meestal een log tabel waar ik dus dit soort info in vast leg. Daar sla ik meestal in op.

id, user_id, record_id, changedate, action, error_log

Hier kun je dus eventueel een locked aan toe voegen als je dit gebruikt, zo kun je dus ook makkelijk uit de log de username halen die het momenteel aan het bewerken is.

Maar zoals ik al zei is dit een persoonlijke manier van werken, ik wil perse log's hebben zodat wanneer een klant komt klagen over de werking ik snel kan zien en eventueel aan kan tonen waar het probleem ligt.
 
Ozzie PHP

Ozzie PHP

17/06/2013 13:27:46
Quote Anchor link
Ah oke... da's inderdaad wel handig. Lastige klanten willen we natuurlijk niet :-)
 
Chris PHP

Chris PHP

17/06/2013 13:46:49
Quote Anchor link
Ozzie PHP op 17/06/2013 13:27:46:
Ah oke... da's inderdaad wel handig. Lastige klanten willen we natuurlijk niet :-)


Het is niet zo zeer voor 'lastige' klanten, maar om verschillende redenen.

1. Snel zien waar het fout gaat.
2. Kunnen aantonen waar het fout gaat.
3. Snel het probleem oplossen.

Tja en lastige klanten zul je toch wel krijgen :-P
 

Pagina: « vorige 1 2 3



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.