Mar 29, 2011
Nuvole, nuvole, nuvole … di Tag
descrizione e storia di collective.vaporisation, un prodotto per tagcloud.
Cos'è una tag cloud?
Probabilmente la domanda è fin troppo facile ma per i pochi che ancora non lo sanno questa “nuvola di tag” (traduzione italiana) è un'area del sito in cui si rappresentano le parole chiave più usate all'interno del portale web.
La caratteristica principale è quella che la lista di parole chiave è pesata e quindi le parole più usate sono evidenziate per dimensione, font o colore.
Queste nuvole non sono però presenti solo per bellezza o per
fornire una statistica ma hanno anche la funzione di navigazione
permettendo all'utente di cercare e visitare i contenuti legati alle
varie parole chiave.
Per una più dettagliata descrizione vi rimando al sempre utilissimo wikipedia
E per Plone?
Quando ci è stato richiesto di inserire in uno dei nostri portali una tagcloud abbiamo scovato il pacchetto di Souheil Shelfouh chiamato “Vaporisation” (non chiedete come mai la scelta di questo nome perchè, pur sembrandoci strano, non abbiamo mai indagato a riguardo!)
Questo prodotto ci è subito piaciuto. Forniva una portlet tagcloud dotata di tutte le principali funzionalità base: creava la lista pesata delle parole chiave, forniva un controllo sulle dimensioni e sul numero di parole chiave da visualizzare, era presente un sistema di filtraggio manuale delle parole chiave. Oltre a questo era presente un sistema di navigazione per parole chiave collegate che durante la fase di ricerca/navigazione modificava la portlet mostrando solo le parole chiave presenti nei contenuti insieme a quella ricercata.
L'intervento RedTurtle
Fin qui vi starete chiedendo il perchè di questo articolo. Per parlare i prodotti di "altri"? La risposta è no :)
Le richieste che ci arrivavano dai clienti erano più articolate e il prodotto così com'era non ci permetteva di soddisfarle.
La richiesta principale era quella di porter utilizzare un qualsiasi campo di tipo KeywordIndex dato che gli archetype presentavano più campi di questo tipo.
Inizialmente abbiamo esteso il pacchetto originale ma dopo aver contattato Souheil Shelfouh, e aver scoperto che non intendeva più portare avanti il progetto, abbiamo deciso di prenderlo in mano noi andando a creare collective.vaporisation (nuovo, eggizzato, Plone4 compatibile).
Il prodotto collective.vaporisation
Ma andiamo ora a vedere quali sono le caratteristiche più importanti di questo nostro prodotto.
Filtraggio delle parole chiave
Possiamo eseguire vari tipi di filtri utilizzando un percorso in
cui si devono trovare i contenuti, il tipo di contenuto e i campi (di
tipo KeywordIndex) da utilizzare. Questa “ricerca” fornisce una
lista di parole chiave da mostrare che noi possiamo ulteriormente
filtrare andando ad agire su blacklist e whitelist
Visualizzazione
Tra i campi di creazione della portlet
ne compaiono alcuni che determinano come e cosa visualizzare
all'interno della portlet. C'è ovviamente il nome della portlet
stessa, il numero di parole chiave da visualizzare, il numero di
dimensioni diverse da attribuire alle parole chiave e l'ordinamento
alfabetico.
Aggiornamento del cloud
Lavorando su un CMS le parole chiave usate nei contenuti
potrebbero aggiungersi o togliersi spesso e soprattutto aumentare
come numero numero di utilizzi. Per questo motivo abbiamo inserito un
ulteriore campo che permette di impostare, in minuti, ogni quanto la
portlet si aggiorna. Ma non è questo l'unico parametro in base al
quale la lista dei tag viene aggiornata; l'aggiornamento avviene
anche ogni volta che vengono modificati i parametri della portlet
oppure ogni volta che si accede al sistema con un nuovo utente.
Normalmente gli anonimi non vedranno le stesse parole chiave degli
autenticati.
Joint navigation
Attivando
questa opzione nella configurazione della portlet otterremo il
risultato di una portlet dinamica durante la ricerca dei contenuti
con determinate parole chiave. Abbiamo già parlato della possibilità
di cliccare sulle singole parole chiave per eseguire una ricerca nel
portale che mostri tutti i contenuti in cui la parola chiave è
presente. Nel caso la portlet sia visibile anche nella pagina di
ricerca, per esempio perchè è presente in una colonna laterale,
questa mostrerà solo le parole chiave contenute nei documenti che
sono stati trovati dalla ricerca in modo da poter affinare la ricerca
in maniera sequenziale. Le parole chiave che si stanno cercando
compaiono nel footer della portlet e possono essere rimosse per
modificare la ricerca corrente o tornare ad una ricerca precedente.
Cosa aspettarsi dal
futuro?
Le funzionalità base sembrano solide e quindi oltre alcuni accorgimenti tecnici come per esempio il reload automatico delle parole chiave da filtrare (whitelist e blacklist) quando si modifica un filtro (path, tipo, indici usati) c'è forse la necessità di poter customizzare maggiormente la grafica per quanto riguarda colori e dimensione.