Massimo Azzolini
Jun 04, 2010
La Comunità (secondo matt hamilton)
Questo è esattamente quello cui penso quando penso alla comunità Plone
May 31, 2010
Sorrento Sprint: collective.amberjack
Come ogni anno da 4 anni abbiamo partecipato al Sorrento Sprint. Quest'anno abbiamo deciso di andare in forze (8 persone) allo scopo di portare avanti lo sviluppo di amberjack di cui ci siamo presi carico nei confronti della comunità.
Gli obiettivi
Abbiamo una milestone da raggiungere: quella del rilascio della versione 1.1a. Questa comprendeva:
- la risoluzione di alcuni bug o problemi di interfaccia
- il refactoring del codice javascript
- il brainstorming su come evolvere il sistema
Abbiamo risolto i bug, introdotti ulteriori miglioramenti all'interfaccia e rifattorizzata buona parte del codice javacript. Rimane qualcosa da finire, nel complesso è stato un successo.
Inoltre, sono stati introdotti cambiamenti strutturali alla definizione del tour.
Luca, Federica, Mirco ed Andrew hanno fatto un gran lavoro.
Il punto focale però è stato il confronto con la comunità. Avevamo preso alcune decisioni che ci è sembrato opportuno sottoporre al vaglio dei presenti e abbiamo ottenuto ottimi suggerimenti e conferme sulla strada intrapresa.
Windmill
Windmill diventerà l'interfaccia principale di creazione di un tour. E' il modo più semplice per crearlo, aggiornarlo, tradurlo. E' di enorme efficacia sia per un end-user in quanto servirà poco addestramento che per uno sviluppatore che potrà creare al tempo stesso un tutorial per i suoi add-on e un test funzionale che verifichi che l'introduzione di modifiche non inficino il comportamento generale del sistema.
Questa conferma ha portato ad alcune riflessioni e variazioni di indirizzo.
formato dei tour
Il formato cambia. Non più complessi dizionari scritti in python, ma file di configurazione altamente leggibili. qualcosa del tipo:
[amberjack] steps = 0_create-a-new-folder 1_fill-out-the-fields 2_publish-the-folder 3_all-done title = Add and publish a Folder [0_create-a-new-folder] blueprint = collective.amberjack.blueprints.step title = Create a new folder url = / text = Folders are one of .... validators = python: isManager python: isNotFolderCreated microsteps = 0_0_microstep 0_1_microstep 0_2_microstep [0_0_microstep] blueprint = collective.amberjack.blueprints.microstep description = If you don't want to perform the ... automatically done by your browser. [0_1_microstep] blueprint = collective.amberjack.blueprints.microstep idstep = menu_add-new description = Click the [Add new...] drop-down menu. [0_2_microstep] blueprint = collective.amberjack.blueprints.microstep idstep = new_folder description = Select [Folder] from the menu.
Sarà ovviamente possibile salvare i tour, in questo nuovo formato, direttamente dall'interfaccia di Windmill.
Ovviamente è necessario avere un sistema di conversione dei vecchi tour: è stata creata l'utility "tour_converter" (in collective.amberjack.core) che migra vecchi dict-based tour in nuovi cfg-based tour.
I tour saranno quindi semplici file. Questo significa che la sorgente da cui verranno "pescati" non sarà più un package scaricabile da pypi, ma potrà essere salvato in locale, messo su un server condiviso, scaricato da sorgenti eterogenee (svn, http server, ftp, ecc.). Ovviamente abbiamo una registrazione "classica" via zcml oppure una più "cool" via pannello di controllo di plone.
E' già pronta e funzionante una versione experimental che funziona con questo nuovo approccio e i 12 plonetour sono stati già convertiti e pronti per l'uso.
Un discorso a parte per le traduzioni: dobbiamo reimplementare il meccanismo in quanto ora non abbiamo più file .py. Contiamo di definire una modalità di traduzione simile alla precedente, ma in qualche modo occorrerà effettuare qualche variazione al sistema di generazione dei file .po.
sandbox
Il brainstorming pre-serale in giardino è stato molto utile anche in questo caso.
L'idea che ne è scaturita è quella di fornire un folder personale dedicato ai tour all'interno del quale l'utente abbia tutti i diritti necessari per poterli eseguire completamente. Questo copre il 90% delle situazione secondo le previsioni della maggior parte dei presenti.
Con questa sandbox 1.0 si potrà già creare un "demo.plone.org": chiunque potrà provare Plone senza doverlo scaricare.
Inoltre è semplice per ogni sviluppatore di add-on montare un'istanza in cui includere il proprio tour ed eventualmente richiedere alla foundation il dominio: "demo.myaddon.plone.org"
Assolutamente semplice sarà fornire un sistema che ogni notte ripristini il portale ad una situazione "pulita".
Non sembra interessare, almeno in questa fase, un sistema che automaticamente crei un'istanza on-the-fly che permetta all'utente di provare plone in completa autonomia. quel 10% di target-user possono tranquillamente utilizzare un comodo UnifiedInstaller
May 29, 2010
Alessandro "sauzher" Ceglie presenta Plone@Uniba
Alessandro ha fatto un'ottima illustrazione del loro lavoro presso l'università di Bari. Grandi contenuti, grande strumento scelto per la presentazione e ovviamente tutto con Plone :)
Lui scrive su http://appuntiplone.wordpress.com
May 17, 2010
rilasciato collective.amberjack 1.0
Questa è la prima versione per Plone 4
abbiamo un team di supporto!
Dalla 1.0x RedTurtle ha deciso di supportare il progetto.
Questo non significa che collective.amberjack sta diventando un progetto aziendale, ma semplicemente che avremo un team che ne porterà avanti lo sviluppo.
Il team, oltre a me, è composto da Mirco Angelini, Federica D'Elia, Andrew Mleczko e Luca Fabbri. All'ultimo sprint a Ferrara abbiamo avuto il supporto di Jacopo Deyla e il ritorno di Giacomo Spettoli (tra i primi contributori) entrambi della Regione Emilia Romagna.
Ora, sei ancora di più il benvenuto se vorrai partecipare allo sviluppo, supportare l'iniziativa o semplicemente utilizzare il sistema. Il tuo contributo sarà ancora più utile ora che qualcuno lo porterà avanti sistematicamente.
what's new?
Questa prima release 1.0x supporta completamente Plone 4:
- i 12 tour sono stati completamente rivisti
- è stato introdotto il supporto per TinyMCE
- abbiamo un piano di battaglia
what next?
Dicevo di un piano di battaglia. Il piano prevede che al prossimo sprint a Sorrento si concludano le operazioni che ci porteranno ad una versione 1.1 rifattorizzate e ulteriormente migliorata.
Nel frattempo predisporremo una serie di step che ci porteranno ad avere un sistema più solido, usabile e soprattutto estensibile.
Contiamo di introdurre Windmill come tool di creazione di tour via web. I primi tentativi sono molto promettenti. Andrea Benetti sta portando avanti la parte di studio che verrà integrata successivamente in collective.amberjack.
Dove puoi seguire il progetto?
Se sei interessato a partecipare, i posti dove ci incontriamo sono questi:
- launchpad, per la gestione del progetto (blueprint, bug, ecc.)
- coactivate, ci è utile per documentare il tutto attraverso il suo wiki e per gestire la mailing list
- il codice è tutto rilasciato su collective.
Se, viceversa, vuoi utilizzare il sistema, pypi è il tuo amico:
collective.amberjack 1.0 released
This is the first plone 4 compliant release
we have a support team!
Starting from 1.0 release, RedTurtle decided to support the project providing a 4 person team.
It doesn't mean that collective.amberjack is going to be company branded - quite the contrary - it means that we have a stable team that is going to enhance and mantain the tool.
Except me, the team contains: Mirco Angelini, Federica D'Elia, Luca Fabbri e Andrew Mleczko. During the last Ferrara' sprint, we were glad to have Jacopo Deyla's contribution and the Giacomo Spettoli's return (former contributor) both of them from Regione Emilia Romagna.
You are even more then welcome to participate in the development, in supporting the initiative or just in using and testing the tool. Your contribution will be more useful since, from now, there will be someone that will take care of it.
WHAT'S NEW?
This 1.0 release supports Plone 4:
- the 12 tours has been completely revised
- the TinyMCE support has been added
- we have a battle plan
WHAT NEXT?
I talked about a roadmap. It assumes that during next Sorrento sprint we'll complete the tasks that will refactore the code and improved 1.1 release.
In the meanwhile we're going to schedule a set of steps that move collective.amberjack in a more solid, usable and mostly, extensible tool.
We are also confident to introduce Windmill as the TTW tool for creating tutorials. Andrea Benetti from University of Ferrara is starting to extend it. Then we'll integrate it into a collective.amberjack.windmill package.
how could you get involved inTO the project?
If you are interested in contribution, the places where we meet are these:
- launchpad, for the project management (blueprints, bugs, etc.)
- coactivate, extremely useful for documentation through its wiki and for the mailing lists
- the code is obviously release on collective.
Otherwise, if you just want to use the system, pypi is your friend:
Apr 24, 2010
Cool as Cooliris
Come inserire una galleria fotografica in Plone dalla spiaggia sorseggiando un drink
Cooliris ti permette di ottenere info da una risorsa multimediale web e di creare da queste una galleria fotografica estremamente attraente. Cooliris è stato pensato per le fonti più famose (flickr, youtube, picasa e facebook). In generale però ti permette di utilizzare un media rss generico.
Non è un tool plone, non è fortemente integrato, è tutto bellamente esterno. Se ne occupa qualcun altro a farlo funzionare. ahhh, relax.
Ma perchè ci interessa in ambito Plone?
Plone può essere utilizzato come portale, come blog, come intranet ecc. chiaramente inserire una galleria Cooliris vien comodo.
Questo blog è ovviamente realizzato in plone (what else? :) ed è stato banale inserire la gallery qui sopra. Ho semplicemente utilizzato il sistema Express di Cooliris e generato quello che loro chiamano "wall". Poi l'ho incluso in questo post.
D'altro canto, Plone è anche un generatore di contenuti.
Tutti sappiamo che possiamo inserire immagini in un portale plone, ma anche inserirle all'interno di una news o anche creare tipi ad-hoc che le prevedano.
Chiaramente anche eventuali video possono essere gestiti, così come (ad esempio se si utilizza redturtle.video) ottenere riferimenti a contenuti che sono su youtube.
Vien facile quindi pensare che, con un po' di programmazione, si possa dire a plone di generare, magari a partire da una collezione, un media rss che cooliris possa lavorare per noi. Un po' come si fa per il classico rss della collezione stessa.
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/"
xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<item>
<title>Picture A</title>
<media:description> This one's my favorite.</media:description>
<link>pl_images/A.jpg</link>
<media:thumbnail url="http://example.com/pl_thumbs/A.jpg"/>
<media:content url="http://example.com/pl_images/A.jpg"/>
</item>
<item>
<title>Video B</title>
<link>http://example.com/pl_images/B.jpg</link>
<media:thumbnail url="http://example.com/pl_thumbs/B.jpg"/>
<media:content type="video/x-flv"
url="http://example.com/pl_images/B.flv"/>
</item>
</channel>
</rss>
In questo modo puoi:
- avere contenuti "social" aggregati in qualche modo sul tuo portale
- avere contenuti del tuo portale che diventano "social" via i media rss
- avere i tuoi contenuti in una gallery "cool" nel tuo stesso portale (o in altri che tu stesso gestisci)
In aggiunta al servizio Express hai anche a disposizione un po' di API (se non hai delle API non sei nessuno :) e scegliere se utilzzare javascript o flash per realizzare la tua gallery. Chiaramente non è un lavoro per comuni mortali, serve sempre almeno tuo cugino, quello che sa di internet, o forse magari un bravo professionista :D
Tutto facile, tutto già pronto?
Un buon uomo di marketing ti direbbe: "thatì's all folks! enjoy"
Per vostra fortuna non sono ancora passato al lato oscuro della forza. Mi piace, quindi, ricordarvi che, per un sacco di buone ragioni, il buon Plone non ti permette di inserire tag object all'interno del corpo della pagina.
Niente di devastate comunque, occorre che vi ricordiate di abilitarlo esplicitamente. E il nostro amico Sam Knox ci ricorda come.
Chiaramente questo settaggio farà sì che ogni utente (si tutti, anche quello cui stai pensando e che fa sempre dei danni) abilitato sul vostro portale o blog Plone potrà effettuare questa operazione. Be careful :)
L'altro punto da tenere in considerazione è proprio il fatto che si tratta di un sistema esterno, che non controllo, che ha le sue politiche, che da un giorno all'altro potrebbe variarle.
Ma anche questo è questo il web 2.0, no? Occorre conoscere, pensare e valutare se un tool fa al caso nostro o meno. Una volta fatto, si vive tranquilli.
Mar 07, 2010
feedly: il tuo smart magazine
Dai un po' di vita al tuo vecchio e stantio feedreader
Feedly fondamentalmente è un aggregatore di feed rss. bello eh?
Ok, se la metto giù così non vale neanche la pena di perderci tempo e di scrivere una pagina in questo allegro blog.
In effetti ha alcune simpatiche funzionalità che lo rendono decisamente gradevole e che lo rendono superiore ad altri sistemi.
Ovviamente è una web application e si integra con google: usi lo ss utente e sfrutti i feed che hai già configurato su Reader. Ovviamente li puoi riaggregare come preferisci e ne puoi aggiungere altri molto rapidamente.
L'effetto immediato è di ottenere una versione magazine dei tuoi feed. Dal feed stesso ottiene immagini e li riorganizza mettendone alcuni in evidenza.
Ma la cosa che lo distingue dagli altri è il fatto che, a partire dai tuoi feed, ottenga altre informazioni da altre fonti: twitter, flickr, youtube, amazon.
Per ogni tua aggregazione puoi definire una view predefinita.
Interessante la lettura del feed. Te lo presenta come popup in maniera estesa e già da li lo puoi ri-sharare verso i nostri cari vecchi social network, ma lo puoi anche inviare via gmail.
Lo installi come estensione di Firefox, di Chrome o di Safari, IE... non so :), altrimenti non va (questo non è per niente cool)
Interessante il feedly mini, li appoggiato in basso a destra nella pagina. Mentre navighi analizza il contenuto della pagina e ti propone i migliori post tra i tuoi feed relativi al contesto.
Puoi anche salvare la pagina piuttosto che postarla su twitter/facebook o inviarla via mail.
Mar 04, 2010
Wikitude: Realtà aumentata
Utilizza il tuo telefono per ottenere informazioni su dove ti trovi
Ogni tanto ti ritrovi con qualcuno che ti racconta le ultime meraviglie della realtà aumentata [wikipedia].
Fondamentalmente (e semplificando moltissimo la cosa..) si tratta di sovrapporre livelli informativi alla realtà che stiamo vivendo.
Lo possono fare sfruttando in vari modi oggettini che sono già presenti: dal famoso caschetto da realtà virtuale all'ormai famigerato iPhone.
Sicuramente l'uso di device mobili è l'opzione più attraente e più consumer.
I signori di wikitude si sono inventati:
- una community dove ognuno può aggiungere i suoi punti di interesse (POI): wikitude.me
- un browser che gira su Android, iPhone, e Symbian (Nokia N97 e N97 mini). iPhone 3GS. Il mio ovviamente non va :(
- volevamo farci mancare delle API? ovviamente no! Certo che in Java...
l'effetto finale è notevole:
Nov 23, 2009
Un italiano a Budapest
Non vi racconterò di talk, di tecnologie, di nuove feature. Non vi racconterò nemmeno dell'ultima e della prossima release di plone. La mia gita alla plone conference è stata un viaggio emozionante tra persone e idee.
Non so esattamente quale sia la percezione dall'esterno, ma ogni anno la conference rappresenta, per me, la possibilità di ritrovare vecchi amici che hanno una passione in comune.
Si parte!
Già alla cena pre-conference l'accoglienza è stata incredibile.
Aaron aveva un posto buono a fianco a lui e subito i gruppi si sono mescolati: italiani, americani, polacchi, francesi, tedeschi, olandesi.
Tutti li' a parlare di tutto. C'era quello mi chiedeva di amberjack, quello che si ricordava di un piatto italiano e voleva la ricetta, quello che ti racconta che si è finalmente preso una spider e ne è così orgoglioso.
Tutto come se fossimo vecchi compagni di scuola che hanno condiviso qualcosa di particolare e prezioso.
Spesso si dice:
plone il cms, plone il framework, ma soprattutto plone la comunità
La solita retorica, trita retorica, dell'open source, vero? beh, magari no.
Se ne sei fuori, o meglio se ne vuoi stare fuori, sei libero di vederla così, ma così non è. Frequento e ho frequentato in passato altre comunità (i partner ibm, i lug, l'xpug) e nonostante abbia incotnrato alti livelli di eccellenza, questa community è quella più coinvolgente, appassionante, e professionalmente energizzante.
ZEA
Il gruppo ZEA si è riunito dopo diverso tempo in una riunione live. Ho potuto conoscere di persona e di scambiare opinioni con Matt, Russ, Kit e Jean Paul, che conoscevo solo in modo marginale, ma anche di rivedere vecchi amici come Xavier e Godefroid. E' stato utile, credo che il gruppo sia oggi più compatto e propositivo.
Plone Italia
Il riaggregarsi del gruppo italiano è stato allo stesso modo entusiasmante.
Ognuno aveva la sua idea, il suo modo di vedere le cose. E si è discusso, preso in considerazione le varie tesi.
Quello che ne è venuto fuori lo potete o lo avete letto sulla ML, ma il punto interessante, ancora una volta, non è stato solo il risultato finale.
Il confronto, il discutere, il mettere in dubbio quello che è il tuo piccolo mondo di fronte agli altri è un modo estremamente appagante di crescere. E ti rendi conto che dopo 12 anni di lavoro e non so quanti di informatica, non sei ancora arrivato. C'è sempre qualcuno che ha qualcosa di nuovo da raccontarti un punto di vista diverso, e cresci.
collective.amberjack
Poi c'è stata la mia personalissima ciliegina sulla torta: collective.amberjack.
Ho potuto presentarlo in un talk ufficiale, ho "guidato" uno sprint e raccontato a tutti gli sprinter gli avanzamenti del lavoro fatto.
Messa giù così ha un che di vagamente autocelebrativo e presuntuoso. E sicuramente una parte di me è decisamente soddisfatta dell'interesse che ne è uscito. Il punto però è un altro.
Perdersi nella comunità
Ho sempre visto tutti coloro che contribuivano come una specie di esseri con capacità tecniche, qualità personali di livello superiore.
Il che in parte è anche vero. Quello che è, però, ancora più vero non sono le capacità tecniche, ma la voglia di proporsi e di perseverare.
In fondo quello che è cambiato in me rispetto alle precedenti conference è stato il voler mettere sul piatto quello che so fare, tanto o poco non importa. La comunità ha apprezzato ed evidenziato. Poi, magari, amberjack sarà stata anche un buona idea, ma in ogni caso è stato l'impegno che ha fatto la differenza.
E' la differenza che passa tra lo stare nell'ombra e sfruttare l'open source, come molti purtroppo fanno, e il fondersi nella comunità: più dai, più ti impegni, più avrai in cambio in termini di credibilità, riconoscenza, amicizia!
Ritorno a casa
Alla fine del viaggio la lezione imparata è che tutta la retorica dell'open source, del fatto che tutti possono contribuire, che è la community che segna la strada è niente di più che la realtà.
Non ci si può, però, limitare a raccontarla (alle conferenze, ai linux day, in post sui blog), occorre declinarla in azioni, in codice, in attività, in quello che sai fare.
Allora? che pensi di proporre alla prossima ploneconf?
Oct 30, 2009
redturtle@ploneconf2009
alcuni riferimenti ai talk che abbiamo tenuto alla plone conference in corso in questo momento
I talk presentati sono stati 2:
- Carneade, dar vita alle relazioni del mondo reale: Plone come gestore di organizzazioni
- collective.amberjack: Plone come piattaforma per i tutorial
Tutto il materiale è già in linea.
Carneade
- La presentazione (su slideshare)
- un video di presentazione del sistema (su youtube)
- l'intero talk in streaming video (su ustream)
collective.amberjack
- La presentazione (su slideshare)
- un video di presentazione del sistema (su youtube)
- l'intero talk in streaming video (su ustream)

