<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2italianfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!-- generator="wordpress/2.3.3" --><rss 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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:dtvmedia="http://participatoryculture.org/RSSModules/dtv/1.0" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Paolo Mainardi</title>
	<link>http://www.paolomainardi.com</link>
	<description>PHP Frameworks &amp; Web 2.0</description>
	<pubDate>Fri, 03 Jul 2009 15:38:42 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>it</language>
		<!-- podcast_generator="podPress/8.2" -->
		<copyright>© </copyright>
		<managingEditor>paolo@ildn.net ()</managingEditor>
		<webMaster>paolo@ildn.net</webMaster>
		<category />
		<ttl>1440</ttl>
		<itunes:keywords />
		<itunes:subtitle />
		<itunes:summary>...e ad un tratto l'amore scoppiograve; dappertutto...(F.De Andregrave;)</itunes:summary>
		<itunes:author />
		<itunes:category text="Society &amp; Culture" />
		<itunes:owner>
			<itunes:name />
			<itunes:email>paolo@ildn.net</itunes:email>
		</itunes:owner>
		<itunes:block>No</itunes:block>
		<itunes:explicit>no</itunes:explicit>
		<itunes:image href="http://www.mainardipaolo.org/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<image>
			<url>http://www.mainardipaolo.org/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
			<title>Paolo Mainardi</title>
			<link>http://www.paolomainardi.com</link>
			<width>144</width>
			<height>144</height>
		</image>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/paolomainardi" type="application/rss+xml" /><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpaolomainardi" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/paolomainardi" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpaolomainardi" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fpaolomainardi" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpaolomainardi" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=it&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fpaolomainardi" src="http://eur.i1.yimg.com/eur.yimg.com/i/it/my/mioya1.gif">Subscribe with Mio Yahoo!</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Sviluppare applicazioni Facebook usando Drupal</title>
		<link>http://feedproxy.google.com/~r/paolomainardi/~3/A7jFY7MuiXQ/</link>
		<comments>http://www.paolomainardi.com/2009/07/02/sviluppare-applicazioni-facebook-usando-drupal/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 22:02:50 +0000</pubDate>
		<dc:creator>Paolo Mainardi</dc:creator>
		
		<category><![CDATA[2.0]]></category>

		<category><![CDATA[drupal]]></category>

		<category><![CDATA[facebook]]></category>

		<category><![CDATA[fbconnect]]></category>

	<!-- AutoMeta Start -->
	<category>drupal</category>
	<category>club</category>
	<category>intervento</category>
	<category>slides</category>
	<category>ritardo</category>
	<category>ridotta</category>
	<category>tremendo</category>
	<category>phpday</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.paolomainardi.com/2009/07/02/sviluppare-applicazioni-facebook-usando-drupal/</guid>
		<description><![CDATA[Sviluppare applicazioni Facebook utilizzando Drupal



View more documents from Stefano Mainardi.
Riporto (con tremendo ritardo) le slides del nostro intervento al PHPDAY e al Drupal Social Club (in forma ridotta).
Condividi
]]></description>
			<content:encoded><![CDATA[<p style="width: 425px; text-align: left" id="__ss_1448448"><a href="http://www.slideshare.net/twinbit/sviluppare-applicazioni-facebook-utilizzando-drupal-1448448" style="margin: 12px 0pt 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline" title="Sviluppare applicazioni Facebook utilizzando Drupal">Sviluppare applicazioni Facebook utilizzando Drupal</a><object style="margin: 0px" height="355" width="425"></object></p>
<param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=slidephpday09ok-090517143236-phpapp01&amp;stripped_title=sviluppare-applicazioni-facebook-utilizzando-drupal-1448448"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowScriptAccess" value="always"></param><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=slidephpday09ok-090517143236-phpapp01&amp;stripped_title=sviluppare-applicazioni-facebook-utilizzando-drupal-1448448" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="355" width="425"></embed></p>
<p style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px">View more <a href="http://www.slideshare.net/" style="text-decoration: underline">documents</a> from <a href="http://www.slideshare.net/twinbit" style="text-decoration: underline">Stefano Mainardi</a>.</p>
<p>Riporto (con tremendo ritardo) le slides del nostro intervento al <a href="http://www.phpday.it" target="_blank">PHPDAY</a> e al <a href="http://blog.mikamai.com/2009/06/come-implementare-facebook-connect-su-drupal/" target="_blank">Drupal Social Club</a> (in forma ridotta).</p>
<p> <a href="http://www.paolomainardi.com/2009/07/02/sviluppare-applicazioni-facebook-usando-drupal/#more-158" class="more-link">(more&#8230;)</a></p>
<p class="akst_link"><a href="http://www.paolomainardi.com/?p=158&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_158" class="akst_share_link">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.paolomainardi.com/2009/07/02/sviluppare-applicazioni-facebook-usando-drupal/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.paolomainardi.com/2009/07/02/sviluppare-applicazioni-facebook-usando-drupal/</feedburner:origLink></item>
		<item>
		<title>Symfony 1.2: Salvare relazioni M-M con admin generator ed Embedded Forms</title>
		<link>http://feedproxy.google.com/~r/paolomainardi/~3/YCYNm3t9rdQ/</link>
		<comments>http://www.paolomainardi.com/2009/02/09/symfony-12-salvare-relazioni-m-m-con-admin-generator-ed-embedded-forms/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 23:10:35 +0000</pubDate>
		<dc:creator>Paolo Mainardi</dc:creator>
		
		<category><![CDATA[Informatica]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[symfony]]></category>

		<category><![CDATA[propel]]></category>

	<!-- AutoMeta Start -->
	<category>questione</category>
	<category>criptico</category>
	<category>relazione</category>
	<category>scusate</category>
	<category>perdere</category>
	<category>semplificare</category>
	<category>caso</category>
	<category>titolo</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.paolomainardi.com/2009/02/09/symfony-12-salvare-relazioni-m-m-con-admin-generator-ed-embedded-forms/</guid>
		<description><![CDATA[Scusate per il titolo criptico, ma non trovato altro modo per semplificare la questione che mi ha fatto perdere non poco tempo.
La questione è questa (caso base):

Schema con 1 relazione M-M
Modulo generato con l&#8217;admin generator
Embed sulla form principale di un&#8217;altra form a cui è associata la relazione M-M (Category &#60;-&#62; Article)

Quindi prendiamo questo schema:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
&#160;
anagrafica: 
id:  [...]]]></description>
			<content:encoded><![CDATA[<p>Scusate per il titolo criptico, ma non trovato altro modo per semplificare la questione che mi ha fatto perdere non poco tempo.</p>
<p>La questione è questa (caso base):</p>
<ol>
<li>Schema con 1 relazione M-M</li>
<li>Modulo generato con l&#8217;admin generator</li>
<li>Embed sulla form principale di un&#8217;altra form a cui è associata la relazione M-M (Category &lt;-&gt; Article)</li>
</ol>
<p>Quindi prendiamo questo schema:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code"><pre class="xml">&nbsp;
anagrafica: 
id:           ~
nome:         { type: varchar(255), required: true }
cognome:      { type: varchar(255), required: true }
sesso:        { type: varchar(255), required: true }
eta:          { type: integer, required: true }
caratteristica_id: ~
&nbsp;
caratteristica:
id:           ~
nome:     { type: varchar(255), required: true }
&nbsp;
malattia:
id:           ~
nome:    { type: varchar(255), required: true }
&nbsp;
caratteristica_malattia:
caratteristica_id:  { type: integer, foreignTable: caratteristica, foreignReference: id, required: true, primaryKey: true, onDelete: cascade }
malattia_id: { type: integer, foreignTable: malattia, foreignReference: id, required: true, primaryKey: true, onDelete: cascade }</pre></td></tr></table></div>

<p>2) Generiamo un modulo di amministrazione per la tabella Anagrafica:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php">symfony propel:generate-admin Anagrafica --module=anagrafica</pre></td></tr></table></div>

<p>3) Facciamo l&#8217;embed dal modulo anagrafica della form caratteristica:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="php"><span style="color: #000000; font-weight: bold;">class</span> AnagraficaForm <span style="color: #000000; font-weight: bold;">extends</span> BaseAnagraficaForm
<span style="color: #66cc66;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> configure<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#123;</span> 
&nbsp;
     <span style="color: #808080; font-style: italic;">// get Related Object model</span>
     <span style="color: #0000ff;">$caratteristica</span> = <span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">getObject</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>-&gt;<span style="color: #006600;">getCaratteristica</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
      <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #000066;">is_null</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$caratteristica</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #0000ff;">$caratteristica</span> = <span style="color: #000000; font-weight: bold;">new</span> Caratteristica<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #0000ff;">$caratteristica</span>-&gt;<span style="color: #006600;">setAnagrafica</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">getObject</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">getObject</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>-&gt;<span style="color: #006600;">setCaratteristica</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$caratteristica</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
    <span style="color: #0000ff;">$caratteristica_form</span> = <span style="color: #000000; font-weight: bold;">new</span> CaratteristicaForm<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$caratteristica</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">embedForm</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Caratteristica'</span>,  <span style="color: #0000ff;">$caratteristica_form</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
     parent::<span style="color: #006600;">configure</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>3) A questo punto, la form è completa, sulla form Anagrafica avremo la form caratteristica correttamente &#8220;embeddata&#8221;, l&#8217;unico problema (che è poi il cuore di questo articolo) è che la relazione M-M non verrà correttamente salvata.</p>
<p>Perchè ? In realtà ci sono già alcuni ticket aperti:</p>
<p>http://trac.symfony-project.org/ticket/4850</p>
<p>Quando la form embeddata viene salvata, non viene chiamata la funzione doSave(), ma l&#8217;oggetto viene salvato direttamente, è stata proposta la patch di cui sopra, ma il buon Fabien ci fa sapere che in questo caso è bene utilizzare l&#8217;override della funzione updateObject(), quindi la soluzione potrebbe essere questa:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
</pre></td><td class="code"><pre class="php">&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> CaratteristicaForm <span style="color: #000000; font-weight: bold;">extends</span> BaseCaratteristicaForm
<span style="color: #66cc66;">&#123;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> updateObject<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$values</span> = <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#123;</span>
    <span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">updateCaratteristicaMalattia</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    parent::<span style="color: #006600;">updateObject</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$values</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
&nbsp;
 <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> updateCaratteristicaMalattie<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #0000ff;">$con</span> = <span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">getConnection</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0000ff;">$c</span> = <span style="color: #000000; font-weight: bold;">new</span> Criteria<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0000ff;">$c</span>-&gt;<span style="color: #006600;">add</span><span style="color: #66cc66;">&#40;</span>CaratteristicaMalattiaPeer::<span style="color: #006600;">CARATTERISTICA_ID</span>, <span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">object</span>-&amp;gt;getPrimaryKey<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
    CaratteristicaMalattiaPeer::<span style="color: #006600;">doDelete</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$c</span>, <span style="color: #0000ff;">$con</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #0000ff;">$values</span> = <span style="color: #0000ff;">$values</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'caratteristica_malattia_list'</span><span style="color: #66cc66;">&#93;</span>;
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #000066;">is_array</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$values</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
    <span style="color: #66cc66;">&#123;</span>
      <span style="color: #b1b100;">foreach</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$values</span> <span style="color: #b1b100;">as</span> <span style="color: #0000ff;">$value</span><span style="color: #66cc66;">&#41;</span>
      <span style="color: #66cc66;">&#123;</span>
        <span style="color: #0000ff;">$obj</span> = <span style="color: #000000; font-weight: bold;">new</span> CaratteristicaMalattia<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #0000ff;">$obj</span>-&gt;<span style="color: #006600;">setCaratteristicaId</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">object</span>-&gt;<span style="color: #006600;">getPrimaryKey</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #0000ff;">$obj</span>-&gt;<span style="color: #006600;">setMalattiaId</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$value</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #0000ff;">$obj</span>-&gt;<span style="color: #006600;">save</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
      <span style="color: #66cc66;">&#125;</span>
    <span style="color: #66cc66;">&#125;</span>
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>Dove la funzione updateCaratteristicaMalattie() non è altro che un piccolo refactoring della funzione &#8220;saveCelgeneCaratteristicaMalattiaList()&#8221; che gia troviamo nella classe &#8220;BaseCaratteristicaForm&#8221;.</p>
<p>Non aggiungo altro, qui c&#8217;è tutto per risolvere questo strano comportamento di sfPropel.</p>
<p class="akst_link"><a href="http://www.paolomainardi.com/?p=156&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_156" class="akst_share_link">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.paolomainardi.com/2009/02/09/symfony-12-salvare-relazioni-m-m-con-admin-generator-ed-embedded-forms/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.paolomainardi.com/2009/02/09/symfony-12-salvare-relazioni-m-m-con-admin-generator-ed-embedded-forms/</feedburner:origLink></item>
		<item>
		<title>La mia nuova casa</title>
		<link>http://feedproxy.google.com/~r/paolomainardi/~3/QyUsL0Z94yg/</link>
		<comments>http://www.paolomainardi.com/2009/01/13/no-non-sono-diventato-un-finance-expert/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 14:53:47 +0000</pubDate>
		<dc:creator>Paolo Mainardi</dc:creator>
		
		<category><![CDATA[furto d'identita']]></category>

	<!-- AutoMeta Start -->
	<category>exception</category>
	<category>woah</category>
	<category>is_callable</category>
	<category>throw</category>
	<category>__dir__</category>
	<category>echo</category>
	<category>_get</category>
	<category>require</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.paolomainardi.com/2009/01/13/no-non-sono-diventato-un-finance-expert/</guid>
		<description><![CDATA[Tanto per precisare, il vecchio dominio &#8220;mainardipaolo.org&#8221; non e&#8217; (purtroppo) piu&#8217; in mio possesso.
Il nuovo nome &#8220;www.paolomainardi.com&#8220;, se incappate nel mio clone, siete avvertiti, non sono io 
Condividi
]]></description>
			<content:encoded><![CDATA[<p>Tanto per precisare, il vecchio dominio &#8220;mainardipaolo.org&#8221; non e&#8217; (purtroppo) piu&#8217; in mio possesso<em>.</em></p>
<p>Il nuovo nome &#8220;<a href="http://www.paolomainardi.com">www.paolomainardi.com</a>&#8220;, se incappate nel mio clone, siete avvertiti, non sono io <img src='http://www.paolomainardi.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<p class="akst_link"><a href="http://www.paolomainardi.com/?p=155&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_155" class="akst_share_link">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.paolomainardi.com/2009/01/13/no-non-sono-diventato-un-finance-expert/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.paolomainardi.com/2009/01/13/no-non-sono-diventato-un-finance-expert/</feedburner:origLink></item>
		<item>
		<title>Creare un social network con Drupal</title>
		<link>http://feedproxy.google.com/~r/paolomainardi/~3/ZoP3-lUtSfQ/</link>
		<comments>http://www.paolomainardi.com/2008/08/24/creare-un-social-network-con-drupal/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 17:10:10 +0000</pubDate>
		<dc:creator>Paolo Mainardi</dc:creator>
		
		<category><![CDATA[2.0]]></category>

		<category><![CDATA[Informatica]]></category>

		<category><![CDATA[drupal]]></category>

		<category><![CDATA[cms]]></category>

		<category><![CDATA[privatemsgng]]></category>

	<!-- AutoMeta Start -->
	<category />
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.paolomainardi.com/2008/08/24/creare-un-social-network-con-drupal/</guid>
		<description><![CDATA[
Erano anni che mi ripromettevo (rimandando in continuazione) di approfondire e di sviluppare qualcosa di un pochino complesso con il CMF in questione, finalmente l&#8217;occasione giusta è arrivata (grazie alla nostra piccola startup, Ideato e Mikamai) e solo grazie ad un lavoro di questa portata, siamo riusciti ad apprezzare in pieno, le potenzialità di un [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.awakenedvoice.com/wp-content/uploads/2008/04/drupal_logo.png" align="left" width="182" height="205" /></p>
<p>Erano anni che mi ripromettevo (rimandando in continuazione) di approfondire e di sviluppare qualcosa di un pochino complesso con il CMF in questione,<a href="http://www.wikisap.it" target="_blank"> finalmente l&#8217;occasione giusta è arrivata</a> (<a href="http://www.twinbit.it" target="_blank">grazie alla nostra piccola startup, </a><a href="http://www.ideato.it" target="_blank">Ideato</a> e <a href="http://www.mikamai.com" target="_blank">Mikamai</a>) e solo grazie ad un lavoro di questa portata, siamo riusciti ad apprezzare in pieno, le potenzialità di un  framework di sviluppo ben modellato come Drupal, che vanta più di ogni altro, una libreria pressochè immensa di moduli che permettono out-of-the-box di avere immediatamente un mare di funzionalità aggiuntive.</p>
<p>Anche se è da dire che il primo approccio con Drupal, è un esperienza disarmante e frustrante, putroppo la documentazione ufficiale è troppo lacunosa, vengono date per scontate sezioni fondamentali e non esiste un workflow logico da seguire per capire il complesso sistema di Hook e ovverride che il core di Drupal innesca ad ogni chiamata.</p>
<p>Comunque con <a href="http://www.packtpub.com/search" target="_blank">qualche buon libro</a> e una pagina sempre aperta <a href="http://api.drupal.org" target="_blank">sulle API </a>(qui documentazione ottima), si riesce in brevtempo ad entrare con semplicità nei meccanismi (tante volte un pochino strani) ed essere subito produttivi.</p>
<p>Tornando al tema del post, come sviluppare un Social Network con Drupal ?</p>
<p>Prima sarebbe da chiederci quali sono le caratteristiche base che un Social network dovrebbe assolutamente avere ?</p>
<ul>
<li>Messaggi privati: <a href="http://drupal.org/project/privatemsg" target="_blank">http://drupal.org/project/privatemsg</a></li>
<li>Buddylist:<a href="http://drupal.org/project/buddylist" target="_blank"> http://drupal.org/project/buddylist </a>(<a href="http://drupal.org/project/user_relationship" target="_blank">in alternativa http://drupal.org/project/user_relationship</a>)</li>
<li>Inviti e Contact grabber: <a href="http://drupal.org/project/invite" target="_blank">http://drupal.org/project/invite</a> e <a href="http://drupal.org/project/dcl_importer" target="_blank">http://drupal.org/project/dcl_importer</a></li>
<li>Gruppi:<a href="http://drupal.org/project/og" target="_blank"> http://drupal.org/project/og</a></li>
<li>Sharing: <a href="http://drupal.org/project/forward" target="_blank">http://drupal.org/project/forward </a>(o <a href="http://drupal.org/project/send" target="_blank">http://drupal.org/project/send</a>),  <a href="http://drupal.org/project/addthis" target="_blank">http://drupal.org/project/addthis</a></li>
<li>Mashup semplice: <a href="http://drupal.org/project/emfield" target="_blank">http://drupal.org/project/emfield</a> , <a href="http://drupal.org/project/ipaper" target="_blank">http://drupal.org/project/ipaper</a></li>
<li>Notifiche: <a href="http://drupal.org/project/notifications" target="_blank">http://drupal.org/project/notifications </a>(o <a href="http://drupal.org/project/subscriptions" target="_blank">http://drupal.org/project/subscriptions</a>)</li>
<li>Facebook: <a href="http://drupal.org/project/fb" target="_blank">http://drupal.org/project/fb </a>(mai provato ma sembra molto molto interessante)</li>
</ul>
<p>Ovviamente, senza menzionare i moduli &#8220;standard&#8221; che non fanno parte del core, ma sono assolutamente indispensabili:</p>
<ul>
<li> CCK, Views, Panels (per me non lo è molto), Workflow-ng</li>
</ul>
<p>Alcuni moduli, sono un pochino &#8220;scarni&#8221; di funzionalità, ad esempio Privatemsg, non permette di inviare il messaggio via mail, o selezionare i contatti dalla propria buddylist, per questo ho sviluppato un modulo di estensione:</p>
<p><a href="http://drupal.org/node/293854" target="_blank">http://drupal.org/node/293854</a></p>
<p>Ho avuto da pochi giorni l&#8217;accesso al CVS Drupal, appena ho qualche minuto libero, gli darò un posto più dignitoso <img src='http://www.paolomainardi.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Che features aggiunge privatemsg-ng ?</p>
<ol>
<li> Integrazione con OG, Buddylist, User roles (core)</li>
<li>File attachment (viene inviato all&#8217;utente insieme al messaggo un link da dove scaricare l&#8217;allegato, ovviamente sarà scaricabile solo da chi ha i permessi)</li>
<li>Mailing out integrato con <a href="http://drupal.org/project/job_queue">job_queue</a></li>
</ol>
<p>Per ora è tutto, se ancora non avete provate Drupal, questo è il momento giusto <img src='http://www.paolomainardi.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ciau</p>
<p class="akst_link"><a href="http://www.paolomainardi.com/?p=151&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_151" class="akst_share_link">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.paolomainardi.com/2008/08/24/creare-un-social-network-con-drupal/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.paolomainardi.com/2008/08/24/creare-un-social-network-con-drupal/</feedburner:origLink></item>
		<item>
		<title>Forza italia!</title>
		<link>http://feedproxy.google.com/~r/paolomainardi/~3/ZeBUTHKXc50/</link>
		<comments>http://www.paolomainardi.com/2008/06/22/forza-italia/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 21:45:11 +0000</pubDate>
		<dc:creator>Paolo Mainardi</dc:creator>
		
		<category><![CDATA[My life]]></category>

	<!-- AutoMeta Start -->
	<category>forti</category>
	<category>punto</category>
	<category>basta</category>
	<category>perso</category>
	<category>siamo</category>
	<category>abbiamo</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.paolomainardi.com/2008/06/22/forza-italia/</guid>
		<description><![CDATA[Abbiamo perso, ma siamo i più forti punto e basta!
Condividi
]]></description>
			<content:encoded><![CDATA[<p>Abbiamo perso, ma siamo i più forti<a TARGET="_blank" HREF="http://www.alessandromainardi.com/2008/04/25/il-teorema-del-punto-e-basta/"> punto e basta!</a></p>
<p class="akst_link"><a href="http://www.paolomainardi.com/?p=149&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_149" class="akst_share_link">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.paolomainardi.com/2008/06/22/forza-italia/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.paolomainardi.com/2008/06/22/forza-italia/</feedburner:origLink></item>
		<item>
		<title>The “symfony Forms in Action” book is online</title>
		<link>http://feedproxy.google.com/~r/paolomainardi/~3/fV-pr_mke2Q/</link>
		<comments>http://www.paolomainardi.com/2008/06/19/the-symfony-forms-in-action-book-is-online/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 22:36:21 +0000</pubDate>
		<dc:creator>Paolo Mainardi</dc:creator>
		
		<category><![CDATA[symfony]]></category>

		<category><![CDATA[symfony sfform framework form]]></category>

	<!-- AutoMeta Start -->
	<category>annuncio</category>
	<category>questo</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.paolomainardi.com/2008/06/19/the-symfony-forms-in-action-book-is-online/</guid>
		<description><![CDATA[Con questo annuncio dal blog ufficiale del noto framework ad oggetti PHP, che sta per raggiungere la maturità nella nuova versione 1.1, viene annunciato finalmente un primo assaggio (ma fondamentale) di quello che sarà il nuovo libro dedicato al sotto framework per le Form nuovo di zecca.
Per lo sviluppo, questo nuovo framework è una manna [...]]]></description>
			<content:encoded><![CDATA[<p>Con questo annuncio dal<a href="http://www.symfony-project.org/blog/2008/06/18/the-symfony-forms-in-action-book-is-online" target="_blank"> blog ufficiale</a> del noto framework ad oggetti PHP, che sta per raggiungere la maturità nella nuova versione 1.1, viene annunciato finalmente un primo assaggio (ma fondamentale) di quello che sarà il nuovo libro dedicato al sotto framework per le Form nuovo di zecca.</p>
<p>Per lo sviluppo, questo nuovo framework è una manna dal cielo ed agganciandosi alla perfezione con Symfony, lo portano nell&#8217;olimpo dei Framework PHP, superando a piè pari tutte le limitazioni (tante volte incredibili assenze) della versione 1.0 (oltre a gli helpers non c&#8217;era quasi niente per gestire in MVC le forms).</p>
<p>I capitoli rilasciati sono questi:</p>
<ul>
<li><a href="http://www.symfony-project.org/book/forms/1_1/en/01-Form-Creation" onclick="javascript:urchinTracker ('/outbound/article/www.symfony-project.org');">la creazione di form</a></li>
<li><a href="http://www.symfony-project.org/book/forms/1_1/en/02-Form-Validation" onclick="javascript:urchinTracker ('/outbound/article/www.symfony-project.org');">la validazione</a></li>
<li><a href="http://www.symfony-project.org/book/forms/1_1/en/03-Forms-for-web-Designers" onclick="javascript:urchinTracker ('/outbound/article/www.symfony-project.org');">il templating</a></li>
<li><a href="http://www.symfony-project.org/book/forms/1_1/en/04-Propel-Integration" onclick="javascript:urchinTracker ('/outbound/article/www.symfony-project.org');">l’integrazione con propel</a></li>
</ul>
<p>Sicuramente buonissimi per iniziare a sviluppare, ma per i più intrepidi, ci sarà da aspettare ancora un po che vengano rilasciati i nuovi capitoli, anche se farsi un <a href="http://www.symfony-project.org/api/1_1/" target="_blank">giro nelle API</a> (tra l&#8217;altro anche questa sezione totalmente rinnovata) può rendere tutto più semplice <img src='http://www.paolomainardi.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Per chi invece (come me&#8230;) non è riuscito ad andare al PHPDAY, <a href="http://www.symfony.it/articoli/32/il-video-di-introduzione-a-symfony-11/" target="_blank">può gustarsi il talk di Fabien sul nuovo framework da qui.</a></p>
<p>Per ora è tutto, spero di mantenero il blog un pochino più aggiornato e raccontare un pò del mio nuovo lavoro <img src='http://www.paolomainardi.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<p class="akst_link"><a href="http://www.paolomainardi.com/?p=148&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_148" class="akst_share_link">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.paolomainardi.com/2008/06/19/the-symfony-forms-in-action-book-is-online/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.paolomainardi.com/2008/06/19/the-symfony-forms-in-action-book-is-online/</feedburner:origLink></item>
		<item>
		<title>Sms gratuiti con Jaxtr</title>
		<link>http://feedproxy.google.com/~r/paolomainardi/~3/jK_NQwPsTPo/</link>
		<comments>http://www.paolomainardi.com/2008/04/17/sms-gratuiti-con-jaxtr/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 17:34:29 +0000</pubDate>
		<dc:creator>Paolo Mainardi</dc:creator>
		
		<category><![CDATA[voip]]></category>

		<category><![CDATA[jaxtr]]></category>

		<category><![CDATA[sms]]></category>

	<!-- AutoMeta Start -->
	<category />
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.paolomainardi.com/2008/04/17/sms-gratuiti-con-jaxtr/</guid>
		<description><![CDATA[
Jaxtr sembra fare sul serio, proponendo per ora un servizio di invio (e ricezione sul proprio numero di cell registrato) SMS gratuito in oltre 38 paesi, compresa l&#8217;Italia.
Se non conosci Jaxtr, ti riassumo gli interessanti servizi offerti fino ad ora (oltre l&#8217;ultimo arrivato con gli Sms):

Possibilità di farsi chiamare gratuitamente (fino a 100 minuti poi [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.voipblog.it/blog2/wp-content/uploads/2008/04/jaxtr.png" align="left" height="71" width="206" /></p>
<p><a href="http://www.jaxtr.com" target="_blank">Jaxtr </a>sembra fare sul serio, proponendo per ora un servizio di invio (e ricezione sul proprio numero di cell registrato) SMS gratuito in oltre 38 paesi, compresa l&#8217;Italia.</p>
<p>Se non conosci <a href="http://www.jaxtr.com">Jaxtr</a>, ti riassumo gli interessanti servizi offerti fino ad ora (oltre l&#8217;ultimo arrivato con gli Sms):</p>
<ul>
<li>Possibilità di farsi chiamare gratuitamente (fino a 100 minuti poi in segreteria) dal Web, con un semplice widget da inserire sul sito</li>
<li>Integrazione con i principali Socialnetwork (<a href="http://collect.myspace.com/index.cfm?fuseaction=invite.addfriend_verify&amp;friendID=126282856" alt="add to myspace friends">myspace</a> |<a href="http://www.facebook.com/apps/application.php?id=2354658681" alt="add to facebook friends">facebook</a> |<a href="http://www.orkut.com/Community.aspx?cmm=14205805" alt="add to orkut friends">orkut</a> |<a href="http://www.friendster.com/jaxtr" alt="add to friendster friends">friendster</a> |<a href="http://jaxtrphone.hi5.com" alt="add to hi5 friends">hi5)</a></li>
</ul>
<p>Per mandare gli SMS, la questione è molto semplice, basta registrarsi e fare il login, poi direttamente dalla homepage tramite una semplice form sarà possibile inviare l&#8217;sms al destinatario indicato, unica limitazione per ora sono i 65 caratteri.</p>
<p>L&#8217;ho testato e sembra funzionare molto bene, l&#8217;invio è rapidissimo e oltre al testo viene inserito un link a cui accedere per inviare una risposta (sempre tramite SMS), in alternativa anche la semplice risposta all&#8217;Sms verrà inoltrata al numero di cell registrato.</p>
<p>Veramente un ottimo servizio!</p>
<p class="akst_link"><a href="http://www.paolomainardi.com/?p=146&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_146" class="akst_share_link">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.paolomainardi.com/2008/04/17/sms-gratuiti-con-jaxtr/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.paolomainardi.com/2008/04/17/sms-gratuiti-con-jaxtr/</feedburner:origLink></item>
		<item>
		<title>Come convertire chiavi Putty PPK in chiavi Openssh standard su Debian</title>
		<link>http://feedproxy.google.com/~r/paolomainardi/~3/ULcSekivSaA/</link>
		<comments>http://www.paolomainardi.com/2008/04/01/come-convertire-chiavi-putty-ppk-in-chiavi-openssh-standard-su-debian/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 18:30:02 +0000</pubDate>
		<dc:creator>Paolo Mainardi</dc:creator>
		
		<category><![CDATA[sicurezza]]></category>

		<category><![CDATA[dsa]]></category>

		<category><![CDATA[openssh]]></category>

		<category><![CDATA[putty]]></category>

		<category><![CDATA[rsa]]></category>

	<!-- AutoMeta Start -->
	<category>windw</category>
	<category>capitato</category>
	<category>usare</category>
	<category>oggi</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.paolomainardi.com/2008/04/01/come-convertire-chiavi-putty-ppk-in-chiavi-openssh-standard-su-debian/</guid>
		<description><![CDATA[
Oggi mi è capitato di usare Windows (grazie a Vmware che ha deciso di punto in bianco di lasciare gli utenti linux senza un cliente per gestire le VI, forse per vendere qualche Workstation in più in cui far girare Windows per far girare il loro client&#8230;), polemiche a parte, ho utilizzato puttygen per creare [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.blogo.it/ossblog/openssh_432.gif" align="top" /></p>
<p>Oggi mi è capitato di usare Windows (<a href="http://communities.vmware.com/thread/49061" target="_blank">grazie a Vmware che ha deciso di punto in bianco di lasciare gli utenti linux senza un cliente per gestire le VI</a>, forse per vendere qualche Workstation in più in cui far girare Windows per far girare il loro client&#8230;), polemiche a parte, ho utilizzato puttygen per creare le chiavi che ovviamente sono state salvate in un formato leggibile solo dalla suite Putty, che è disponibile da liinea di comando anche in Debian, tra i tool anche l&#8217;omologo puttygen in grado di convertire le chiavi da ppk ad Openssh.</p>
<p>Andiamo per gradi, prima installiamo il pacchetto <a href="http://packages.debian.org/putty-tools" target="_blank">putty-tools</a> (solito apt-get) e poi possiamo convertire entrambe le chiavi in questo modo:</p>
<p><code>paolomainardi@paolo-laptop:$ puttygen chiave-putty.ppk -O &lt;strong&gt;private-openssh&lt;/strong&gt; -o ~/.ssh/id_rsa
paolomainardi@paolo-laptop:$ puttygen chiave-putty.ppk -O &lt;strong&gt;public-openssh&lt;/strong&gt; -o ~/.ssh/id_rsa.pub</code></p>
<p>In questo modo si riescono ad estrarre chiave pubblica e privata (ovviamente vi chiederà, se l&#8217;avete impostata, la passphrase)</p>
<p>Tutto molto semplice!</p>
<p class="akst_link"><a href="http://www.paolomainardi.com/?p=143&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_143" class="akst_share_link">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.paolomainardi.com/2008/04/01/come-convertire-chiavi-putty-ppk-in-chiavi-openssh-standard-su-debian/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.paolomainardi.com/2008/04/01/come-convertire-chiavi-putty-ppk-in-chiavi-openssh-standard-su-debian/</feedburner:origLink></item>
		<item>
		<title>Rilasciato Symfony 1.1 Beta 2</title>
		<link>http://feedproxy.google.com/~r/paolomainardi/~3/X4Y1nhpCgzo/</link>
		<comments>http://www.paolomainardi.com/2008/03/26/rilasciato-symfony-11-beta-2/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 16:51:24 +0000</pubDate>
		<dc:creator>Paolo Mainardi</dc:creator>
		
		<category><![CDATA[symfony]]></category>

		<category><![CDATA[1.1]]></category>

		<category><![CDATA[framework]]></category>

	<!-- AutoMeta Start -->
	<category>vede</category>
	<category>defin</category>
	<category>luce</category>
	<category>ramo</category>
	<category>siamo</category>
	<category>finalmente</category>
	<category>nuova</category>
	<category>versione</category>
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.paolomainardi.com/2008/03/26/rilasciato-symfony-11-beta-2/</guid>
		<description><![CDATA[Ci siamo, finalmente una nuova versione del ramo 1.1 vede la luce, si puo definire una reale beta, infatti le API del framework ora sono stabili e non verranno ulteriormento modificate, si procedere ora al testing, debugging e aggiornamento documentazione, stringendo definitvamente i tempi in 1 mese o 2 ci sarà il rilascio della versione [...]]]></description>
			<content:encoded><![CDATA[<p>Ci siamo, finalmente una nuova versione <a href="http://www.paolomainardi.com/tag/symfony" target="_blank">del ramo 1.1 </a>vede la luce, si puo definire una reale beta, infatti le API del framework ora sono stabili e non verranno ulteriormento modificate, si procedere ora al testing, debugging e aggiornamento documentazione, stringendo definitvamente i tempi in 1 mese o 2 ci sarà il rilascio della versione stabile.</p>
<p>Non aggiungo altro,<a href="http://www.symfony-project.org/blog/2008/03/25/symfony-1-1-beta-2-released-what-s-new" target="_blank"> potete vedere qui tutte le novità</a> introdotte con questa nuova release.</p>
<p class="akst_link"><a href="http://www.paolomainardi.com/?p=142&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_142" class="akst_share_link">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.paolomainardi.com/2008/03/26/rilasciato-symfony-11-beta-2/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.paolomainardi.com/2008/03/26/rilasciato-symfony-11-beta-2/</feedburner:origLink></item>
		<item>
		<title>Rilasciato lo Zend Framework 1.5</title>
		<link>http://feedproxy.google.com/~r/paolomainardi/~3/tLsyJ5fYdXs/</link>
		<comments>http://www.paolomainardi.com/2008/03/17/rilasciato-lo-zend-framework-15/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 20:09:58 +0000</pubDate>
		<dc:creator>Paolo Mainardi</dc:creator>
		
		<category><![CDATA[framework]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[php5]]></category>

		<category><![CDATA[zend framework]]></category>

	<!-- AutoMeta Start -->
	<category />
	<!-- AutoMeta End -->
	
		<guid isPermaLink="false">http://www.paolomainardi.com/2008/03/17/rilasciato-lo-zend-framework-15/</guid>
		<description><![CDATA[
Finalmente dopo ben 3 Release candidate, ecco finalmente rilasciato il nuovo Zend Framework, che raggiunge la versione 1.5 e tantissime novità:

Forms – Zend Framework now supports forms, including Ajax usage patterns that make building and using web-based forms much easier.
Layout and view – Layout support and view enhancements make it easier than ever to implement [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://framework.zend.com/" target="_blank"><img src="http://framework.zend.com//images/logo_small.gif" align="top" height="23" width="123" /></a></p>
<p>Finalmente dopo ben 3 Release candidate, ecco finalmente rilasciato il nuovo Zend Framework, che raggiunge la versione 1.5 e tantissime novità:</p>
<ul>
<li><a href="http://devzone.zend.com/article/3030-Lifting-the-Skirt-on-Zend-Framework-1.5---Zend_Form">Forms</a> – Zend Framework now supports forms, including Ajax usage patterns that make building and using web-based forms much easier.</li>
<li>Layout and view – Layout support and view enhancements make it easier than ever to implement a consistent look and feel throughout PHP applications and save developers time by keeping web application views componentized.</li>
<li><strong><a href="http://framework.zend.com/manual/en/zend.auth.adapter.ldap.html">LDAP authentication</a> – Zend Framework now comes with enterprise-ready authentication through support for LDAP technology.</strong></li>
<li><strong><a href="http://framework.zend.com/manual/en/zend.search.lucene.html" target="_blank">Lucene search engine</a> – Now it is possible to implement advanced queries using wildcards, date ranges, and fuzzy searches from within a Zend Framework application.</strong></li>
<li><strong><a href="http://framework.zend.com/manual/search?query=Ajax&amp;language=en&amp;search.x=0&amp;search.y=0" target="_blank">Extended Ajax support</a> – Zend Framework’s server-side support for Ajax with action helpers to automate Ajax detection and responses now make programming using JavaScript &amp; PHP much easier.</strong></li>
<li><strong><a href="http://framework.zend.com/manual/en/zend.pdf.html" target="_blank">UTF-8 character sets in Adobe PDF creation</a> – Zend Framework’s PDF support has been enhanced to enable non-Latin character sets such as Kanji, Cyrillic, and many others.</strong></li>
<li><strong><a href="http://framework.zend.com/manual/en/zend.gdata.html" target="_blank">Google GData web services</a> – Significant enhancements to Google Data services now make it easier than ever to build web applications that leverage the Google application network. New in Zend Framework 1.5 is support for upload and write capabilities to Google YouTube.</strong></li>
<li><strong>Zend Framework 1.5 now supports <a href="http://devzone.zend.com/article/3141-Lifting-the-Skirt-on-Zend-Framework-1.5-Zend_Auth-and-the-OpenId-Adapter">OpenID</a>. and Microsoft’s InfoCard,</strong></li>
</ul>
<p>Come potete vedere le novità sono moltissime ed è ora che vengono fuori tutte le potenzialiltà che il framework ha a disposizione, primo tra tutti il supporto completo per il protocollo Gdata che <a href="http://code.google.com/apis/youtube/overview.html" target="_blank">include gli ultimi aggiornamenti delle API Youtube</a>, una libreria molto potente ed enterprise per la gestione dei PDF (possiamo finalmente dire addio ad accrocchi inusabili come FPDF), una nuova serie di classi per le Forms Ajax-enabled e dulcis in fundo un completo supporto all&#8217;autenticazione con Lda, Openid e MS Infocard.</p>
<p>Ora si va finalmente a collocare nell&#8217;olimpo dei framework PHP 2.0 (Symfony, Cakephp), con la garanzia che dietro a questo framework oltre ad esserci una community di altissimo livello tecnico, c&#8217;è la società che sviluppa e sponsorizza PHP il che è una garanzia di stabilità del core non da poco.</p>
<p class="akst_link"><a href="http://www.paolomainardi.com/?p=141&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_141" class="akst_share_link">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.paolomainardi.com/2008/03/17/rilasciato-lo-zend-framework-15/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.paolomainardi.com/2008/03/17/rilasciato-lo-zend-framework-15/</feedburner:origLink></item>
	</channel>
</rss>
