<?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/"
	>

<channel>
	<title>Consulenza-Web.com &#187; CakePOWER</title>
	<atom:link href="http://www.consulenza-web.com/category/cakepower/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.consulenza-web.com</link>
	<description>Blog di Marco Pegoraro su Consulenza Web ed Informatica, Programmazione Web e realizzazione di Siti Web Accessibili.</description>
	<lastBuildDate>Fri, 23 Jul 2010 11:13:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>CakePOWER: url lang request</title>
		<link>http://www.consulenza-web.com/2009/09/cakepower-url-lang-request/</link>
		<comments>http://www.consulenza-web.com/2009/09/cakepower-url-lang-request/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 19:20:37 +0000</pubDate>
		<dc:creator>peg</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[CakePOWER]]></category>
		<category><![CDATA[lang]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[url]]></category>

		<guid isPermaLink="false">http://www.consulenza-web.com/?p=127</guid>
		<description><![CDATA[Ho introdotto in CakePOWER un sistema per gestire la richiesta di un particolare flag di lingua mediante un finto parametro da infilare nell&#8217;uri della richiesta. Spiegazioni dettagliate e documentazione: http://www.cakepower.org/wiki/doku.php?id=lang:index]]></description>
			<content:encoded><![CDATA[<p>Ho introdotto in CakePOWER un sistema per gestire la richiesta di un particolare flag di lingua mediante un finto parametro da infilare nell&#8217;uri della richiesta.</p>
<p>Spiegazioni dettagliate e documentazione: <a title="Url Lang Request documentation" href="http://www.cakepower.org/wiki/doku.php?id=lang:index">http://www.cakepower.org/wiki/doku.php?id=lang:index</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.consulenza-web.com/2009/09/cakepower-url-lang-request/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePOWER: il progetto è ufficiale!</title>
		<link>http://www.consulenza-web.com/2009/09/cakepower-il-progetto-e-ufficiale/</link>
		<comments>http://www.consulenza-web.com/2009/09/cakepower-il-progetto-e-ufficiale/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 18:38:09 +0000</pubDate>
		<dc:creator>peg</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[CakePOWER]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.consulenza-web.com/?p=117</guid>
		<description><![CDATA[Ho registrato il dominio www.cakepower.org e sto iniziando a pubblicare una wiki di documentazione ufficiale del progetto CakePOWER. Il sito sarà per ovvie ragioni completamente in inglese&#8230; un inglese che, non ho dubbi, i più troveranno rozzo e scorretto! Col tempo migliorerò! Ricordo che il progetto è aperto a chiunque desideri collaborare. Sul sito ufficiale [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_120" class="wp-caption alignright" style="width: 115px"><img class="size-thumbnail wp-image-120 " title="CakePOWER" src="http://www.consulenza-web.com/wp-content/uploads/2009/09/cakepower-150x150.png" alt="Il primo logo ufficiale!" width="105" height="105" /><p class="wp-caption-text">Il primo logo ufficiale!</p></div>
<p>Ho registrato il dominio <a title="CakePOWER Application Framework" href="http://cakepower.org">www.cakepower.org</a> e sto iniziando a pubblicare una wiki di documentazione ufficiale del progetto <a title="Introduzione al progetto CakePOWER" href="http://www.consulenza-web.com/2009/09/cakepower-progettazione-di-un-framework/">CakePOWER</a>.</p>
<p>Il sito sarà per ovvie ragioni completamente in inglese&#8230; un inglese che, non ho dubbi, i più troveranno rozzo e scorretto! Col tempo migliorerò!</p>
<p>Ricordo che il progetto è aperto a chiunque desideri collaborare. Sul sito ufficiale sono esposti i link al canale Twitter per gli aggiornamenti veloci e al repository su Google Docs per scaricare tutti gli aggiornamenti che andrò a pubblicare.</p>
<p>Presto verrà aperto il bug traking sul Google Code per raccogliere le segnalazioni di chi vorrà collaborare a testare e debuggare il progetto.</p>
<p style="text-align: center;"><a title="CakePOWER Application Framework" href="http://cakepower.org">www.cakepower.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.consulenza-web.com/2009/09/cakepower-il-progetto-e-ufficiale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePOWER: Progettazione di un Framework</title>
		<link>http://www.consulenza-web.com/2009/09/cakepower-progettazione-di-un-framework/</link>
		<comments>http://www.consulenza-web.com/2009/09/cakepower-progettazione-di-un-framework/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 07:49:35 +0000</pubDate>
		<dc:creator>peg</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[CakePOWER]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[applicativo]]></category>
		<category><![CDATA[applicazione]]></category>
		<category><![CDATA[crud]]></category>
		<category><![CDATA[php framework]]></category>
		<category><![CDATA[rad]]></category>

		<guid isPermaLink="false">http://www.consulenza-web.com/?p=99</guid>
		<description><![CDATA[Quest0 articolo segna l&#8217;inizio di una serie di considerazioni e analisi il cui obiettivo è la progettazione e costruzione di un framework applicativo web based. La mia esperienza nello sviluppo di applicazioni web (siti web, gestionali, piccole utility) mi ha portato ad elaborare alcune definizioni che utilizzerò nei successivi articoli di analisi: framework: è l&#8217;insieme [...]]]></description>
			<content:encoded><![CDATA[<p>Quest0 articolo segna l&#8217;inizio di una serie di considerazioni e analisi il cui obiettivo è la <strong>progettazione e costruzione di un framework applicativo</strong> web based.</p>
<p>La mia esperienza nello sviluppo di applicazioni web (siti web, gestionali, piccole utility) mi ha portato ad elaborare alcune definizioni che utilizzerò nei successivi articoli di analisi:</p>
<ul>
<li><strong>framework:</strong> è l&#8217;insieme di strumenti che consentono di enunciare le istruzioni logiche che compongono l&#8217;applicazione.</li>
<li><strong>applicazione: </strong>è l&#8217;insieme delle istruzioni necessarie a <span style="text-decoration: underline;">definire la logica astratta</span> di un software.</li>
<li><strong>interfaccia: </strong>è lo strumento di comunicazione tra l&#8217;applicazione e il suo utente.</li>
<li><strong>prodotto:</strong> è l&#8217;insieme di applicazione e interfaccia cui vengono applicate delle <span style="text-decoration: underline;">personalizzazioni specifiche</span> per la singola realizzazione.</li>
</ul>
<p style="text-align: center;"><a style="text-decoration: none;" href="http://www.consulenza-web.com/wp-content/uploads/2009/09/logical-area.jpg"><img class="size-medium wp-image-105 aligncenter" title="Aree Logiche di Sviluppo" src="http://www.consulenza-web.com/wp-content/uploads/2009/09/logical-area-300x300.jpg" alt="schema organizzativo delle aree logiche in cui si divide lo sviluppo di un'applicazione web." width="300" height="300" /></a></p>
<p><span style="text-decoration: underline;">Nell&#8217;immagine precedente la linea rossa rappresenta la separazione logica tra sviluppo dell&#8217;applicazione e lo sviluppo del prodotto.</span></p>
<p>L&#8217;applicazione è costituita di istruzioni logiche generiche che possono descrivere una <strong>soluzione software ad un problema collettivo</strong>. Lo sviluppo del prodotto si concentra sulla selezione delle applicazioni necessarie e sulla d<strong>efinizione di un insieme di regole di personalizzazione</strong>.</p>
<p>Nel momento in cui ci viene richiesto lo sviluppo di un prodotto (es un sito web) dobbiamo soffermarci e ragionare sulle applicazioni che lo compongono: <em>gestione utenti, gestione pagine, gestione news, photo gallery</em> e sulle regole di personalizzazione che lo completano: <em>template grafico, numero di news per pagina, gestione dei menus</em>.</p>
<p><strong>Diventa facile capire che l&#8217;obiettivo è spostare la line rossa in modo che l&#8217;area di configurazione occupi sempre meno spazio nella costruzione di un prodotto</strong>. Il tempo che dedichiamo alla costruzione di un prodotto dev&#8217;essere concentrato sulla soddisfazione delle personalizzazioni richieste e non sullo sviluppo delle funzionalità</p>
<h1>Il compito del framework:</h1>
<p>La realizzazione pratica di quanto illustrato espone alcuni prerequisiti fondamentali che il framework deve soddisfare:</p>
<ul>
<li>Tutte le operazioni di configurazione devono poter essere descritte su files fisicamente distinti dai sorgenti dell&#8217;applicazione.</li>
<li>I moduli applicativi (plugins) che compongono l&#8217;applicazione devono poter interoperare al fine di estendere e/o modificare il comportamento di altri moduli.</li>
<li>I moduli applicativi devono essere sensibili ad un sistema di configurazione strutturato e scalabile.</li>
<li>I moduli applicativi devono erogare funzionalità logiche &#8220;dropIn&#8221;. Non deve essere richiesta modifica dei files sorgenti!</li>
</ul>
<h1>CakePOWER: un po&#8217; di pepe a CakePHP!</h1>
<p><strong>CakePOWER</strong> è il progetto che mira a <em>concretizzare l&#8217;area core</em> dell&#8217;immagine qui sopra fornendo tutti gli strumenti necessari allo <em>sviluppo di plugins</em> (moduli applicativi) al fine di vendere prodotti (siti web e gestionali applicativi) la cui caratteristica principale è <strong>alta qualità a basso costo</strong>.</p>
<p>Ho iniziato cercando un framework (PHP) che implementi il paradigma <a title="Definizione di MVC (inglese)" href="http://en.wikipedia.org/wiki/Model–view–controller">MVC</a> e la scelta è ricaduta su <a title="CakePHP MVC Framework" href="http://cakephp.org">CakePHP</a> in quanto progetto abbastanza maturo e direzionato sulla creazione di automatismi che permettono di sviluppare il più velocemente possibile.</p>
<p>CakePOWER sarà sviluppato come un&#8217;estensione di CakePHP la quale integra funzionalità complesse nel framework. Di fatto tutto il sorgente sarà contenuto nella folder <em>cake_power</em> e l&#8217;integrazione avverrà mediante poche semplici istruzioni da inserire nei files di configurazione principali dell&#8217;applicazione.</p>
<p><strong>CakePOWER è un&#8217;estensione, non un fork!</strong></p>
<p>Lo stato attuale del progetto è pressochè nullo: sto scrivendo la documentazione delle prime strutture logiche che comporranno CakePOWER. La scelta di sviluppare prima la documentazione è fondamentale per garantire la qualità del codice prodotto.</p>
<p>A breve i sorgenti saranno disponibili su Google Project (<a title="CakePOWER su Google Project" href="http://code.google.com/p/cakepower/">http://code.google.com/p/cakepower/</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.consulenza-web.com/2009/09/cakepower-progettazione-di-un-framework/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
