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

<channel>
	<title>...Yo Simplemente Lloro Libertad! &#187; zendframework</title>
	<atom:link href="http://g05l21.net/category/zendframework/feed/" rel="self" type="application/rss+xml" />
	<link>http://g05l21.net</link>
	<description>Un blog con un poquito de todo, desde Seo, programación, Software Libre, desarrollo, hasta textos escritos por mi, información propia y otras tantas cosas personales... Vamos una auténtica bitácora donde cuento de todo.</description>
	<pubDate>Fri, 02 Oct 2009 11:48:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Estructura de archivos en Zend para varios proyectos.</title>
		<link>http://g05l21.net/2008/07/11/estructura-de-archivos-en-zend-para-varios-proyectos/</link>
		<comments>http://g05l21.net/2008/07/11/estructura-de-archivos-en-zend-para-varios-proyectos/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 09:14:17 +0000</pubDate>
		<dc:creator>GeL/T0</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[zendframework]]></category>

		<category><![CDATA[blog]]></category>

		<category><![CDATA[Bootstrap]]></category>

		<category><![CDATA[cPanel]]></category>

		<category><![CDATA[framework]]></category>

		<category><![CDATA[patrones de diseño]]></category>

		<category><![CDATA[SurforceCMS]]></category>

		<category><![CDATA[template]]></category>

		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://g05l21.net/?p=188</guid>
		<description><![CDATA[Bueno, en muchos sitios he visto estructuras de archivos ((por ejemplo la usada en el manual base de Zend, la que usa Enrique Place en SurforceCMS o la que comentaba Pablo en ZendHispano)) para el framework de Zend. La mayoría de las propuestas son derivadas del &#8220;manual base&#8221; y IMHO todos tienen un fallo, la [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, en muchos sitios he visto <strong>estructuras de archivos</strong> ((por ejemplo la usada en el <a title="PDF del manual básico" href="http://www.google.com/url?sa=t&amp;ct=res&amp;cd=3&amp;url=http%3A%2F%2Fajaxcode.net%2Fdescargas%2FDesarrollo_Aplicaciones_ZendFramework.pdf&amp;ei=skN3SOGfFZLIQeyvyeAH&amp;usg=AFQjCNF76wTdEj191R7s1GyL92Oe2z6VhA&amp;sig2=QJuGHQEgIUKUJxVHS4aKdw">manual base</a> de Zend, la que usa <a title="Blog Phpsenior" href="http://phpsenior.blogspot.com">Enrique Place</a> en <a title="Surforce &gt; Code Google" href="http://code.google.com/p/surforce-cms/">SurforceCMS</a> o la que comentaba Pablo en <a title="Zend Hispano &gt; Estructura básica para trabajar con Zend" href="http://zendhispano.blogspot.com/2008/06/estructura-basica-para-trabajar-con.html">ZendHispano</a>)) para el <a title="Categoría Zend Framework" rel="subsection" href="http://g05l21.net/category/zendframework/">framework de Zend</a>. La mayoría de las propuestas son derivadas del &#8220;manual base&#8221; y <acronym title="In My Humble Opinion">IMHO</acronym> todos tienen un fallo, la reutilización y la posibilidad de crear nuevos proyectos en el mismo servidor.</p>
<p>En la actual empresa en la que estoy trabajando, tenemos cerca de una treintena de proyectos activos, si para cada uno tuviesemos que seguir estas estructuras se volvería todo un caos. Aqui, en cambio, usamos una estructura inversa. Definiendo tan solo tres directorios de las que depende todo:</p>
<ul>
<li>Public</li>
<li>Private</li>
<li>Config</li>
</ul>
<p>Y cuando realizamos un nuevo desarrollo introducimos la abreviatura única en las tres carpetas. Por ejemplo si tuviesemos una nueva aplicación de comercio online ((Es tan solo un ejemplo.)) y decidimos titularla &#8220;compras&#8221; introduciríamos en los tres directorios el correspondiente subdirectorio</p>
<ul>
<li>Public.
<ul>
<li>compras</li>
</ul>
</li>
<li>Private.
<ul>
<li>compras</li>
</ul>
</li>
<li>Config.
<ul>
<li>compras</li>
</ul>
</li>
</ul>
<p>A simple vista puede parecer más lioso, pero una vez empiezas a usarlo ves las ventajas. Ya que todo tiene la misma estructura, todo es accesible de una forma sencilla, la administración no se hace tan incontrolable y sobretodo consigues <strong>separar la parte pública de la privada,</strong> fundamental en servidores cara a internet.</p>
<p>Otra de las adaptaciones que he realizado viene por necesidad. En el servidor donde está alojado mi dominio usan cPanel ((No se si en otros lados será igual)), y la forma de crear subdominios es creando los subdirectorios directamente en public_html ((Siendo accesibles como sudominio.dominio.com o dominio.com/subdomino))</p>
<p>Bueno, pues visto lo visto e aquí mi adaptación:</p>
<p><img style="float: left;" title="Estructura Zend Framework" src="http://storage.g05l21.net/estructura.jpg" alt="La estructura de archivos para el framework de Zend" width="238" height="716" />Como se puede ver el screenshot está sacado del EasyEclipse ((Copiando metodología de desarrollo de Enrique Place)), Y está basado en el desarrollo del <a title="Proyecto01 en code google." href="http://code.google.com/p/g05l21-project01/">Proyecto01</a> del que <a title="YSLL &gt; Zend, empezando el desarrollo" rel="chapter" href="http://g05l21.net/2008/06/13/zf-empezando-el-desarrollo/">ya hablamos</a>.</p>
<p>Para todo el proyecto usaremos el nombre &#8220;afm&#8221; que es un acrónimo del site.</p>
<ul>
<li><strong>config-&gt;afm:</strong> En este directorio añadimos la configuración base del site.</li>
<li><strong>library:</strong> En library añadimos el <strong>framework de Zend</strong> y el resto de librerías externas que podamos ir necesitando para el desarrollo ((Como por ejemplo HTML Purifier, Blueprint o cualquier otra aplicación externa))</li>
<li><strong>private-&gt;afm:</strong> En este subdirectorio incluimos toda la parte privada de la aplicación.
<ul>
<li><strong>admin </strong>y<strong> default:</strong> Lo primero que vemos son los módulos; en este caso solo &#8220;<em>admin</em>&#8221; y &#8220;<em>default</em>&#8221; ((Para mantener más la integridad de la estructura, el módulo &#8220;<em>default</em>&#8221; tambien lo incluyo como subdirectorio)). En cada módulo incluyo la &#8220;<em>subestructura base</em>&#8221;  típica:
<ul>
<li><strong>controllers: </strong>Aquí guardamos los &#8220;<em>controladores</em>&#8221; del módulo. Usando la forma de trabajar, <acronym title="Modelo Vista Controlador">MVC,</acronym> del <a title="Categoría Zend Framework" rel="subsection" href="http://g05l21.net/category/zendframework/">framework de Zend</a> podemos poner las vistas en el directorio &#8220;<em>views</em>&#8221; a la misma altura ((Aunque como todo en <a title="Categoría Zend Framework" rel="subsection" href="http://g05l21.net/category/zendframework/">ZF</a> siempre puedes configurarlo a tu gusto)) que &#8220;<em>controllers</em>&#8220;.</li>
<li><strong>views:</strong> Aquí incluimos los subdirectorios necesarios para toda la parte de la &#8220;<em>vista</em>&#8221; (&#8221;<em>filters</em>&#8220;, &#8220;<em>helpers</em>&#8220;, &#8220;<em>scripts</em>&#8220;, &#8220;l<em>ayouts</em>&#8220;,&#8230;).</li>
</ul>
</li>
<li><strong>models:</strong> Esta es la zona donde se guardan todos los &#8220;<em>modelos</em>&#8221; necesarios para el site.</li>
</ul>
</li>
<li><strong>public_html:</strong> De aquí colgará toda la parte publica de la web ((Siguiendo la estructura &#8220;impuesta&#8221; por el cPanel el directorio &#8220;<em>public_html/</em>&#8221; alberga el site principal y cualquier subdominio cuelga como subdirectorio de &#8220;<em>public_html/</em>&#8220;)). En este caso el subdominio se llamará, para mantener la integridad claro, &#8220;<em>afm</em>&#8220;.
<ul>
<li><strong>public_html-&gt;afm:</strong> La información aquí suele ser básica, el &#8220;<em>.htaccess</em>&#8221; que redirige toda la información a &#8220;<em>index.php</em>&#8221; y el propio &#8220;<em>index.php</em>&#8220;. Aqui también irán todas los posibles directorios con la información pública: estilos, imágenes, javascripts&#8230;</li>
</ul>
</li>
</ul>
<p>Como se puede ver la estructura es fácilmente adaptable para incorporar nuevos sites, para reutilizar posible código y para tener una librería única en la que incluir el <strong>framework</strong>, a parte, claro de la <strong>necesidad</strong> de <strong>separar la parte de privada de la parte pública</strong> del site.</p>
<p>Con respecto a la forma de trabajar de una estructura &#8220;<em>habitual</em>&#8221; la única diferencia radica en el &#8220;<em>index.php</em>&#8221; y en el &#8220;<em>Bootstrap.php</em>&#8221; que deben tener en cuenta el &#8220;<em>salto de un directorio más</em>&#8220;. Pero, como por ahora estoy puliendo mi &#8220;<em>Bootstrap.php</em>&#8221; ((Basandome en el usado por <a title="Página personal de Padraic Brady" href="http://blog.astrumfutura.com/authors/1-Padraic-Brady" target="_blank">Pádraic Brady</a> para el desarrollo de su <a title="Parte 10 del ejemplo de uso de ZF para desarrollar un blog." href="http://blog.astrumfutura.com/archives/376-Example-Zend-Framework-Blog-Application-Tutorial-Part-10-The-Public-Comment-System,-reCAPTCHA-and-Akismet-Filtering.html" target="_blank">Blog con Zend Framework</a>)) (el &#8220;<em>index.php</em>&#8221; ya tiene una versión &#8220;<em>estable</em>&#8220;) lo dejaré para el siguiente post&#8230;</p>
<p>Pero si tenéis alguna duda, o no os gusta, o tenéis alguna sugerencia, no lo dudes, más abajo tenéis los comentarios!</p>
]]></content:encoded>
			<wfw:commentRss>http://g05l21.net/2008/07/11/estructura-de-archivos-en-zend-para-varios-proyectos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Shakespear or Cervantes?</title>
		<link>http://g05l21.net/2008/06/26/shakespear-or-cervantes/</link>
		<comments>http://g05l21.net/2008/06/26/shakespear-or-cervantes/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 10:31:47 +0000</pubDate>
		<dc:creator>GeL/T0</dc:creator>
		
		<category><![CDATA[el mundo y yo]]></category>

		<category><![CDATA[english]]></category>

		<category><![CDATA[seo]]></category>

		<category><![CDATA[wordpress]]></category>

		<category><![CDATA[zendframework]]></category>

		<guid isPermaLink="false">http://g05l21.net/?p=171</guid>
		<description><![CDATA[Well, this entry will be different from others; Can you see why?
Recently, Binary Ant Punto Es, a blog from my Seo&#8217;s list, closed its doors. Really I should say, that he changed his write rhythm only. And now, Binary Ant Punto Es only has a few post monthly.
Why he &#8220;semi-closed&#8221; his blog? Simple, he tried [...]]]></description>
			<content:encoded><![CDATA[<p>Well, this entry will be different from others; Can you see why?</p>
<p>Recently, <a title="BinaryAnt Punto Es" href="http://www.binaryant.es/" target="_blank"><strong>Binary Ant <span><span>Punto</span></span> Es</strong></a>, a blog from my <span><span>Seo&#8217;s</span></span> list, closed its doors. Really I should say, that he changed his write rhythm only. And now, <a title="BinaryAnt Punto Es" href="http://www.binaryant.es/" target="_blank"><strong>Binary Ant <span><span>Punto</span></span> Es</strong></a> only has a few post monthly.</p>
<p>Why he <em>&#8220;semi-closed</em>&#8221; his blog? Simple, he tried to do more than he could do. He tried to do the next step from a blogger and become a English&#8217;s written blogger.</p>
<p>It&#8217;s a great idea, i think, but the problems become at first. One blog and two languages or one blog for each language? And then, born <a title="BinaryAnt Dot Com" href="http://www.binaryant.com/" target="_blank">Binary Ant Dot Com</a>. With two blogs to admin. A Twitter account for each language. Have to translate every post&#8230; So many work.</p>
<p>Finally, this was unsustainable, and the solution; stop to write in Spanish&#8230; Only English version available.</p>
<p>I think this is a better idea. This will help his English and put in another league, another <strong>higher</strong> league.</p>
<p>Now, I think. Why discard Spanish blog?? I accept that have a blog is quite complicated as to have two. Two twitter is <em>&#8220;stupid</em>&#8221; (without offending), but why do I need two blogs?</p>
<p>As you can see, my blog will be described as a &#8220;<em>great black box</em>&#8221; in which I keep all kind of things, personal, design, <span><span>seo</span></span>, programming&#8230; Why don&#8217;t add English posts?? Why can&#8217;t coexist both languages?</p>
<p>Yes, I know that is better for SEO separate niche information in different sites. But I think that, for this, now exists the categories and tags. If a person only want to see <span><span>Zend</span></span> information and arrive at this blog, he only has to click at the <a title="ZendFramework Category" href="http://g05l21.net/category/zendframework/" target="_self"><span><span>Zend</span></span> category</a> (or <span>subscribe</span> to their <a title="ZendFramework Category Feed" href="http://g05l21.net/category/zendframework/feed" target="_self">feed</a>), and then he only see <span><span>Zend</span></span> information. And, in the other side, there are a person who enters in my blog.</p>
<p>IMHO, if you collect all the information in one place, you can congregate a great number of visits and  having located the site for several keywords.</p>
<p>And, why will not be equal to the languages? If you can <span>configure</span> your blog for use with two languages (At this time, I don&#8217;t know any <span>plugin</span> that could do this). Why don&#8217;t you have a multilingual blog??</p>
<p>Well, In honor to <strong><a title="BinaryAnt Dot Com" href="http://www.binaryant.com/" target="_blank">Binary Ant Dot Com</a></strong>, I will try to do this&#8230; I will try to do a <strong>multilingual blog</strong>&#8230;</p>
<p>For last, what do you think about this? What would you do??</p>
]]></content:encoded>
			<wfw:commentRss>http://g05l21.net/2008/06/26/shakespear-or-cervantes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wordpress no me gusta.</title>
		<link>http://g05l21.net/2008/06/16/wordpress-no-me-gusta/</link>
		<comments>http://g05l21.net/2008/06/16/wordpress-no-me-gusta/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 11:27:17 +0000</pubDate>
		<dc:creator>GeL/T0</dc:creator>
		
		<category><![CDATA[wordpress]]></category>

		<category><![CDATA[zendframework]]></category>

		<guid isPermaLink="false">http://g05l21.net/?p=149</guid>
		<description><![CDATA[Definitivamente, creo que wordpress no me gusta&#8230;
Lo siento, pero como programador, Wordpress me parece malo. Muy malo. Pero lo peor de todo es que tiene cosas excesivamente buenas. Muy, muy buenas.
A día de hoy, no entiendo como WP se ha hecho con el mercado mundial de sistemas de blogs. Puedo entender que se desarrollase en [...]]]></description>
			<content:encoded><![CDATA[<p>Definitivamente, creo que <strong><a title="Categoría Wordpress" href="http://g05l21.net/category/wordpress" target="_self">wordpress</a> no me gusta</strong>&#8230;</p>
<p>Lo siento, pero como programador, <a title="Categoría Wordpress" href="http://g05l21.net/category/wordpress" target="_self">Wordpress</a> me parece malo. Muy malo. Pero lo peor de todo es que tiene cosas excesivamente buenas. Muy, muy buenas.</p>
<p>A día de hoy, no entiendo como <a title="Categoría Wordpress" href="http://g05l21.net/category/wordpress" target="_self">WP</a> se ha hecho con el mercado mundial de sistemas de blogs. Puedo entender que se desarrollase en principio de forma procedural, pero un blog adaptado a PHP5 nunca debería seguir siendolo!.</p>
<p><strong> Señores PROCEDURAL a muerto, YA SOLO EXISTE OOP.</strong></p>
<p>Una vez decidí dar el paso y congelar el desarrollo de <a title="mi antiguo blog" href="http://old.g05l21.net/" target="_blank">mi blog</a> para usar wordpres, una vez instalado , intento sacarle el potencial, adaptar algunas cositas que no me gustan, ver el asunto de los templates&#8230; Y me doy de bruces, una y otra vez, con <strong>errores de programación básicos</strong>; Cosas tan simples como el de incorporar <em>&#8220;echos&#8221;</em> en las funciones. Funciones demasiado estáticas y poco modulares. Vueltas y más vueltas en el diseño. Estructuras obsoletas (desde cuando es accesible via web el kernel de una aplicación?).</p>
<p>Pero claro, todo no es malo, <strong>ni mucho menos!</strong></p>
<p>Que cosas buenas tiene, que por algo decidí quitar <a title="mi antiguo blog" href="http://old.g05l21.net/" target="_blank">mi blog</a> y traer este al mundo. Es cierto que la parte de administración es mucho más que completa, cómoda e intuitiva. Que los plugins dan mucho juego y <strong>Akismet </strong>principalmente mucho más (que <a title="mi antiguo blog" href="http://old.g05l21.net/" target="_blank">mi blog</a> es un nido de spam!).</p>
<p>Pero no me gusta. Es cómodo escribir aquí, y por eso seguirá, durante un tiempo, siendo mi blog. Pero no me gusta. Trataré de acabar el template que estoy desarrollando para que se parezca más a lo que ya tenía. Pero no me gusta.</p>
<p>Y como lo fácil es quejarse y seguir, y a mi no me gusta lo fácil. Prometo traer <a title="mi antiguo blog" href="http://old.g05l21.net/" target="_blank">mi blog</a> de nuevo, hacerle un refactoring completo para adaptarlo al mundo de <a title="Categoría ZendFramework" href="http://g05l21.net/category/zendframework/" target="_self"><strong>Zend Framework</strong></a>, intentaré copiar (si, copiar, que para algo es <strong>Software Libre</strong>) lo que más me gusta de <a title="Categoría Wordpress" href="http://g05l21.net/category/wordpress" target="_self">Wordpress</a>, vamos, toda la parte de administración.</p>
<p>Y si esto no fuese poco, intentaré lo más complicado&#8230; Y ya que se de diseño de patrones, porque lo dice un título que todavía no tengo, pues intentaré crear un patrón llamado <strong>Wrapper</strong>, para poder adoptar bajo el blog todos los plugins creados para WP (Si es que algún día llego a terminar el desarrollo del blog!).</p>
<p>Así que ahora mismo en mente tengo una larga serie de desarrollos:</p>
<ul>
<li>Desarrollar tres minisites (aunque por ahora solo uno es seguro que haga) donde aprenda el uso básico de <a title="Categoría ZendFramework" href="http://g05l21.net/category/zendframework/" target="_self">ZF</a>. Sencillos y sin muchas complicaciones.</li>
<li>Desarrollo de dos (uno de ellos será principalmente refactoring), mayor ideas propias bastante suculentas&#8230; Espero que me saquen de pobre! :-p</li>
<li>Desarrollo de tres microsites de shopping&#8230; Espero que me den más dinerito todavía!!</li>
<li>Refactoring y desarrollo del blog</li>
<li>Y como todo esto es poco, pues ya me apunte al mundo de <a title="Página principal de Surforce" href="http://www.surforce.com/" target="_blank">SURFORCE</a>, con su <a title="Web en googlecode de surforce-cms" href="http://surforce-cms.googlecode.com/" target="_blank">surforce-cms</a>.</li>
</ul>
<p>Alguien da más??</p>
<p>PS: Y sip, iré contando por aquí todos los desarrollos paso a paso.</p>
]]></content:encoded>
			<wfw:commentRss>http://g05l21.net/2008/06/16/wordpress-no-me-gusta/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ZF - Empezando el desarrollo.</title>
		<link>http://g05l21.net/2008/06/13/zf-empezando-el-desarrollo/</link>
		<comments>http://g05l21.net/2008/06/13/zf-empezando-el-desarrollo/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 18:39:13 +0000</pubDate>
		<dc:creator>GeL/T0</dc:creator>
		
		<category><![CDATA[zendframework]]></category>

		<guid isPermaLink="false">http://g05l21.net/?p=141</guid>
		<description><![CDATA[Bueno, después de leer y leer y leer y leer un poco más&#8230; Creo que ya más o menos me entero del funcionamiento del Zend Framework. El mayor problema de este framework es su gran potencia, versatibilidad y modulabilidad., que me lian un poco, claro está que a la par que me lian dan un [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, después de leer y leer y leer y leer un poco más&#8230; Creo que ya más o menos me entero del funcionamiento del <a title="Categoría Zend Framework" href="http://g05l21.net/category/zendframework/" target="_self">Zend Framework</a>. El mayor problema de este framework es su gran potencia, versatibilidad y modulabilidad., que me lian un poco, claro está que a la par que me lian dan un potencial de desarrollo y de rehutilización de código bestial!</p>
<p><strong>Quieres empezar con él, o saber más de él.</strong></p>
<p>Bueno, tenía intención de contar un poco de <a title="Categoría Zend Framework" href="http://g05l21.net/category/zendframework/" target="_self">ZF</a>, pero</p>
<ul>
<li>No tengo conocimientos suficientes para hacer algo que realmente valga la pena.</li>
<li>Hay bastante buena información al respecto en español<a title="Resource #1" href="#1" target="_self">[1]</a>. Aunque, eso si, más allá de contarte que es<a title="Categoría Zend Framework" href="http://g05l21.net/category/zendframework/" target="_self"> ZF</a> poca información buena encontrarás en la lengua de cervantes, todo en un perfecto ingles!</li>
</ul>
<p>Así que directamente pasaré a la parte b), crear el primer site:</p>
<p><strong>PROYECTO01 - AFM</strong></p>
<p><strong>PLANIFICACION</strong></p>
<p>El site en principio va a ser casi_estático, ya que supongo que una vez lo entrege prácticamente no se usará ;-). Aun así, quiero desarrollar algo que sea bastante modular y fácil de ampliar. La idea principal es un site donde las subsecciones sean ampliables y la información de esta editable.</p>
<p>La idea es crear el tipico frontal con secciones y subsecciones (solo dos niveles, ya que no creo que &#8220;el cliente&#8221; vaya a necesitar más). La forma más fácil de desarrollarlo será crear una lista de secciones y una lista de subsecciones. Y para optimizarlo, las secciones no contendrán información, sino que serán las subsecciones las encargadas de contener toda la información. Tendremos la opción de marcar una subseccion como &#8220;default&#8221;, siendo la marcada la que se muestre por defecto en su respectiva seccion.</p>
<p>A priori necesitaría una lógica de navegación, una administración de usuarios y roles, y una base de datos que respalde toda la información.</p>
<p>La lógica de navegación es simple:</p>
<ul>
<li> El portal inicial tendrá un listado de secciones</li>
<li>Al entrar en cada sección se motrará la subseccion activa.</li>
<li>En caso de que haya más de una subsección se desplegará el listado de subsecciones en el navegador.</li>
</ul>
<p>Nada especialmente difícil. Como ya he dicho en principio no se necesitarían más subniveles en la aplicación, facilitando bastante el desarrollo al no tener que hacer esto de forma dinámica.</p>
<p>Los roles definen el alcance de cada usuario. Al poder, los usuarios, introducir la información en la aplicación, esta deberá contar con una sería de roles. En principio solo usaré tres roles básicos:</p>
<ul>
<li>guest/default: El rol por defecto del visitante. Podrá navegar por el site, pero nunca podrá editar la información.</li>
<li>writer: Solo podrá hacer modificaciones en las secciones ya creadas, vamos un editor.</li>
<li>admin: Podrá crear nuevas secciones, además de escribir en ellas.</li>
</ul>
<p>Una duda que tengo es el alta de usuarios nuevos. En caso de poder hacerse, solo sería admin quien podría ya que es una aplicación privada. Pero no se hasta que punto será útil crearlo, teniendo en cuenta el poco uso que se le dará al alta/baja de usuarios. Dependerá sobretodo de la (mi) facilidad de desarrollo con <a title="Categoría Zend Framework" href="http://g05l21.net/category/zendframework/" target="_self">ZF</a></p>
<p>Lógicamente la parte de administración tendrá su própia lógica de navegación:</p>
<ul>
<li>Logeo</li>
<li>Modificación de la información de las subsecciones (recordamos que las secciones, por si mismas, no contendrán la información).</li>
<li>Gestión (añadir, borrar) de Secciones y subsecciones.</li>
<li>Gestión (añadir, borrar) de usuarios.</li>
<li>Deslogeo</li>
</ul>
<p>Como el portal es bastante pequeño y simple, toda la estructura de la base de datos es bastante sencilla. Contendrá la información relativa a la navegación y la relativa a la administración de usarios y roles.</p>
<p>Para la navegación se crearán dos tablas:</p>
<ul>
<li>afm_section: Que tan solo contendrá el nombre de la sección, &#8220;section_name&#8221; y el id correspondiente &#8220;section_id&#8221;</li>
<li>afm_subsection: Esta tabla contendrá toda la chicha del portal y tan solo contará con 6 campos.<br />
&#8220;subsection_id&#8221;, &#8220;subsection_name&#8221;, &#8220;subsection_content&#8221;, &#8220;subsection_hasDefault&#8221;, &#8220;subsection_section_id&#8221; y &#8220;subsection_modify&#8221; que contendrá el user y la fecha de la última modificación.</li>
</ul>
<p>Y la parte de lógin tendrá sus dos tablas correspondientes:</p>
<ul>
<li>afm_roles: Que contendrá la información relativa a los roles de acceso (luego veremos mejor como juntar esto con Zend_ACL. Contendrá tres campos &#8220;roles_id&#8221;, &#8220;roles_name&#8221;, &#8220;roles_roles_id&#8221;. En &#8220;roles_roles_id&#8221; indicaremos los roles que puede contener el rol indicado. Por ejemplo todo &#8220;Admin&#8221; será &#8220;Guest&#8221; y &#8220;Writer&#8221;.</li>
<li>afm_users: Los usuarios no necesitarán excesiva información; &#8220;user_id&#8221;, &#8220;user_name&#8221;, &#8220;user_realname&#8221;, &#8220;user_password&#8221;, &#8220;user_mail&#8221;, &#8220;user_roles_id&#8221;.</li>
</ul>
<p>Y con esto y un bizcocho, el planteamiento base ya está realizado! Está claro que hay más cosas en mente. Como el posible diseño, opciones especiales de navegación, posibles extensiones y demás. Pero creo que por ahora, ni es necesario explicarlo todo detalladamente, ni me interesa, ni sabría como escribirlo. A parte de que al hacerlo así, siempre podré extenderlo en mayor o menor media.</p>
<p><strong>PRIMER PASO: CODE.GOOGLE</strong></p>
<p>Ahora que ya tenemos el planteamiento, vamos a crear un nuevo proyecto en <a title="Code Google" href="http://code.google.com/" target="_blank">code.google</a>. Esta nueva implementación de <a title="Google" href="http://google.com/" target="_blank">google</a> la conocí hace relativamente poco (gracias a que es ahí donde se aloja <a title="CodeGoogle Surforce-CMS" href="http://code.google.com/p/surforce-cms/" target="_blank">Surfoce-CMS</a>). Poco a poco iré explotando más estas nuevas opciones de google, pero por ahora simplemente lo uso para guardar mi repositorio del proyecto. Que pena que mi hosting no acepte <a title="Enlace a Subversion en la wikipedia" href="http://es.wikipedia.org/wiki/SVN" target="_blank">SVN</a>.</p>
<p>La url del repositorio es: <a title="CodeGoogle g05l21 project01" href="http://code.google.com/p/g05l21-project01/" target="_blank">http://code.google.com/p/g05l21-project01/</a></p>
<p>Por ahora no es que le haya metido mucha información o texto, pero vamos, ni siquiera lo he hecho aquí en el blog&#8230;</p>
<p>Ya iré ampliando la información allí y poniendo más cositas por aquí!</p>
<p>[1]: Y un claro ejemplo está en <a title="ZF: Estado de Arte" href="http://bolsadeideas.cl/zsamer/" target="_blank">ZF: Estado del arte</a>. En <a title="ZF: Estado de Arte - Abril" href="http://bolsadeideas.cl/zsamer/2008/04/" target="_blank">Abril del 2008</a> sacó una buena colección de post relativos a ZF.</p>
]]></content:encoded>
			<wfw:commentRss>http://g05l21.net/2008/06/13/zf-empezando-el-desarrollo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Primer paso Zend Framerwork: Recoger información</title>
		<link>http://g05l21.net/2008/06/07/primer-paso-zend-framerwork-recoger-informacion/</link>
		<comments>http://g05l21.net/2008/06/07/primer-paso-zend-framerwork-recoger-informacion/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 10:16:46 +0000</pubDate>
		<dc:creator>GeL/T0</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[zendframework]]></category>

		<guid isPermaLink="false">http://g05l21.net/?p=137</guid>
		<description><![CDATA[Mi primer desarrollo en ZendFramework quiero que sea algo muy básico, poco a poco iré dándole más potencia y versatilidad hasta llegar a tener un desarrollo que poder entregar. Algo que la gente pueda usar y que, espero, así sea. Hace tiempo alguien me pidió ayuda en esto de las güebs y el internete ese&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>Mi primer desarrollo en <a title="Categoría ZendFramework" href="http://g05l21.net/category/zendframework/" target="_self">ZendFramework</a> quiero que sea algo muy básico, poco a poco iré dándole más potencia y versatilidad hasta llegar a tener un desarrollo que poder entregar. Algo que la gente pueda usar y que, espero, así sea. Hace tiempo alguien me pidió ayuda en esto de las <em>güebs </em>y el <em>internete </em>ese&#8230; Así que espero que esto pueda acabar valiéndole.</p>
<p>Solo una cosa. Intentaré hacer tres desarrollos distintos, para tres personas que en un caso me lo pidieron, en otro se lo ofrecí yo y en el último no tienen ni idea de que su sobrino “sea capaz de hacer eso en internes”.</p>
<p>Espero que alguno de los tres acabe usando los desarrollos.</p>
<p>Bueno, para el desarrollo inicial, para empezar a zambullirnos en <a title="Categoría ZendFramework" href="http://g05l21.net/category/zendframework/" target="_self">ZF</a>. Lo primero es recabar información. Así que aquí una ristra de enlaces para poder empezar (y para no olvidarlos yo)</p>
<p><a href="http://framework.zend.com/">http://framework.zend.com/</a> donde todo da comienzo. Sobretodo te será útil la zona de <a href="http://framework.zend.com/manual/en/">documentación</a> y <a href="http://framework.zend.com/apidoc/core/">API</a>.</p>
<p><a href="http://phpsenior.blogspot.com/">http://phpsenior.blogspot.com/</a><span> </span><span> </span>El blog técnico de Enrique Place. de obligada referencia para ver de cerca el mundo del desarrollador senior, de Php5, de patrones de diseño, de desarrollos en zend…</p>
<p><a href="http://blog.astrumfutura.com/">http://blog.astrumfutura.com/</a><span> </span>Blog donde te enseñan a desarrollar un blog en <a title="Categoría ZendFramework" href="http://g05l21.net/category/zendframework/" target="_self">ZF</a> desde 0, muy bueno, pero que muy bueno.</p>
<p><a href="http://www.zfforum.es/">http://www.zfforum.es/</a> Los foros de <a title="Categoría ZendFramework" href="http://g05l21.net/category/zendframework/" target="_self">ZF</a> en lengua castellana. La verdad es que no tienen mucha actividad todavía, así que poco podrás ver en ellos. Pero siempre podrás preguntar.</p>
<p><a href="http://www.forosdelweb.com/">http://www.forosdelweb.com/</a> <span> </span>El foro por excelencia. Donde encontrarás de todo lo relacionado con el mundillo del desarrollo web. Pero sobretodo mucha información sobre <a href="http://www.forosdelweb.com/f68/">PHP5 orientado a objetos</a>. A parte de poder encontrarte a un omnipresente enriqueplace.</p>
<p>Y otros buenos blogs con ejemplos y mucha info:</p>
<p><a href="http://bolsadeideas.cl/zsamer/">http://bolsadeideas.cl/zsamer/</a></p>
<p><a href="http://zendhispano.blogspot.com/">http://zendhispano.blogspot.com/</a></p>
<p>Con todo esto, más algún que otro manualito que me he bajado y leido… Y que creo que no merece ser nombrado en exceso, jeje, empezaremos con <a title="Categoría ZendFramework" href="http://g05l21.net/category/zendframework/" target="_self">ZF</a></p>
<p>PS: Está claro que si alguien quiere, estaría encantado de escuchar nuevos desarrollos y llegar a acuerdos para realizarlos <img src='http://g05l21.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://g05l21.net/2008/06/07/primer-paso-zend-framerwork-recoger-informacion/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Empezando con Zend Framework</title>
		<link>http://g05l21.net/2008/06/05/empezando-con-zend-framework/</link>
		<comments>http://g05l21.net/2008/06/05/empezando-con-zend-framework/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 10:47:53 +0000</pubDate>
		<dc:creator>GeL/T0</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[zendframework]]></category>

		<guid isPermaLink="false">http://g05l21.net/?p=136</guid>
		<description><![CDATA[Bueno, después de mucho tiempo picando código en Php4, sin llegar a tomar en serio ningún framework, incluso estuve mirando en su momento el cakePhp pero no llegó a convencerme. Después de haber creado desde cero un blog, aplicaciones varias e incluso un CRM muy básico. Después de pasarme todo el día en el trabajo [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, después de mucho tiempo picando código en Php4, sin llegar a tomar en serio ningún framework, incluso estuve mirando en su momento el <strong>cakePhp</strong> pero no llegó a convencerme. Después de haber creado desde cero un blog, aplicaciones varias e incluso un CRM muy básico. Después de pasarme todo el día en el trabajo con una PAF de framework. Después de todo ese tiempo, y ahora que encima ya está aquí el PHP6, he decido dar el salto a mi querido <strong><a title="Categoría PHP" href="http://g05l21.net/category/php" target="_self">PHP5</a></strong></p>
<p>Y encima, hacerlo de la mano de los más grandes en esto de PHP (que para algo son los padres del cotarro) los señores de ZEND y su framework. <a title="Categoría ZendFramework" href="http://g05l21.net/category/zendframework" target="_self"><strong >ZendFramework</strong>.</a></p>
<p>Por qué <a title="Categoría ZendFramework" href="http://g05l21.net/category/zendframework" target="_self">ZendFramework</a> y no otros? Bueno, en principio, si lo comparamos con <a title="Symfony" href="http://www.symfony-project.org/" target="_blank">Symfony</a> creo que <a title="Categoría ZendFramework" href="http://g05l21.net/category/zendframework" target="_self"><strong>ZF</strong></a> sale un poco en desventaja, digamos que tiene pequeñas deficiencias que otros ya han solventado hace tiempo.</p>
<p>Pero, también es cierto, que mientras otros juegan con el tiempo pasado a favor, <a title="Categoría ZendFramework" href="http://g05l21.net/category/zendframework" target="_self">ZF</a> juega con el tiempo futuro a su favor, ya que actualmente el desarrollo es muy grande y el respaldo por parte de Zend lo hace no un framework más…</strong></p>
<p >Bueno, y otra de las grandes razones es por mimetismo. Se que mucha gente usa Symfony, otros usan <a title="Smarty" href="http://www.smarty.net/" target="_blank">Smarty</a> o <a title="CakePhp" href="http://www.cakephp.org/" target="_blank">CakePhp</a>… Pero a la persona que más me interesaría mimetizarme. El blog del que cada día más se puede aprender es el de <a  href="http://phpsenior.blogspot.com/">PHPSenior</a>.</p>
<p><a title="Enrique Place Profile" href="http://www.blogger.com/profile/15452998349449419148" target="_blank">Enrique Place</a>, uruguayo con un currículo a sus espaldas impresionante, está completamente decidido por <a title="Categoría ZendFramework" href="http://g05l21.net/category/zendframework" target="_self">ZF</a>, y así lo demuestra realizando un gran <a title="SurforceCMS homepage" href="http://code.google.com/p/surforce-cms/" target="_blank">CMS</a> basado solo en clases, pensado para <a title="Categoría PHP" href="http://g05l21.net/category/php" target="_self">PHP5</a> y desarrollado con <a title="Categoría PHP" href="http://g05l21.net/category/zendframework" target="_self">ZendFramework</a>. <a title="SurforceCMS homepage" href="http://code.google.com/p/surforce-cms/" target="_blank">Surforce CMS</a></p>
<p >Está todavía en un estado todavía muy básico (recién sacada la versión 1.0?), y cualquier mano que se le pueda echar siempre será bienvenida, desde testing hasta desarollo y corrección de errores. Si le quieres ayudar: <a title="Colaboraciones en SurforceCMS" href="http://phpsenior.blogspot.com/2008/05/surforce-cms-solicitud-de-colaboracin.html" target="_blank">http://phpsenior.blogspot.com/2008/05/surforce-cms-solicitud-de-colaboracin.html</a></p>
<p >Así que aquí estoy. Empezando con un lenguaje “nuevo” y con un framework nuevo para mi.</p>
<p >Y como bien suponéis aquí iré poniendo todo lo que vaya desarrollando y como lo voy a ir haciendo. Por si alguno quiere empezar a desarrollar en <a title="Categoría PHP" href="http://g05l21.net/category/php" target="_self">PHP5</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://g05l21.net/2008/06/05/empezando-con-zend-framework/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
