stampa digitale da
Lulu Enterprises Inc.
stores.lulu.com/infomedia
Infomedia
Infomedia ` e limpresa editoriale che da quasi venti an-
ni ha raccolto la voce dei programmatori, dei sistemi-
sti, dei professionisti, degli studenti, dei ricercatori e dei
professori dinformatica italiani.
Sono pi ` u di 800 gli autori che hanno realizzato per le te-
state Computer Programming, Dev, Login, Visual Basic
Journal e Java Journal, molte migliaia di articoli tecnici,
presentazioni di prodotti, tecnologie, protocolli, strumen-
ti di lavoro, tecniche di sviluppo e semplici trucchi e stra-
tagemmi. Oltre 6 milioni di copie distribuite, trentamila
pagine stampate, fanno di questa impresa la pi` u grande ed
inuente realt` a delleditoria specializzata nel campo della
programmazione e della sistemistica.
In tutti questi anni le riviste Infomedia hanno vissuto del-
la passione di quanti vedono nella programmazione non
solo la propria professione ma unattivit` a vitale e un vero
divertimento.
Nel 2009, Infomedia ` e cambiata radicalmente adottando
un nuovo modello aziendale ed editoriale e si ` e organiz-
zata attorno ad una idea di Impresa Sociale di Comunit` a,
partecipata da programmatori e sistemisti, separando le
attivit` a di gestione dellinformazione gestite da un board
comunitario professionale e quelle di produzione gesti-
te da una impresa strumentale. Questo assetto ` e in linea
con le migliori esperienze internazionali e rende Infome-
dia ancora di pi ` u parte della Comunit` a nazionale degli
sviluppatori di software.
Infomedia ` e media-partner di manifestazioni ed eventi in
ambito informatico, collabora con molti dei pi` u impor-
tanti editori informatici italiani come partner editoriale e
fornitore di servizi di localizzazione in italiano di testi in
lingua inglese.
Limpaginazione automatica di questa rivista ` e realizzata al
100% con strumenti Open Source usando OpenOffice,
Emacs, BHL, LaTeX, Gimp, Inkscape e i linguaggi Lisp,
Python e BASH
For copyright information about the contents of DEV,
please see the section Copyright at the end of each ar-
ticle if exists, otherwise ask authors. Infomedia contents
is 2007 Infomedia and released as Creative Commons
2.5 BY-NC-ND. Turing Club content is 2007 Turing
Club released as Creative Commons 2.5 BY-ND.
Le informazioni di copyright sul contenuto di DEV so-
no riportate nella sezione Copyright alla ne di cia-
scun articolo o vanno richieste direttamente agli autori.
Il contenuto Infomedia ` e 2007 Infomedia e rilasciato
con Licenza Creative Commons 2.5 BY-NC-ND. Il con-
tenuto Turing Club ` e 2007 Turing Club e rilasciato
con Licenza Creative Commons 2.5 BY-ND. Si applicano
tutte le norme di tutela dei marchi e dei segni distintivi.
`
E in ogni caso ammessa la riproduzione parziale o tota-
le dei testi e delle immagini per scopo didattico purch e
vengano integralmente citati gli autori e la completa
identicazione della testata.
Manoscritti e foto originali, anche se non pubblicati, non
si restituiscono.
Contenuto pubblicitario inferiore al 45%.
La biograa dellautore riportata nellarticolo e sul
sito www.infomedia.it ` e di norma quella disponibi-
le nella stampa dellarticolo o aggiornata a cu-
ra dellautore stesso. Per aggiornarla scrivere a
info@infomedia.it o farlo in autonomia allindirizzo
http://mags.programmers.net/moduli/biograa
37
<<
DEv > n.153 seLLembre 2007
|ook 3URYDWLSHUYRL
di 0DXUL]LR'HOPRQWH!ndelnonte_inonedia.it
S
ebbene di nicchia e per addetti ai lavori, Zap
un none che nel nondo Cpen Source occupa
uno spazio di tutto rispetto e ha una visibilit
nondiale da lungo tenpo. Tuttavia, sarebbe
conosciuto dai soli esperti ai lavori se non osse
intervenuta nel corso degli anni una rapida
evoluzione verso i s|s/m| J| s/|an J| :an/na/| (CMS).
Portatore sano" di tale evoluzione stato il progetto P|an,
giunto alla versione 3.0: un CMS nolto noto e rispettato,
grazie all'attenzione che da senpre rivolge agli standard
veb, all'usabilit, alla buona qualit delle unzioni esposte
e alla acilit con cui tali unzioni possono essere estese o
adattate alle speciiche esigenze.
Alla ine di Luglio 2007 stato annunciato il nilionesino
dovnload del pacchetto Plone; cira aatto non trascurabile,
dato che non si tratta di un gioco reevare, n tanto neno
di un'applicazione di produttivit personale. Inoltre, sono
stati annunciati due inportanti portali che, tra gli altri, di
recente hanno nigrato la propria inrastruttura verso Plone:
si tratta dei siti della CIA (|//ps.//uuu.:|:.ar/) e di Iovell
(|//p.//uuu.nar||.:am).
Plone rappresenta lo strunento ideale per la gestione dei
contenuti, sia per la classica gestione di un portale Web da
parte di utenti che di Web non sanno nulla, sia (e soprattut-
to) nei casi in cui il portale serva da inrastruttura per una
intranet aziendale o per un'applicazione Web capace di ar
collaborare gruppi di utenti geograicanente distribuiti.
Prina di passare in rassegna le principali novit della versione
3.0, ricordo che Plone pu essere acilnente installato sui
Sisteni Cperativi di naggiore diusione (Windovs, Mac
CS X, Lnix/Linux), e che rilasciato con licenza CPL, per
garantirne la nassina diusione nel pieno rispetto dell'etica
Cpen Source.
3ORQHFDPELDSHOOH
La niccia iniziale che ha atto accrescere una conunit a
partire dal 2001 stata certanente l'accattivante interaccia
utente di Plone: in un nonento in cui in giro si vedevano
solo nodelle truccatissine" basate su Ilash o brutti cei"
costruiti a colpi di tabelle e stili |n||n, Plone si distingueva
per una sobria proposta, dai tenui sapori nordici, basata su
CSS e ortenente orientata (gi allora) agli standard Web e
all'usabilit; tanto da essere ripresa da nolti cone spunto.
Ebbene, dopo anni di onorato servizio", la nuova versione
di Plone aianca alla s||n classica una nuova e stinolante
proposta: ^aP|an.
Tenendo saldi i principi della skin originale di sapore nordico,
^aP|an ore un nuovo concept" graico e di usabilit.
L'idea di base : c' na non si vede". In tal nodo pernette
ancor pi acilnente ai designer di intervenire sulla skin per
adattarla secondo i propri gusti e le proprie esigenze.
L'ergononia dell'interaccia pu essere intuita da quan-
to nostrato in )LJXUD ; na non la dinanicit: Plone
3.0 integra un ranevork denoninato K|n/|: S/| S|/
(KSS), sviluppato appositanente per potersi avvalere della
tecnologia AJAX, pronettendo agli sviluppatori Plone di
non dover scendere al livello di Javascript per buona parte
delle esigenze AJAX classiche nella creazione delle interacce
Plone standard.
3ORQHpi che nai!
P|ascata |a verscne S.0
d P|cne, eccc |e ncvt
Annuncatc | m|cnesmc dcwn|cad
de| pacchettc P|cne a Lug|c 2007
3S
>>
DEv > n.153 seLLembre 2007
|ook Prevat| er ve|
39
<<
DEv > n.153 seLLembre 2007
|ook Prevat| er ve|
Fac||e |a v|ta cen P|ene!
Plone nasce e viene rilasciato con unzioni particolarnente
utili per senpliicare la vita ai gestori di contenuti di un
portale orientato alla conunicazione. Iella versione 3.0
sono presenti diverse novit che certanente risulteranno
gradite a chi gi conosce il prodotto, na non solo.
E stato inalnente introdotto un srr|:|a J| :an/ra||a J| :arn-
:: J| ||n| r|::|an|, per cui se un utente sta per elininare
una risorsa (una pagina, un ile, un'innagine, ecc.) usata
da altri, Plone lo avverte di ci e lo invita a ponderare la
decisione. Questa unzionalit si integra con la precedente
capacit di Plone di nantenere i colleganenti tra risorse
anche nel caso di ridenoninazioni o di spostanenti all'in-
terno del portale.
Cone gi accennato, se ci si accorge di piccoli errori nelle
pagine ora possibile eseguire un doppio clic sul testo e
nodiicare direttanente ci che necessario senza dover
caricare l'intera pagina di nodiica.
Le Snart Iolder di Plone sono ora note cone Ca||:/|an.
oltre a presentare i risultati di ricerche predeinite, cone se
ossero una nornale cartella di contenuti, orono la possi-
bilit di nenorizzare colleganenti statici verso altre risorse
del portale. Cosa si pu are con le Collection? Crdine!
Deinite i paranetri di ricerca utili ad ottenere i contenuti
che vi interessa presentare, deinite la nodalit e l'ordine
con cui volete presentarli e . il gioco atto! Quella ri-
cerca resta a disposizione degli altri utenti del portale cone
se osse una nornale cartella in cui avete raccolto i vostri
contenuti.
Per chi vuole inpressionare una platea, Plone 3.0 ingloba
una nuova unzione, nota cone maJ:||/! Prsn/::|an, capace
di tradurre una nornale pagina Web in una presentazione
AJAX signiica Asn:|ranaas j:r:s:r|p/ AnJ XML: una pagina
Web che srutta AJAX assune un conportanento dinanico,
contattando il server per ottenere nuove inornazioni senza
dover ricaricare l'intera pagina. In sostanza, AJAX pernette
all'utente di usare l'applicazione Web in nodo pi luido e
pi veloce e pernette ad un servizio di essere sottoposto a
uno stress nolto ninore da parte degli utenti.
Questa possibilit viene usata, ad esenpio:
x per l'aggiornanento dei par/|/;
x per la nodiica |n||n degli attributi delle pagine;
Ad esenpio, nel caso dei portlet, canbiando il nese del
calendario viene aggiornato solo il box del calendario e non
tutta la pagina. Mentre per la nodiica inline, possibile ar
s che con un doppio clic del nouse il titolo, la descrizione
e gli altri attributi di una pagina possano essere nodiicati
senza caricare l'intera pagina di nodiica.
Le conigurazioni KSS applicano alla pagina i conportanenti
dinanici desiderati, cos cone i ile CSS applicano gli stili
alla pagina; per questo notivo, se il brovser utilizzato non
ha Javascript abilitato, le unzioni di base di Plone conti-
nuano conunque a unzionare. Inoltre, ci consente allo
sviluppatore di interacce (ossia al designer" KSS) di non
dover lavorare in Javascript: pu linitarsi a richianare il
conportanento desiderato erogato dal ranevork nediante
le librerie AJAX incapsulate da KSS. KSS non ha preerenze,
e pu essere conigurato per utilizzare teoricanente qualsiasi
libreria AJAX disponibile.
Lo sorzo investito in KSS da parte del tean Plone stato,
e continua ad essere, notevole. In particolare, si consideri
che il ranevork viene rilasciato con una suite conpleta
di test in grado di garantire la qualit del sotvare nel corso
dei successivi rilasci.
|uP|one |a nuova skln dl P|one 3.0 FI6URA 1
La nuova lnLerfaccla dl 0esLlone Permessl
FI6URA 2
P|cne S.0 dspcne d funzcn d
verscnng su tutt suc dccument
3S
>>
DEv > n.153 seLLembre 2007
|ook 3URYDWLSHUYRL
39
<<
DEv > n.153 seLLembre 2007
|ook 3URYDWLSHUYRL
vera e propria: il contesto del portale viene rinosso, lo stile
canbia e ogni titolo nella pagina viene interpretato cone
titolo di una slide. Provare per credere!
A conerna che Plone si adatta perettanente ad utenti che
di Web non sanno nolto,.XSX stato conernato cone
editor visuale nativo delle pagine, con notevoli nigliora-
nenti. Tra i principali spiccano l'aggiunta di una gestione
delle ancore interne (nolto lessibile ed intuitiva), e il
ridinensionanento autonatico delle innagini diretta-
nente nell'editor. Inoltre, stata aggiunta la possibilit di
ar ricalcolare autonaticanente l'indice dei contenuti del
docunento, che si adatta alle nodiiche eettuate ad ogni
salvataggio.
Per terninare la carrellata, tra le caratteristiche disponibili
per i pi snaliziati, vogliano segnalare la possibilit di co-
struire il portale Plone con le nodalit di un unico:LNL: di
norna, qualsiasi docunento pu essere caricato scegliendo
tra diversi possibili narkup Wiki (ad esenpio, structured
text e restructured text). Abilitando un'apposita unzione,
sar anche possibile inserire in una pagina l'id di una risorsa
tra doppie parentesi quadre (ad esenpio ]]id_risorsa||), e
verr generato autonaticanente il link verso quella risorsa
da parte di Plone.
Questo per quanto riguarda i contenuti; na le pagine di un
portale nornalnente sono circondate da box, noti cone
SRUWOHW, contenenti unzionalit e inornazioni generiche o
speciiche per la pagina visualizzata. Plone 3.0 stato sotto-
posto a una conpleta riscrittura del notore di gestione dei
portlet, che ora possono essere acilnente nanipolati dagli
utenti, potranno decidere quali box vogliono ar conparire,
tra quelli a disposizione, e in che ordine; il tutto con dei
senplici clic del nouse.
Da notare che oltre ai portlet standard (utilizzati, ad esenpio,
per presentare l'albero di navigazione, le nevs pubblicate
o la lista dei docunenti in revisione), stato introdotto un
nuovo portlet per la presentazione di eed RSS, in nodo
da poter presentare velocenente contenuti generati da
portali esterni.
&ROODERULDPR"
Plone ha diversi punti: uno su tutti da sottolineare in
questa nuova release l'attenzione posta nel senpliicare
la vita ai gruppi di lavoro che hanno esigenza di collaborare
sugli stessi contenuti.
Da senpre si dispone di una granularit estrena di deini-
zione dei pernessi sulle singole risorse del portale: gli utenti
possono essere assegnati a singoli docunenti con diversi
ruoli, direttanente o nediante i gruppi di appartenenza;
inoltre, possono essere utilizzati neccanisni per ereditare
sui docunenti ruoli e pernessi in base ai privilegi di cui si
dispone sulla cartella che li ospita.
Queste unzionalit sono rodate e unzionano da anni e si
integrano con il PRWRUHGLZRUNIORZ per nodiicare i pernessi
di accesso in base allo stato dei docunenti. Tuttavia, risul-
tavano piuttosto diicili da controllare da parte di utenti
non esperti di Plone.
Iella versione 3.0 sono stati introdotti diversi scheni di
vorklov di base, tra cui scegliere quello pi vicino alle
proprie esigenze, dal pi senplice (adatto a chi a un uso
personale" di Plone), ai pi conplessi (nirati a risolvere
le esigenze di chi basa su Plone la propria intranet/extranet
aziendale). Cltre all'utilit pratica, ci nette in evidenza la
presenza di un notore di vorklov interno, che da senpre
distingue Plone rispetto a nolti dei suoi concorrenti.
Cltre a ci, stato atto un grosso sorzo di razionalizzazione
e senpliicazione della pagina utilizzata per la delega dei
propri ruoli ad altri utenti o gruppi sulla speciica risorsa:
ino alla versione 2.5 si disponeva di unzioni separate per
GHOHJDUHXWHQWLRJUXSSL in cui era necessario conprendere il
signiicato dei ruoli disponibili, nentre ora l'anbiente
stato uniicato e i ruoli sono stati sostituiti con pernessi
naggiornente conprensibili agli occhi dell'utente. Per are
un esenpio, un utente pu creare nella sua area personale una
cartella privata, dopodich pu assegnare ad un altro utente
il diritto di vedere la cartella appena creata, di aggiungere
nella cartella nuovi contenuti o di nodiicarla cone se ne
osse il creatore ()LJXUD).
Per agevolare la collaborazione sui contenuti sono stati in-
trodotti dei neccanisni nolto avanzati, che nirano a non
intralciare gli utenti che operano sullo stesso docunento.
Plone 3.0 dispone di un neccanisno di ORFNLQJDXWRPDWLFR
in ase di nodiica dei docunenti: se si cerca di aggiornare
un docunento che in ase di nodiica da parte di un altro
utente, il sistena enette un avviso e indica chi ha preso in
carico il docunento e quando. Se il blocco pu essere rila-
sciato (ad esenpio se il blocco risale a nolti giorni prina),
si pu ignorare l'avvertinento e continuare con l'attivit
di nodiica ()LJXUD).
Cltre a ci sono stati introdotti i VHUYL]L GL YHUVLRQLQJ sui
docunenti, che possono essere conigurati per salvare
autonaticanente una nuova versione ad ogni nodiica o
5e un documenLo ln modlflca da parLe dl
a|Lro uLenLe, P|one avverLe..
),*85$
3ORQHqORVWUXPHQWRRSHQVRXUFH
LGHDOHSHUODJHVWLRQHGLLQWUDQHWH
H[WUDQHWD]LHQGDOL
40
>>
DEv > n.153 seLLembre 2007
|ook 3URYDWLSHUYRL
lasciare che l'utente decida quando arlo, nagari aggiun-
gendo un connento che indichi sinteticanente cosa
stato nodiicato.
Questi servizi sono integrati da un notore capace di :an/ran-
/:r Ja J|//rn/| rrs|an|, nostrando le parti del docunento
che risultano dierenti ()LJXUD).
I srr|:| J| rrs|an|n pernettono di ripristinare le vecchie
versioni di un docunento con un clic. Inoltre, rendono
nolto senplice capire chi ha lavorato sullo speciico do-
cunento.
Cltre a ci possibile attivare le unzionalit di s/:|n J|
:an/na/|, utili nel caso in cui per un docunento pubblicato",
ovvero rilasciato in versione uiciale, si abbia la necessit
di eettuare una revisione. Con un clic si pu ottenere una
copia di lavoro del docunento da revisionare: una volta
approvata, la nuova revisione sostituir autonaticanente
la precedente, che verr inoltre nantenuta nello storico
del docunento.
6RWWRLOFRIDQR
Iinora abbiano parlato delle novit naggiornente visibili e
apprezzabili da parte dei nornali utenti Plone. Di atto, c'
nolto da dire anche riguardo ai progressi pi prettanente
tecnologici.
Plone 3.0 in grado di indicizzare in nodo nativo /|| HarJ
PDI: il contenuto dei ile viene estratto utilizzando i
noduli vvvare, pdtotext o xpd installati sulla nacchi-
na server. In questo nodo, dopo aver inserito in Plone i
nostri ile, potreno vederli conparire nella naschera dei
risultati senplicenente cercando una delle parole in essi
contenute.
Altra novit l'introduzione di un nuovo servizio, il Can/n/
Ra|s En|n, che utilizza gli eventi sui contenuti per poter
eettuare attivit nolto utili; ad esenpio, se un docunen-
to viene nodiicato si pu inviare una notiica via nail al
gruppo di lavoro, o generare una pagina predeinita quando
una cartella viene creata.
Da notare che le tecnologie Zope 3 ornai dilagano in Plone:
sebbene l'anbiente richiesto sia Zope 2.10, praticanente
tutti gli sviluppi si sono basati su tecnologie e netodologie
Zope 3, avorendo ulteriornente la qualit e la bont del
codice prodotto. Ad esenpio, l'intero pannello di controllo
di Plone, ulteriornente arricchito e razionalizzato, stato
interanente reinplenentato utilizzando conponenti Zope
3; cone pure si basa su tecnologia Zope 3 il nuovo notore
dei portlet e il Can/n/ Ra|s En|n.
Lna sorta di risposta operativa (e non teorica) a coloro che
non riescono a concepire la convivenza tra i due anbienti
Zope, apparentenente cos diversi: Zope 3 stato svilup-
pato seguendo criteri che pernettono di usarne le librerie
dall'interno di Zope 2, e le possibilit oerte sono quelle
che, ad esenpio, vengono nesse in pratica da Plone gi
da tenpo.
&RQFOXVLRQL
Se non conoscete ancora Plone (o nagari lo avete provato
qualche versione a e poi lo avete lasciato in un cassetto),
la versione 3.0 pu rappresentare un'ottina occasione per
una nuova prova.
Crazie agli installer disponibili su P|an.ar sar acile e
rapido installare i servizi Plone sulla vostra nacchina e
coninciare a usarli.
Per approondire questi argonenti e saperne ancora di
pi, consiglio una visita al portale Plone (|//p.//p|an.ar),
in particolare alla nuova sezione di docunentazione, in
cui troverete ogni tipo di inornazione, sia che siate uno
sviluppatore o un utente a caccia dello strunento giusto
per risolvere le proprie necessit.
0DXUL]LR'HO0RQWH
Innr E|//ran|:a, s| a::ap: J| /m:/|:| Zap/P|an J:
a|/r :|na :nn|. L:rar: |n RJam|na :am rspans:||| /:n|:a
pr |'|mp|mn/::|an J || J||rr J| sa|a:|an| Ja:amn/
ar|n/J.
P|one 3.0 lnLegra un slsLema dl vlsua|lzza
zlone dlfferenze Lra |e dlverse verslonl dl un
documenLo
),*85$
.66qLOIUDPHZRUNSHQVDWRSHU
LQWURGXUUH$-$;LQ3ORQHVHQ]DGRORUH