Recuperare l'ultima versione
copia linkComando Recupera ultima versione
Il comando di Recupera ultima versione permette al client di allinearsi alla copia master presente sul server. Tale comando può riguardare solo l'oggetto o tutti i suoi figli. E' inoltre possibile chiedere al server forzare l'allineamento inviando comunque l'oggetto, eventualmente con i figli, anche se le versioni coincidono.
Quando viene avviato il comando, Instant Developer presenta una videata tramite la quale è possibile specificare come il server deve eseguire l'operazione:

Videata mostrata quando viene avviata la procedura Recupera ultima versione.
Come mostrato in figura ci sono due opzioni: la prima chiede al server di controllare anche tutti i figli dell'oggetto di cui si sta richiedendo l'ultima versione. Se il flag viene disattivato l'operazione riguarda solo l'oggetto su cui viene eseguito il comando. Se invece il flag viene attivato, il server effettuerà il controlo di tutte le versioni di tutti gli oggetti figli contenuti all'interno dell'oggetto coinvolto dal comando.
La seconda opzione chiede al server di inviare le modifiche solo se l'oggetto del client è più vecchio di quello presente nella copia master. Normalmente tale flag deve essere lasciato attivo in quanto il numero di versione permette già al server di sapere se l'oggetto del client è più vecchio di quello della copia master. E' comunque possibile attivare tale flag se si desidera, per esempio, annullare alcune modifiche già effettuate su un oggetto. Per esempio potremmo aver eseguito alcune modifiche ad una procedura, e quindi avere a disposizione un lock di contenuto sulla procedura, e desiderare di annullare le modifiche riallineandoci alla copia master. Per fare questo potremmo richiedere l'ultima versione della procedura chiedendo al server di inviarla comunque anche se la versione coincide. In questo caso, infatti, la versione dela procedura è uguale a quella presente sulla copia master dato che solo il comando di check in la modificherebbe. Attivando il secondo flag il server invia comunque la procedura presente sul server e permette al client di annullare le modifiche alla procedura stessa.
Dopo aver premuto il bottone OK nella videata precedente il client contatta il server. Quando il server risponde il client presenta un'altra videata che mostra al programmatore l'elenco degli oggetti che il server ha inviato:

Videata mostrata quando il server invia la risposta al comando Get Latest.
La videata elenca tutti gli oggetti che il server ha ritenuto di inviare al client affinché questo potesse aggiornarsi. Ogni riga mostrata nell'elenco può essere o meno selezionata per indicare al client se vogliamo o meno quell'oggetto. Inoltre, accanto alla riga, può essere presente il segno + per indicare che oltre all'oggetto, sono stati ricevuti dal server anche tutti i suoi figli o il segno - per indicare che l'oggetto verrà eliminato dalla copia client.
Nell'immagine è mostrato il risultato dell'operazione quando viene effettuata su una procedura di cui abbuiamo un lock di tipo modificato. Instant Developer mostra il nome della procedura in grassetto ed ha automaticamente deselezionato l'oggetto per garantire che il programmatore non perda le modifiche premendo distrattamente il bottone OK. Se desideriamo davvero annullare le modifiche alla procedura dobbiamo selezionare la riga e premere OK. La procedura in locale verrà allineata a quella della copia master ed il lock eliminato. Come mostrato nell'immagine, possiamo anche vedere la procedura nell'albero, guardare la storia delle modifiche sulla procedura nonchè le differenze tra la nostra procedura e quella della copia master.
Tale errore informa che l'oggetto %2, di cui si desidera l'ultima versione, non è presente nella copia master. Per potersi allineare alla copia master occorrerebbe eliminare l'oggetto dalla copia client. Per fare questo occorre richiedere l'ultima versione di uno degli oggetti che lo contengono affinché il server comunichi al client che occorre eliminare l'oggetto.
Tale errore informa che l'oggetto %2, di cui si desidera l'ultima versione, non è presente nella copia master. Per potersi allineare alla copia master occorrerebbe eliminare l'oggetto dalla copia client. Per fare questo occorre richiedere l'ultima versione di uno degli oggetti che lo contengono affinché il server comunichi al client che occorre eliminare l'oggetto.
Ultima modifica: 20/09/2008 / Validità: da 7.5.3400