== IGSync - Your Office in a Pocket == [img:///Home/guest/ScreenShot/igsync.gif|margin=20|frame|width=200|] 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/isosync/ 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. ==== Come funziona ==== 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. ===== Formato Date ===== 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. ===== Parametri accettati nell'url ===== L'url che richiama lo script igsync può contenere i parametri sotto riportati. In grassetto sono stati evidenziati i valori di default: {| border=1 !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'''