Personal tools

Deco

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

Ancora una volta: "the best conference... ever" (cit.)
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:

  1. semplificare la fase di skinning di Plone limitandola al frontend, più facilmente gestibile da Diazo,
  2. 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.

Diazo Theme Manager:

CMSUI:

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.

Pyramid è in diretta concorrenza con Django (framework di cui viceversa non si è parlato). E' da sottolineare il fatto che praticamente tutti i Plonisti a S. Francisco avessero fatto la stessa scelta e questo ci conforta sapendo di aver scelto a suo tempo nel modo corretto, ma soprattutto di essere in buona compagnia.

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

Avrete modo di leggere di più nei prossimi giorni sui talk (e lighting talk) di Andrew e Stefano. Mi limito a segnalarvi le presentazioni:
  • Bootstrap your app in 45 seconds (slideshare)
  • Plone in the Public Sector: Business and Sustainability Models (slideshare)

Jan 13, 2010

Install Plone 4 on OSX Leopard e Snow Leopard (from scratch)

Install Plone 4 without Unified Installer is easy.

Trying Plone 4 is easy.
The following steps are tested with OSX 10.6 Snow Leopard and OSX 10.5 Leopard.
The first step is to obtain the compiler to build Python from source.
On OSX, to install the gcc compiler, download the Xcode package from http://connect.apple.com/. You’ll need to register for an Apple Developer Connection account. Once you’ve registered, login and click Download Software and then Developer Tools. Find the Download link
Xcode 3.2.1 Developer DVD (Disk Image)
Be careful: Xcode 3.2.1 is for OSX 10.6 Snow Leopard and Xcode 3.1.4 is for OSX 10.5 Leopard.

First: create a temp folder:

mkdir -p /Users/stefano/Devel/tmp
cd  /Users/stefano/Devel/tmp


Plone 4 needs Python 2.6; it is easy build Python from source. The great advantage is that, in this way, all files will be in a folder leaving your OS "clean".

Download the latest version 2.6 release from http://www.python.org/download/releases/2.6.4/

Move the file (Gzipped source tar ball) Python-2.6.4.tgz in the "temp" folder and uncompress it:

tar zxf Python-2.6.4.tgz
cd Python-2.6.4


Create the Python destination folder:

mkdir -p /Users/stefano/Devel/python/2.6/
cd /Users/stefano/Devel/tmp/Python-2.6.4


before you can build your Python first you must configure it.

From the folder /Users/stefano/Devel/tmp/Python-2.6.4 type the command:

./configure --prefix=/Users/stefano/Devel/python/2.6/

 
Then to build your Python type:

make


To install the Python binary, library modules, shared library modules, include files, configuration files, and the manual page, just type:

make install


Download the Python Imaging Library (the "all platform" version) from
http://www.pythonware.com/products/pil/
Move the downloaded file in /Users/stefano/Devel/tmp/

tar zxf Imaging-1.1.6.tgz

cd /Users/stefano/Devel/tmp/Imaging-1.1.6

 
Install Python Imaging Library in your Python environment:

/Users/stefano/Devel/python/2.6/bin/python2.6 setup.py install
cd /Users/stefano/Devel/

 
Then download the Plone source:

svn co http://svn.plone.org/svn/plone/buildouts/plone-coredev/branches/4.0/ plone4

cd plone4 

Then bootstrap Plone:

/Users/stefano/Devel/python/2.6/bin/python2.6 ./bootstrap.py


Then run the buildout:

./bin/buildout

 
Start Plone:

./bin/instance fg


Then type this URL in your browser:

http://localhost:8080


Enjoy your new Plone 4!

If you want to test new experimental functionality you can use configuration files in the folder "exeperimental" in the plone folder (Users/stefano/Devel/plone4)
For example to try Deco relaunch the buildout:

./bin/buildout -c experimental/deco.cfg

 
For more information read the instructions at the beginning of the configuration file "experimental/deco.cfg".

Nov 17, 2009

Da Budapest... con stile

Un breve report dalla Plone Conference 2009.

Per una panoramica dei principali talk che hanno animato la settima Plone Conference (Budapest, 2009) vi rimando alle precise recensioni di Maurizio e Luca.

In queste poche righe, invece, vorrei sintetizzare promesse e aspettative che rivoluzioneranno la vita di un plone skinner: grandi poteri saranno concessi alla nostra stirpe di fate madrine, che da qualche lembo di stoffa sono chiamate a creare un lussuoso abito da cerimonia ;)
Non è un caso se  Steve McMahon ha concluso il suo talk "Overlays, Accordians and Tabs, Oh My" con la celebre massima dello zio Ben ("With great power comes great responsability").

Ma andiamo con ordine.

Il nuovo tema Deco-oriented.

Non c'era presentazione che non lo mostrasse. Limi gli ha dedicato un intero talk ("Complex CSS layout made easy"). Che dire... finalmente quello che tutti aspettavamo: un layout completamente table-less!

L'aspetto generale, da un punto di vista puramente grafico, non stravolge la struttura lineare e pulita che ha sempre caratterizzato Plone: anzi, lo svecchia e gli conferisce un tocco di professionalità in più (personalmente non sopportavo l'azzurrino pallido e il verdino acido dell'interfaccia base ;) ).
Niente tabelle, quindi: l'impostazione è già proiettata verso Deco, con una griglia di blocchi posizionati sapientemente a suon di CSS, con la garanzia di poca spesa e ottima resa sia per layout fissi che liquidi. Come spiega chiaramente Limi nella PLIP, saranno mantenuti i vecchi ID, spariranno le base_properties, saranno semplificati e alleggeriti i fogli di stile... e altre novità che attutiranno un po' l'impatto con il futuro (prossimo?) Plone 5.

Deliverance e XDV

Hanno destato la curiosità di molti, sia neofiti che già avvezzi a rules e XPath.

Si insiste ancora sul concetto che Deliverance, e ancor più XDV, permetterà a chiunque di creare fantabulose skin per Plone senza doverne conoscere nemmeno il nome. Non sono d'accordo, ma non è questa la sede per discuterne. Di sicuro con Plone 5 si farà il grande salto e per allora dovremo essere pronti con il paracadute sulle spalle.

XDV è il fratellino semplificato di Deliverance, che ha il grande vantaggio di essere installabile come egg in pochi passaggi ma, proprio per questa sua estrema semplificazione, non offre tutti i vantaggi del fratello maggiore. Dopo la Conference potrei ricredermi: durante un open-space con Nate Aune e Denys Mishunov si è parlato dei continui miglioramenti fatti proprio per avvicinare XDV a Deliverance, non ultimo l'integrazione delle espressioni condizionali.

Haran... Banjo?

Questa davvero non me l'aspettavo e mi ha colto di sorpresa. Nate Aune ha presentato, sia in un talk che agli sprint, questo nuovo progetto Deliverance-oriented. Banjo è pensato per creare velocemente e interattivamente (TTW) le rules di posizionamento dal sito padre al tema Deliverance. Qualche clic e via! Attendo curiosa e fiduciosa gli sviluppi di questo tool: non credo che potrà eliminare completamente l'intervento sul codice ma aiuterebbe e semplificherebbe la vita agli skinner di primo pelo.

JQueryTools

Già da Plone 4 vedremo parecchi effetti speciali: tutto è pensato nell'ottica di ridurre al massimo il numero di clic necessari per le operazioni più semplici (login, impostazione di un oggetto come vista predefinita et similia). Ne ha parlato ampiamente Eric Steele al suo talk "A Look at Plone 4". Si potrà fare uso (e abuso?) di effetti come overlays, tabs, accordions: vi rimando alla presentazione di Steve McMahon per approfondire l'argomento. Quanto impatterà tutto ciò nell'applicazione di una grafica uniforme al nostro sito Plone? E quanto, soprattutto, si potranno applicare questi effetti senza perdere accessibilità (nel senso stretto del termine, quello ben noto a chi deve fare i conti con la legge Stanca)? Lo scopriremo solo vivendo :)

Conclusioni

Questa è stata solo la mia seconda Conference, ma rispetto alla precedente (Washington D.C., 2008) ho notato un interesse molto più forte verso il lavoro dello skinner: i talk e gli open-space dedicati erano tanti e piuttosto affollati, capitava spesso di essere presentati a guru ploneschi che elargivano complimenti e pacche sulle spalle. Qualcuno ha persino azzardato l'ipotesi di creare un CSS Zen Garden per Plone :)
Adesso non resta che portare un po' di questa sferzata d'energia anche nella comunità italiana... si potrebbe forse iniziare da un bel restyling di Plone.it? ;)

Nov 09, 2009

Ploneconf2009: un breve sommario

Archetypes è morto: lunga vita ad Archetypes

Trovo finalmente il tempo di riassumere i punti salienti della Ploneconf 2009 di Bupadest.

La grande verità

Per la prima volta dai tempi di Plone 2.0 sono davvero convinto che il nostro amato e ben conosciuto Archetypes venga lentamente mandato a morte. La sua sarà una lenta e non facile caduta e molto probabilmente i suoi pezzi vivranno fino ai tempi di Plone 5, ma a differenza di tutte le altre volte l'alternativa che si sta disegnando è reale e soprattutto da qualcosa che Archetypes non aveva.

Sto ovviamente parlando di Dexterity. Questo nuovo framework promette maggiore velocità (il talk di David Glick intitolato "Building Content Types with Dexterity" ha anche mostrato qualche cifra, ma nulla di eccezionale a dire il vero, un particolare confermato anche da Wichert Akkerman nel suo intervento di cui parlo sotto), si integra in modo completo con la ZCA e l'uso delle interfacce... ma non sono questi i particolari che credo determineranno il suo successo.

Per la prima volta non si sta semplicemente fornendo una modo alternativo, ideologicamente più bello ma nella pratica più limitato, per ottenere esattamente quello che Archetypes già fornisce (ho visto vari di questi tentativi in passato, e anche Rok Garbas ci ha riprovato nel suo talk intitolato "Complex Forms with z3c.form"). Dexterity offre una grande nuova funzionalità che è la generazione dei contenuti via Web!

Per chi di voi ha già usato prodotti come ATSchemaEditorNG e derivati, questo potrebbe non sembrare niente di veramente nuovo, ma questa volta la differenza sta nel fatto che questi contenuti saranno esportabili come codice perfettamente funzionante e modificabile.

L'utente Plone potrebbe quindi generare autonomamente i propri modelli dati e richiedere interventi di sviluppo sono per ottenere risultati che l'interfaccia Web non offre... eccezionale!

Le slide e gli esempi sono da analizzare (forse un tantino esagerata anche l'inclusione opzionale dei componenti Grok... ma lo perdoniamo).

Il prodotto attualmente presenta alcuni limiti e mancate funzionalità che non lo fa consigliare per la produzione, ma sono tutte cose che verranno facilmente superate nel breve. Probabilmente Dexterity diventerà lo standard dello sviluppo in Plone 4, convivendo (forse non troppo pacificamente) con Archetypes, per diventare l'unico ospite in Plone 5.

De-cosa?

Era dappertutto e se ne parlava dappertutto... Deco!
Confesso che non mi sono assolutamente interessato all'argomento fino alla conferenza e anche durante la stessa ho schivato tutti i talk a riguardo, poi mi sono ritrovato ad uno degli incontri nella terza giornata (dedicata agli Open Space) in cui l'argomento era "pagine composte" e l'intervento di Limi ha portato l'attenzione su questo nuovo giocattolo.

Deco si dovrebbe occupare solo del layout. Tutti noi potremmo continuare ad utilizzare l'approccio di oggi (creo un contenuto, genero la sua vista) oppure basarci sul layout Deco che permetterà il movimento dei componenti della pagina (tiles) tramite drag & drop.

A sentire Limi l'accessibilità della pagina (intesa come validazione del codice) rimane garantita se si parte da un buon XHTML. Vedremo!

A ruota libera

Essendo finiti gli argomenti principali, finisco con una breve panoramica su alcuni interventi minori che ho trovato per qualche motivo interessanti.

Euphorie: combining grok, dexterity sql content in a single application - Wichert Akkerman.
Wichert ci ha offerto un interessante talk su come usare Plone senza usare Plone. La descrizione di un progetto dove Plone veniva completamente privato di ogni suo componente (sharing, versioning, ...) e dove i dati venivano presi da database relazionale...
...forse conveniva non usare Plone? :-)

plone.app.discussion - Timo
Un veloce incontro negli openspace su un vecchio argomento mai completamente risolto (speriamo sia la volta buona) un nuovo prodotto, speriamo il nuovo prodotto, per gestire i commenti ai contenuti in Plone. Sarà compatibile con Plone 3.3 e diventerà parte del sistema in Plone 4.1.
plone.app.discussion promette la moderazione dei commenti e un workflow per questi, ovviamente personalizzabile. Era ora!

Very frequently asked questions answered for the last time :-) - Andreas Jung
Come potevo non partecipare? Chi di voi non è mai stato ripreso da A.J. almeno una volta?
La persona più "diretta" della mailing list plone-users che ripeteva per l'ennesima volta, nel modo più gentile possibile, alle domande che troppo spesso si è sentito fare (lo so... non erano davvero dirette a lui...).
Non mi sono stupito del suo intervento dopo la lunga discussione che è sfociata nel flaming poche settimane prima della conferenza...
Ho trovato divertente vedere come il giorno dopo qualcuno abbia comunque fatto domande troppo banali nella lista... e con lo stesso approccio di sempre abbia ricevuto in regalo le risposte di A. Jung!