It is currently 26 May 2020, 0:46 Advanced search

Valorizzazione DO_LOADTIME

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Valorizzazione DO_LOADTIME

Postby p.sala » 23 March 2020, 10:54

Ciao,
nella mia procedura per il lock documentale ho utilizzato il concetto in oggetto, per evitare modifiche di un documento non aggiornato. Ho seguito la guida di Inde.
Ho notato però che le proprietà con quel concetto vengono valorizzate solamente all'effettivo caricamento, dovrebbero essere valorizzate almeno anche al rilascio del lock, e non so se serve anche in un altro punto. Questo servirebbe ad esempio nel caso in cui l'utente decide di continuare le modifiche anche dopo il salvataggio, attualmente in questo caso è costretto a ricaricare i dati prima di procedere con la prossima modifica.
Sbaglio o dimentico qualcosa?
p.sala
 
Posts: 117
Joined: 27 July 2015, 8:05

Re: Valorizzazione DO_LOADTIME

Postby lucabaldini » 23 March 2020, 14:31

Non saprei... potresti aver ragione... fino al rilascio del lock il documento in memoria e quello su DB erano allineati. Quindi è probabile che il LOADTIME vada ri-aggiornato DOPO aver rilasciato il lock, con un timestamp maggiore di quello impostato nel record di rilascio del lock. In questo modo il documento è "allineato a quello del DB, fino a subito dopo la scrittura".

Quindi, seguendo il tuo ragionamento, potrebbe essere corretto, nell'evento ReleaseLock, scrivere:
Code: Select all
  int idx = Document.getPropertyIndex("DO_LOADTIME", ...)
  Document.setProperty(idx, now())


Non ho fatto prove a riguardo. Tu hai visto un caso in cui quello che viene fatto non ti torna? Tipo utente modifica documento, salva, e poi fa un'altra modifica e scatta il controllo di inizio pagina 239?
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4319
Joined: 1 October 2010, 17:03
Location: Bologna

Re: Valorizzazione DO_LOADTIME

Postby lucabaldini » 23 March 2020, 14:31

e non so se serve anche in un altro punto


Hai in mente altri casi in cui andrebbe fatto?
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4319
Joined: 1 October 2010, 17:03
Location: Bologna

Re: Valorizzazione DO_LOADTIME

Postby p.sala » 23 March 2020, 15:56

L'avevo pensato anch'io, ma avevo paura di rompere qualcosa impostando manualmente quella proprietà. Mi confermi che non avrò problemi?
L'ho provato velocemente e pare funzioni, ma ho dovuto anche aggiungere un doc.setOriginal(), potrebbe provocarmi altri danni?
Non mi vengono in mente altri casi da sistemare per ora.
p.sala
 
Posts: 117
Joined: 27 July 2015, 8:05

Re: Valorizzazione DO_LOADTIME

Postby lucabaldini » 23 March 2020, 16:48

Te lo posso confermare :-) per quanto posso vedere dal codice.

Il framework è complesso quindi avere la certezza che quella riga di codice non tocchi nulla e non abbia effetti collaterali non è facile da dimostrare. Per quanto ne so non mi aspetto problemi. E' necessario anche il setOriginal perché il documento va in modificato... invece deve rimanere "non modificato"... quindi mi aspetto anche quella riga di codice :-)
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4319
Joined: 1 October 2010, 17:03
Location: Bologna

Re: Valorizzazione DO_LOADTIME

Postby p.sala » 30 March 2020, 14:27

Per ora nel progetto ho corretto come suggerito, ma ho aperto un ticket per la sistemazione.
Grazie
p.sala
 
Posts: 117
Joined: 27 July 2015, 8:05

Re: Valorizzazione DO_LOADTIME

Postby lucabaldini » 31 March 2020, 7:07

Perfetto :-)
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4319
Joined: 1 October 2010, 17:03
Location: Bologna

Re: Valorizzazione DO_LOADTIME

Postby p.sala » 2 April 2020, 9:48

Ciao, volevo avvisare che il workaround adottato mi ha dato problemi, dato che avete aperto un NPQ ho deciso di togliere il workaround ed attendere la correzione. Grazie
p.sala
 
Posts: 117
Joined: 27 July 2015, 8:05

Re: Valorizzazione DO_LOADTIME

Postby lucabaldini » 2 April 2020, 14:21

Non ho capito...

il workaround adottato mi ha dato problemi

Non mi hai detto quali problemi ti ha dato. E' un'informazione che può servire per capire se manca qualcosa al framework... e dove...

dato che avete aperto un NPQ

Abbiamo aperto una NPQ ma:
- il bug che hai segnalato è relativo ad un esempio di implementazione suggerito nel PDF online che può essere liberamente cambiato;
- il problema è aggirabile perché il codice di gestione dei lock è in mano all'utente (GetLock e ReleaseLock e relative gestioni vanno implementate nel Document Helper)

Al momento non avrei urgenza di analizzarlo (e/o risolverlo se necessario) perché il codice per la gestione dei lock è libero e può essere implementato a tua discrezione.
La proprietà DO_LOADTIME viene valorizzata dal framework dopo la lettura ma, come ti dicevo, può essere valorizzata in qualunque punto del tuo codice, con una sola riga di codice.

Tra l'altro l'unica informazione che ho, riguardo l'NPQ, è questa: se modifico un documento e lo rimodifico il mio codice, copiato dall'esempio della documentazione, dà problemi".

ho deciso di togliere il workaround ed attendere la correzione

Nella e-mail inviata automaticamente dal nostro sistema viene sempre scritto: "Nel caso abbiate ulteriori problemi con il workaround potete riaprire il ticket specificandoli e segnalando i casi in cui non funziona."
Quindi, se il workaround, che avevi già trovato, non funziona e hai ancora problemi ti suggerisco di segnalare un altro malfunzionamento spiegando il caso per permetterci di analizzare la cosa e capire se manca qualcosa.

Al momento, per quello che posso capire, non saprei come gestire l'NPQ e la correzione a cui ti riferisci potrebbe non arrivare nei tempi che ti aspetti...
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4319
Joined: 1 October 2010, 17:03
Location: Bologna

Re: Valorizzazione DO_LOADTIME

Postby p.sala » 2 April 2020, 14:59

Ho scritto qui per avvisare gli altri utenti che il workaround adottato da problemi, quindi è meglio non applicarlo o fare dell'altro.
Purtroppo in questo momento non ho tempo di analizzare a fondo un vostro malfunzionamento che tra l'altro ho replicato in un progetto semplice ed inviato tramite ticket. Ho riaperto il ticket di riferimento in modo che possiate provare bene il caso e verificare a fondo i problemi del workaround, che sapete come replicare perchè il suggerimento me l'avete dato voi.
p.sala
 
Posts: 117
Joined: 27 July 2015, 8:05

Next

Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot] and 11 guests

cron