Technology Experience
.NET World

VivendoByte Technorati Tags plug-in – powered by WCF

Ho apportato alcune divertenti modifiche al mio plug-in per Windows Live Writer per inserire i technorati tags da associare a ciascun post. Vi riporto un vecchio screenshot del plug-in, graficamente è rimasto lo stesso, per cui rende l’idea:

Il mio plug-in utilizza una cache locale dei tags salvata in C:Documents and Settings<username>Dati applicazioniVivendoByte Technorati Tags. La cache in questione è un normalissimo file XML, che viene deserializzato/serializzato ogni volta, e che serve per popolare la ListBox che vedete nella parte sinistra della form che vedete qui sopra. Questo ha principalmente lo scopo di evitare di inserire a mano tutte le volte gli stessi tags, dal momento che è possibile sceglierli dall’elenco. Ma c’è un piccolo problema.

Se utilizzo x computer diversi per bloggare (ad esempio: il mio notebook e due PC fissi) ho n cache diverse, proprio perchè ogni cache è salvata localmente su ciascun PC. E’ davvero scomodo, perchè il PC usato più di frequente ha la cache più popolosa, mentre sugli altri un po’ meno.

La soluzione: salvare tutto in una locazione centralizzata, pur mantenendo la cache locale
La piccola soluzione a cui ho pensato è la seguente: se la connessione ad Internet è disponibile, il caricamento ed il salvataggio dell’elenco dei tags viene effettuato tramite un servizio WCF. Questo servizio lavora con un’interfaccia ITechnoratiTags, definita come segue:

[ServiceContract()] public interface ITechnoratiTags { [OperationContract] IList<string> Load(string username); [OperationContract] bool Save(string username, IList<string> tags); }

Il servizio espone un metodo Load che si occupa di ritornare la lista di tags appartenenti ad un certo utente. Il metodo Save fa l’esatto opposto: salva la lista di tags di un certo utente, indicando se l’operazione è riuscita oppure no.

Quando il plug-in viene aperto, viene controllata l’esistenza e la disponibilità della connessione ad Internet: se la connessione c’è, allora viene utilizzato il servizio WCF si occupa di recuperare l’elenco dei tags. Se la connessione non c’è, l’elenco dei tags viene recuperato dalla cache locale, che è un meccanismo che comunque permane, e serve solamente nel caso in cui la rete non è raggiungibile.

Quando il plug-in viene chiuso, il salvataggio degli eventuali nuovi tags può avvenire in entrambi i modi: sulla cache locale e, se la connessione al Web è disponibile, anche attraverso il servizio WCF.

Questo permette di avere la cache locale sempre aggiornata, proprio perchè quando è possibile viene continuamente sincronizzata con il database centralizzato tramite WCF. Con la nuova versione del plug-in, che non ho ancora reso pubblica, posso tranquillamente utilizzare più di un PC ed avere su tutti la stessa medesima cache e, soprattutto, posso taggare in tutta libertà anche se sono in auto, treno, aereo, monopattino oppure, più semplicemente, non ho il cavo RJ45 connesso alla scheda di rete.

Perchè non l’ho ancora resa pubblica?

Se rendessi pubblico il plug-in così com’è, tutti (compreso me) utilizzeremmo gli stessi tags, perchè il servizio WCF adesso non è predisposto per memorizzare i technorati tags di tutti voi, e non vuole essere di certo un repository globale di tutti gli utenti. Se dovessi, o volessi, farlo, dovrei quanto meno ripensare ad un po’ di roba che va sotto il nome di sicurezza: dati protetti da privacy, più sicuri, trasmissione con un protocollo sicuro, autenticazione, etc. etc.

Technorati Tags:   

Send to Kindle

Igor Damiani

La sua passione per l'informatica nasce nella prima metà degli anni '80, quando suo padre acquistò un Texas Instruments TI-99. Da allora ha continuato a seguire l'evoluzione sia hardware che software avvenuta nel corso degli anni. E' un utente, un videogiocatore ed uno sviluppatore software a tempo pieno. Igor ha lavorato e lavora anche oggi con le più moderne tecnologie Microsoft per lo sviluppo di applicazioni: .NET Framework, XAML, Universal Windows Platform, su diverse piattaforme, tra cui spiccano Windows 10 piattaforme mobile. Numerose sono le app che Igor ha creato e pubblicato sul marketplace sotto il nome VivendoByte, suo personale marchio di fabbrica. Adora mantenere i contatti attraverso Twitter e soprattutto attraverso gli eventi delle community .NET.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.