<?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>HiperGalaxia &#187; Search Results  &#187;  drupal</title>
	<atom:link href="http://www.hipergalaxia.org/blog/search/drupal/feed/rss2/" rel="self" type="application/rss+xml" />
	<link>http://www.hipergalaxia.org/blog</link>
	<description>El conocimiento, la frontera final.</description>
	<lastBuildDate>Thu, 09 Feb 2012 07:23:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Degradar PHP 5.3 a 5.2 en GNU/Linux Ubuntu 10.04</title>
		<link>http://blog.jorgeivanmeza.com/2010/07/degradar-php-5-3-a-5-2-en-gnulinux-ubuntu-10-04/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=degradar-php-5-3-a-5-2-en-gnulinux-ubuntu-10-04</link>
		<comments>http://blog.jorgeivanmeza.com/2010/07/degradar-php-5-3-a-5-2-en-gnulinux-ubuntu-10-04/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=degradar-php-5-3-a-5-2-en-gnulinux-ubuntu-10-04#comments</comments>
		<pubDate>Wed, 14 Jul 2010 02:56:47 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[5.2]]></category>
		<category><![CDATA[5.3]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[downgrade]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=4951</guid>
		<description><![CDATA[Introducción. La versión mas reciente de Ubuntu, Lucid Lynx (10.04), incluye en sus repositorios por defecto la versión 5.3 de PHP la cual trae consigo una serie de modificaciones considerables que hacen que muchas de las aplicaciones requieran algún tipo de modificaciones para funcionar correctamente. Mientras se realizan estas modificaciones para actualizar las aplicaciones sea [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>La versión mas reciente de Ubuntu, Lucid Lynx (10.04), incluye en sus repositorios por defecto la versión 5.3 de PHP la cual trae consigo una serie de <a href="http://php.net/manual/es/migration53.php" >modificaciones considerables</a> que hacen que muchas de las aplicaciones requieran algún tipo de modificaciones para funcionar correctamente.</p>
<p>Mientras se realizan estas modificaciones para actualizar las aplicaciones sea hace necesario continuar utilizando las aplicaciones existentes y para esto se debe reemplazar la versión instalada de PHP por la versión mas reciente de la serie anterior (5.2.x).  La migración no es trivial debido a que los paquetes vienen directamente de los repositorios, sin embargo si se utiliza el <em>script</em> provisto opr <a href="http://mrkandy.wordpress.com/" >KAndy</a> el proceso se simplifica enormemente.</p>
<h2>Instalación de PHP.</h2>
<p>Si aún no cuenta con PHP instalado en el equipo puede realizar una instalación básica mediante la ejecución de la siguiente instrucción.  Instale los demás paquetes que considere necesarios.</p>
<p><span style="font-family: courier new,courier;">$ sudo aptitude install apache2 php5 php5-cli php5-mysql</span></p>
<p>En este punto el equipo tendrá instalado PHP 5.3 y es el momento de degradarlo a su versión anterior.</p>
<p><span style="font-family: courier new,courier;">$ php -v</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">PHP <strong>5.3.2-1ubuntu4.2</strong> with Suhosin-Patch (cli) (built: May 13 2010 20:03:45)<br />
Copyright (c) 1997-2009 The PHP Group<br />
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies</span></p>
<h2>Degradar PHP.</h2>
<p>Tomar nota de los paquetes relacionados con PHP que se encuentran actualmente instalados.</p>
<p><span style="font-family: courier new,courier;">$ php_installed=`dpkg -l | grep  php| awk  &#8216;{print $2}&#8217; |tr &#8220;\n&#8221; &#8221; &#8220;`</span></p>
<p>Descargar el <em>script</em> de KAndy de la siguiente ubicación y almacenarlo con el nombre de <a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/07/downgradePHP.txt" ><span style="font-family: courier new,courier;">downgradePHP.sh</span></a>.</p>
<p style="padding-left: 30px;"><a href="http://mrkandy.wordpress.com/2010/04/16/install-php-5-2-x-in-ubuntu-10-04-lucid/" >http://mrkandy.wordpress.com/2010/04/16/install-php-5-2-x-in-ubuntu-10-04-lucid/</a></p>
<p>Ejecute el <em>script</em> en la máquina que se desea degradar.</p>
<p><span style="font-family: courier new,courier;">$ chmod +x downgradePHP.sh</span></p>
<p><span style="font-family: courier new,courier;">$ ./downgradePHP.sh</span></p>
<p>Recuperar los demás paquetes instalados.</p>
<p><span style="font-family: courier new,courier;">$ sudo apt-get install $php_installed</span></p>
<h2>Verificar la nueva versión de PHP.</h2>
<p><span style="font-family: courier new,courier;">$ php -v</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">PHP <strong>5.2.10-2ubuntu6</strong> with Suhosin-Patch 0.9.7 (cli) (built: Oct 23 2009 16:28:03)<br />
Copyright (c) 1997-2009 The PHP Group<br />
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies</span></p>
<h2>Enlaces.</h2>
<ul>
<li>Install (downgrade) php 5.2.x in Ubuntu 10.04 Lucid.<br />
<a href="http://mrkandy.wordpress.com/2010/04/16/install-php-5-2-x-in-ubuntu-10-04-lucid/" >http://mrkandy.wordpress.com/2010/04/16/install-php-5-2-x-in-ubuntu-10-04-lucid/</a></li>
<li>Ubuntu 10.04 and Drupal.<br />
<a href="http://civicactions.com/blog/2010/may/26/ubuntu_1004_and_drupal" >http://civicactions.com/blog/2010/may/26/ubuntu_1004_and_drupal</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2010/07/degradar-php-5-3-a-5-2-en-gnulinux-ubuntu-10-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Iniciar Linux Ubuntu 9.10 en modo sólo texto</title>
		<link>http://blog.jorgeivanmeza.com/2010/01/iniciar-linux-ubuntu-9-10-en-modo-solo-texto/</link>
		<comments>http://blog.jorgeivanmeza.com/2010/01/iniciar-linux-ubuntu-9-10-en-modo-solo-texto/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 06:58:04 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[gdm]]></category>
		<category><![CDATA[GRUB]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Upstart]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=2305</guid>
		<description><![CDATA[Introducción.
Después de instalar los paquetes del escritorio, el Ubuntu Server 9.10 quedó iniciando el login gráfico (gdm) automáticamente.  Se me ocurrió que sería interesante probar cuanto se demoraba en iniciar el sistema operativo hasta la consola sólo texto (nivel de ejecución 3 en la mayoría de Linux).  Para hacer esto sólo era necesario editar el [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>Después de <a href="http://blog.jorgeivanmeza.com/2009/12/como-instalar-los-paquetes-del-escritorio-en-linux-ubuntu-server-9-10/" >instalar los paquetes del escritorio</a>, el Ubuntu Server 9.10 quedó iniciando el <em>login</em> gráfico (<span style="font-family: courier new,courier;">gdm</span>) automáticamente.  Se me ocurrió que sería interesante probar cuanto se demoraba en iniciar el sistema operativo hasta la consola sólo texto (<a href="http://en.wikipedia.org/wiki/Runlevel" >nivel de ejecución</a> 3 en la <em>mayoría</em> de Linux).  Para hacer esto sólo <em>era</em> necesario editar el archivo <span style="font-family: courier new,courier;">/etc/inittab</span> y modificar la siguiente línea, pasando el nivel predeterminado de ejecución, del 5 al 3.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">id:<span style="color: #ff0000;"><strong>3</strong></span>:initdefault:</span></p>
<p>Pues bien, parece que muchas cosas han cambiado desde esto, Ubuntu 9.10 ya no tiene <span style="font-family: courier new,courier;">/etc/inittab</span>.  Desde la versión 6.10 se está migrando paulatinamente a un nuevo esquema llamado <a href="http://upstart.ubuntu.com/" >Upstart</a> donde los <em>scripts</em> de ejecución ya no vivirán en <span style="font-family: courier new,courier;">/etc/init.d</span> como estabamos acostumbrados sino que ahora son archivos de configuración que se almacenan en <span style="font-family: courier new,courier;">/etc/init</span> y que son interpretados con el comando <span style="font-family: courier new,courier;">service</span> o <span style="font-family: courier new,courier;">initctl</span>.</p>
<p>El nivel de ejecución predeterminado de Ubuntu se encuentra ahora definido por la variable <span style="font-family: courier new,courier;">DEFAULT_RUNLEVEL</span> en <span style="font-family: courier new,courier;">/etc/init/rc-sysinit.conf</span> y que tiene el valor por defecto de 2.</p>
<p>Otra cosa interesante que noté fue que Ubuntu 9.10 tampoco incluye un GRUB como el que conocía hasta ahora (versión 1) sino que trae una nueva versión (2, bueno 1.97~beta4 en realidad) y por ende presenta una distribución y ubicación de archivos diferente.</p>
<p>Basado en esta información y en las pruebas que realicé encontré dos soluciones para esta actividad, una basada en modificar el GRUB (mi preferida) y otra en modificar el nivel de ejecución en el que se activa el GDM.  Ambas aproximaciones parecen funcionar adecuadamente.</p>
<h2>Solución #1: Modificación del GRUB.</h2>
<p>Básicamente lo necesario es indicarle a Linux que se desea un inicio en modo texto y esto se hace especificando el parámetro <span style="font-family: courier new,courier;">text</span> en la lista de parámetros por defecto del GRUB.</p>
<p><span style="font-family: courier new,courier;">$ sudo vi /etc/default/grub</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">GRUB_CMDLINE_LINUX_DEFAULT=&#8221;quiet splash <span style="color: #ff0000;"><strong>text</strong></span>&#8220;</span></p>
<p>Se actualiza la configuración del GRUB para generar un nuevo <span style="font-family: courier new,courier;">/boot/grub/grub.cfg</span>.</p>
<p><span style="font-family: courier new,courier;">$ sudo update-grub</span></p>
<h2>Solución #2: Modificar el nivel de ejecución del GDM.</h2>
<p>El nivel de ejecución por defecto de Ubuntu es el 2 así que el procedimiento se basa en indicarle al Upstart que ejecute al GDM en un nivel diferente a este: 3.</p>
<p><span style="font-family: courier new,courier;">$ sudo vi /etc/init/gdm.conf</span></p>
<p>Reemplace la línea de la sección <span style="font-family: courier new,courier;">start on</span> mostradas a continuación.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">start on (filesystem</span></p>
<p>Por las siguientes.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">start on (<span style="color: #ff0000;"><strong>runlevel [3]</strong></span><br />
and filesystem</span></p>
<p>En ambos casos, reinicie el sistema operativo para verificar que los cambios surtan el efecto deseado.</p>
<h2>Iniciar el manejador de ventanas.</h2>
<p>Si tuvo éxito llevando a cabo la solución elegida, cuando inicie el sistema operativo lo dejará siempre en la consola basada en texto.  Si en algún momento desea iniciar el ambiente gráfico, puede hacerlo de las siguientes formas.</p>
<h3>Para el usuario actual.</h3>
<p><span style="font-family: courier new,courier;">$ startx</span></p>
<h3>Iniciar el GDM (temporalmente).</h3>
<p><span style="font-family: courier new,courier;">$ sudo service gdm start</span></p>
<h2>Enlaces.</h2>
<ul>
<li>Upstart - event-based init daemon.<br />
<a href="http://upstart.ubuntu.com/" >http://upstart.ubuntu.com/</a></li>
<li>Modificando Upstart para elegir un nivel.<br />
<a href="http://www.xinug.org/drupal/upstart-runlevel-boot-time" >http://www.xinug.org/drupal/upstart-runlevel-boot-time</a></li>
<li><em>Runlevel on Wikipedia.</em><br />
<a href="http://en.wikipedia.org/wiki/Runlevel" >http://en.wikipedia.org/wiki/Runlevel</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2010/01/iniciar-linux-ubuntu-9-10-en-modo-solo-texto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como obtener los nodos de un tipo específico en Drupal 6 desde API</title>
		<link>http://blog.jorgeivanmeza.com/2009/08/como-obtener-los-nodos-de-un-tipo-especifico-en-drupal-6-desde-api/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/08/como-obtener-los-nodos-de-un-tipo-especifico-en-drupal-6-desde-api/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 14:08:43 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1994</guid>
		<description><![CDATA[Introducción.
En algunos casos puede ser útil obtener desde un fragmento de código PHP utilizando el API oficial, los nodos de un portal basado en Drupal 6 que correspondan con un tipo específico (file, story, event, page, ...).  Esto se puede hacer fácilmente de la siguiente manera.
Procedimiento.
Obtener el listado con la información general de los nodos [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>En algunos casos puede ser útil obtener desde un fragmento de código PHP utilizando el API oficial, los nodos de un portal basado en Drupal 6 que correspondan con un tipo específico (<em>file</em>, <em>story</em>, <em>event</em>, <em>page</em>, ...).  Esto se puede hacer fácilmente de la siguiente manera.</p>
<h2>Procedimiento.</h2>
<p>Obtener el listado con la información general de los nodos del tipo específico.  Para esto se consulta la tabla <span style="font-family: courier new,courier;">node</span> que contiene la siguiente información de los nodos.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">nid         int(10)           # ID del nodo.<br />
vid         int(10)           # ID de la versión del nodo.<br />
type        varchar(32)       # Tipo del nodo.<br />
title       varchar(255)      # Título.<br />
uid         int(11)           # ID del propietario.<br />
status      int(11)           # Estado (publicado = 1; sin publicar/oculto = 0)<br />
created     int(11)           # Timestamp de la creación del nodo.<br />
changed     int(11)           # Timestamp de la modificación del nodo.<br />
comment     int(11)           # Estado de comentarios (desactivados = 0; sólo lectura = 1; activados = 2).<br />
promote     int(11)           # Promocionado a la página principal (no = 0; si = 1).<br />
moderate    int(11)           # Moderado </span><span style="font-family: courier new,courier;">(no = 0; si = 1).</span><br />
<span style="font-family: courier new,courier;">sticky      int(11)           # Pegajoso </span><span style="font-family: courier new,courier;">(no = 0; si = 1).</span><br />
<span style="font-family: courier new,courier;">language    varchar(12)       # Código del idioma.<br />
tnid        int(10)<br />
translate   int(11)</span></p>
<p>La consulta básica se puede realizar de la siguiente manera.</p>
<pre class="php">$sql = "SELECT nid
        FROM {node}
        WHERE type = 'TIPO_DE_NODO' AND
              status = 1
        ORDER BY created DESC";

$results = db_query($sql);</pre>
<p>Posteriormente se iteran los resultados obtenidos de la consulta y se carga la información completa de cada uno de los nodos.</p>
<pre class="php">while ($result = db_fetch_object($results))
{
    $node = node_load($result -&gt; nid);
}</pre>
<p>El contenido del nodo recuperado dependerá en cierta medida de los módulos instalados que alteran su estructura.  Para mostrar por ejemplo el título, la fecha de creación, el mensaje y la fecha de modificación de una noticia se utiliza el siguiente fragmento.</p>
<pre class="php">echo 'Titulo: ' . $node -&gt; title . '&lt;br /&gt;';
echo 'Fecha: ' . format_date($node-&gt;created) . '&lt;br /&gt;';
echo 'Mensaje: ' . $node-&gt;body . '&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;';
echo 'changed on: ' . format_date($node-&gt;changed, 'custom', 'Y-m-d H:i:s O') . '&lt;br /&gt;';</pre>
<h2>Enlaces.</h2>
<ul>
<li>Headless Drupal: Using Drupal’s API to Batch Script Your Drupal Site.<br />
<a href="http://www.stonemind.net/blog/2009/01/20/headless-drupal-using-drupals-api-to-batch-script-your-drupal-site/" >http://www.stonemind.net/blog/2009/01/20/headless-drupal-using-drupals-api-to-batch-script-your-drupal-site/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/08/como-obtener-los-nodos-de-un-tipo-especifico-en-drupal-6-desde-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como personalizar la barra de idiomas en Drupal 6</title>
		<link>http://blog.jorgeivanmeza.com/2009/08/como-personalizar-la-barra-de-idiomas-en-drupal-6/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/08/como-personalizar-la-barra-de-idiomas-en-drupal-6/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 22:24:15 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1988</guid>
		<description><![CDATA[Introducción.
Después de instalar y configurar los módulos para mantener las traducciones del contenido en el portal basado en Drupal 6, el siguiente paso era crear la barra de banderas que permitiera cambiar fácilmente entre los distintos idiomas del portal.

Procedimiento.

Instalar el módulo Consistent Language Interface que provee al bloque Consistent Language Interface block (languageinterface).
http://drupal.org/project/languageinterface
Editar page.tpl.php e [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>Después de <a href="http://blog.jorgeivanmeza.com/2009/08/mejorando-la-creacion-de-contenido-traducido-con-drupal-6/" >instalar y configurar los módulos</a> para mantener las traducciones del contenido en el portal basado en Drupal 6, el siguiente paso era crear la barra de banderas que permitiera cambiar fácilmente entre los distintos idiomas del portal.</p>
<p><a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/08/BarraIdiomas.png"><img class="aligncenter size-full wp-image-1989" title="BarraIdiomas" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/08/BarraIdiomas.png" alt="BarraIdiomas" width="392" height="27" /></a></p>
<h2>Procedimiento.</h2>
<ol>
<li>Instalar el módulo Consistent Language Interface que provee al bloque Consistent Language Interface block (<span style="font-family: courier new,courier;">languageinterface</span>).<br />
<a href="http://drupal.org/project/languageinterface" >http://drupal.org/project/languageinterface</a></li>
<li class="php">Editar <span style="font-family: courier new,courier;">page.tpl.php</span> e incluír el siguiente fragmento de código donde se desea la barra de banderas.
<pre class="php">&lt;?php
    $flags = module_invoke('languageinterface', 'block', 'view', 0);
    print $flags['content'];
?&gt;</pre>
</li>
<li class="php">Personalice la presentación de la barra con CSS ya que su estructura es básicamente una lista no ordenada.  Para establecer la distribución horizontal como la de la imagen propuesta, agregue el siguiente código en la hoja de estilos del tema.
<pre class="css">#language-interface
{
    padding: 0;
    margin: 0;
}

#language-interface li
{
    display: inline;
    list-style-type: none;
    padding: 0;
    margin: 0px 5px 0px 0px;
    height: 12px;
}</pre>
</li>
<li class="php">Si desea puede además establecer estilos particulares para cada idioma, la clase CSS deberá llamarse igual que el código del idioma.  Además es posible resaltar al idioma actual utilizando la clase <span style="font-family: courier new,courier;">active</span>.</li>
</ol>
<h2>Enlaces.</h2>
<ul>
<li>Consistent Language Interface.<br />
<a href="http://drupal.org/project/languageinterface" >http://drupal.org/project/languageinterface</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/08/como-personalizar-la-barra-de-idiomas-en-drupal-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Personalizar el formulario de login en Drupal 6</title>
		<link>http://blog.jorgeivanmeza.com/2009/08/personalizar-el-formulario-de-login-en-drupal-6/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/08/personalizar-el-formulario-de-login-en-drupal-6/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 15:44:49 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1981</guid>
		<description><![CDATA[Procedimiento.
Editar el archivo template.php y agregar la siguiente función (el nombre es libre).
function phptemplate_generarFormularioLogin()
{
   $form_id = 'user_login';
   $form = array();

   $form['name'] = array(
      '#type' =&#62; 'textfield',
      '#maxlength' =&#62; USERNAME_MAX_LENGTH,
      '#required' =&#62; TRUE,
   [...]]]></description>
			<content:encoded><![CDATA[<h2>Procedimiento.</h2>
<p>Editar el archivo <span style="font-family: courier new,courier;">template.php</span> y agregar la siguiente función (el nombre es libre).</p>
<pre class='php'>function phptemplate_generarFormularioLogin()
{
   $form_id = 'user_login';
   $form = array();

   $form['name'] = array(
      '#type' =&gt; 'textfield',
      '#maxlength' =&gt; USERNAME_MAX_LENGTH,
      '#required' =&gt; TRUE,
      '#attributes' =&gt; array('tabindex' =&gt; '1',
      'class' =&gt; 'registro'),
   );

   $form['pass'] = array(
      '#type' =&gt; 'password',
      '#required' =&gt; TRUE,
      '#attributes' =&gt; array('tabindex' =&gt; '2',
      'class' =&gt; 'registro'),
   );

   $form['submit'] = array(
      '#type' =&gt; 'submit',
      '#value' =&gt; t('Log in'),
      '#weight' =&gt; 2,
      '#attributes' =&gt; array('tabindex' =&gt; '3')
   );

   $form['#validate'] = user_login_default_validators();
   $form['#build_id'] = sprintf('form-%s', md5(uniqid(mt_rand(), TRUE)));

   $form_state = array();

   drupal_prepare_form($form_id, $form, $form_state);
   drupal_process_form($form_id, $form, $form_state);

   $out = new stdClass;
   $out-&gt;form_start = sprintf("&lt;form method='post' accept-charset='UTF-8' action='%s'&gt;",
                             url('user/login'));
   $out-&gt;form_end = "&lt;/form&gt;";

   $out-&gt;name = drupal_render($form['name']);
   $out-&gt;pass = drupal_render($form['pass']);
   $out-&gt;submit = drupal_render($form['form_id']) .

   drupal_render($form['form_build_id']) .
   drupal_render($form['submit']);

   return $out;
}</pre>
<p>Insertar en el lugar deseado de <span style="font-family: courier new,courier;">page.tpl.php</span> el siguiente fragmento de código o su correspondiente personalización.</p>
<pre class="php">&lt;?php $login_form = phptemplate_generarFormularioLogin(); ?&gt;
&lt;?php print $login_form -&gt; form_start; ?&gt;
    Usuario &amp;nbsp; &lt;?php print $login_form-&gt;name; ?&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;
    Contraseña &amp;nbsp; &lt;?php print $login_form-&gt;pass; ?&gt;&amp;nbsp;&amp;nbsp;
    &lt;?php print $login_form-&gt;submit; ?&gt;
&lt;?php print $login_form-&gt;form_end; ?&gt;</pre>
<h2>Enlaces.</h2>
<ul>
<li>Theming the Drupal 6 User Login Form.<br />
<a href="http://thefaultandfracture.blogspot.com/2009/04/theming-drupal-user-login-form.html" >http://thefaultandfracture.blogspot.com/2009/04/theming-drupal-user-login-form.html</a></li>
<li>Customizing the login form.<br />
<a href="http://drupal.org/node/19855" >http://drupal.org/node/19855</a></li>
<li>Modifying Forms in Drupal 5 and 6.<br />
<a href="http://www.lullabot.com/articles/modifying-forms-5-and-6" >http://www.lullabot.com/articles/modifying-forms-5-and-6</a></li>
<li>10 tips for theming Drupal 6 forms.<br />
<a href="http://www.advomatic.com/blogs/amanda-luker/10-tips-theming-drupal-6-forms" >http://www.advomatic.com/blogs/amanda-luker/10-tips-theming-drupal-6-forms</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/08/personalizar-el-formulario-de-login-en-drupal-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Personalizar el formulario de búsqueda en un tema de Drupal 6</title>
		<link>http://blog.jorgeivanmeza.com/2009/08/personalizar-el-formulario-de-busqueda-en-un-tema-de-drupal-6/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/08/personalizar-el-formulario-de-busqueda-en-un-tema-de-drupal-6/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 20:57:10 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1968</guid>
		<description><![CDATA[Introducción.
En algunas ocasiones no es suficiente con el bloque de búsquedas de Drupal y es necesario incluír un formulario de búsquedas en la plantilla del tema con un estilo muy específico.
Las búsquedas en Drupal utilizan un sistema de llaves o claves para impedir que sean consumidas desde fuera del sitio, así que escribir un formulario [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>En algunas ocasiones no es suficiente con el bloque de búsquedas de Drupal y es necesario incluír un formulario de búsquedas en la plantilla del tema con un estilo muy específico.</p>
<p>Las búsquedas en Drupal utilizan un sistema de llaves o claves para impedir que sean consumidas desde fuera del sitio, así que escribir un formulario propio con el <span style="font-family: courier new,courier;">action</span> direccionado no es una buena alternativa.</p>
<h2>Implementación.</h2>
<ol>
<li>Activar el formulario de búsquedas en el tema.
<ol>
<li>Acceda el menú de administración de temas (<span style="font-family: courier new,courier;">?q=admin/build/themes</span>).</li>
<li>Haga clic sobre el enlace <strong>Configurar</strong> frente al tema elegido.</li>
<li>Seleccione la casilla <strong>Bloque de búsqueda</strong>.</li>
<li>Presione el botón <strong>Guardar configuración</strong>.</li>
</ol>
</li>
<li>Copie el archivo <span style="font-family: courier new,courier;">modules/search/search-<strong>block</strong>-form.tpl.php</span> a la carpeta del tema con el nombre <span style="font-family: courier new,courier;">search-<strong>theme</strong>-form.tpl.php</span>.</li>
<li>Edite <span style="font-family: courier new,courier;">page.tpl.php</span> del tema e incluya la etiqueta <span style="font-family: courier new,courier;">&lt;?php print $search_box; ?&gt;</span> donde desee que aparezca el campo de búsqueda en el tema.</li>
<li>Edite el archivo <span style="font-family: courier new,courier;">search-theme-form.tpl.php</span> con el formulario de búsqueda personalizado.
<ol>
<li>No es necesario incluír las etiquetas <span style="font-family: courier new,courier;">&lt;form&gt;</span> ya que estas se incluyen automáticamente.</li>
<li>El <span style="font-family: courier new,courier;">ID</span> del formulario generado es <span style="font-family: courier new,courier;">search-theme-form</span>.</li>
<li>El ID del campo de las palabras clave deberá ser <span style="font-family: courier new,courier;">edit-search-theme-form-1</span>.</li>
<li>El nombre del campo de las palabras clave deberá ser <span style="font-family: courier new,courier;">search_theme_form</span>.</li>
<li>Incluya esta etiqueta en cualquier lugar del archivo <span style="font-family: courier new,courier;">&lt;?= $search['hidden']; ?&gt;</span>.</li>
</ol>
</li>
</ol>
<h2>Enlaces.</h2>
<ul>
<li>Customizing the search forms.<br />
<a href="http://drupal.org/node/45295" >http://drupal.org/node/45295</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/08/personalizar-el-formulario-de-busqueda-en-un-tema-de-drupal-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como crear nuevas regiones en Drupal 6</title>
		<link>http://blog.jorgeivanmeza.com/2009/08/como-crear-nuevas-regiones-en-drupal-6/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/08/como-crear-nuevas-regiones-en-drupal-6/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 16:52:42 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1960</guid>
		<description><![CDATA[Introducción.
Las regiones en Drupal permiten la ubicación de los bloques en la página.  Su distribución se realiza generalmente en el archivo page.tpl.php del tema.
Por defecto se incluyen las siguientes regiones.

Columna izquierda (left).
Columna derecha (right).
Contenido central (content).
Cabecera (header).
Pies de página (footer).

Agregar nuevas regiones al tema.
Es posible según la complejidad del tema que sea necesario agregar nuevas [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>Las regiones en Drupal permiten la ubicación de los bloques en la página.  Su distribución se realiza generalmente en el archivo <span style="font-family: courier new,courier;">page.tpl.php</span> del tema.</p>
<p>Por defecto se incluyen las siguientes regiones.</p>
<ol>
<li>Columna izquierda (<span style="font-family: courier new,courier;">left</span>).</li>
<li>Columna derecha (<span style="font-family: courier new,courier;">right</span>).</li>
<li>Contenido central (<span style="font-family: courier new,courier;">content</span>).</li>
<li>Cabecera (<span style="font-family: courier new,courier;">header</span>).</li>
<li>Pies de página (<span style="font-family: courier new,courier;">footer</span>).</li>
</ol>
<h2>Agregar nuevas regiones al tema.</h2>
<p>Es posible según la complejidad del tema que sea necesario agregar nuevas regiones para manipular la distribución del contenido del sitio con mayor precisión y granularidad.</p>
<p>Hasta la versión 5 de Drupal esto se realizaba sobreescribiendo la <a href="http://blog.jorgeivanmeza.com/2007/08/crear-nuevas-secciones-en-pagetpl-de-drupal/" >función <span style="font-family: courier new,courier;">phptemplate_regions()</span> del archivo <span style="font-family: courier new,courier;">template.php</span></a>, sin embargo este estilo de configuración fue modificado para las versiones 6 y posteriores.</p>
<p>Ahora la configuración de las regiones se realiza en el archivo <span style="font-family: courier new,courier;">TEMA.info</span> de la siguiente manera.</p>
<p><span style="font-family: courier new,courier;">regions[left] = Columna izquierda<br />
regions[right] = Columna derecha<br />
regions[content] = Contenido<br />
regions[header] = Cabecera<br />
regions[footer] = Pies de pagina<br />
<strong>regions[menu] = Menu horizontal</strong><br />
</span></p>
<h2>Enlaces.</h2>
<ul>
<li>Regiones, estructura del archivo <span style="font-family: courier new,courier;">.info</span>.<br />
<a href="http://drupal.org/node/171205#regions" >http://drupal.org/node/171205#regions</a></li>
<li>Crear nuevas secciones en page.tpl de Drupal.<br />
<a href="http://blog.jorgeivanmeza.com/2007/08/crear-nuevas-secciones-en-pagetpl-de-drupal/" >http://blog.jorgeivanmeza.com/2007/08/crear-nuevas-secciones-en-pagetpl-de-drupal/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/08/como-crear-nuevas-regiones-en-drupal-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Personalizar las “migas de pan” en Drupal</title>
		<link>http://blog.jorgeivanmeza.com/2009/08/personalizar-las-migas-de-pan-en-drupal/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/08/personalizar-las-migas-de-pan-en-drupal/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 14:11:37 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1954</guid>
		<description><![CDATA[Introducción.
Las "migas de pan" o breadcrumbs es aquella sección de los sitios web que lleva un registro jerárquico de los niveles del sitio que se han visitado permiténdonos regresar a través de ellos de manera asíncrona.  Un ejemplo de breadcrumbs podría ser este.
Inicio &#62; Software &#62; Web.
Esto significaría que se está en la sección Web [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>Las "migas de pan" o <em>breadcrumbs</em> es aquella sección de los sitios web que lleva un registro jerárquico de los niveles del sitio que se han visitado permiténdonos regresar a través de ellos de manera asíncrona.  Un ejemplo de <em>breadcrumbs</em> podría ser este.</p>
<p style="padding-left: 30px;">Inicio &gt; Software &gt; Web.</p>
<p>Esto significaría que se está en la sección Web que depende del Software y que pende del inicio del sitio.</p>
<h2><em>Breadcrumbs</em> en Drupal.</h2>
<p>Drupal provee automáticamente esta facilidad, él mismo va generando las "migas de pan" y las ubica donde se inserte la siguiente etiqueta, comúnmente en <span style="font-family: courier new,courier;">page.tpl.php</span>.</p>
<pre class="php">&lt;?php print $breadcrumb ?&gt;</pre>
<p>Por defecto Drupal se hace cargo de generar el contenido HTML asociado a las "migas de pan" con un estilo por defecto.  En algunas ocasiones este estilo no se adecúa a las necesidades propias.</p>
<h2>Personalizar las <em>breadcrumbs</em> en Drupal.</h2>
<p>Para hacer esto es necesario crear o editar el archivo <span style="font-family: courier new,courier;">template.php</span> ubicado en el tema activo y agregar o modificar la definición de la función <span style="font-family: courier new,courier;">phptemplate_breadcrumb($breadcrumb)</span> donde <span style="font-family: courier new,courier;">$breadcrumb</span> es un arreglo y cada una de sus celdas corresponde con un segmento de las "migas de pan".</p>
<pre class="php">/**
 * Return a themed breadcrumb trail.
 *
 * @param $breadcrumb - An array containing the breadcrumb links.
 * @return a string containing the breadcrumb output.
 */
function phptemplate_breadcrumb($breadcrumb)
{
    if (empty($breadcrumb))
        return "";

    $str = "&lt;ul&gt;";

    $length = count($breadcrumb);

    for($i=0; $i&lt;$length; $i++)
    {
        $bc = $breadcrumb[$i];
        $class = ($i &lt; $length - 1) ? "" : "class='ruta_final'";

        $str .= "&lt;li {$class}&gt;{$bc}&lt;/li&gt;";
    }

    $str .= "&lt;/ul&gt;";

    return $str;
 }</pre>
<p>El ejemplo anterior crea las "migas de pan" como un UL donde cada LI corresponde con una sección visitada y cuya última sección tiene además una clase CSS llamada <span style="font-family: courier new,courier;">ruta_final</span>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/08/personalizar-las-migas-de-pan-en-drupal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como referenciar las imagenes de un tema en Drupal</title>
		<link>http://blog.jorgeivanmeza.com/2009/08/como-referenciar-las-imagenes-de-un-tema-en-drupal/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/08/como-referenciar-las-imagenes-de-un-tema-en-drupal/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 13:52:24 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1949</guid>
		<description><![CDATA[Imágenes a partir de las hojas de estilo.
Cuando se desarrolla un tema la mayoría de las imágenes quedan relacionadas a través de las hojas de estilos (CSS) sus rutas son relativas automáticamente al directorio del tema y se incluyen, al igual que los archivos Javascript, en el archivo *.info del tema.
; $Id: dm.info,v 0.1 2009/08/11 [...]]]></description>
			<content:encoded><![CDATA[<h2>Imágenes a partir de las hojas de estilo.</h2>
<p>Cuando se desarrolla un tema la mayoría de las imágenes quedan relacionadas a través de las hojas de estilos (CSS) sus rutas son relativas automáticamente al directorio del tema y se incluyen, al igual que los archivos Javascript, en el archivo <span style="font-family: courier new,courier;">*.info</span> del tema.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">; $Id: dm.info,v 0.1 2009/08/11 11:11:00 jimezam Exp $<br />
name = miTema<br />
description = Esta es la descripción del tema.<br />
version = 1.0<br />
core = 6.x<br />
engine = phptemplate</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">stylesheets[all][] = css/style.css<br />
stylesheets[all][] = css/layout.css</span>
</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">scripts[] = js/jquery-1.3.2.min.js</span></p>
<p>El ejemplo anterior hace que <span style="font-family: courier new,courier;">miTema</span> incluya automáticamente las hojas de estilo <span style="font-family: courier new,courier;">style.css</span> y <span style="font-family: courier new,courier;">layout.css</span> ubicadas bajo <span style="font-family: courier new,courier;">css/</span> y el archivo <span style="font-family: courier new,courier;">jquery-1.3.2.min.js</span> ubicado bajo <span style="font-family: courier new,courier;">js/</span>.  Esto se hace exactamente donde se inserten las siguientes etiquetas, normalmente ubicadas en el <span style="font-family: courier new,courier;">&lt;head&gt;</span> de <span style="font-family: courier new,courier;">page.tpl.php</span>.</p>
<pre class="php">&lt;?php print $styles; ?&gt;
&lt;?php print $scripts; ?&gt;</pre>
<h2>Imágenes estáticas directamente del tema.</h2>
<p>En otras ocasiones es necesario referenciar imágenes (<span style="font-family: courier new,courier;">&lt;img&gt;</span>) u otros recursos estáticos que se encuentran ubicados en el directorio del tema activo.  Para hacer esto se utiliza el método <a href="http://api.drupal.org/api/function/path_to_theme/6" ><span style="font-family: courier new,courier;">path_to_theme</span></a> del API de Drupal.</p>
<p>Supongamos que se desea crear una imagen con el archivo <span style="font-family: courier new,courier;">Foto.png</span> que se encuentra ubicado en el directorio <span style="font-family: courier new,courier;">imagenes/</span> del tema activo.  Se debe utilizar la siguiente expresión.</p>
<pre class="php">&lt;img src="&lt;?php global $base_path; print $base_path.path_to_theme(); ?&gt;/imagenes/Foto.png" /&gt;</pre>
<p>Otra forma de hacerlo, con una sintaxis un poco mas resumida es utilizando las funciones directas que provee Drupal de la siguiente manera.</p>
<pre class="php">&lt;img src="&lt;?php print base_path() . path_to_theme(); ?&gt;/imagenes/Foto.png" /&gt;</pre>
<h2>Solución de problemas.</h2>
<p>A pesar de que no se encuentren activos los cachés de Drupal, algunas veces los cambios que se realizan en estos archivos de presentación no se reflejan cuando se refresca el sitio.  Para corregir este comportamiento es necesario limpiar el caché de datos del tema para que se generen nuevas versiones que incluyan los cambios recién realizados.</p>
<p>Para limpiar el caché de datos de Drupal inicie como administrador y acceda a la configuración de desempeño (<span style="font-family: courier new,courier;">?q=admin/settings/performance</span>).</p>
<p>Al final de la página presione el botón <span style="font-family: courier new,courier;">Clear cached data</span> y al terminar esta página refresque nuevamente el sitio web para observbar los cambios.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/08/como-referenciar-las-imagenes-de-un-tema-en-drupal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Actualización de portales web basados en Drupal a la versión 6.13</title>
		<link>http://blog.jorgeivanmeza.com/2009/07/actualizacion-de-portales-web-basados-en-drupal-a-la-version-6-13/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/07/actualizacion-de-portales-web-basados-en-drupal-a-la-version-6-13/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 22:12:47 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1886</guid>
		<description><![CDATA[Introducción.
Después de actualizada la versión 5 del portal a la 6.12 o la instalación de una versión 6.x fresca, se hace necesario actualizar el portal a la nueva versión disponible, la 6.13.
Procedimiento.

Realizar la copia de seguridad de la base de datos del portal.
Ingresar al portal con el usuario cuyo id = 1.
Modificar  la configuración del [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>Después de <a href="http://blog.jorgeivanmeza.com/2009/06/migracion-de-drupal-5-a-la-version-6/" >actualizada la versión 5 del portal a la 6.12</a> o la <a href="http://blog.jorgeivanmeza.com/2009/06/procedimiento-de-instalacion-basica-de-drupal-6/" >instalación de una versión 6.x</a> fresca, se hace necesario actualizar el portal a la nueva versión disponible, la 6.13.</p>
<h2>Procedimiento.</h2>
<ol>
<li>Realizar la copia de seguridad de la base de datos del portal.</li>
<li>Ingresar al portal con el usuario cuyo id = 1.</li>
<li>Modificar  la configuración del sitio poniéndolo en modo administración: <span style="font-family: courier new,courier;">?q=admin/settings/site-maintenance</span>.</li>
<li>Actualizar los módulos disponibles según el módulo de <strong>update-status</strong>: <span style="font-family: courier new,courier;">?q=admin/reports/updates</span>.</li>
<li>Desactivar los módulos (<span style="font-family: courier new,courier;">?q=admin/build/modules</span>) y temas (<span style="font-family: courier new,courier;">?q=admin/build/themes</span>) de terceros.</li>
<li>Realizar la actualización de los archivos.
<ol>
<li><span style="font-family: courier new,courier;">$ wget http://ftp.drupal.org/files/projects/drupal-6.13.tar.gz</span></li>
<li><span style="font-family: courier new,courier;">$ rm site.old</span></li>
<li><span style="font-family: courier new,courier;">$ mv site site.old</span></li>
<li><span style="font-family: courier new,courier;">$ tar zxvf drupal-6.13.tar.gz</span></li>
<li><span style="font-family: courier new,courier;">$ mv drupal-6.13/ site</span></li>
<li><span style="font-family: courier new,courier;">$ cp -rf site.old/files site    <span style="font-family: times new roman,times;">(si no se utiliza la convención bajo</span> sites/default<span style="font-family: times new roman,times;">)</span>.<br />
</span></li>
<li><span style="font-family: courier new,courier;">$ cp -rf site.old/sites site</span></li>
<li><span style="font-family: courier new,courier;">(web) $URL/apps/site/update.php</span></li>
<li><span style="font-family: courier new,courier;">(web) $URL/?q=admin/reports/updates</span></li>
<li><span style="font-family: courier new,courier;">rm site/install.php site/CHANGELOG.txt site/INSTALL.txt site/INSTALL.mysql.txt site/INSTALL.pgsql.txt site/LICENSE.txt site/MAINTAINERS.txt site/UPGRADE.txt</span></li>
<li><span style="font-family: courier new,courier;">$ rm drupal-6.13.tar.gz </span></li>
</ol>
</li>
<li>Activar los módulos (<span style="font-family: courier new,courier;">?q=admin/build/modules</span>) y temas (<span style="font-family: courier new,courier;">?q=admin/build/themes</span>) de terceros.</li>
<li>Modificar  la configuración del sitio poniéndolo en línea nuevamente: <span style="font-family: courier new,courier;">?q=admin/settings/site-maintenance</span>.</li>
</ol>
<p>Con esta actualización se introducen las siguientes modificaciones al esquema de actualizaciones de Drupal que se había estado siguiendo hasta la fecha.</p>
<ul>
<li>Los archivos del usuario, diferentes a los de la distribución de Drupal, y a los cuales se les debe realizar copia de seguridad se encuentran en las siguientes ubicaciones.
<ul>
<li><span style="font-family: courier new,courier;">sites/all/libraries</span>.  Librerías que aplican a todos los sitios.</li>
<li><span style="font-family: courier new,courier;">sites/all/modules</span>.  Módulos de terceros que aplican a todos los sitios.</li>
<li><span style="font-family: courier new,courier;">sites/all/themes</span>.  Temas de terceros que aplican a todos los sitios.</li>
<li><span style="font-family: courier new,courier;">sites/default/files</span>.  Archivos de usuario de un sitio específico (<em>default</em>).</li>
<li><span style="font-family: courier new,courier;">sites/default/settings.php</span>.  Configuración de un sitio específico (<em>default</em>).</li>
</ul>
</li>
<li>Si no se utiliza la convención bajo <span style="font-family: courier new,courier;">sites</span> los directorios <span style="font-family: courier new,courier;">libraries</span>, <span style="font-family: courier new,courier;">modules</span>, <span style="font-family: courier new,courier;">themes</span> y <span style="font-family: courier new,courier;">files</span> se ubicarán en el directorio raíz de la distribución de Drupal, esto debe tenerse muy en cuenta ya que deberán agregarse como pasos durante la copia de seguridad y deberá tenerse extremo cuidado para evitar conflictos con los archivos del núcleo de la distribución que utilizan la mayoría de estos directorios.</li>
</ul>
<h2>Enlaces.</h2>
<ul>
<li>HowTo: Updating Drupal 6.x to newer minor version.<br />
<a href="http://drupal.org/node/390448" >http://drupal.org/node/390448</a></li>
<li>Upgrading - more sophisticated approach.<br />
<a href="http://drupal.org/node/323089" >http://drupal.org/node/323089</a></li>
<li>Setup of /sites directory for multi-site.<br />
<a href="http://drupal.org/node/53705" >http://drupal.org/node/53705</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/07/actualizacion-de-portales-web-basados-en-drupal-a-la-version-6-13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

