<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>miziodel</title>
	<atom:link href="http://miziodel.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://miziodel.wordpress.com</link>
	<description>qualche nota su Maurizio Delmonte, il web e tutto..</description>
	<lastBuildDate>Tue, 18 May 2010 11:44:00 +0000</lastBuildDate>
	<language>it</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='miziodel.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>miziodel</title>
		<link>http://miziodel.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://miziodel.wordpress.com/osd.xml" title="miziodel" />
	<atom:link rel='hub' href='http://miziodel.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Open Abstract</title>
		<link>http://miziodel.wordpress.com/2010/05/18/open-abstract/</link>
		<comments>http://miziodel.wordpress.com/2010/05/18/open-abstract/#comments</comments>
		<pubDate>Tue, 18 May 2010 09:05:41 +0000</pubDate>
		<dc:creator>miziodel</dc:creator>
				<category><![CDATA[Comunicazione]]></category>
		<category><![CDATA[Plone]]></category>
		<category><![CDATA[advocacy]]></category>

		<guid isPermaLink="false">http://miziodel.wordpress.com/?p=228</guid>
		<description><![CDATA[vieni a scoprire il nuovo portale aperto di Abstract<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=228&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>L&#8217;azienda per cui lavoro, <a href="http://abstract.it">Abstract</a>, da qualche giorno si è dotata di un blog in cui scriverò anche io. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Quindi chi vuole continuare a leggere quel che ho da dire riguardo Plone, i CMS in generale e come usarli per migliorarci la vita, e gli altri argomenti che sono il mio pane quotidiano, non ha che da fare un salto su <a href="http://open.abstract.it/it/blog/mizio">Open Abstract</a>.</p>
<p>Certo, <a href="http://abstract.it/open">Open Abstract</a> ospita anche molte altre cose.. fatevi un giro!!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/miziodel.wordpress.com/228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/miziodel.wordpress.com/228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/miziodel.wordpress.com/228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/miziodel.wordpress.com/228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/miziodel.wordpress.com/228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/miziodel.wordpress.com/228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/miziodel.wordpress.com/228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/miziodel.wordpress.com/228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/miziodel.wordpress.com/228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/miziodel.wordpress.com/228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/miziodel.wordpress.com/228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/miziodel.wordpress.com/228/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/miziodel.wordpress.com/228/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/miziodel.wordpress.com/228/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=228&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://miziodel.wordpress.com/2010/05/18/open-abstract/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">miziodel</media:title>
		</media:content>
	</item>
		<item>
		<title>World Plone Day a Macerata, pubblicato il programma</title>
		<link>http://miziodel.wordpress.com/2010/03/31/world-plone-day-a-macerata-pubblicato-il-programma/</link>
		<comments>http://miziodel.wordpress.com/2010/03/31/world-plone-day-a-macerata-pubblicato-il-programma/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 13:13:06 +0000</pubDate>
		<dc:creator>miziodel</dc:creator>
				<category><![CDATA[Comunicazione]]></category>
		<category><![CDATA[Plone]]></category>
		<category><![CDATA[advocacy]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[Document Management]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Knowledge Management]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[strumenti]]></category>
		<category><![CDATA[sviluppo]]></category>

		<guid isPermaLink="false">http://miziodel.wordpress.com/?p=221</guid>
		<description><![CDATA[Vieni a scoprire cosa è Plone, e come può esserti utile.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=221&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Il prossimo 28 Aprile l&#8217;<strong><a href="http://www.unimc.it/">Università di Macerata</a></strong>, da anni felice utilizzatore di <strong>Plone</strong> per i suoi portali pubblici e non, organizza il <strong><a href="http://plone.it/diffondi/wpd-2010/macerata">World Plone Day locale</a></strong>. </p>
<p><img src="http://miziodel.files.wordpress.com/2010/03/wpd_logo.png?w=380" alt="" title="World Plone Day 2010"   class="aligncenter size-full wp-image-225" /></p>
<p>Chiaramente sono felicissimo, tanto che, grazie ad <a href="http://abstract.it">Abstract</a>, ho potuto aiutare i ragazzi di UniMC nell&#8217;organizzazione.</p>
<p>Il programma è finalmente pubblico, e lo trovate qui:<br />
<a href="http://www.unimc.it/ciem/notizie/world-plone-day-28-aprile-2010-a-unimc">http://www.unimc.it/ciem/notizie/world-plone-day-28-aprile-2010-a-unimc</a></p>
<p>Il pomeriggio sarà dedicato a un <strong>open space</strong> incentrato sulle tematiche della condivisione e pubblicazione online dell&#8217;informazione. Per proporre argomenti o vedere quelli già proposti: <a href="http://etherpad.com/wpd-unimc">http://etherpad.com/wpd-unimc</a>.</p>
<blockquote><p>Non siete a Macerata, ma volete comunque partecipare?<br />
<a href="http://plone.it/diffondi/comunicati/world-plone-day-2010-vieni-a-conoscere-plone">http://plone.it/diffondi/comunicati/world-plone-day-2010-vieni-a-conoscere-plone</a></p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/miziodel.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/miziodel.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/miziodel.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/miziodel.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/miziodel.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/miziodel.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/miziodel.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/miziodel.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/miziodel.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/miziodel.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/miziodel.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/miziodel.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/miziodel.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/miziodel.wordpress.com/221/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=221&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://miziodel.wordpress.com/2010/03/31/world-plone-day-a-macerata-pubblicato-il-programma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">miziodel</media:title>
		</media:content>

		<media:content url="http://miziodel.files.wordpress.com/2010/03/wpd_logo.png" medium="image">
			<media:title type="html">World Plone Day 2010</media:title>
		</media:content>
	</item>
		<item>
		<title>Case Management con Plone</title>
		<link>http://miziodel.wordpress.com/2010/03/26/case-management-con-plone/</link>
		<comments>http://miziodel.wordpress.com/2010/03/26/case-management-con-plone/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 15:32:23 +0000</pubDate>
		<dc:creator>miziodel</dc:creator>
				<category><![CDATA[Plone]]></category>
		<category><![CDATA[advocacy]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[Document Management]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Knowledge Management]]></category>

		<guid isPermaLink="false">http://miziodel.wordpress.com/?p=214</guid>
		<description><![CDATA[caricamento e classificazione di documenti automatica in Plone per automatizzare l'ufficio e ridurre gli errori.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=214&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>prima di tutto, cos&#8217;è il <strong>case management</strong>?</p>
<p>Be&#8217;, io l&#8217;ho &#8220;<em>scoperto</em>&#8221; con questo articolo: <a href="http://www.cmswire.com/cms/enterprise-cms/enterprise-cms-usage-scenario-case-management-frameworks-006071.php">http://www.cmswire.com/cms/enterprise-cms/enterprise-cms-usage-scenario-case-management-frameworks-006071.php</a>. Di fatto ci si limita a dare un nome a qualcosa che per molti diventerà subito comprensibile:</p>
<p>Un <strong>caso</strong> è il raggruppamento delle informazione su cui un utente lavora, sia esso un <em>cliente</em>, un <em>ordine</em>, un <em>progetto</em>, etc..<br />
L&#8217;utente cerca di raccogliere tutte le informazioni di cui ha bisogno in un singolo punto, per poter lavorare agevolmente al suo <em>caso</em>.</p>
<p><img class="aligncenter size-full wp-image-215" title="sarà il cesto giusto?" src="http://miziodel.files.wordpress.com/2010/03/gatto-frutta.jpg?w=380&#038;h=253" alt="" width="380" height="253" /><br />
http://www.flickr.com/photos/fofurasfelinas/3998200189 &#8211; CC by-nc-nd</p>
<p>Nulla di eccezionale, si tratta di <strong>raccogliere dei &#8220;frutti&#8221; e di metterli nelle ceste giuste</strong>. Tuttavia, a ben pensarci, molte attività dei nostri uffici sono strutturate attorno a dei &#8220;casi&#8221;, e le <strong>procedure di gestione sono spesso lasciate alla buona volontà dei singoli</strong>.</p>
<p>Cerchiamo allora di mettere a fuoco meglio questo concetto con un esempio reale, e vediamo come <strong>Plone rappresenti un&#8217;ottima soluzione al problema</strong>.</p>
<p><span id="more-214"></span></p>
<h2>Gestione Documentale con Plone</h2>
<p>Qualche mese fa abbiamo rivisto insieme ad un cliente il suo utilizzo di Plone come sistema documentale: l&#8217;azienda gestisce un parco mezzi in outsourcing, e tutti i documenti relativi alle varie richieste che nascono vengono raccolti e classificati in Plone, ritenuto comodo per vari motivi:</p>
<ul>
<li>basta un <em>browser web</em> per accedere ai documenti da qualsiasi postazione in rete,</li>
<li>si può decidere chi vede quali documenti, chi li carica in quali aree, chi li avanza di stato con molta facilità,</li>
<li>il motore di ricerca interno permette di rintracciare rapidamente i documenti, indicizzandone sia titolo e descrizione che i contenuti veri e propri nel caso di PDF e documenti office,</li>
<li>si possono creare link tra i documenti ed elencarli in modo diverso da come sono immagazzinati.</li>
</ul>
<p>E fino a qui si tratta di <a href="http://plone.org">Plone</a>, lo conosciamo e apprezziamo per tutte queste cose e molte altre. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Quando però siamo andati a vedere nel dettaglio come stavano usando il sistema, dietro c&#8217;era in effetti il tipico &#8220;case management&#8221;, gestito in larga parte a mano, e con ampi margini di &#8220;banale&#8221; ottimizzazione.</p>
<p>I vari <strong>documenti</strong> venivano caricati a sistema (<em>a mano</em>), inserendoli nella cartella corrispondente al tipo di documento (<em>fatture, mail, richieste, etc.</em>) e usando come titolo il <em>numero d&#8217;ordine</em>: la chiave del loro <em>&#8220;caso&#8221;</em>.</p>
<p>L&#8217;<strong>ordine</strong> vero e proprio era rappresentato da una pagina Plone, in cui caricavano (<em>a mano</em>) le varie informazioni provenienti dal loro <strong>gestionale</strong> (<em>cliente, fornitore, budget, data ordine, etc.</em>), e a cui linkavano (<em>a mano</em>) tutti i documenti inseriti a sistema relativi all&#8217;ordine.</p>
<p>Il risultato finale era una bella pagina Plone che il gestore dell&#8217;ordine poteva aggiornare con tutte le sue note e con i vari documenti man mano che venivano prodotti (<em>fax ai fornitori, bandi di gara, mail importanti ricevute o inviate, etc.</em>).</p>
<p>Fino a qui, tutto bene! Stavano usando Plone nel migliore dei modi, per <strong>tenere in ordine i propri documenti e facilitare il loro lavoro</strong>.</p>
<blockquote><p>Nessun problema a portare avanti il lavoro di chi è fuori ufficio o in ferie, nessun problema a rintracciare un documento, nessun problema ad archiviare gli ordini dopo il loro espletamento o a tenere un backup della base documentale.</p></blockquote>
<p>Tuttavia qualche nota era <strong>stonata</strong>, e qui inizia il nostro lavoro di supporto e consulenza: <strong>troppe cose erano fatte manualmente</strong>, si stava lavorando in modo troppo <em>vincolato</em> a Plone.</p>
<h2>Case Management con Plone</h2>
<p>Prima ancora di sapere che stavo predisponendo una soluzione di &#8220;<em>case management</em>&#8220;, ecco i capisaldi della nostra proposta poi realizzata:</p>
<ul>
<li>i documenti devono essere caricati in modo semplice e rapido</li>
<li>i documenti dovevano essere classificati in modo &#8220;automatico&#8221; nella maggior parte dei casi</li>
<li>le informazioni &#8220;gestionali&#8221; provenienti dal sistema ERP devono essere aggiornate in modo &#8220;automatico&#8221;</li>
<li>il sistema deve poter essere usato manualmente in tutti i casi in cui insorgono delle eccezioni</li>
<li>tutto quello che oggi riescono a fare, deve poter essere fatto anche in seguito all&#8217;evoluzione proposta</li>
</ul>
<p>Ebbene, tutti i punti sono stati risolti, e con una quantità di lavoro veramente irrisoria! ecco come.. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>L&#8217;oggetto ordine</h3>
<p>Il caso si basa su un nuovo oggetto Plone chiamato <strong>&#8220;Ordine&#8221;</strong>, che è il punto di ingresso di gestione del caso ed ha tutti gli attributi che servono a rappresentarlo (<em>num. ordine, anno, budget, cliente, fornitore, etc. etc.</em>).</p>
<p>Le chicche riservate a questo oggetto sono:</p>
<p>- di <em>contenere</em> al suo interno tutti i documenti ad esso relativi (niente piu&#8217; cartelle per i vari tipi di documento, niente più relazioni per collegarli all&#8217;ordine, molto più facile archiviare un ordine e i suoi documenti!)</p>
<p>- di avere una funzione che, dato il numero d&#8217;ordine, interroga la base dati del sistema gestionale e aggiorna automaticamente i suoi metadati &#8220;<em>legacy</em>&#8221; (appunto: <em>budget, cliente, fornitore, etc. etc..</em> Niente più errori di inserimento, e aggiornamento con un clic se i dati nel gestionale cambiano!)</p>
<h3>Il flusso di inserimento dei documenti</h3>
<p>I documenti vengono caricati a sistema usando oggetti Plone <strong>&#8220;File&#8221;</strong> con un attributo in più per definire il tipo di documento, scelto da una lista gestita via web che per ogni tipo stabilisce una <em>sigla</em> e un <em>nome</em> <em>(FAT &#8211; Fattura, FAX &#8211; Fax, EML &#8211; Mail, etc.</em>).</p>
<p>Per il <strong>caricamento &#8220;facilitato&#8221;</strong> abbiamo immaginato dei flussi strutturati in questo modo:</p>
<ol>
<li>abbiamo predisposto delle <strong>cartelle condivise</strong> (share di rete windows, per questo cliente), una cartella per ogni tipo di documento, con la sigla del tipo di documento come nome,</li>
<li><strong>documenti da caricare</strong> vengono salvati nella cartella condivisa del loro tipo, usando il numero d&#8217;ordine a cui appartengono come filename,</li>
<li>le cartelle condivise sono montate in Plone usando il prodotto <strong>Reflecto</strong> (<a href="http://plone.org/products/reflecto">http://plone.org/products/reflecto</a>),</li>
<li>uno <strong>script</strong> preleva i file dalle cartelle condivise, genera il documento corrispondente nell&#8217;ordine dedotto dal filename e imposta il tipo di documento dedotto dal nome della cartella in cui il file è stato prelevato</li>
</ol>
<p>La chicca consiste nel generare in automatico l&#8217;oggetto &#8220;Ordine&#8221; nella posizione giusta in cui collocare il file, nel caso in cui il filename non corrisponda a nessuno degli ordini già presenti a sistema.</p>
<h2>Tiriamo le somme</h2>
<p>Cosa abbiamo dopo queste modifiche? un sistema in cui:</p>
<ul>
<li><em>chiunque</em> può salvare un file con il filename giusto nella cartella condivisa e vederlo caricato nel posto giusto in Plone, con tanto di classificazione;</li>
<li>tutti i documenti finiscono al <strong>loro posto</strong>, e chi deve lavorare ad un ordine ha sempre tutto a portata di mano;</li>
<li>chiunque abbia un utente Plone abilitato potrà lavorare agli ordini e accedere ai loro documenti mediante un browser web da una qualsiasi postazione in rete</li>
<li>le informazioni provenienti dal gestionale sono aggiornate automaticamente, e senza errore;</li>
<li>tutte le funzionalità di Plone continuano ad essere presenti (modifica di oggetti, inserimento/cancellazione di oggetti, workflow, indicizzazione, etc.)</li>
<li>qualsiasi eccezione ai flussi predisposti può essere gestita manualmente;</li>
<li>qualsiasi errore può essere facilmente recuperato operando manualmente.</li>
</ul>
<p>NB: molti dei <strong>tempi morti</strong> precedentemente destinati alle operazioni manuali sono stati <strong>azzerati</strong>, come pure molti degli errori dovuti alle stesse attività manuali!!</p>
<p>Insomma, pensando a <strong>Plone, un web CMS</strong>, solitamente si immaginano siti di <em>comunicazione</em> o di <em>collaborazione su web</em>, di fatto le possibilità che abbiamo di fronte sono molto più vaste: sono convinto che a volte sia solo questione di <strong>trovare le persone giuste per confezionare le soluzioni più appropriate</strong>. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/miziodel.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/miziodel.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/miziodel.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/miziodel.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/miziodel.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/miziodel.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/miziodel.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/miziodel.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/miziodel.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/miziodel.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/miziodel.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/miziodel.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/miziodel.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/miziodel.wordpress.com/214/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=214&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://miziodel.wordpress.com/2010/03/26/case-management-con-plone/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">miziodel</media:title>
		</media:content>

		<media:content url="http://miziodel.files.wordpress.com/2010/03/gatto-frutta.jpg" medium="image">
			<media:title type="html">sarà il cesto giusto?</media:title>
		</media:content>
	</item>
		<item>
		<title>Plone Cathedral Sprint, perchè il diavolo è nei dettagli..</title>
		<link>http://miziodel.wordpress.com/2010/03/19/plone-cathedral-sprint-perche-il-diavolo-e-nei-dettagli/</link>
		<comments>http://miziodel.wordpress.com/2010/03/19/plone-cathedral-sprint-perche-il-diavolo-e-nei-dettagli/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 22:04:45 +0000</pubDate>
		<dc:creator>miziodel</dc:creator>
				<category><![CDATA[Plone]]></category>
		<category><![CDATA[advocacy]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[Comunicazione]]></category>
		<category><![CDATA[Document Management]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Knowledge Management]]></category>
		<category><![CDATA[sprint]]></category>
		<category><![CDATA[strumenti]]></category>
		<category><![CDATA[sviluppo]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://miziodel.wordpress.com/?p=210</guid>
		<description><![CDATA[lo sprint si è concluso, con ottimi risultati ben visibili!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=210&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I fortunati sprinter si sono goduti la settimana appena passata a Colonia, in Germania, concentrati a migliorare Plone in occasione dello <a href="http://www.coactivate.org/projects/cathedral-sprint-2010/project-home">Sprint della Cattedrale</a>.</p>
<p><img class="aligncenter size-full wp-image-211" title="Cathedral Sprint 2010" src="http://miziodel.files.wordpress.com/2010/03/cathedral_sprint_wiki_banner_20100225_13-41-34.png?w=380&#038;h=107" alt="" width="380" height="107" /></p>
<p>Tantissimo lavoro è stato fatto, e grazie ad <strong>Eric Steele</strong>, release manager di Plone 4, per l&#8217;occasione volato a Colonia, ne abbiamo le prove!</p>
<p>Non sono state affrontate problematiche di ampio respiro, ma una serie di dettagli, il cui miglioramento può enormemente aumentare l&#8217;usabilità di Plone.</p>
<p>Vedere per credere! Iniziamo con il nuovo motore per i commenti, <strong>plone.app.discussion</strong>, che Timo Stollenwerk sta migliorando sempre di più:</p>
<script type="text/javascript" src="http://blip.tv/syndication/write_player?skin=js&posts_id=3385065&cross_post_destination=-1&view=full_js"></script>
<p><span id="more-210"></span></p>
<p>Niente male, vero? Continuiamo con il nuovo oggetto <strong>Evento</strong>, che Andreas Jung e il suo gruppo ha notevolmente migliorato:</p>
<script type="text/javascript" src="http://blip.tv/syndication/write_player?skin=js&posts_id=3381915&cross_post_destination=-1&view=full_js"></script>
<p>Direi che le possibilità a livello di calendaring per plone aumentano significativamente. Veniamo ora alla nuova vista dei <strong>risultati delle ricerche</strong>:</p>
<script type="text/javascript" src="http://blip.tv/syndication/write_player?skin=js&posts_id=3386450&cross_post_destination=-1&view=full_js"></script>
<p>Denis Mishunov e gli altri hanno fatto davvero un grandissimo lavoro! non vedo l&#8217;ora di poterlo usare sul campo! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Sempre in ambito &#8220;ricerca&#8221;, ecco quanto fatto per <strong>plone.app.collection</strong>, presentato da Geir Baekholt:</p>
<script type="text/javascript" src="http://blip.tv/syndication/write_player?skin=js&posts_id=3386446&cross_post_destination=-1&view=full_js"></script>
<p>Chissà che finalmente non diventi un piacere usare le collezioni!</p>
<p>Sempre sul fronte usabilità, ecco Tom Gross che ci presenta i miglioramenti ottenuti per il <strong>ReferenceBrowserWidget</strong>:</p>
<script type="text/javascript" src="http://blip.tv/syndication/write_player?skin=js&posts_id=3386490&cross_post_destination=-1&view=full_js"></script>
<p>gran bel lavoro!</p>
<p>e infine Robert Niederreiter presenta la sua proposta di interfaccia stile &#8220;<strong>Finder</strong>&#8221; per manipolare oggetti all&#8217;interno di Plone:</p>
<script type="text/javascript" src="http://blip.tv/syndication/write_player?skin=js&posts_id=3381531&cross_post_destination=-1&view=full_js"></script>
<p>Che dire? <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Veramente un gran bel lavoro, da parte di tutti!</p>
<p>Molti di questi sviluppi finiranno in Plone 4.1, che già si sta portando avanti. Per adesso grazie mille ad Eric Steele per averci fatto vivere così bene tutto il lavoro svolto dai magnifici sprinter! e <strong>grazie a tutti per il vostro impegno</strong>!! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/miziodel.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/miziodel.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/miziodel.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/miziodel.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/miziodel.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/miziodel.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/miziodel.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/miziodel.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/miziodel.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/miziodel.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/miziodel.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/miziodel.wordpress.com/210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/miziodel.wordpress.com/210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/miziodel.wordpress.com/210/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=210&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://miziodel.wordpress.com/2010/03/19/plone-cathedral-sprint-perche-il-diavolo-e-nei-dettagli/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">miziodel</media:title>
		</media:content>

		<media:content url="http://miziodel.files.wordpress.com/2010/03/cathedral_sprint_wiki_banner_20100225_13-41-34.png" medium="image">
			<media:title type="html">Cathedral Sprint 2010</media:title>
		</media:content>
	</item>
		<item>
		<title>Vuoi fare un giro con Plone 4? niente di più semplice!</title>
		<link>http://miziodel.wordpress.com/2010/03/18/vuoi-fare-un-giro-con-plone-4-niente-di-piu-semplice/</link>
		<comments>http://miziodel.wordpress.com/2010/03/18/vuoi-fare-un-giro-con-plone-4-niente-di-piu-semplice/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 09:45:47 +0000</pubDate>
		<dc:creator>miziodel</dc:creator>
				<category><![CDATA[KM]]></category>
		<category><![CDATA[Plone]]></category>
		<category><![CDATA[advocacy]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[Comunicazione]]></category>
		<category><![CDATA[Document Management]]></category>
		<category><![CDATA[Enterprise2.0]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Knowledge Management]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://miziodel.wordpress.com/?p=206</guid>
		<description><![CDATA[Abstract mette a disposizione di tutti un portale Plone base, per toccare con mano come si presenta il CMS Open source oggi.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=206&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I <strong>tecnici</strong> hanno bisogno di installare <a href="http://plone.it/scopri"><strong>Plone</strong></a> sulla loro macchina, devono poter vedere come sono fatte le cose, metterci mano in profondità. Per questo <em>non</em> saranno molto interessati a questo post&#8230;</p>
<p>Ma molti <strong>utilizzatori finali</strong> di Plone, reali o potenziali, vogliono rapidamente farsi un giro per capire cosa Plone può fare per loro!</p>
<p>Così, dopo anni che spingo su questa cosa, finalmente i miei colleghi di <a href="http://abstract.it"><strong>Abstract</strong></a> mi hanno accontentato, mettendo online un <strong>Plone base accessibile a chiunque</strong>: <a href="http://plone4.abstract.it"><strong>http://plone4.abstract.it</strong></a>.</p>
<p><strong>Non c&#8217;è più bisogno</strong> di procurarsi un PC, installarci Plone, capire cosa bisogna fare per accedere al servizio.. e questo è vero anche per i tecnici! Sono certo che capiti a tutti di trovarsi al PC di qualche <em>collega/amico/parente/..</em> a cui vorremmo mostrare la bellezza di Plone, in modo che si renda conto di cosa gli stiamo raccontando. Ebbene, ora dovrebbe essere banale farlo giocare con l&#8217;ultimissima versione.</p>
<p>L&#8217;impegno di <a href="http://abstract.it">Abstract</a> sarà di evitare ogni abuso, e di tenere aggiornata l&#8217;installazione in modo da avere sempre online l&#8217;ultima release di plone 4.</p>
<p>Buon Plone a tutti! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/miziodel.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/miziodel.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/miziodel.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/miziodel.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/miziodel.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/miziodel.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/miziodel.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/miziodel.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/miziodel.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/miziodel.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/miziodel.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/miziodel.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/miziodel.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/miziodel.wordpress.com/206/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=206&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://miziodel.wordpress.com/2010/03/18/vuoi-fare-un-giro-con-plone-4-niente-di-piu-semplice/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">miziodel</media:title>
		</media:content>
	</item>
		<item>
		<title>Indicizzazione a &#8220;componenti&#8221;: plone.indexer</title>
		<link>http://miziodel.wordpress.com/2010/03/05/indicizzazione-a-componenti-plone-indexer/</link>
		<comments>http://miziodel.wordpress.com/2010/03/05/indicizzazione-a-componenti-plone-indexer/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 17:49:23 +0000</pubDate>
		<dc:creator>miziodel</dc:creator>
				<category><![CDATA[Plone]]></category>
		<category><![CDATA[sviluppo]]></category>

		<guid isPermaLink="false">http://miziodel.wordpress.com/?p=195</guid>
		<description><![CDATA[alimentare indici nel portal_catalog di Plone in base al tipo di oggetto è un gioco da ragazzi con plone.indexer<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=195&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ancora un articolo tecnico, ma stavolta piuttosto breve <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Da ormai molti mesi il buon vecchio Martin Aspeli ha rilasciato un pacchetto chiamato <strong><a href="http://pypi.python.org/pypi/plone.indexer/">plone.indexer</a></strong>, il cui scopo è semplice e potente: definire delle logiche di indicizzazione da agganciare a content type mirati.</p>
<p>Andiamo sul pratico, tanto per capirci: durante la migrazione in cui <a href="http://miziodel.wordpress.com/2010/02/28/transmogrifier-una-catena-di-montaggio-per-generare-contenuti/">transmogrifier è stato protagonista</a>, ho importato degli oggetti che nel nuovo portale hanno subìto una &#8220;mutazione genetica&#8221;: in particolare hanno aumentato il loro &#8220;parco attributi&#8221;, presentando alcuni metadati di classificazione in più rispetto all&#8217;origine.</p>
<p>Chiaramente durante la migrazione non è stato possibile &#8220;<em>transmogrificare</em>&#8221; integralmente tutti gli oggetti, per cui alcuni di quelli geneticamente mutati li abbiamo importati senza mutazione, e li useremo come tali.. ma dobbiamo poterli ricercare in modo omogeneo rispetto ai nuovi metadati, e allora <strong>come fare?</strong></p>
<p><span id="more-195"></span></p>
<p>La soluzione rapida consiste nel far indicizzare coerentemente l&#8217;attributo interessante anche per gli oggetti che quell&#8217;attributo non lo hanno, e qui interviene il buon <strong>plone.indexer</strong>!</p>
<p><a href="http://plone.org/documentation/manual/developer-manual/indexing-and-searching/custom-indexing-strategies">Come suggerito</a> dal <a href="http://plonecommunity.mobi/">&#8220;mobile&#8221;</a> <strong>Mikko Ohtamaa</strong>, una funzioncina debitamente confezionata sotto forma di &#8220;<em>name adapter</em>&#8221; e il gioco è fatto.. (andate su <a href="http://plone.org/documentation/manual/developer-manual/indexing-and-searching/custom-indexing-strategies">http://plone.org/documentation/manual/developer-manual/indexing-and-searching/custom-indexing-strategies</a> per i (pochi) dettagli.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/miziodel.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/miziodel.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/miziodel.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/miziodel.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/miziodel.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/miziodel.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/miziodel.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/miziodel.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/miziodel.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/miziodel.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/miziodel.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/miziodel.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/miziodel.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/miziodel.wordpress.com/195/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=195&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://miziodel.wordpress.com/2010/03/05/indicizzazione-a-componenti-plone-indexer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">miziodel</media:title>
		</media:content>
	</item>
		<item>
		<title>Transmogrifier: una catena di montaggio per generare contenuti</title>
		<link>http://miziodel.wordpress.com/2010/02/28/transmogrifier-una-catena-di-montaggio-per-generare-contenuti/</link>
		<comments>http://miziodel.wordpress.com/2010/02/28/transmogrifier-una-catena-di-montaggio-per-generare-contenuti/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 11:52:56 +0000</pubDate>
		<dc:creator>miziodel</dc:creator>
				<category><![CDATA[Plone]]></category>
		<category><![CDATA[Zope]]></category>
		<category><![CDATA[strumenti]]></category>
		<category><![CDATA[sviluppo]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://miziodel.wordpress.com/?p=173</guid>
		<description><![CDATA[Con transmogrifier, importare contenuti nel proprio portale è un gioco da ragazzi!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=173&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://miziodel.files.wordpress.com/2010/02/emma.jpg"><br />
<img class="aligncenter size-full wp-image-174" title="Everything is Possible" src="http://miziodel.files.wordpress.com/2010/02/emma.jpg?w=380&#038;h=475" alt="" width="380" height="475" /><br />
</a><br />
<em>(immagine da: <a href="http://waxinandmilkin.com/post/148087178/velma-by-quickhoney">http://waxinandmilkin.com/post/148087178/velma-by-quickhoney</a>)</em></p>
<p><strong>Plone 4 </strong>è alle porte e alcuni siti potranno essere rapidamente aggiornati con gli script di migrazione rilasciati con Plone (anzi, affrettatevi a provare la migrazione del vostro portale! eventuali problemi segnalati in questa fase potrebbero essere risolti direttamente dai core developer, senza alcun dispendio di energie da parte vostra <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).</p>
<p>In altre situazioni, dove la versione di partenza di Plone è troppo vecchia, o dove sono state operate delle personalizzazioni spinte, gli script di migrazione (cfr. <a href="//plone.org/documentation/faq/upgrade-plone">http://plone.org/documentation/faq/upgrade-plone</a>) di Plone non basteranno.. cosa fare?</p>
<blockquote><p><strong>Transmogrifier</strong> (<a href="http://pypi.python.org/pypi/collective.transmogrifier">http://pypi.python.org/pypi/collective.transmogrifier</a>) potrebbe essere la risposta più <strong>corretta</strong> e &#8220;<strong>divertente</strong>&#8220;&#8230; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />
</p></blockquote>
<p>Per capire di che si tratta immaginate una catena di montaggio, in cui entrano dei pezzi che lungo la catena vengono trasformati fino ad ottenere il prodotto finito. Se ci state pensando, è esatto: sebbene sia nato per importare contenuti in Plone, nessuno impedisce di usarlo come modulo python puro per quello che ci serve. Di fatto in questo articolo annoto alcune considerazioni relative alla migrazione di contenuti da un vecchio sito Plone ad uno di nuova generazione.</p>
<p><span id="more-173"></span></p>
<p><strong>Perchè usare transmogrifier</strong>? (e non piuttosto un proprio script, magari già pronto, come nel mio caso..)</p>
<ol>
<li>un <strong>semplice file di configurazione</strong> basta a costruire la nostra pipeline di trasformazione/importazione (la nostra catena di montaggio, appunto),</li>
<li>molti dei pezzi necessari a costruire la pipeline, chiamati <strong>blueprint</strong>, sono disponibili, in particolare per generare e manipolare oggetti Plone,</li>
<li>la <strong>riusabilità</strong> dei singoli blueprint è molto maggiore rispetto ad avere un unico script da manipolare e modificare di volta in volta.</li>
</ol>
<h1>Qualche Direzione</h1>
<p>Il pacchetto base di transmogrifier si chiama <strong><a href="http://pypi.python.org/pypi/collective.transmogrifier">collective.transmogrifier</a></strong>, e contiene l&#8217;infrastruttura di base e i blueprint principali.<br />
Tutti i blueprint dedicati a Plone sono stati spostati in <strong><a href="http://pypi.python.org/pypi/plone.app.transmogrifier">plone.app.transmogrifier</a></strong>.<br />
Infine un pacchetto molto utile è <strong>collective.blueprint.base</strong> (non ancora rilasciato: si trova nel <a href="http://dev.plone.org/collective/browser/collective.blueprint.base/trunk">collective</a>), contenente delle classi di base che rendono velocissima la creazione di nuovi blueprint.</p>
<p>Istruire una pipeline di &#8220;<em>transmogrifica</em>&#8221; consiste nel definirla in un <strong>file zcml</strong> dandogli un nome e indicando il file di configurazione:</p>
<p><code><br />
    &lt;transmogrifier:registerConfig<br />
            name="migrazione"<br />
            title="Migrazione"<br />
            description="pipeline di migrazione"<br />
            configuration="migration.cfg" /&gt;<br />
</code></p>
<p><strong>Lanciare in esecuzione la pipeline</strong> è facile come creare un oggetto Transmogrifier passandogli il contesto e mandarne in esecuzione la <em>__call__</em> indicando il nome della pipeline da lanciare:</p>
<p><code><br />
    from collective.transmogrifier.transmogrifier import Transmogrifier<br />
    transmogrifier = Transmogrifier(self.context)<br />
    transmogrifier(u'migrazione')<br />
</code></p>
<p>Dove mettere questo codice è una vostra scelta, io ho creato una <strong>Browser View</strong> e lo eseguo alla <em>__call__</em> della vista.</p>
<p><strong>Il mio caso</strong>, come detto, consiste nel <strong>prelevare contenuti e informazioni correlate da un portale Plone versione 2.x e importarli in un Plone versione 3.x</strong>. Chiaramente nel mezzo ho diverse &#8220;<em>transmogrificazioni</em>&#8220;, in particolare nel sorgente ho sempre pagine e cartelle a cui nella destinazione corrispondono diversi nuovi archetype, a seconda delle sezioni.</p>
<h1>Blueprint sorgente per importare i contenuti esterni</h1>
<p>Veniamo al primo problema: si trovano già pronti blueprint che generano gli item da importare partendo da oggetti Archetype locali, da file CSV, da DB relazionale, addirittura da siti web statici. Ma nel caso di portali Plone esterni al nostro Zope destinazione, nulla di &#8220;ufficiale&#8221;.</p>
<p>Come ho risolto? Sullo Zope sorgente, via http, richiamo sull&#8217;oggetto da migrare un <strong>Page Template</strong> che produce l&#8217;<strong>XML con tutti i dati necessari</strong>, ottenuti tramite un <strong>external method</strong> che impacchetta anche i file binari encodati base64. Il trucco consiste nel mettere nell&#8217;XML anche alcune info &#8220;non banali&#8221;, come la <strong>lista delle url da richiamare per esportare gli eventuali figli dell&#8217;oggetto specifico</strong>.</p>
<p>Tale XML viene usato dal mio blueprint sorgente che in configurazione ha l&#8217;url del plone sorgente e i dati di autenticazione. <strong>Ad ogni file xml corrisponde un item inserito nella pipeline</strong>.</p>
<h1>Manipolare i contenuti in ingresso</h1>
<p>Le informazioni nell&#8217;XML hanno chiaramente una struttura &#8220;piatta&#8221;: sono tutte stringhe. Per non stare a infilare il tipo di dato nell&#8217;XML il mio blueprint di update nella configurazione mi permette di indicare i<strong> nomi degli attributi che vanno trasformati in tipi python</strong> (basta un eval per ricreare liste, tuple, date, etc.), di quelli che vanno <strong>decodificati in base64</strong> e di quelli che rappresentano <strong>file o immagini</strong>.</p>
<p>Inoltre il blueprint di update ha in configurazione la <strong>base_path</strong> del nostro portale destinazione, in modo da sapere dove andare a rigenerare i contenuti.</p>
<p>Un particolare che <em>non</em> sono riuscito a trovare già risolto &#8220;in letteratura&#8221; consiste nel trattamento dei file da caricare negli oggetti di tipo File e Immagine. In plone.app.transmogrifier ho trovato un blueprint chiamato <em>mimeencapsulator</em>, capace di infilare il mimetype all&#8217;interno di attributi di tipo file, ma il filename rimane scoperto.</p>
<p>Come ho risolto? l&#8217;XML contiene per ogni file una terna di attributi, es.<em> &#8220;_image_filename&#8221;, &#8220;_image_contenttype&#8221;, &#8220;_image_data&#8221;</em>, il blueprint in configurazione sa quali attributi sono da trasformare in file, es. &#8220;image&#8221;, e piazza nell&#8217;item della pipeline un attributo con chiave <em>&#8220;image&#8221;</em> e valore un oggetti di classe:</p>
<p><code></p>
<pre>
    from StringIO import StringIO

    class fakeFile(StringIO):
        def __init__(self, data, filename, mimetype):
        StringIO.__init__(self, data)
        self.filename = filename
        self.content_type = mimetype
</pre>
<p></code></p>
<h1>Il resto della pipeline</h1>
<p>Ci siamo presi i dati sul Plone sorgente e li abbiamo manipolati per ottenere dei dati di partenza validi. Cosa manca?</p>
<p>Be&#8217;.. <strong>creare</strong> i contenuti, aggiornarli con le informazioni in arrivo dal sorgente, aggiornare le <strong>UID</strong> in modo da riavere le stesse presenti sui contenuti sorgente, aggiornare il <strong>workflow</strong>, sistemare le <strong>viste di default</strong>, <strong>reindicizzare</strong> gli oggetti appena creati.</p>
<p><strong>Tutto questo senza sviluppare nessun ulteriore blueprint!</strong> plone.app.transmogrifier ha tutto il necessario.</p>
<p>Una nota a parte la merita la gestione dell&#8217;attributo &#8220;<strong>relatedItems</strong>&#8220;, e la problematica intrinseca di non poterlo aggiornare con UID che non corrispondono ancora a nessun oggetto, nel caso in cui l&#8217;oggetto destinazione non sia ancora passato nella pipeline.</p>
<p>Esistono un paio di soluzioni a riguardo: quella da preferire credo sia l&#8217;utilizzo del <strong>blueprint pathresolver</strong>, che <strong>posticipa</strong> la gestione di un oggetto fino a che non sia verificata l&#8217;esistenza di determinate path. (<em>occhio ad eventuali referenze incrociate!</em>)</p>
<p>Di fatto io mi limito a <strong>lanciare lo script di migrazione due volte</strong>, eliminando la chiave relativa ai relatedItems al primo passaggio.</p>
<p>la lista dei blueprint di questa seconda parte della pipeline è la seguente:</p>
<ul>
<li><strong>collective.transmogrifier.sections.manipulator</strong> (per eliminare dall&#8217;item la chiave &#8220;relatedItem&#8221;)</li>
<li>c<strong>ollective.transmogrifier.sections.constructor</strong> (per creare l&#8217;oggetto archetype nella posizione desiderata)</li>
<li><strong>plone.app.transmogrifier.uidupdater</strong> (per aggiornare l&#8217;UID con il valore provieniente dal sorgente)</li>
<li><strong>plone.app.transmogrifier.atschemaupdater</strong> (per aggiornare l&#8217;oggetto creato in tutti i suoi attributi)</li>
<li><strong>plone.app.transmogrifier.browserdefault</strong> (per assegnare la vista di default sull&#8217;oggetto creato)</li>
<li><strong>plone.app.transmogrifier.workflowupdater</strong> (per lanciare le transizioni di workflow corrispondenti a quelle presenti sull&#8217;oggetto sorgente)</li>
<li><strong>plone.app.transmogrifier.reindexobject</strong> (per reindicizzare l&#8217;oggetto appena creato)</li>
</ul>
<h1>Note Finali</h1>
<p>Sicuramente la pipeline presentata non risolve tutte le situazioni possibili, ma vi da una buona idea di quel che si puo&#8217; fare.</p>
<p>Una considerazione <em>negativa</em> rispetto all&#8217;uso di transmogrifier consiste nella <strong>difficoltà di operare in debug</strong> nel momento in cui le cose non vanno come ci aspettiamo. Una considerazione <em>positiva</em> è invece data dalla <strong>quantità di materiale di esempio</strong> che trovate in giro per la rete <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Riferimenti:</h2>
<p>Talk di Lennart Regebro su Transmogrifier alla Plone Conference 2009:</p>
<ul>
<li><a href="http://www.slideshare.net/regebro/transmogrifier-migrating-to-plone-with-less-pain-2387600">http://www.slideshare.net/regebro/transmogrifier-migrating-to-plone-with-less-pain-2387600</a></li>
<li><a href="http://www.ustream.tv/recorded/2440203">http://www.ustream.tv/recorded/2440203</a></li>
</ul>
<p>Talk di Quintagroup alla Plone Conference 2008 :</p>
<ul>
<li><a href="http://www.slideshare.net/Quintagroup/content-migration-quantum-leap-presentation">http://www.slideshare.net/Quintagroup/content-migration-quantum-leap-presentation</a></li>
</ul>
<p>Dal codice:</p>
<p>Dai un bello sguardo ai vari blueprint presenti in collective nei pacchetti <strong>collective.transmogrifier, plone.app.transmogrifier, collective.blueprint.base</strong>. (cfr. <a href="http://dev.plone.org/collective/browser/">http://dev.plone.org/collective/browser/</a>)</p>
<p>Ispirazione ulteriore dal progetto <strong>Funnelweb</strong>, che offre un&#8217;interfaccia web per importare siti statici in Plone:</p>
<ul>
<li><a href="http://www.coactivate.org/projects/funnelweb/project-home">http://www.coactivate.org/projects/funnelweb/project-home</a></li>
<li><a href="http://dev.plone.org/collective/browser/pretaweb.funnelweb/trunk/pretaweb/funnelweb">http://dev.plone.org/collective/browser/pretaweb.funnelweb/trunk/pretaweb/funnelweb</a></li>
</ul>
<p>Buone <em>transmogrificazioni</em> a tutti!!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/miziodel.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/miziodel.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/miziodel.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/miziodel.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/miziodel.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/miziodel.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/miziodel.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/miziodel.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/miziodel.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/miziodel.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/miziodel.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/miziodel.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/miziodel.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/miziodel.wordpress.com/173/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=173&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://miziodel.wordpress.com/2010/02/28/transmogrifier-una-catena-di-montaggio-per-generare-contenuti/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">miziodel</media:title>
		</media:content>

		<media:content url="http://miziodel.files.wordpress.com/2010/02/emma.jpg" medium="image">
			<media:title type="html">Everything is Possible</media:title>
		</media:content>
	</item>
		<item>
		<title>Nuova home per Plone.it.. l&#8217;accendiamo?</title>
		<link>http://miziodel.wordpress.com/2010/02/21/nuova-home-per-plone-it-laccendiamo/</link>
		<comments>http://miziodel.wordpress.com/2010/02/21/nuova-home-per-plone-it-laccendiamo/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 00:47:07 +0000</pubDate>
		<dc:creator>miziodel</dc:creator>
				<category><![CDATA[Comunicazione]]></category>
		<category><![CDATA[Plone]]></category>
		<category><![CDATA[advocacy]]></category>
		<category><![CDATA[marketing]]></category>

		<guid isPermaLink="false">http://miziodel.wordpress.com/?p=168</guid>
		<description><![CDATA[date uno sguardo alla nuova possibile homepage per plone.it su http://plone.it/new-home-page<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=168&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Questo fine settimana con il <a href="http://www.giorgioborelli.it/">buon Giorgio</a> abbiamo dedicato un po&#8217; del nostro tempo a plone.it, sulla falsariga dei <a href="http://miziodel.wordpress.com/2009/11/10/plone-conference-2009-budapest-resoconto-finale/">discorsi fatti a Budapest</a>.</p>
<p>C&#8217;era il desiderio di <strong>rinnovare la home</strong> e di dare maggiore risalto alla <strong>comunicazione</strong>, anche mettendo in evidenza il <strong>planet plone.it</strong>. La nostra proposta è visibile a tutti accedendo a <strong><a href="http://plone.it/new-home-page">http://plone.it/new-home-page</a></strong>.</p>
<p>Che ne dite?</p>
<p><strong>Nota</strong>: il <a href="http://pipes.yahoo.com/pipes/pipe.run?_id=de90ba775740305049307516c3857ae0&amp;_render=rss">link al planet</a> è cambiato! aggiornate il vostro reader rss! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>L&#8217;idea finale ci proietta a due successivi passi:</p>
<ul>
<li>Iniziare a ripensare alla struttura dei contenuti del portale, anche alla luce di quanto c&#8217;e&#8217; oggi disponibile e di quanto è stato fatto negli ultimi tre anni.</li>
<li>Arrivare allo Sprint di Sorrento con le idee chiare per operare la migrazione del portale a Plone 4 (magari affinando ulteriormente l&#8217;impostazione generale del portale)</li>
</ul>
<p><strong>Chi ci sta?</strong> le <a href="http://www.coactivate.org/projects/sorrento-sprint-2010/project-home">iscrizioni allo Sprint</a> sono già aperte, e il <a href="http://www.abstract.it/abstract/iniziative/european-plone-symposium-2010/index">Simposio organizzato da Abstract</a> è sicuramente un ottimo momento per <strong>incontrarsi, discutere e fare</strong>!!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/miziodel.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/miziodel.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/miziodel.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/miziodel.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/miziodel.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/miziodel.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/miziodel.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/miziodel.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/miziodel.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/miziodel.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/miziodel.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/miziodel.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/miziodel.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/miziodel.wordpress.com/168/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=168&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://miziodel.wordpress.com/2010/02/21/nuova-home-per-plone-it-laccendiamo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">miziodel</media:title>
		</media:content>
	</item>
		<item>
		<title>ERP con Plone..</title>
		<link>http://miziodel.wordpress.com/2010/02/12/erp-con-plone/</link>
		<comments>http://miziodel.wordpress.com/2010/02/12/erp-con-plone/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 23:01:09 +0000</pubDate>
		<dc:creator>miziodel</dc:creator>
				<category><![CDATA[Plone]]></category>
		<category><![CDATA[Zope]]></category>
		<category><![CDATA[advocacy]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[Document Management]]></category>
		<category><![CDATA[strumenti]]></category>

		<guid isPermaLink="false">http://miziodel.wordpress.com/?p=159</guid>
		<description><![CDATA[perchè Plone non è adatto a realizzare qualsiasi applicativo ci passi per la mente.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=159&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Fabrizio ha lanciato un ottimo stimolo, anche se ancora da sviluppare: <span style="font-weight:bold;">quando usare Plone </span>per risolvere alcune delle <span style="font-weight:bold;">funzioni tipiche di un ERP</span> (<a href="http://redomino.com/it/labs/blog/fabrizio-reale/plone-erp">http://redomino.com/it/labs/blog/fabrizio-reale/plone-erp</a>).</p>
<p>In merito ho qualcosa da dire, ma voglio farlo con calma, non in questo post (tanto per capirci, da tempo ho &#8220;in canna&#8221; di parlare di <a href="http://www.cmswire.com/cms/enterprise-cms/ecms-that-implement-case-management-frameworks-006261.php">Case Management</a> con Plone, che copre una parte delle proposte di Fabrizio&#8230; piano piano <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ).</p>
<p>Piuttosto volevo rispondere organicamente al commento di Andrea, che quoto nella sua chiosa:</p>
<blockquote><p>secondo te Plone può essere usato, oltre alla gestione documentale, anche per la gestione delle attività come emissione fatture, ddt, ordini etc&#8230; ?</p>
<p>Quello che io intendo e avere un sistema in cui collaboro alla vita aziendale (CMS puro e semplice), gestisco i servizi con i clienti (trouble ticket), amministro i miei servizi, fatturo ai clienti, emetto ordini ai fornitori, ddt per i tecnici.</p>
<p>Non capisco perché queste operazioni vengano definite da molti sviluppatori Plone come troppo complesse per un CMS, e parlo anche a livello di costi di sviluppo. Scusa ma con PHP queste cose si fanno da anni, a costi decenti e molto inferiori rispetto a soluzioni Plone o JSP.</p></blockquote>
<p>Be&#8217;, ho due cose da dire a riguardo.</p>
<p><span id="more-159"></span><br />
La prima, spicciola: se <span style="font-style:italic;">&#8220;queste cose si fanno da anni in PHP a costi decenti e molto inferiori rispetto a soluzioni Plone o JSP&#8221;</span>, ben vengano! Perchè Andrea sente la mancanza di qualcosa che PHP non sia? Forse le soluzioni <span style="font-style:italic;">&#8220;che si trovano&#8221;</span> rispetto a quelle che, ancora oggi, <span style="font-style:italic;">&#8220;non si trovano&#8221; </span>(non tanto in Plone, quanto in Java) fanno una differenza sostanziale che in parte giustifica i costi lamentati? <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>La seconda: credo di far parte di quegli sviluppatori Plone (o meglio, <span style="font-weight:bold;">integratori Plone</span>) che definiscono &#8220;queste cose&#8221; troppo complesse per un CMS, o troppo costose da realizzare. Quindi cerco di ribadire il concetto in modo semplice, e spero di non essere frainteso.</p>
<p>Premessa: quando si fanno certe considerazioni, <span style="font-weight:bold;">un integratore Plone parla di Plone</span>, e non della famiglia dei CMS in generale, in cui si fanno entrare cose diverse come <span style="font-style:italic;">Worpress</span>, <span style="font-style:italic;">Joomla!</span> e <span style="font-style:italic;">Alfresco</span>.</p>
<p>Veniamo alla mia spiegazione a riguardo, sottolineando come <span style="font-weight:bold;">Plone disponga di strumenti molto avanzati, stabili e collaudatissimi</span> da molti anni per poter risolvere una serie di problematiche tipiche dei <strong>Web CMS</strong> (categoria di cui Plone fa parte a pieno titolo). Ne cito qualcuno:</p>
<ul>
<li><span style="font-weight:bold;">Archetypes</span> per creare i modelli informativi dei contenuti e tutto quel che serve a farli funzionare (storage, indicizzazione, interfacce utente di base, etc.) dichiarando un semplice schema di attributi!</li>
<li><span style="font-weight:bold;">Workflow Documentale</span> per gestire flussi di lavoro collaborativi sui documenti descritti da diagrammi di stato molto facili da personalizzare</li>
<li><span style="font-weight:bold;">Indicizzazione Interna</span> per interrogare la propria base informativa comunque sia necessario, cercando anche all&#8217;interno dei file PDF, Office, etc.</li>
<li><span style="font-weight:bold;">Versioning Documentale</span> per disporre delle passate versioni dei documenti ed eventualmente ripristinarle</li>
<li><span style="font-weight:bold;">Zope Page Template,</span> registri CSS e JS, viewlet e portlet per costruire le proprie interfacce utente web in maniera rapida e flessibile</li>
<li><strong>etc. etc.</strong> le feature di Plone non si esauriscono certo qui!</li>
</ul>
<p>Per quanto riguarda l&#8217;ambiente in cui Plone è implementato, si tratta di <span style="font-weight:bold;">Zope</span>, un <strong>application server </strong>molto verticale sulle sue funzionalità e dotato di:</p>
<ul>
<li>un <span style="font-weight:bold;">ORB</span> orientato ad internet (il <a href="http://docs.zope.org/zope2/zdgbook/ObjectPublishing.html">Publisher</a>, molto robusto e longevo)</li>
<li>un <span style="font-weight:bold;">DB a oggetti</span> integrato e trasparente (<a href="http://en.wikipedia.org/wiki/NoSQL">NoSQL</a> ante-litteram e anche di più),</li>
<li>un potente <span style="font-weight:bold;">modello di sicurezza</span> che permette di usare il DB a oggetti come fosse un filesystem agli steroidi</li>
</ul>
<p>Zope [ndr. <a href="http://zope2.zope.org/"><strong>Zope 2</strong></a>!!, da non confondere con <span style="font-weight:bold;">Zope 3</span>, che di Zope 2 fa parte, ma con cui viene costruito anche <a href="http://grok.zope.org/">Grok</a>, <a href="http://bluebream.muthukadan.net/">BlueBream</a> e a cui si appoggia <a href="http://bfg.repoze.org/">BFG</a>] è <strong>perfetto per quel che ci si può fare</strong>, ma difficile da trasformare in qualcosa di diverso (se i framework negli ultimi anni hanno riscosso tutto questo successo un motivo valido ci sarà..).</p>
<p>Alla fine di questa specie di sviolinata cerco di spiegare il <span style="font-weight:bold;">perchè &#8220;certe cose&#8221; sono costose da fare in Plone</span>:</p>
<blockquote><p><span style="font-style:italic;">se</span> il modello complessivo che Plone rappresenta non è <span style="font-style:italic;">piuttosto vicino</span> all&#8217;implementazione ideata per risolvere il proprio problema, con o senza contenuti web di mezzo, la fatica che si fa a &#8220;combattere&#8221; il framework è maggiore di quella che piuttosto si farebbe a partire senza quell&#8217;aiuto.</p></blockquote>
<p>Allora chiedo: <em>dovendo andare ad una cerimonia, faccio prima a vestirmi in un negozio di abbigliamento o a rivolgermi ad un sarto?</em></p>
<p>e chiedo ancora: <em>dovendo procurarmi un costume da bagno, faccio prima a riadattare dei pantaloni comprati nel negozio di prima, a rivolgermi ad un sarto o piuttosto a cercare in un negozio di articoli sportivi?</em></p>
<p>La cosa difficile da far intuire a chi non la vede già da sé è come sia possibile che per fare certe cose molto complesse Plone ci metta <span style="font-style:italic;">&#8220;così poco&#8221;</span>, mentre per farne altre, apparentemente semplici e alla portata di &#8220;tutti&#8221;, in Plone costi una fortuna.</p>
<p>Il motivo dovrebbe essere evidente se si considera che tutti gli strumenti citati sopra sono molto specializzati per erogare, ciascuno al suo livello, l&#8217;esperienza che Plone fa apparire semplice da controllare, ma che tanto semplice non è!</p>
<p>Non è semplice, come dimostra il fatto che dopo tutti questi anni io ancora sto cercando (seriamente!) un&#8217;alternativa equivalente e più all&#8217;avanguardia di Plone.</p>
<p>E non è semplice anche perchè Plone ingloba un <span style="font-weight:bold;">numero spaventoso di giorni uomo</span>, seppure forse ben camuffati dall&#8217;apparente semplicità di quello che vediamo funzionare, e molto bene, tutti i giorni come un orologio svizzero.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/miziodel.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/miziodel.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/miziodel.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/miziodel.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/miziodel.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/miziodel.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/miziodel.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/miziodel.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/miziodel.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/miziodel.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/miziodel.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/miziodel.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/miziodel.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/miziodel.wordpress.com/159/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=159&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://miziodel.wordpress.com/2010/02/12/erp-con-plone/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">miziodel</media:title>
		</media:content>
	</item>
		<item>
		<title>ZopeSkel e lo sviluppo di pacchetti Plone</title>
		<link>http://miziodel.wordpress.com/2010/02/04/zopeskel-e-lo-sviluppo-di-pacchetti-plone/</link>
		<comments>http://miziodel.wordpress.com/2010/02/04/zopeskel-e-lo-sviluppo-di-pacchetti-plone/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 15:59:20 +0000</pubDate>
		<dc:creator>miziodel</dc:creator>
				<category><![CDATA[Plone]]></category>
		<category><![CDATA[strumenti]]></category>
		<category><![CDATA[sviluppo]]></category>
		<category><![CDATA[Zope]]></category>

		<guid isPermaLink="false">http://miziodel.wordpress.com/?p=152</guid>
		<description><![CDATA[ZopeSkel è stato rilasciato alla versione 2.15 con interessanti novità.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=152&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>OK, dopo diversi post lisci lisci torno a qualcosa di piuttosto tecnico: <strong><a href="http://pypi.python.org/pypi/ZopeSkel">ZopeSkel</a></strong> è da poco uscito in versione <strong>2.15</strong>, e, sebbene non si tratti di una major release, il changelog riporta un bel po&#8217; di novità.</p>
<p>Prima di tutto: che cavolo è ZopeSkel?!</p>
<p>Si tratta di uno strumento piuttosto irrinunciabile per chi sviluppa estensioni Plone nel 2010. Perciò se lo usate non avete bisogno di ulteriori chiarimenti. Se invece non lo state usando, fareste bene a chiedervi <em>&#8220;perchè?!&#8221;</em>.</p>
<p>Dall&#8217;help di ZopeSkel:</p>
<blockquote><p>This script allows you to create basic skeletons for plone and zope products and buildouts based on best-practice templates.</p></blockquote>
<p><span id="more-152"></span></p>
<p>In breve con ZopeSkel si guadagnano una serie di scorciatoie irrinunciabili per poter costruire il nostro pacchetto Plone e i vari componenti di cui avremo bisogno, e vi rimando a <a href="http://plone.org/documentation/kb/how-to-create-a-plone-3-theme-product-on-the-filesystem">questo documento</a> e a <a href="http://plone.org/documentation/kb/choose-the-right-paster-template">quest&#8217;altro</a> per saperne di più, e a <a href="http://www.mustap.com/pythonzone_post_234_zopeskel-with-local-commands">questo</a> per un ulteriore approfondimento.</p>
<p>La prima novità è l&#8217;introduzione di uno script di front-end, da usare al posto del classico &#8216;paster create&#8217;, chiamato proprio &#8216;<strong>zopeskel</strong>&#8216;.</p>
<p>dopo aver installato/aggiornato ZopeSkel provate ad aprire una shell e a lanciare il comando:</p>
<p><code>$ zopeskel --help</code></p>
<p>dovreste poter leggere molte interessanti informazioni su come usare questo script, tra cui, una maggiore prolissità descrittiva dei vari template a disposizione, lanciando:</p>
<p><code>$ zopeskel --list</code></p>
<p>e delle singole opzioni che si possono impostare, semplicemente inserendo un <em>punto interrogativo</em> negli slot dove zopeskel si aspetta le nostre risposte.</p>
<p>un&#8217;altra novità consiste nel poter impostare un <strong>file di configurazione</strong> in cui inserire i valori ricorrenti riguardo i dati dell&#8217;autore del pacchetto, la licenza d&#8217;uso, etc. Per avere un file di partenza, usate il comando:</p>
<p><code>$zopeskel --make-config-file &gt; /path/to/home/.zopeskel</code></p>
<p>L&#8217;ultima chicca, che però al mio tentativo di utilizzarla non ha prodotto immediatamente buoni frutti, è <strong><a href="http://pasteweb.joelburton.com/">zopeskelweb</a></strong>. Fateci un giro e, se vi piace, installatelo direttamente da svn: <a href="http://dev.plone.org/collective/browser/zopeskel.webui/trunk">http://dev.plone.org/collective/browser/zopeskel.webui/trunk</a></p>
<p>NB: grazie a Simone che mi ha prontamente puntato all&#8217;origine di <a href="http://www.coactivate.org/projects/zopeskel-bbq-sprint/project-home">tutti</a> <a href="http://www.coactivate.org/projects/zopeskel-bbq-sprint/blog/2009/10/03/zopeskel-bbq-sprint-day-one/">questi</a> <a href="http://www.coactivate.org/projects/zopeskel-bbq-sprint/blog/2009/10/13/zopeskel-bbq-sprint-days-two-three-and-four">cambiamenti</a>. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/miziodel.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/miziodel.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/miziodel.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/miziodel.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/miziodel.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/miziodel.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/miziodel.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/miziodel.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/miziodel.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/miziodel.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/miziodel.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/miziodel.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/miziodel.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/miziodel.wordpress.com/152/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=miziodel.wordpress.com&amp;blog=8295185&amp;post=152&amp;subd=miziodel&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://miziodel.wordpress.com/2010/02/04/zopeskel-e-lo-sviluppo-di-pacchetti-plone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">miziodel</media:title>
		</media:content>
	</item>
	</channel>
</rss>
