italiano
Jan 12, 2012
Plone, da Sant'Agostino al CONSIP
Il Comune di Sant'Agostino rilascia al pubblico il suo nuovo portale, caratterizzato da semplicità d'uso, costo contenuto e completezza: RedTurtle distribuisce sul Marketplace della Pubblica Amministrazione soluzioni Plone CONSIP di caratteristiche analoghe.
Esigenze diffuse? Una risposta per tutti!
Una soluzione completa ed integrata con costi
d'esercizio contenuti per Comuni piccoli e medi dalle evolute esigenze
comunicative...
Più facile a dirsi che a farsi. La risposta di RedTurtle si basa su Plone 4 e su un set di funzionalità standard che, nel caso del Comune di Sant'Agostino, un nostro nuovo Cliente con le idee molto chiare, sono state accompagnate da un layout grafico che unisce semplicità e gradevolezza.
Il sito soddisfa tutte le esigenze di base: adempiere agli obblighi di Legge, offrire un sito accessibile e completo, e al contempo promuovere il territorio con i suoi eventi. Il tutto, usando software libero, Plone e l'esperienza di RedTurtle nel servire le Pubbliche Amministrazioni Locali.
Ispirandosi a questo concetto di "completezza espandibile", RedTurtle ha recentemente confezionato due soluzioni Plone, dotate dei prodotti aggiuntivi di utilizzo più frequente, ed ha deciso di servirsi del MEPA di CONSIP per la loro distribuzione.
Il vantaggio MEPA
Il Mercato Elettronico della Pubblica Amministrazione da diversi anni consente alle PA un accesso rapido agli acquisti di beni e servizi: in questo caso, è CONSIP che si fa carico di accertare le caratteristiche di solidità e solvibilità delle aziende, e di incanalarne l'offerta in bandi "sempre aperti" verificando poi la rispondenza di quanto offerto ai requisiti di riferimento. L'Ente viene così sgravato dall'onere delle procedure di gara e di selezione fornitori, e deve semplicemente, per così dire, apporre la sua firma su di un contratto già pronto con prezzo "chiavi in mano", per la fornitura di uno specifico bene.

Come Plone aiuta... tutti!
Proprio la modularità di Plone, con i suoi prodotti aggiuntivi, ha consentito di modulare l'offerta su Plone base più un set preconfigurato di prodotti, ad attivazione opzionale. Dal lato RedTurtle, si è preconfezionata e semplificata una parte delle attività, potendo così proporre agli Enti, quale che sia la loro dimensione, un costo più che abbordabile, per dotarsi di una solida piattaforma, altamente estensibile, ed accedere al riuso di soluzioni in ambito PloneGov Italia.
RedTurtle non intende discostarsi dal suo storico profilo di realizzatore di soluzioni su misura, ma al tempo stesso intende giovarsi della completezza funzionale di Plone, già in versione base, per favorire l'ulteriore diffusione di questo apprezzatissimo software open.
Le due soluzioni CONSIP, simili a quella realizzata appositamente per il Comune di Sant'Agostino, sono cedute a costo differenziato a seconda della complessità e della provincia dell'Ente acquirente. Denominate "Portale Plone versione Base" (qui la descrizione per prima fascia e seconda fascia di Province) e "Portale Plone Versione Plus" (prima fascia e seconda fascia di Province).
Dec 29, 2011
Plone in 10 secondi
Ho provato per voi il nuovo servizio creato da Alan Runyan per creare al volo il tuo Plone site.
Configura
Il sistema è molto semplice e molto
come-te-lo-aspetti:
- vai su ploud.com
- iscriviti: email, dominio, lingua
- controlla la tua posta: c'è una mail di validazione con un link (devo davvero dirti che fare? :-)
- ti chiederà la password che vorrai utilizzare
- fatto.
Ci sono 2 tipi di servizi: gratuito e a canone mensile. Fondamentalmente si tratta della stessa soluzione, ma a pagamento ottieni:
- la possibilità di avere un tuo dominio
- più banda
- più spazio
- indicizzazione di google
Scegli il tema
Ora puoi impostarti il tuo tema tra quelli disponibili.
Tra gli 11 disponibili, io ho scelto "Earthling two" che avevamo adattato e rilasciato mesi fa su pypi.
E' bello vedere come ancora una volta la comunità funziona.
Tra l'altro l'uso di Diazo facilita molto l'implementazione di questo tipo di servizi: oggi ci sono "solo" 11 temi, ma è possibile aggiungerne altri.
Aggiungi funzionalità
Ora puoi aggiungere gli add-on, tra cui:
- Carousel
- Dropdown menu
- Autenticazione con OpenID
- PloneFormGen per creare moduli online
- Simple Social: vuoi farti mancare Facebook & co?
- Workflow personalizzati per cartella
- Copia di lavoro
- plone.app.caching: cache per siti più veloci
e i due nuovi cavalli di razza di Plone:
- Dexterity
- Diazo theme support
Quindi?
Beh, è Plone! Hai tutto quello che puoi fare con Plone, niente di meno. Ci sono alcuni add-on interessanti anche se c'è tutta una serie di ulteriori add-on che vorrei già poter usare.
L'attuale target di mercato è sicuramente molto basico e i temi sono veramente pochi (anche se con Diazo e un po' di olio di gomito puoi fare faville).
Seconde me ha le potenzialità necessarie per crescere. Stay tuned.
Nov 29, 2011
Stati Generali dell'Innovazione: perché abbiamo voluto esserci
L'evento di Roma conferma nel modo migliore le grandi speranze con cui RedTurtle ha aderito a SGI: siamo parte attiva del "blocco socio-culturale dell'innovazione", che si pone a disposizione del Governo Monti e di quelli che lo seguiranno
Innovazione: come?
L'innovazione a macchia di leopardo, l'innovazione che riparte sempre da zero, l'innovazione "a modo mio", l'innovazione non innovativa. E ancora: l'innovazione "ingessata", l'innovazione fuori contesto, l'innovazione a parole, l'innovazione chiusa, l'innovazione irripetibile, l'innovazione (solo) dei soliti noti, l'innovazione pre-elettorale, l'innovazione con barriera di ingresso. C'è altro? L'innovazione a fuga in avanti, l'innovazione senza Legge, la Legge senza innovazione, l'innovazione inapplicabile, l'innovazione sovranormata e quella sottonormata, l'innovazione settoriale o di casta, e potrei continuare.
Fin qui la rassegna delle storture osservabili non solo qui in Italia, ma in particolare nel nostro Paese. Un'innovazione spesso solo parlata, spesso polverizzata in iniziative magari eccellenti, ma tuttora alla ricerca di una visione di assieme, di un sistema, di una strategia, di una cabina di regia.
Ecco come!
Per correggere questo stato di cose, per valorizzare un talento che il mondo ci riconosce proprio nel creare e innovare sul piano tecnico, organizzativo e culturale, nasce l'associazione Stati Generali Innovazione, cui RedTurtle ha aderito dal primo istante, portando un importante contributo al gruppo di lavoro che si occupa in particolare di Pubblica Amministrazione. I nostri valori sono la natura di PMI, il sapere sul software libero, il patrimonio di esperienze e best practices dei nostri Clienti, ben rappresentato da PloneGov Italia.

"...consapevole del valore delle esperienze di innovazione già in essere, l’Associazione intende censire ed aggregare tali esperienze, riconducendole a un unica visione multipolare, condivisa, armonica, coordinata, saldamente radicata nel contesto normativo esistente."
Gli Stati Generali (SGI) nascono per iniziativa dei più importanti poli di innovazione reale nel Paese (la lista dei promotori è realmente impressionante), di rappresentanze di tutte le categorie di stakeholder (Pubblica Amministrazione, Industria, Accademia, Ricerca, Terzo Settore) e sono aperti all'adesione di singoli, aziende e associazioni.
Paradosso: i governi che si sono succeduti nel tempo, hanno intrapreso le loro politiche di innovazione senza coinvolgere tutte le realtà innovative per missione, competenze e filosofia, senza censirle, aggregarle e valorizzarle: spesso si sono limitati a nomine con criteri di contiguità partitica, spesso hanno affossato anziché valorizzare quanto fatto in precedenza, sempre è mancato il momento "sistemico" di aggregazione degli stakeholder.
Modus operandi
In SGI si è partiti da subito con il piede giusto, a cominciare dalla connotazione "a-partisan" fortemente voluta dal Presidente Flavia Marzano e dagli altri fondatori. L'evento costitutivo dello scorso fine settimana, oltre a confermare le migliori impressioni maturate nelle settimane di lavoro che lo hanno preceduto, ha offerto al mondo un'immagine confortante della combinazione di voglia e capacità di cambiare, e un senso di fiducia per la coincidenza nel tempo tra la disponibilità di queste forze coese, una crisi da risolvere, e un nuovo governo tecnico, interlocutore predestinato per SGI.
Ponendosi a disposizione del Paese sia per definire una serie di interventi immediati a costo basso o nullo, sia per portare avanti nel tempo la propria piattaforma programmatica distillato delle migliori competenze del mondo reale, SGI si candida a rivestire un ruolo chiave.
Impressioni
Personalmente, ho atteso l'evento con le aspettative accumulate in alcune settimane di collaborazione (un po' in remoto, un po' in presenza) al Gruppo di Lavoro per l'innovazione nella PA. Tutto è fluito ragionevolmente liscio, con l'aula magna di Università Roma 3 a fare da cornice.

Più che fare una telecronaca (il programma è stato rispettato con modeste sbavature, tipiche di una "prima" molto affollata), mi importa confermarvi che il clima costruttivo e partecipato che si è respirato in Aula Magna è proprio quello che Flavia descrive sul suo blog.
Il Venerdì, più istituzionale e strutturato, integralmente trasmesso in webcast su www.statigeneralinnovazione.it, ha visto succedersi relatori di alto profilo, e a fine mattinata anche parlamentari, ognuno a portare il proprio contributo sul tema sotto una pioggia incessante di tweet che scorrevano sullo schermo alle spalle del palco, alcuni ripresi in tempo reale dai moderatori per stimolare i relatori.
Al pomeriggio, le sessioni parallele hanno consentito di riaprire il dialogo tra i gruppi di lavoro e la base dell'Associazione per discutere gli specifici position paper.

Il Sabato mattina, arricchito dal contributo di ascolto e proposta di Mario Campolargo (Responsabile EC "Emerging Technologies and Infrastructures") e Franco Accordino (EC, Task Force Digital Futures), in teleconferenza da Bruxelles per parlare di Agenda Digitale Europea, ha culminato nel dibattito necessario per confezionare in modo sintetico la piattaforma da offrire all'interlocuzione con il Governo, che (senza negare l'obiettivo chiave di SGI, collaborare a tempo pieno con il sistema-Paese) si è deciso, tanto per iniziare, di basare su una proposta di otto azioni immediate e a costo tendente allo zero.
Noi e gli Stati Generali
RedTurtle, sponsor dell'iniziativa, si è accreditata come portatrice di forti competenze e di utili esperienze sul software libero: la nostra posizione aziendale si è manifestata nei contributi che ho offerto alla discussione, alcuni dei quali integrati nel Position paper del gruppo Open eGovernment e nel documento finale, e certamente intendiamo anche in futuro porre a disposizione di SGI la nostra competenza e la nostra visione.
Ci si è lasciati con una collaborazione ancor meglio avviata e numerosi compiti a casa, sul cui svolgimento gli Stati Generali intendono usare la stessa congenita trasparenza e apertura mostrata fin dall'inizio.
Nov 18, 2011
Modulistica PDF online: popolamento automatico via Python
Un suggerimento per aggiungere testo a un file pdf comune, come ad esempio un banale modulo del censimento, utilizzando alcune delle librerie Python in circolazione
Per lo sviluppo di un'applicazione mi sono trovata a dover generare un pdf il cui contenuto consiste in un modulo, ad esempio il modulo del censimento, compilato con i dati degli utenti dell'applicazione presi run-time dal sistema.
Avrei impiegato troppo tempo a disegnare il modulo insieme ai dati dell'utente, in più, per certi moduli (come il modulo censimento) sono già forniti i pdf.
Pensare di caricare il modulo come immagine di sfondo non è fattibile. Prima di tutto per la qualità scarsa del pdf finale e poi perché le dimensioni del file di output aumentano molto a causa dell'immagine usata come sfondo.
Il file da ottenere è un modulo già fornito in versione pdf, ma a cui ho bisogno di aggiungere testo.
La soluzione, a mio avviso migliore, è stata quella di usare ReportLab per disegnare un pdf fatto unicamente dei dati dell'utente per poi fare un merge del primo con il pdf contente il modulo, usando PyPDF.
L'unica difficoltà in questo approccio è creare il pdf contenente i dati di riempimento. Infatti questi dati devono essere nella posizione giusta, prioprio come se stessimo compilando il modulo.
Per superare questo ostacolo agilmente ho usato uno screen ruler. Io ho preferito "Free Ruler" per Mac OS X tra i vari righelli che ho trovato in rete, soprattutto per il suo tick mark interattivo che permette di fare una misura abbastanza accurata.
Ho aperto il pdf con il modulo da compilare, e poi ho misurato con il righello i punti in cui inserire i dati. Per creare il pdf con i dati di riempimento ho usato ReportLab che consente di scrivere stringhe di testo in un punto esatto, utilizzando le coordinate x e y.
Ecco la MIA ricetta
Passo 1
Aprire il pdf che rappresenta la base del nostro impasto, ovvero il modulo da compilare, usando la classe PdfFileReader di pyPdf.
import codecs from pyPdf import PdfFileWriter, PdfFileReader input1 = PdfFileReader(codecs.open(path_modello_censimento, "rb"))
Passo 2
Preparare il pdf con i nostri canditi: i dati di riempimento. Qui entra in gioco ReportLab.
import StringIO
from reportlab.pdfgen import canvas
from reportlab.lib.units import cm
packet = StringIO.StringIO()
can = canvas.Canvas(packet)
...
textobject = can.beginText()
textobject.setTextOrigin( 11.94*cm, 20.12*cm)
textobject.textLine('hello world')
...
can.drawText(textobject)
can.showPage()
can.save()
packet.seek(0)
Come unità ho usato i centrimenti, sia nel fissare l'origine di ogni striga di testo inserita, sia quando ho misurato con il righello. 11.94 e 20.12 sono due esempi di coordinate.
Tenere presente che l'orgine si trova in basso a sinistra. Ma con l'istruzione seguente possiamo spostare l'orgine in alto.
can.translate(cm, cm)
Passo 3
Aprire il pdf creato sopra con PdfFileReader.
input2 = PdfFileReader(packet)
Passo 4
Aprire il pdf finale, che conterrà il merge dei due pdf precedenti con la classe PdfFileWriter di pyPdf.
output = PdfFileWriter()
Passo 5
Adesso la parte più divertente: "Impastare".
page0 = input1.getPage(0) page0.mergePage(input2.getPage(0)) output.addPage(page0)
Dopo aver unito i due pdf pagina per pagina si arriva finalment al punto 6..
Passo 6
Adesso abbiamo il nostra risultato finale "output" che può essere memorizzato ovunque si voglia, io lo scrivo in un file temporaneo per completare l'esempio:
import tempfile temp_file_name = tempfile.mktemp() outputStream = codecs.open(temp_file_name, mode="wb") output.write(outputStream) outputStream.close() os.unlink(temp_file_name)
L'elaborazione richiede un po' di tempo, ma il risultato finale è buono. Buon appetito!
Nov 10, 2011
PloneConference 2011: novità e conferme
Di ritorno da San Francisco, ecco le anticipazioni e le conferme di cui abbiamo discusso durante una delle ultime best conference ever
Tre track parallele, numerosi openspace, meeting in e out la conference, social party(!) ogni sera e per finire l'usuale sprint
Le 3D, ma molto altro
Il leitmotif di quest'anno è stato senz'altro il tris di Diazo, Deco e Dexterity. E' già un po' di tempo che se ne parla e non vi nascondo un po' di delusione nel vedere che sono ancora temi importanti.
Il punto cruciale sta nel fatto che negli anni passati è stata tentata una rivoluzione, che avrebbe però avuto un impatto troppo importante su tutto l'ecosistema Plone. Questo ha portato a una serie di complicazioni e di refactoring.
Ora si sta ragionando in termini di add-on per Plone che ne migliorino l'esperienza, senza introdurre stravolgimenti.
Diazo & CMSUI
E' ormai un sistema maturo utilizzato in produzione da molto tempo.
L'idea è di:
- semplificare la fase di skinning di Plone limitandola al frontend, più facilmente gestibile da Diazo,
- demandare a CMSUI tutta la fase di gestione del backend mantenendo il tutto contestuale, ma indipendente dal layout.
Direi che questi due video da soli sono sufficientemente esplicativi.
Deco
Sta raggiungendo anche lui la maturazione e si sta lavorando sulla user experience. L'idea in questo caso è quella di sostituire prodotti come PortletPage o Collage. Questa una preview realizzata dai colleghi di FourDigits.
Dexterity
Sugli scudi infine anche Dexterity, di cui parlammo ancora due anni fa come promessa e che ora sta raggiungendo il suo compimento. Sull'interfaccia c'è ancora da lavorare e non è uno strumento per tutte le stagioni, ma è sicuramente estremamente interessante.
Gli altri temi caldi
I miei talk preferiti sono stati:
- Clone to Plone
- Multiplayer Plone
- Make plone search work like Google
Il primo racconta l'utilizzo di FunnelWeb per migrare portali da un altro sistema a Plone.
Nota mentale: ogni migrazione è un'isola, ogni migrazione è "painful"
Il secondo è stato tenuto da Geir Baekholt su istigazione di Yiorgis Gozadinos e permette di utilizzare Plone un po' alla GoogleDocs con tanto di chat e status:
Infine l'uso di Solr al fine di ottimizzare gli indici permette anche di aumentare le funzionalità "googlesche" di Plone:
Pyramid
La track "Related Tech" è stata fortemente monopolizzata da Pyramid. E' la tecnologia "sorella" di Plone che abbiamo sposato da tempo. Ne abbiamo parlato qui, qui e anche qui. Senza contare il talk di Andrew che ormai è un bestseller alle varie conferenze.
Il Keynote
Quest'anno l'usuale keynote è stato tenuto da P.J. Onori. Personalmente l'ho trovato di particolare ispirazione: è un inno alla crescita professionale, al capire l'usabilità delle cose, alla condivisione di esperienze tra developer e designer.
Più volte mi sono ritrovato a dire "si! si! si!".
I nostri talk
- Bootstrap your app in 45 seconds (slideshare)
- Plone in the Public Sector: Business and Sustainability Models (slideshare)
Nov 04, 2011
Image handling personalizzato negli AT
Un'applicazione mobile e la necessità di usare un certo formato immagine mi hanno spinto a capire come Plone gestisca la creazione delle immagini scalate e come ci si può inserire nel processo per fare delle personalizzazioni
Il caso d'uso
Lo sviluppo di una applicazione mobile che deve mostrare una lista di eventi ha fatto sorgere la necessità di avere un formato di immagine piccolo (facile con Plone), quadrato (mmhm...) e senza distorsioni dell'immagine (ok, non ci siamo): qualora l'immagine non fosse quadrata, la si dovrà "croppare".
Il comportamento standard IN plone
Plone base non fornisce la possibilità di prendere una immagine qualsiasi e restituirla in un formato miniaturizzato e sicuramente quadrato.
Prendiamo, ad esempio, questa immagine:

Immagine originale di dimensione 200x150
Agendo sulle funzionalità standard di plone, andiamo in ZMI nelle 'portal_properties/image_properties' del nostro sito, e aggiungiamo fra le 'allowed_size' una 'custom_size 100:100'; poi possiamo verificare caricando l'immagine (ha dimensione 200x150) che se chiamiamo sull'oggetto 'image_custom_size', ci viene tornata un'immagine 100x75:

Immagine ridimensionata con il comportamento standard di Plone
L'immagine è stata scalata in proporzione, non è questo che vogliamo! E quindi?
Studiamo la situazione
La prima domanda che è lecito e doveroso farsi è:
Cosa succede quando facciamo traversing su un oggetto usando come attributo da "attraversare" uno degli scaling disponibili per le immagini?
Stiamo lavorando su Plone 4 e indagando un poco si scopre che è stato registrato un adattatore per gestire il traversing in caso di immagini dentro a plone.app.imaging:
class ImageTraverser(DefaultPublishTraverse):
""" traversal adapter for scaled down versions of image content """
adapts(IBaseObject, IRequest)
def fallback(self, request, name):
return super(ImageTraverser, self).publishTraverse(request, name)
def publishTraverse(self, request, name):
schema = self.context.Schema()
if '_' in name:
fieldname, scale = name.split('_', 1)
else:
fieldname, scale = name, None
field = schema.get(fieldname)
handler = IImageScaleHandler(field, None)
if handler is not None:
image = handler.getScale(self.context, scale)
if image is not None:
return image
return self.fallback(request, name)
All'interno di questo adapter abbiamo il metodo publishTraverse da cui partire e un metodo che si occupa del fallback al traverser di default nel caso non si stia lavorando allo scaling delle immagini.
Inoltre, se si lavora allo scaling delle immagini, si chiama un altro adapter (IImageScaleHandler) che fornirà i metodi per creare l'oggetto con l'immagine ridimensionata:
handler = IImageScaleHandler(field, None)
if handler is not None:
image = handler.getScale(self.context, scale)
if image is not None:
return image
La soluzione
Ok, è sufficiente. Abbiamo tutto quello che ci serve sapere! Come nella maggior parte dello sviluppo che si fa per Plone/Zope, la Zope Component Architecture permetterà di fare tutto in modo relativamente veloce.
Io sto lavorando con delle immagini in un archetype customizzato, per cui la cosa più semplice da fare per me sarà registrare un adapter più specifico per l'interfaccia del mio tipo, ma possiamo banalmente proseguire l'esempio registrandone uno per IATImage:
class MyImageTraverser(DefaultPublishTraverse): """ traversal adapter for scaled down versions of image content """ adapts(IATImage, IRequest) def fallback(self, request, name): ... def publishTraverse(self, request, name): ...
Ora abbiamo il traverser per gli oggetti che implementano IATImage, e siamo già a metà del lavoro. Il successivo e ultimo passo sarà applicare la trasformazione vera e propria.
Come abbiamo già avuto modo di vedere, si richiama un handler nel traverser che si occupa di ottenere l'immagine scalata. Quello che possiamo fare è registrare un nostro handler personalizzato per il field che contiene l'immagine; magari chiamare un handler personalizzato in modo condizionato, per gestire soltanto i casi che ci interessano; qualcosa come:
if scale in crop_and_scale: handler = ICustomImageScaleHandler(field, None) else: handler = IImageScaleHandler(field, None)
L'handler originale si trova in plone.app.image, nello stesso modulo del traverser; analizzando il codice ci si rende conto che se nel sistema è presente plone.app.blob, di default, si userà il BlobImageScaleHandler presente in quest'ultimo pacchetto.
Noi potremo creare un handler personalizzato come adapter sul field che si usa per contenere l'immagine, e essendo presente plone.app.blob, lo creeremo ereditando dalla classe BlobImageScaleHandler.
All'interno dell'handler, ci sono tutti i metodi per ottenere l'immagine scalata.
Per raggiungre il nostro obiettivo, ereditando dal BlobImageScaleHandler, possiamo scrivere un handler personalizzato che conterrà un unico metodo, createScale: l'unico che ci serve personalizzare. Qui potremo applicare le trasformazioni necessarie. Il metodo originale esegue i seguenti passi:
def createScale(self, instance, scale, width, height, data=None):
""" create & return a scaled version of the image as retrieved
from the field or optionally given data """
field = self.context
if HAS_PIL and width and height:
if data is None:
image = field.getRaw(instance)
if not image:
return None
data = str(image.data)
if data:
id = field.getName() + '_' + scale
try:
imgdata, format = field.scale(data, width, height)
except (ConflictError, KeyboardInterrupt):
raise
except Exception:
if not field.swallowResizeExceptions:
raise
else:
exception('could not scale ImageField "%s" of %s',
field.getName(), instance.absolute_url())
return None
content_type = 'image/%s' % format.lower()
filename = field.getFilename(instance)
return dict(id=id, data=imgdata.getvalue(),
content_type=content_type, filename=filename)
return None
Per fare la modifica, nell'handler personalizzato potremo cambiare questa riga
imgdata, format = field.scale(data, width, height)
con quello che fa più comodo, e usando il crop delle PIL potremo trasformare l'immagine come necessario, arrivando a un risultato come questo.

Immagine ridimensionata e croppata fino alla dimensione 100x100
Sep 30, 2011
PloneGov - sulla strada di OSEPA
Al meeting OSEPA di Bologna, la presentazione di PloneGov (curata da RedTurtle su richiesta della Regione Emilia Romagna) si è rilevata il punto saliente dell'intero convegno
Un progetto alla ricerca di un modello
Il panel di studiosi e stakeholders di diversi paesi Europei che stanno portando avanti il progetto OSEPA ha obiettivi di analisi, diagnosi e proposta relativi al software libero nel settore pubblico. Nel precedente post su questo tema, esprimevamo una soddisfazione che oggi, potremmo dire, è decuplicata.
Difatti, abbiamo avuto la prova concreta che PloneGov, al di là del valore intrinseco per la tecnologia su cui si basa e per la comunità che coinvolge, è prima di tutto un modello, e la descrizione che ne abbiamo sempre dato, "modello di business sostenibile", è assolutamente esatta. Chi ha promosso l'iniziativa e chi vi ha aderito nutriva già questa certezza: è importante che ora ad affermarlo sia una "terza parte" come il team OSEPA.

Cosa si sta cercando?
Sostanzialmente, si sta cercando un modo di procedere che garantisca la qualità del software, la sicurezza e la stabilità del rapporto con i fornitori o comunque un'autonomia degli Enti che garantisca un futuro alla tecnologia e un supporto durevole, un modello che in qualche modo si autosostenga e si autogarantisca sia sul piano economico, sia su quello operativo.
Cosa si è trovato
Le conclusioni dei tre pannelli indipendenti creati nel corso dei lavori, due dei quali comprendevano una persona RedTurtle, sono convergenti:
- occorrono aziende che siano realmente parte della comunità e che vedano il contributo alla crescita della tecnologia FLOSS come un'opportunità;
- occorrono rapporti chiari e collaborativi tra aziende a Enti Pubblici, che devono individuare e difendere un interesse comune: l'economicità e la sostenibilità del modello, la qualità del software e lo scambio di conoscenze;
- occorre una crescita culturale degli Enti che ne faccia parte viva e attiva del modello di business;
- occorre coinvolgere il livello dei decisori nella scelta e nella visione che ne risulta.
Occorre, insomma "il triangolo di PloneGov", schema che effettivamente, nella sua semplicità, ha "folgorato" tutti i presenti.

La giornata di lavori
Il MAMBO, museo di arte moderna del capoluogo emiliano, si è ben prestato al meeting, che ieri 29 settembre viveva la sua seconda e ultima giornata. L'ampio salone oggetto del convegno, sede di un'installazione che ne seguiva il perimetro, era accogliente e provvisto di ogni tecnologia necessaria.
In fase iniziale, si è svolta la presentazione di una serie di casi di studio tra cui quello del Politecnico di Milano (che evidenzia luci e ombre, non esclusi gli opportunismi, del mercato FLOSS) e quello della regione spagnola dell'Extremadura, e ovviamente quello di PloneGov Italia curato da Stefano Marchetti, e in seconda battuta da chi scrive; ognuno degli interventi è stato seguito da domande e risposte. Ha seguito una sessione interattiva, nel corso della quale i partecipanti si sono divisi in tre gruppi, per rispondere indipendentemente alla domanda che più o meno suonava così "Quali modelli possono garantire agli Enti Pubblici Europei la qualità del software libero, un corretto rapporto con le aziende e la maggiore efficacia a parità di costo? Di quali fattori è necessario tenere conto?".
Come già detto, le conclusioni dei gruppi sono andate a convergere su un modello stile PloneGov Italia.
Dopo il pranzo, l'organizzazione ha offerto un piacevole tour in bus scoperto, propiziato da un tempo ideale (anche il sole sembra arridere a PloneGov!). A margine, il Politecnico di Milano ci ha "arruolato" come case study di compagnia "immersa" nelle comunità open source - un caso che evidentemente è meno comune di quanto credessimo, visto che non è stato considerato nel campione di studio su cui PoliMI ha basato la sua relazione.
ContènTOUR - da Roma, conferme sul format di divulgazione FLOSS
Una settimana densa di eventi: ContènTOUR e OSEPA Meeting. Partiamo da un breve resoconto della tappa romana della nostra iniziativa di evangelizzazione open source.
Ogniqualvolta le aziende organizzatrici (RedTurtle, Abstract e BioDec) sono ricorse alla collaborazione dei propri Clienti (fanno fede precedenti come i due Plone for Research and University Day e l'evento ospitato del Comune di Padova), il loro coinvolgimento è stato totale.

Anche ENEA Roma, che ci ha ospitati nella tappa del 28 Settembre, ha fornito sala, infrastruttura per il webcast dell'intera giornata di lavori, regia e personale tecnico, nonchè una sala più che adeguata alle esigenze del convegno e del catering. Ancor meglio, a conferma della scelta di Plone per il portale dell'Ente, ha fornito una consistente parte del numeroso pubblico, segno questo di forte impegno verso il software libero a più riprese ribadito dai relatori istituzionali, Diana Savelli, Andrea Quintiliani e l'Ing.Silvio Migliori, responsabile di diversi progetti di High Performance Computing.

Mattina: relazioni
Il dispiacere per l'assenza del relatore di ISFOL, impossibilitato a presenziare per motivi personali, è stato compensato dagli interessanti talk sull'esperienza di ENEA nell'allestmento di siti, e in particolare dall'attesissimo intervento di Flavia Marzano, che nell'occasione ha tracciato con il consueto equilibrio gli orizzonti di impiego del cloud nel settore pubblico. A questo che è un po' stato il "keynote speech" della mattina sono seguite, dopo il coffee break, le interessanti presentazioni delle Università di Macerata e di Bari, che hanno toccato anche aspetti di tipo organizzativo e architetturale.
E' quindi venuto il mio turno: nel presentare un'applicazione "fuori tema" come l'ERP Web sviluppato da RedTurtle Technology, ho chiarito che, al di là del caso di specie, certamente distante dall'esperienza del pubblico, mi interessava dare una misura della solidità "industry standard" e della plasticità di soluzioni in cui Plone è il front-end di un sistema basato su Pyramid, farmework applicativo utilissimo per applicazioni web che vadano al di là della gestione contenuti. Le integrazioni con dispositivi mobili sono un altro tema di interesse trasversale, in particolare per Enti di ricerca come ENEA
Maurizio Delmonte ha quindi illustrato con la sua tipica chiarezza e completezza il caso di studio del SIT del consorzio COSIB, applicazione fortemente integrata con un database geografico e tecnico, dall'interfaccia utente particolarmente riuscita.
Pomeriggio: dibattito
Dopo un catering molto apprezzato, è iniziato un dibattito che per circa due ore ha visti impegnati l'Ing. Migliori di ENEA in qualità di chairman e noi delle aziende (Maurizio in particolare) come animatori. Ne è emerso un quadro interessante, di grande consapevolezza da parte degli Enti presenti, ma anche la certezza che le difficoltà non vanno sottovalutate. Il pomeriggio ha anche fornito l'opportunità per ritornare su temi che al mattino erano semplicemente stati accennati, come qualche informazione in più sul tema delle licenze del software libero o le dinamiche di riuso presenti in PloneGov.
Sintesi
E' evidente che ENEA, nel suo ruolo di Ente ospitante, ha voluto dare un forte segno di "commitment" sul software libero, prima di tutto al suo stesso interno. Ciò non ha impedito che i presenti, a prescindere dall'Ente di appartenenza, siano usciti arricchiti dall'esperienza di un incontro che, come nella nostra migliore tradizione, ha effettivamente compiuto la missione di discutere, senza prevenzione e posizioni massimaliste, sull'esperienza di introduzione del software libero negli Enti, con un'equilibrata rappresentazione di luci e ombre. Proprio ciò che serve per rimanere nel mondo reale e fare crescere, al di là di proclami di principio, il free software nel Settore Pubblico italiano.
Sep 28, 2011
ZEA, come una fenice, rinasce da Arnhem
Seduto nello spazio, gentilmente offerto da Allianz, all'interno dell'aeroporto di Monaco mi ritrovo a raccogliere un po' di pensieri riguardo al meeting ZEA appena concluso. Lo posto solo ora, al termine del lavoro, finalmente con un buon WIFI.
Dopo la rifondazione che abbiamo attuato nei mesi scorsi, abbiamo deciso di tenere una serie di incontri trimestrali. Vogliamo approfondire al massimo la conoscenza reciproca, raccontarci le nostre esperienze e dare/ricevere dai colleghi spunti e opportunità. Una specie di micro-conferenza con cadenza molto ravvicinata.
Erano presenti 8 partner oltre a noi:
- Four Digits (NL)
- Abstract (IT)
- Jarn (NO)
- Gocept (DE)
- Infrae (NL)
- Greenfinity (HU)
- Startifact (NL)
- Netsight (UK)
- RedTurtle (IT)
I talk
La giornata era organizzata in modo da avere talk ma anche spazio per discussioni aperte e lighting talk.
Evito di entrare nei dettagli: c'è un ottimo post di Matt Hamilton (Netsight) che vi invito a leggere.
Primo meeting: un sacco di cose da decidere!
Allo scorso Sorrento sprint è stato eletto un board (Kit Blake, Geir Baekholt e il sottoscritto) e in questo senso eravamo ora chiamati a proporre una strategia da seguire per i prossimi anni.
Questo è un cambiamento importante rispetto alla passata gestione. Abbiamo una strategia, condivisa tra il board e i membri che possono approvarla, emendarla, aggiungere nuove proposte.
Il presidente, e il suo vice che lo affiancherà fino a sostituirlo dopo 6 mesi, hanno l'incarico di metterla in pratica. Il board supervisiona in modo light i vari presidenti nell'arco di 5 anni. Giusto per garantire un minimo di continuità nelle iniziative.
La nostra proposta è fondamentalmente basata su due capisaldi.
- ZEA sarà molto più leggera: poca burocrazia, quote di partecipazione contenute (400€ per le aziende oltre i 3 componenti, 100€ per gli altri e try-before-buy fino a tutto dicembre), nessun vincolo di azione o partecipazione da parte dei membri. ZEA agevola le opportunità: non le crea e non le impone.
- ZEA sarà molto più comunitaria e coesa: una meta-company di 100+ persone, con gli skill derivati dalle competenze di 20+ aziende. Agiremo ognuno come sede locale di ognuno degli altri. Ancora una volta saremo a diffondere il verbo di Plone, come sempre secondo la nostra mission, e lo faremo in modo coordinato e condiviso.
Le azioni pratiche che contiamo di intraprendere nel breve e nel medio periodo sono:
- partecipare a eventi transnazionali a livello europeo per far conoscere Plone e il nostro brand;
- spingere sull'organizzazione e sulla partecipazione a sprint e tune up per continuare a evolvere (evolution not revolution) il nostro CMS preferito;
- organizzare un Transnational Exchange Programme durante il quale sviluppatori di un'azienda andranno a lavorare in altre aziende del gruppo per qualche tempo;
- ehm... sì, avremo anche un nuovo website
E non sarà solo Plone. Pyramid e Django già da un po' lo stanno affiancando. E non sarà solo tecnologia, in diversi abbiamo evidenziato competenze consulenziali che finora erano rimaste colpevolmente taciute.
Questa proposte, che come board abbiamo avanzato, sono state apprezzate dai membri e nei prossimi mesi proveremo, appunto, a metterle in pratica.
La community
Lo so. Mi ritrovo spesso a ripetere come un mantra la parola "community": nei post, nei talk, nelle serate con i colleghi, nelle presentazioni ai clienti.
Ancora una volta son qui a sottolineare questo aspetto: essere parte di una comunità.
Questa volta però non è una comunità di persone, ma una comunità di aziende. L'idea di base non cambia: in fondo le persone che guidano queste aziende sono le stesse che negli anni hanno sviluppato e evangelizzato il mondo su plone. Abbiamo ancora la stessa idea fissa (potevo dire meravigliosa).
Quello che cambia è il punto di vista. Un'azienda deve produrre reddito per sé e per tutte le persone che vi lavorano. E deve farlo in modo continuativo, organizzato, pensato.
Questo è un bene per Plone. E un bene per i nostri clienti (l'esperto della funzionalità che serve al mio cliente è sempre stato a un colpo di telefono, ma lo conosco molto meglio)
Personalmente, l'essere parte di una comunità di imprenditori mi aiuta a semplificare questa fase: tutti tendiamo a rendere le nostre aziende floride e stabili nel tempo, non dovrò più inventarmi in solitudine il modo migliore per farlo, potrò anche mettere a frutto suggerimenti e mediare iniziative già intraprese con successo da altri.
E' stata una 2 giorni impegnativa, carica di aspettative e con molte speranze per il futuro. Come lo stesso Matt nel suo post, anch'io "look forward to the next meeting in January…" ovunque sarà. :-)
Sep 23, 2011
OSEPA Meeting, Bologna - evento "invisibile", presenza importante
C'è evento ed evento - essere convocati a un tavolo "riservato" come portatori di un modello di business degno di nota, è sempre una bella soddisfazione.
OSEPA è l'iniziativa Europea dedicata a condurre un dibattito sistematico tra le amministrazioni pubbliche europee sul tema del software libero, in termini di vantaggi e svantaggi (tecnici e di costi) derivanti dalla sua adozione e utilizzo da parte delle PA.

Partecipato da importanti organizzazioni tra cui la Regione Emilia Romagna, OSEPA, nei suoi meeting periodici, esplora lo stato di avanzamento delle esperienze degli Enti aderenti, e cerca di arricchirsi di nuovi punti di vista.
Redturtle è onorata di essere stata convocata come relatore al meeting del 28-29 Settembre, per parlare del modello di business sostenibile basato sul riuso e su PloneGov, che è diventato un po' il nostro marchio di fabbrica.
La Regione Emilia Romagna vede in noi un interlocutore non solo qualificato tecnicamente, ma rappresentativo del mercato e portatore di una visione che merita di essere conosciuta a livello internazionale.


