undocumented:Come viene generato lo UNID di un documento?

unid documento notes domino

  • 0 commenti
Tutti noi che lavoriamo nel mondo Notes/Domino, sappiamo che in una struttura gerarchica e non relazionale così come è la piattaforma Lotus Domino
la chiave per accedere a qualunque oggetto costruito all'interno di un NSF(Notes System File) è  lo UNID (UniversalID) che per definizione esso è un numero unico all'interno della struttura Domino che permette di identificare tutti gli oggetti in esso presenti, ad esempio:

- Un database
- Un documento contenuto in un database
- Una vista
- Etc...

Non so voi, ma io mi sono sempre chiesto, come Lotus Domino fosse in grado di generare questo UNID (intuivo che era qualche algoritmo legato alla data/ora dell'oggetto) , ed accedendo al database Catalog.nsf ho scoperto l'esistenza di una semplice funzione

@text(
ReplicaID,"*")

dove ReplicaID è un campo di tipo data contenente la data di creazione del database.

Il risultato di questa funzione è proprio la nostra UNID (del documento, del database..etc..)

E' probabile che qualcuno di voi si domanderà..."Bhè ora che lo sai a cosa ti serve?"

Per rispondere alla domanda vi faccio un esempio pratico, in cui mi sono imbattuto per generare una Form like Dojo con i controlli di validità ( non importa se qualcuno di voi non sa a cosa mi riferisco per ora..andate avanti a leggere)

Utilizzando Dojo (in quanto la piattaforma è antecedente alla R8.5.1 e non potevo usare le Xpages)  mi ero fermato su una funzionalità di validazione della form, che per il funzionamento richieda 2 cose:

- Che la Form avesse un ID html
- Che sulla Form vi fosse l'attributo DojoType="dijit.form.Form"

Una delle limitazioni che Domino ha è proprio l'impossibilità di inserire attributi aggiuntivi al motore HTML inerenti il tag FORM (automaticamente generato)

Quindi ho pensato dapprima di chiudere il tag form nell'header del modulo ( attivando il passthru html)
Image:undocumented:Come viene generato lo UNID di un documento?
Successivamente di ricreare l'intestazione del form così come viene generata da Domino aggiungendo i parametri ID e DojoType.

Immediatamente tale soluzione sembrava essere funzionante ma mancava una campo speciale chiamato in caso di ?OpenForm( Creazione di un nuovo Documento)  che veniva generato prima del tag html FORM di Domino denominato ___Click

Image:undocumented:Come viene generato lo UNID di un documento?

In fase di modica di una form, mancava un campo speciale chiamato  %%ModDate ( In caso di Editing del documento con il comando ?EditDocument) generato sempre prima del tag FORM html con un valore simile:

Image:undocumented:Come viene generato lo UNID di un documento?

Ho intuito che tale valore fosse lo universalID strettamente legato alla modifica del documento e come  potrete vedere ho risolto riscrivendo il campo con una computed value all'interno della quale è presente la funzione che converte la data di modifica del documento nello UNID.

Image:undocumented:Come viene generato lo UNID di un documento?


Ovviamente tale campo è visibile solo quando si è in modifica e di conseguenza ho attivato la formula di nascondimento:
Image:undocumented:Come viene generato lo UNID di un documento?

0 Commenti:

    Nessun Commento Trovato
Commenta articolo
 

Questo spazio web è stato creato da per un uso pubblico e gratuito. Qualsiasi tipo di collaborazione sarà ben accetta.
Per maggiori informazioni, scrivete a info@dominopoint.it

About Dominopoint
Social
Dominopoint social presence: