|
IGSync (fino a qualche tempo fa IsoSync) è il client per Pocket PC di IGSuite, che si occupa di sincronizzare i contatti, gli eventi e i todo da IGSuite al POOM, il motore del PIM di WinCE. Attualmente il progetto è ancora in fase di sviluppo e per adesso è stato implementata soltanto la sincronizzazione dei contatti. Il tutto è stato sviluppato in eMbedded C++, la versione di Visual C++ di Microsoft che gira su WinCE.
E' possibile visualizzare il codice di IGSync nel CVS messo a disposizione da SourceForge all'indirizzo:
http://cvs.sourceforge.net/viewcvs.py/isogest/isos...
La parte lato server di IGSync per come è strutturata permette di essere utilizzata per creare eventuali applicazioni di sincronizzazione o di esportazione dei dati da IGSuite. Infatti è sufficente parsare il file XML ottenuto e riutilizzare i dati nelle proprie applicazioni.
Durante lo sviluppo abbiamo prodotto la seguente (poco esaustiva) documentazione.
Lato server gira un CGI che si occupa su richiesta (grazie ad una url formattata e contenente i parametri che definiscono la richiesta) di fornire attraverso il protocollo http un file XML contenente i dati richiesti. Lato client, IGSync prende il file XML, lo "parsa" e sincronizza i dati ottenuti con il POOM.
Tutte le date all'interno del file XML sono nel formato yyyy-mm-dd. Dove ci siano data/ora il formato è yyyy-mm-dd hh:mm:ss.
L'url che richiama lo script igsync può contenere i parametri sotto riportati. In grassetto sono stati evidenziati i valori di default:
|
Parametro
|
Valore
|
Descrizione
|
|---|
|
login
|
user_name
|
E' la login dell'account necessario per utilizzare igsync. Per intenderci la stessa login utilizzata per accedere a IGSuite
| |
otp
|
otp_password
|
E' la password OTP specificata all'interno del profilo personale di IGSuite, e che cambia ovviamente ad ogni accesso
| |
cntctmaster
|
yes/no
|
Con questo parametro è possibile avere come risultati anche i contatti master
| |
cntctslave
|
yes/no
|
Con questo parametro è possibile avere come risultati anche i contatti slave
| |
cntctowner
|
all/user_name
|
E' possibile filtrare esclusivamente i contatti dell'utente specificato (chiaramente se si hanno i permessi di accesso alla visualizzazione).
| |
incremental
|
yes/no
|
E' possibile attivare la richiesta dei dati in modo incrementale
| |
daybefore
|
days/30
|
E' possibile limitare la richiesta degli eventi passati entro un certo numero di giorni.
| |
dayafter
|
days/30
|
E' possibile limitare la richiesta degli eventi futuri entro un certo numero di giorni.
|
Quindi un url di esempio per prelefare un file XML contenente solo i contatti "master" potrebbe essere:
http://www.igsuite.org/cgi-bin/igsync?login=dada&otp=dada&cntctmaster=yes&cntctslave=no
|