mappe google su plone

Lo sapete tutti, ormai siamo tutti molto web2.0 e una delle funzionalità più cool è geotaggare i contenuti rendendoli visibili su una mappa. E Google nella sua magnificenza ci offre un buon servizio di mappe con apposite API per utilizzarlo.

In Plone sono stati realizzati, nel tempo, diversi prodotti da varie aziende nel mondo:

L’ultimo in ordine di tempo e sicuramente il migliore, ovviamente imho, è Products.Maps di Jarn.

products.maps

Un sacco di Location colorate su una mappa

Un sacco di Location colorate su una mappa

Offre poche ed estremamente utili funzionalità:

  • un nuovo contenuto “Location” (“Posto” in italiano), con tanto di icone colorate e ricerca del punto sulla mappa e preview del risultato. In pratica una pagina standard di Plone con in più la funzionalità di essere “piazzata” su una mappa.
  • una vista che disegna una mappa di google e che è applicabile via menu a cartelle e cercatori

Utilizzando Maps puoi quindi creare delle cartelle all’interno delle quali inserire “posti”. Essendo contenuti plone questo significa che puoi associare permessi, workflow, parole chiave ecc.

A questo punto puoi anche creare il tuo cercatore che prenda tutte le location con una certa parola chiave o quelle in un certo stato e visualizzarle assieme.. in una nuova mappa.

Ma la cosa migliore che fa è di essere stato realizzato con tecnologia Z3 il che lo rende facilmente estendibile. quindi…

redturtle.maps.core

Il punto fondamentale è: Products.Maps è un ottimo prodotto, ma.. non tiene conto di tutti gli altri contenuti Plone. Nemmeno quelli base. Insomma, tutti i contenuti plone (basta che estendano ATContentType) hanno un bellissimo campo “Location” in cui solitamente indichi un indirizzo. Questo campo è bellamente ignorato da tutti. Eppure sarebbe così utile.

L’idea che abbiamo avuto con Andrew Mleczko è stata quindi quella di estendere Maps fornendo un adapter (o un set di adapter) per tutti i contenuti plone. L’unica condizione è che abbiano il campo Location valorizzato. Et voilà redturtle.maps.core è uscito dal cilindro.

Hey, nulla di devastantemente complicato (e questo il bello di plone..). Ma, secondo me, è esattamente quello che mancava per chiudere il cerchio.

Una prima release è stata rilasciata in occasione del Linuxday 2009 e ho avuto la possibilità di presentarla a Ferrara.

Poi, l’appetito vien mangiando, Andrew e Luca Fabbri hanno dato un ulteriore contributo alla cosa: il secondo ha migliorato la parte di query a google per tradurre l’indirizzo in coordinate geografiche, il prima ha dapprima realizzato una portlet (redturtle.maps.portlet) e quindi ha reso disponibile un template che effettua ricerche basate sui parametri che gli vengono passati e visualizza il tutto, ovviamente, in una mappa.

Vedi come funziona

Vedi come funziona

Nel frattempo ho esplorato la possibilità di avere baloon e icone differenziati per tipo.

Sempre sfruttando le funzionalità di plone/zope3 il comportamento relativo ai baloon potrà essere “overridden” in qualsiasi momento. in questo senso redturtle.maps.core è una specie di configurazione “out-of-the-box”.

Per il futuro, ci sono tutta una serie di funzionalità che vorremmo sistemare. Ad esempio i baloon appaiono veramente enormi: un contenuti plone è troppo verboso. Occorre pensare ad una soluzione.

Non nascondo che mi piacerebbe riuscire ad integrare il tutto in un’unica soluzione con Maps.

Stay tuned.

Annunci

Un nuovo sistema operativo?!

E’ da poco stato presentato il nuovo windows, il 7. Forse sarà il salvataggio di M$ dopo il flop di Vista, forse no. Non importa un gran che. Ma da una serata con amici informatici è nata la domanda:

ma cosa ti aspetti da un nuovo sistema operativo?!?

Il punto è che negli ultimi 15 anni non ci sono state *enormi* evoluzioni. Si, si, c’è stato il passaggio dal Dos a win32 a linux agli ultimi macosx.

Ma stravolgimenti veri e propri non ne ho sinceramente visti. Il desktop, beh è il desktop. Il mouse, qualche nuovo bottone o qualche *gesture* modaiola. Le icone da cliccare, un click, due click. Ma da win 3.1 al mio mac che sto usando ora.. insomma è di quella.

Anche Linux in fondo è ancora tanto simile ad uno Unix che fa tanto anni ’70/’80 [1].

Un vetro informativo?!

Che fiore è?

Credo che la domanda non sia veramente quella. Credo che non abbiamo bisogno del *nuovo* sistema operativo, ma di un nuovo  modo di pensare la gestione delle informazioni.

In fondo che il mio file sia salvato su un disco che mi porto sempre dietro o su un server cui sono sempre collegato, sempre, alla fine mi importa davvero? che senso ha installare le applicazioni? sto scrivendo in un form dentro un browser collegato ad un sito di cui ignoro bellamente tutti i dettagli tecnici. dove si trova, che sistema operativo usa, che formato di dati utilizza, c’è il journaling sul disco? mah.

E’ facile pensare per me che google sia il prossimo step, che tutto sia online, ma c’è chi è ancora più avanti, chi stavolta l’ha pensata grossa.

Ecco, quello è il nuovo sistema operativo.

Ma forse in questo caso occorre aspettare ancora qualche annetto..

[1] e qui alcuni mi stanno maledicendo di brutto :)

Pagine composite con Plone

Com’è noto Plone offre un’interfaccia in cui al centro della pagina visualizzi un oggetto per volta: una pagina, un evento, una news.

Non è, di base, possibile avere contemporaneamente più contenuti provenienti da punti differenti del portale oppure mettere assieme un cercatore, un testo libero e il contenuto di una cartella.

Nei giorni scorsi mi sono trovato a valutare alcuni prodotti Plone che offrano la possibilità di creare pagine composite. Mi sono imbattuto in questi:

I primi due usano un approccio simile ovvero ti permettono di riutilizzare o di inserire contenuti plone all’interno di un’area nella pagina. Gli altri due invece sfruttano le portlet come fornitrici di contenuti.

L’elenco non è esaustivo, ma questi mi sono sembrati abbastanza utilizzabili anche per un utente non esperto. Per tutti quanti l’idea è quella di fornire un meccanismo (abbastanza) facilmente usabile da chiuque e non quello di permettere di creare layout astrusi. Questo è roba per “designer”: gli editor si limitino a inserire e aggregare contenuti.. ;)

CMFContentPanels

contentpanels

CMFContentPanels: due box affiancati

Questo è un prodotto nato con la versione precedente di Plone (la 2.x), ma recentemente è stato modificato e ora funziona anche con la 3.x.

E’ alquanto versatile e l’avevo già utilizzato con la 2.5. Oggi, sinceramente, trovo il suo approccio un po’ datato. Speravo che il porting alla 3.x avesse introdotto ulteriori funzionalità, ma l’impianto generale è tendenzialmente lo stesso.

Inoltre gestisce gli allineamenti tramite tabelle. Dal punto di vista dell’accessibilità non è la soluzione ideale. Buono il fatto che i vecchi portali 2.5 possano essere migrati alla 3.x senza dover obbligatoriamente ricrearne parti ex-novo.

Collage

Ho molto apprezzato Collage per la sua flessibilità. Fondamentalmente funziona a righe all’interno delle quali vai ad aggiungere colonne. In ogni colonna, uno sotto l’altro, puoi aggiungere elementi. Non è studiato per “intabellare” contenuti, quindi non pensare a questo utilizzo, sarebbe una forzatura. E’ tutto realizzato tramite DIV quindi un po’ di CSS può essere d’aiuto per aggiungere un tocco di grafica in più. Tra l’altro ogni oggetto ha la sua classe e/o il suo id per cui è semplice identificare il punto su cui si può agire.

Collage (preview da plone.org)

Collage (preview da plone.org)

Ogni elemento può essere aggiunto attraverso semplici e intuitivi menù a scomparsa.

I contenuti che si possono inserire sono tutti quelli disponibili nel portale plone. Questo significa che eventuali tipi custom possono essere utilizzati. Inoltre puoi sia riusare oggetti già creati in qualche altra parte del portale che crearne di nuovi: verranno salvati all’interno del collage stesso.

L’interfaccia è debolmente usabile e ti permette di muovere gli elementi riordinandoli velocemente attraverso delle piccole frecce. Ho solo avuto qualche noia utilizzando l’opzione di copia: da riprovare questa funzionalità.

In generale l’ho trovato ottimo e molto facilmente utilizzabile.

Products.ContentWellPortlets

Questo è il primo dei due prodotti basati su portlet. L’idea è quella di fornire due aree “attive” all’interno delle quali inserire portlet: una sopra il contenuto corrente, una sotto.

contentwellportlet

un sacco di portlet!

Si applica quindi a qualsiasi oggetto tu vada a creare all’interno del portale e sfrutta tutte le regole delle normali portlet di plone. Questo significa che se in un folder aggiungi una portlet statica in testa, questa apparirà in tutte le pagine contenute nel folder. Esattamente come accade per le due colonne laterali.

Il principale vantaggio sta proprio in questo: essendo applicabile ovunque non hai la necessità di creare tipi ad hoc per avere contenuti speciali. Lo svantaggio è che puoi utilizzare solo portlet e non reali contenuti. Con il tempo le portlet disponibili saranno sempre più e sempre più pervasive: questo svantaggio calerà.

Non puoi e non potrai mai in ogni modo, però, aggiungere un contenuto come tipo custom alla stregua di Collage.

collective.portletpage

E’ un nuovo tipo di contenuto vero e proprio.

E’ una normale pagina Plone con in fondo 4 aree (nord, sud, est, ovest) in cui aggiungere portlet. A differenza del precedente ti permette di gestire con più flessibilità il layout delle portlet: in fondo hai due aree in più…

Anche questo prodotto è ben fatto ed è assolutamente plonish. D’altra parte l’autore è una garanzia in questo senso.

Credo che possa essere molto utile per strutturare sottohomepage di un portale o comunque punti di raccolta di informazioni. Il fatto che sia in ogni caso un’estensione di Page ne limita in parte l’utilizzo estensivo: e se volessi le stesse funzionalità su un evento? avrei bisogno di collective.portletevent? D’altra parte, uno sviluppatore può “prendere spunto” molto facilmente da questo prodotto.

Il fatto che utilizzi le portlet poi ha gli stessi vantaggi/svantaggi del precedente.

la gestione

la gestione

il risultato

il risultato

“First post”

E’ un anno giusto che ho deciso di “bloggare”!

E’ un anno giusto che con pigra periodicità torno su questa pagina vuota, bianca, agghiacciantemente bianca.

E’ un anno giusto che gira e rigira non trovo mai il momento, le parole, l’idea giusta per riempirla. C’è sempre qualcosa di più urgente, o qualcosa di più importante, o l’emergenza.. oppure ti ritrovi lì con tutto a posto, il silenzio, il momento, tutto.. ma non sai assolutamente che scrivere.

Ieri sera ero al cinema. Un dopo cinema, per essere precisi, di un film pessimo di un pomeriggio natalizio. Con la mia ragazza e alcuni vecchi amici si parlava dei ritmi frenetici che teniamo tutti quanti.stones-in-a-glass

Uno di loro ha tirato fuori dal cilindro la metafora del bicchiere da riempire. Se usi dei sassi lo riempi velocemente e ti sembra completo, ma se aggiungi sabbia scopri che c’è dell’altro spazio che non avevi notato. Prova ad aggiungere acqua e anche gli spazi che ti sembrava non esistessero si colmano.

Molto bello, molto evocativo. Potrebbe anche applicarsi alla vita. Potrebbe.

In effetti ora sono in un granello di sabbia che va a riempire un buco di tempo, c’è il silenzio, c’è il momento, c’è la calma giusta per partire con un weblog. E c’è anche di che raccontare in una pagina di internet che forse nessuno leggerà mai.