It is currently 9 June 2025, 6:26 Advanced search

Violazione concorrenza in document orientation

Questo forum è nato con lo scopo di raccogliere le proposte di modifica di Instant Developer e discuterne insieme.

Violazione concorrenza in document orientation

Postby f.delsordo » 2 April 2015, 8:34

Dopo un'assistenza abbiamo scoperto che il document, prima del salvataggio, non verifica che i dati letti dal document siano ancora gli stessi su db.

Ci sembra opportuna che questo venga fatto, soprattutto visto che è una funzionalità già presente nei panel Table Oriented che bloccano il salvataggio notificando all'utente una violazione di concorrenza.
f.delsordo
 
Posts: 83
Joined: 13 October 2011, 8:33

Re: Violazione concorrenza in document orientation

Postby r.bianco » 2 April 2015, 8:58

Per la DO esiste un servizio apposito di gestione dei lock.

Immagine.png
Immagine.png (18.14 KiB) Viewed 2870 times


Altrimenti è possibile crearne uno prorio grazie agli eventi globali (noi abbiamo fatto così).
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4979
Joined: 8 November 2010, 16:46

Re: Violazione concorrenza in document orientation

Postby f.delsordo » 2 April 2015, 9:48

Grazie per la risposta. Noi utilizziamo già la gestione dei lock da parte del framework, attraverso il check da te indicato. In questo modo il framework impedisce le modifiche se un'altro utente/sessione (in base al codice scritto nell'evento di getLock) sta lavorando, nel senso che sta modificando i dati senza ancora averli salvati.

Quello che il framework non fa è avvisare un utente che i dati che sta modificando sono cambiati dall'ultima volta che sono stati caricati.

Ad es.:

utente 1 apre la videata

utente 2 apre la videata

utente 1 modifica i dati e salva

utente 2 modifica i dati e salva ( in questo momento mi aspetto che il framework blocchi ed avvisi utente 2 che in realtà i dati che sta modificando sono stati cambiati )
f.delsordo
 
Posts: 83
Joined: 13 October 2011, 8:33

Re: Violazione concorrenza in document orientation

Postby a.rughi » 2 April 2015, 9:51

Esatta, è quello che anche secondo ma manca e deve essere inserito.
Come detto da Francesco questo problema di "dirty read" è gestito da InDe per i panel semplici senza DO, ma NON per i document che nascono appunto per le gestioni evolute e solide delle applicazioni.
a.rughi
 
Posts: 72
Joined: 28 November 2010, 14:19

Re: Violazione concorrenza in document orientation

Postby t.simoncini » 2 April 2015, 10:44

Voto la proposta di modifica anche io, anche se ho dei dubbi sulla fattibilità "sempre e comunque" su classi con master query complesse su più tabelle.
Resta comunque una funzionalità estremamente interessante.
Per i casi strani si potrebbe inserire un evento sulla classe e(s. OnCheckAlreadyModified o qualcosa del genere) dove poter inserire una logica personalizzata.
La butto lì.
t.simoncini
 
Posts: 1585
Joined: 5 March 2012, 14:00

Re: Violazione concorrenza in document orientation

Postby r.bianco » 2 April 2015, 12:33

Interessante.
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4979
Joined: 8 November 2010, 16:46

Re: Violazione concorrenza in document orientation

Postby a.maioli » 16 April 2015, 16:20

Per ottenere il "lock ottimistico" a livello di documenti è sufficiente inserire un evento globale a livello di before save e fare il controllo richiesto.
Noi non lo abbiamo previsto by design perchè rileggere i record prima di scriverli causa perdita di performance e non è difficile da aggiungere per chi desidera implementarlo comunque.
In ogni caso la gestione "preventiva" dei lock a noi sembra migliore nei casi "normali" perchè è quello che l'utente si aspetta.
User avatar
a.maioli
Pro Gamma
Pro Gamma
 
Posts: 1090
Joined: 29 September 2010, 12:47


Return to Proposte di modifica

Who is online

Users browsing this forum: No registered users and 20 guests