Sinfonia concertante per sviluppatore e plug-in

Symphony

  • 1 commenti
Diciamo la verità: il mancato supporto da parte di Symphony dei “vecchi” formati Lotus 1-2-3 (i mitici “WK*”) è stata una gran brutta sorpresa, soprattuto per chi era abituato a importare ed esportare dati in Notes utilizzando tali estensioni.
In attesa di una futura release che risolva il problema, ho pensato che l'obiettivo di scambiare dati tra fogli di calcolo e database Notes sarebbe stato uno stimolo interessante per iniziare lo studio dello sviluppo di plug-in per Symphony (partendo dall'immancabile Hello World Plug-in contenuto nell'SDK).
Ecco quindi un primo esempio di applicazione per Symphony 1.0 dedicato all'interazione con il mondo Domino/Notes; c'è ancora molto lavoro da fare, naturalmente, ma al momento l'importante è sapere che... be', nessuno l'ha mai detto meglio di Gene Wilder nella versione originale del capolavoro assoluto “Frankenstein Junior”.
Iniziamo con un piccolo vademecum per la configurazione e l'installazione del plug-in:

STEP 1: CONFIGURAZIONE

Per poter utilizzare il plug-in, è necessario impostare manualmente la variabile Path del vostro sistema operativo, aggiungendo all'elenco, se già non è presente, il vostro percorso di installazione di Notes (ad esempio: D:\Lotus\Notes\; in pratica è la directory che contiene gli eseguibili e le DLL).

In Windows XP :
  • accedere a Start / Impostazioni / Pannello di Controllo / Sistema
  • click su Avanzate e quindi su Variabili d'ambiente

Image:Sinfonia concertante per sviluppatore e plug-in
  • nella sezione Variabili di sistema evidenziare la variabile Path e premere Modifica

Image:Sinfonia concertante per sviluppatore e plug-in
  • aggiungere all'elenco delle voci, separandolo con un punto e virgola, il vostro percorso di installazione di Notes


     Image:Sinfonia concertante per sviluppatore e plug-in
  • premere OK fino ad uscire dal pannello di configurazione delle proprietà di sistema


    Per chi utilizza Windows Vista, le operazioni da seguire sono praticamente le stesse, partendo da Pannello di Controllo / Sistema / Impostazioni di sistema avanzate / Variabili d'ambiente / Variabili di Sistema.
    Devo putroppo confessare la mia quasi totale mancanza di esperienza in Linux :-( ; da quello che leggo in giro per la rete, la corrispondente operazione riguarda la modifica della variabile LD_LIBRARY_PATH, ma qui mi fermo: se qualche anima buona ha tempo e voglia da dedicare all'installazione e l'utilizzo del plug-in in ambiente Linux per condividere la sua esperienza, penso che molti gliene saranno grati (io per primo).
    ATTENZIONE: in caso di installazioni multi-versione di Notes sulla stessa macchina (ad esempio, coesistenza di R7 e R8) fate attenzione a impostare il percorso di Notes opportuno (in genere è quello riferito all'ultima installazione; grazie a Giuseppe Grasso per la dritta).
    Senza questa configurazione, utilizzando il plug-in verrà riscontrato un errore di tipo UnsatisfiedLinkError:

    Image:Sinfonia concertante per sviluppatore e plug-in

     

    STEP 2: INSTALLAZIONE

    Scaricare sul proprio pc il file FMA_SpreadsheetToNotes_UpdateSite.zip allegato al presente articolo, quindi lanciare Symphony 1.0.
    Dal menù File, selezionare Application e quindi Install (nella versione italiana: File / Applicazione / Installa):

    Image:Sinfonia concertante per sviluppatore e plug-in

    Nella schermata successiva selezionare Search for new features to install e premere Next (nella versione italiana: Cerca nuove funzioni da installare – Avanti):

    Image:Sinfonia concertante per sviluppatore e plug-in

    Nella schermata di ricerca applicazioni premere Add Zip/Jar Location (nella versione italiana: Aggiungi ubicazione Zip/Jar):

    Image:Sinfonia concertante per sviluppatore e plug-in

    Selezionare il file zip scaricato dal percorso in cui è stato salvato e premere Apri:

    Image:Sinfonia concertante per sviluppatore e plug-in

    Se lo si desidera rinominare l'applicazione, quindi premere OK:

    Image:Sinfonia concertante per sviluppatore e plug-in

    Nella schermata successiva selezionare l'applicazione e premere Finish (nella versione italiana: Fine):

    Image:Sinfonia concertante per sviluppatore e plug-in

    Nella schermata di selezione degli aggiornamenti, espandere i livelli relativi all'aggiornamento in oggetto e abilitare la voce Esporta Spreadsheet su Notes 1.0.0, quindi premere Next (nella versione italiana: Avanti):

    Image:Sinfonia concertante per sviluppatore e plug-in

    Leggere i termini relativi all'accordo di licenza; per procedere con l'installazione è necessario accettare tali termini selezionando la voce I accept the terms in the license agreements, quindi premere Next (nella versione italiana: Accetto i termini del contratto di licenza – Avanti):

    Image:Sinfonia concertante per sviluppatore e plug-in

    Verificare nella schermata riassuntiva finale le informazioni in merito all'installazione e premere Finish (nella versione italiana: Fine):

    Image:Sinfonia concertante per sviluppatore e plug-in

    Al termine dell'installazione verrà richiesto di riavviare Symphony: confermare e attendere il successivo riavvio.


    STEP 3: UTILIZZO

    Bene, abbiamo installato il plug-in e riavviato Symphony: se tutto è andato per il verso giusto, sarà apparsa la sidebar laterale riportante l'icona dell'applicazione (se invece avete già installato altri plug-in, la sidebar sarà già visibile e l'icona sarà stata aggiunta all'elenco delle applicazioni esistenti):

    Image:Sinfonia concertante per sviluppatore e plug-in

    Facendo click sull'icona ed eventualmente espandendo la sidebar avremo a disposizione la seguente area con i relativi campi:

    Image:Sinfonia concertante per sviluppatore e plug-in

    Siamo pronti!
    Scaricate e aprite il file FMA_SpreadsheetToNotes_Esempio.ods allegato al presente articolo, oppure create un nuovo foglio di calcolo; l'importante è che la struttura sia simile alla seguente (naturalmente, potete aggiungere colonne e righe a seconda delle vostre esigenze):

    Image:Sinfonia concertante per sviluppatore e plug-in

    La prima riga contiene i nomi dei campi Notes in cui esportare i dati, le righe successive i valori che tali campi dovranno assumere.
    Negli appositi campi del plug-in specificare:
    • Server: il nome completo del server Domino su cui si trova il database target (es. MioServer/MiaOrg/IT ; lasciare vuoto per database in Local)
    • Db Path: il percorso completo del database target (comprensivo di eventuali directory ed estensione “.nsf”; es. Symphony/TestPlugin.nsf)
    • Form: il nome del form da utilizzare per i documenti esportati

    A questo punto, premere Esporta (se il Notes Client non è aperto, verrà richiesta la password relativa all'ID specifico); se il database è stato specificato correttamente e se si possiedono gli appositi diritti di scrittura (errori che comunque vengono intercettati dall'applicazione) sul database target verrà creato un documento Notes per ciascuna riga successiva alla prima, basato sul form indicato e con i campi specificati nella prima riga valorizzati con il contenuto delle rispettive celle.
    Si verrà inoltre gratificati da un messaggio di operazione conclusa con successo:

    Image:Sinfonia concertante per sviluppatore e plug-in


    E questo è più o meno tutto; posso aggiungere che, in caso di esistenza di una cella vuota nella riga di intestazione relativa ai nomi dei campi, la corrispondente colonna verrà ignorata; ad esempio in una situazione del genere:

    Image:Sinfonia concertante per sviluppatore e plug-in

    la procedurà non restituirà un errore ed esporterà le sole colonne A, B e D.
    Sono stati inoltre implementati alcuni ulteriori controlli, ad esempio il documento attivo deve essere uno spreadsheet (se aprite il file ODS prima della sidebar potrebbe essere necessario fare un click in una cella per consentire al listener di attivare il focus sul foglio di calcolo a video) e deve contenere almeno una riga di valori.
    Come ho detto, c'è ancora molto da fare: ad esempio perfezionare la gestione di date e numeri (in questa versione, il plug-in esporta tutti i valori come testo), oppure facilitare l'inserimento di Server, Database e Form con menù a tendina anziché imputarli a mano, o ancora inserire dei controlli aggiuntivi sulla coerenza del form e dei nomi dei campi indicati con i design element contenuti nel database specificato e altro ancora.
    E, naturalmente, prevedere la possibilità di effettuare l'operazione inversa: importare in un foglio di calcolo dati da documenti Notes (ad esempio processando i documenti di una vista specificata o una collection ottenuta tramite il metodo FTSearch).
    Ma di questo parleremo al Dominopoint Day 2, mentre studieremo nel dettaglio la realizzazione di plug-in Domino-oriented per Symphony in ambiente Eclipse.
    Sol-Sol-Sol-Mi bemolle a tutti.


    Quando non scrive per noi Fabrizio si può trovare qui

1 Commenti:

  • #1 enzo stanzione 07/11/2008 9:12:01 AM

    Ottimo lavoro Fabrizio.!

    Molto utile in varie situazioni ed un ottimo punto di partenza per sviluppi più complessi.

    In attesa del DP2 ci giochiamo un pò...

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: