Archive

Posts Tagged ‘Domino’

Aptana Studio e plugin per Domino

November 4th, 2008 Nicola 1 comment

L’Aptana Studio (http://aptana.com) può essere un ottimo strumento per la programmazione web orientata ad Ajax. Integra le libreri dojo, scriptaculus e altre.

L’ho scaricato ed installato, sia come Studio, sia come plugin per Eclipse. Il plugin trasforma Eclipse nell’Aptana Studio; se usate Eclipse anche per altro genere di programmazione non vi consiglio di installarlo. Piuttosto installate lo Studio e lasciate stare la vostra installazioni di Eclipse.

Lo Studio  altro non è poi, che Eclipse con il plugin:

Interessante è questo plugin per l’Aptana Studio:

http://www.jeffgilfelt.com/DominoAptana/

Un plugin che permette di lavorare direttamente su un Database domino, come fosse un repository, per quel che riguarda: File Resources, Page, Script Libraries, Style Sheet Resources.

Il link per installazione si trova qua: http://www.eclipseplugincentral.com/…

Per installarlo si va in Help –> Software Updates –> Find and Install –> Search for new features to install –> New Remote Site e si compila la form:

Terminare poi l’installazione come un normale plugin di Eclipse.

Utilizzare Eclipse per scrivere agenti Notes: Parte 3 – Integrazione dell’agente in Lotus Notes

October 15th, 2008 Nicola No comments

Adesso che l’agente è scritto, rimane solo da integrarlo nel Designer. L’integrazione consiste in un banale copia/incolla.

Creare un nuovo agente Java, che si chiama AgenteJava (non come l’immagine sotto), cioè come abbiamo chiamato quello che abbiamo fatto con Eclipse: in automatico viene generato il seguente codice:

Adesso, selezioniamo TUTTO quello che c’è in eclipse (a parte la dichiarazione del package), compreso il main (non ci serve a nulla il main, solo per dire che non dobbiamo preoccuparci di quello che copiamo):

e sostituiamo TUTTO quello che ci ha proposto il signor Lotus nel designer.

Finito. Salviamo (nel mio esempio non ho dovuto aggiungere librerie esterne) senza che ci venga segnato nessun errore, chiudiamo e apriamo il database. Lanciamo l’agente ed ecco il risultato:

E’ passato più di un anno da quando ho fatto questa prova; e avevo trovato questo trick in giro per la rete. Ora non riesco più a rintracciare il sito da cui avevo preso spunto. L’importante è che sappiate che il “copia/incolla trick” non è farina del mio sacco.

Categories: Java, Notes Tags: , ,

Utilizzare Eclipse per scrivere agenti Notes: Parte 2 – Scrittura dell’agente

October 14th, 2008 Nicola No comments

Ora che Eclipse può usare le classi di domino, procediamo con la scrittura dell’agente. Un agente Java deve estendere la classe lotus.domino.AgentBase, per cui avremo:

package testdomino;
import lotus.domino.AgentBase;

public class AgenteJava extends AgentBase {}

Ora, non possiamo fare finta di non sapere che non siamo nel Designer di Notes, dove abbiamo accesso ad una cosa fondamentale: la sessione. Il succo è: scriviamo un agente che possa girare sotto Eclipse, e che copiato/incollato sul designer giri senza dover modificare una riga di codice.

Forniamo alla classe due costruttori, uno vuoto e uno che accetta in ingresso la sessione:

private Session session = null;
public AgenteJava(){}
public AgenteJava(Session s)
{
this.session = s;
}

Ora definiamo il punto di ingresso per l’applicazione domino, il metodo NotesMain:

public void NotesMain() {Session s;/

/ Se la session è gia presente siamo in ambiente debug,
// altrimenti siamo in ambiente domino

try {

if (this.session != null){

s = this.session;

}
else {

s = this.getSession();
AgentContext ac = s.getAgentContext();

}

}
catch (Exception e)
{

e.printStackTrace();
return;

}

//Da questo punto il codice è il medesimo per l'ambiente di debug
//e l'ambiente domino

try {

JOptionPane.showMessageDialog(null, "Ciao, sono un agente Notes scritto in Java con Eclipse");

}
catch(Exception e) {
e.printStackTrace();
}

}

Il primo blocco try/catch è quello che mi permette di avere sempre comunque una sessione Notes valida da cui partire per l’elaborazione del mio agente. Se siamo in Eclipse, è il metodo main della classe (o chiunque la instanzierà) che deve preoccuparsi di fornire una sessione valida, se siamo in Designer è il metodo getSession() che ce la fornisce.

Nel secondo try/catch si implementa la logica dell’Agente. Tutto qui. Ovviamente, tutte le librerie che verranno usate dovranno essere importate in Domino.

Il metodo main dovrà preoccuparsi di creare una session Domino:

public static void main(String[] args) {lotus.domino.Session s = null;
try {

s = NotesFactory.createSession(<serverdomino>, <utente>, <password>);
AgenteJava a = new AgenteJava(s);
a.NotesMain();

}

catch (Exception e) { e.printStackTrace(); }
finally {

try { if (s != null) s.recycle(); }
catch (Exception x) {}

}
}

Da ricordare che il diiop sul server deve essere attivo.

Categories: Java, Notes Tags: , ,

Condividere documenti con Scribd

October 14th, 2008 Nicola No comments

Mi sono imbattuto in Scribd, un sito dove è possibile condividere documenti on line. Ho trovato tante cose interessanti, qualcuna su Notes e affini.

Danno la possibilità di integrare il loro player (flash) all’interno delle proprie pagine. Questo per esempio è un libro sullo sviluppo su Domino utilizzando Java.

E’ anche possibile scaricare i documenti (in formato pdf o in altri formati).

Una sola nota, per chi come me usa Opera (9.6), tende  a mandare quest’ultimo in crisi (cpu che parte al 100% ecc…), meglio firefox decisamente.

Categories: Java, Notes, Web Tags: , ,

Utilizzare Eclipse per scrivere agenti Notes: Parte 1 – Configurare Eclipse

October 13th, 2008 Nicola No comments

Per prima cosa occorre configurare Eclipse per poter utilizzare tutti gli oggetti a disposizione fornito da IBM. Occorre quindi recuperare il file notes.jar, ed importarlo nel nostro progetto. Il file notes.jar si trova sul server, da qualche parte, a seconda della versione di domino. Visto che da versione a versione possono esserci delle differenze, prendete sempre quello relativo al server su cui intendete poi sviluppare l’agente.

Nell’esempio utilizzo Eclipse 3.4, ma è tutto compatibile con versioni più vecchie.

Innanzitutto, creare un progetto Java: dal menu file scegliere New –> Java Project, dare un nome al progetto e premere Finish

Il risultato dovrebbe essere più o meno questo:

A questo punto si può importale il file notes.jar all’interno del progetto. Per farlo è necessario (e sufficiente) andare a configurare il Build Path del progetto. Ci si arriva, ad esempio, così:

Se ci è premuniti di copiare il file notes.jar da qualche parte, è sufficiente andare nel tab Libraries e scegliere la voce Add External JARs. Per ottenere questo risultato:

Ora si può creare un nuovo package che si chiama “testdomino”, ed una nuova classe Test. Da adesso in poi è possibile utilizzare tutti gli oggetti di domino:

Categories: Java, Notes Tags: , ,