Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Nei rilasci futuri, queste intestazioni potrebbero essere rinominate diventando rispettivamente Error-Code e Error-Message.

Versionamento delle risorse REST


In IRIS ci sono alcune risorse abilitate per effettuare il versioning (versionamento).

Si consideri questo caso d'uso che chiarisce lo scenario.

Un ricercatore crea un oggetto (gruppo di lavoro, laboratorio, terza missione, ...) e aggiunge alcune informazioni: questo elemento è noto come master item.

Ad un certo punto, si decide di contrassegnare questo elemento come "approvato": questo è il momento in cui viene generata una "istantanea" (snapshot) per congelare le informazioni.

Quindi ora abbiamo due versioni dello stesso articolo: l'oggetto master (approvato) e quello snapshot (approvato).

Ammettiamo che alcuni giorni dopo l'utente scopra un errore di battitura e riapra quell'oggetto, o più precisamente riapra l'oggetto principale, perché l'istantanea è congelata.

Abbiamo ancora due versioni dello stesso oggetto: la master riaperta e la snapshot approvata.

Ora si decide di contrassegnare nuovamente questo elemento come "approvato": in questo preciso momento viene creata una nuova snapshot.

Ora abbiamo tre versioni dello stesso item: master (approvato) e due immagini snapshot (approvato).

Ogni ciclo di riapertura / approvazione genera una nuova istantanea.

I servizi REST espongono solo l'elemento principale e l'ultima istantanea, se disponibile.

Per semplificare la ricerca vengono introdotti due nuovi concetti:

most updated item → articolo più aggiornato: questo è sempre l'oggetto master

most validated item → articolo più validato: questo può essere il master item o l'ultima snapshot. Se l'elemento si trova in uno stato precedente allo stato di approvazione (o non è abilitato il controllo di versione), allora è disponibile solo l'elemento principale master. Per convenzione, esso sarà il most validated item, anche se non è mai stato approvato.

D'altra parte, se l'elemento si trova in uno stato dopo lo stato di approvazione, sono disponibili sia gli elementi master che gli snapshot. In questo caso l'elemento snapshot è quello "più validato".


Non tutte le risorse sono soggette al controllo di versione, ma quando lo sono è possibile utilizzare questo parametro di filtro aggiuntivo:

validation.relation 

Gli unici valori consentiti sono:

  • master
  • mostValidated
  • all

Se il parametro validation.relation non viene fornito, allora si assume che esso coincida col most validated.

NB: Si ricordi che gli ID vengono generati per ogni snapshot e master.

Gli oggetti visibili in IRIS RM o IRIS AP sono identificati dall'id master.

Gli ID delle snapshot sono disponibili nella scheda "Versioni".