SlideShow Album Manager: PARTE 1 - lo schema generale
Monday, September 07, 2009 3:51:00 PM
Un gestore di album in Silverlight 3 per Vertigo SlideShow!
Vertigo Slideshow è una galleria di immagini e video in Silverlight 2 molto elegante e completa e, cosa che non guasta mai, open source (i sorgenti sono scaricabili da Codeplex).
Il repository da cui prendere le immagini può essere un account Flickr oppure una cartella sul proprio sito web.
Nel secondo caso è necessario crearsi a mano un file di configurazione xml tramite il quale descrivere di quali immagini sono composti i nostri album, compresi titoli, descrizioni, path relativi ecc. e darlo poi in pasto al motore dello SlideShow.
Nulla di trascendentale, visto che i sorgenti includono anche tutta la documentazione necessaria per costruirsi questo file xml, ma lavorandoci un pò ci si rende ben presto conto che si tratta di un lavoro abbastanza noioso ed ho deciso quindi di realizzare un editor che mi aiutasse nel compito.
L'editor doveva consentirmi di:
- Creare un nuovo album
- Uploadare le immagini dell'album nel mio spazio web
- Modificare titoli e descrizioni degli album e immagini già esistenti
- aggiungere immagini ad un album
Alla fine ho scelto di realizzarlo in Silverlight 3 principalmente per approfondire alcune problematiche che non avevo ancora ben esplorato.
Un'applicazione Silverlight come è noto, gira in locale quindi per compiere azioni tipo uploadare files su un server remoto c'è bisogno di un qualche sistema di notifica che mi dica se tutto è andato a buon fine. Inoltre in Silverlight 3 vi sono forti limitazioni nel salvataggio in locale di informazioni per ovvie ragioni di sicurezza e usando IsolatedStorage non è dato sapere il reale percorso fisico dei propri files. Infine volevo verificare la funzionalità delle nuove child Windows in Silverlight 3.
In figura 1 ho provato a schematizzare il flusso di informazioni fra client e web server:
 |
| Figura 1: flusso delle informazioni fra client e server |
Come si può vedere, bisogna mettere in conto una serie di fasi di scambio di dati e informazioni fra il client su cui sta girando l'album manager in Silverlight e il web server su cui risiederanno le immagini.
In fase di creazione di un nuovo album sarà necessario uploadare le immagini scelte dall'utente in uno spazio dedicato sul server all'interno di una cartella avente il nome dell'album. L'applicazione Silverlight dovrà attendere la notifica che le operazioni sono andate a buon fine prima di poter continuare. A notifica arrivata l'applicazione potrà procedere a creare il file xml di configurazione con tutte le informazioni inserite dall'utente riguardanti l'album e le relative immagini e ad uploadarlo sul server. Di nuovo dovrà attendere la notifica positiva delle operazioni per poter visualizzare i dettagli e le anteprime dell'album appena creato.
Per quanto riguarda l'editing di album già esistenti le operazioni saranno simili con la differenza che in questo caso il file xml verrà preliminarmente downloadato dal server.