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 :
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
- nella sezione Variabili di sistema evidenziare la variabile Path e premere Modifica
- aggiungere all'elenco delle voci, separandolo
con un punto e virgola, il vostro percorso di installazione di Notes
- 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:
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):
Nella schermata successiva selezionare Search for new features to install e premere Next (nella versione italiana: Cerca nuove funzioni da installare – Avanti):
Nella schermata di ricerca applicazioni premere Add Zip/Jar Location (nella versione italiana: Aggiungi ubicazione Zip/Jar):
Selezionare il file zip scaricato dal percorso in cui è stato salvato e premere Apri:
Se lo si desidera rinominare l'applicazione, quindi premere OK:
Nella schermata successiva selezionare l'applicazione e premere Finish (nella versione italiana: Fine):
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):
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):
Verificare nella schermata riassuntiva finale le informazioni in merito all'installazione e premere Finish (nella versione italiana: Fine):
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):
Facendo click sull'icona ed eventualmente espandendo la sidebar avremo a disposizione la seguente area con i relativi campi:
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):
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:
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:
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:
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ò...