Passare ad una agente java informazioni legate a oggetti UI

Gli agenti java in lotus non dispongono di classi per gestire gli oggetti UI come invece avviene in lotusscript con le classi NotesUIDocument o NotesUIView.
E’ vero che si trovano in rete articoli per utilizzare le Notes Client Java UI API, ma queste classi non sono ufficialmente supportate.
In questo articolo spiego 3 modalità per ottenere in un agente java la vista o il documento correntemente aperti.
Si sfrutta il fatto che con lotusscript si possono facilmente maneggiare gli oggetti UI, e per passarli all’agente java si utilizzano le variabili nel notes.ini o un documento di profilo o un documento notes. Leggi tutto “Passare ad una agente java informazioni legate a oggetti UI”

Ottenere l’elenco degli utenti appartenenti ad un ruolo

Lotus mette a disposizione il metodo QueryAccessRoles della classe NotesDatabase per ottenere i ruoli di un utente e non ci sono metodi per ottenere gli utenti appartenenti a un ruolo ma è possibile ottenerli combinando IsRoleEnabled della classe NotesACLEntry con la funzione getUsersByGroup di cui ho scritto in un precedente articolo.
Leggi tutto “Ottenere l’elenco degli utenti appartenenti ad un ruolo”

Ottenere l’elenco degli utenti appartenenti ad un gruppo

Non esiste in lotusscript un metodo per ottenere l’elenco di tutti gli utenti appartenenti a un gruppo, e a complicare le cose i gruppi possono contenere altri gruppi come membri.
Per risolvere questo problema ho scritto la funzione getUsersByGroup che restituisce l’elenco degli utenti appartenenti appartenenti a un gruppo a condizione che:

  • la names.nsf pubblica sia accessibile
  • gli utenti abbiano un documento “Persona” nella names
  • i gruppi siano definiti nella rubrica indirizzi pubblica
  • il massimo numero di gruppi nidificati è 100, ma è possibile modificare questa impostazione intervenendo sulla variabile maxNestedGroup

Leggi tutto “Ottenere l’elenco degli utenti appartenenti ad un gruppo”

Il metodo getDocumentByUnid della classe NotesDatabase

Il metodo getDocumentByUnid della classe NotesDatabase restituisce il documento corrisondente all’UniversalUnid passato come argomento, ma contrariamente a quanto si potrebbe pensare non restituisce Nothing nel caso in cui non trovasse il documento ma l’errore 4091 (lsERR_NOTES_BAD_UNID).
Quindi un codice per gestire questa situazione potrebbe essere il seguente: