Translate to

Buscar

11 de agosto de 2010

Actualizando el Drupal Core con Drush

Supongamos que mydrupal es un site drupal-6.17, cuyo core deseo actualizar a drupal-6.19.

El paso cero, es hace un backup adecuado del site. Eso significa parquear la aplicación (Administer, Site configuration, Site maintenance, Site status: Off-line), limpiar el caché (Administer, Site configuration, Performance, Clear cached data; ó drush cc all), hacer un backup del directorio mydrupal, y hacer un backup de la base de datos usada por mydrupal.

Luego, damos el primer paso :-)

La idea es sobrescribir mydrupal con el nuevo drupal y luego correr el script de actualización.

Una forma es bajando drupal-6.19.tar.gz, descomprimiéndolo, y luego copiando o moviendo sus subdirectorios dentro de mydrupal. Hecho eso, ejecutar el script de actualización, por ejemplo entrando a http://localhost/mydrupal/update.php

Pero, ¿cómo hacerlo con drush?. En la ayuda ví que hay una opción sup, pero no la llegué a entender, sorry.

Pero encontré este post, donde usan un truco que sí entendí.

Como se puede usar drush para descargar la versión de drupal que queramos, por ejemplo drupal-6.19, entonces, si antes de hacer la descarga hacemos un enlace simbólico que conduzca drupal-6.19 a mydrupal, los archivos descargados lo sobrescribirán.

Para crear el enlace simbólico (en el directorio que contiene a mydrupal):

ln -s mydrupal drupal-6.19

En Windows Vista/7 sería:

mklink /J drupal-6.19 mydrupal

Si usa Windows XP, será necesario descargar la utilidad Junction y usar:

junction drupal-6.19 mydrupal

Para descargar drupal-6.19:

drush dl drupal-6.19

Para eliminar el enlace simbólico:

rm drupal-6.19

En Windows Vista/7:

rd drupal-6.19

En Windows XP:

junction -d drupal-6.19
Para correr el script de actualización:

cd mydrupal
drush updb

Listo. A continuación se puede volver a colocar el site en línea (Administer, Site configuration, Site maintenance, Site status: Online).

Si todo resultó bien, después de un tiempo puede borrar el backup que hizo en el paso cero.

Un problema que yo tuve fue que se sobrescribió el .htaccess que yo había modificado. En ese caso, se puede buscar ese archivo en el backup y restaurarlo.

Resolviendo Drupal multisite

Aunque la instalación y configuración inicial de Drupal es relativamente sencilla y directa, configurarlo para que varios sites compartan el mismo motor fue, para mí, casi un dolor de cabeza...

Continúe leyendo aquí.

8 de agosto de 2010

Instalando Drupal en un directorio con alias

Normalmente, los sites drupal que creo en mi XAMPP (1.7.1, bajo Windows 7) reconocen que pueden habilitar la opción de URL limpios.

Sin embargo, no fue ese el caso cuando creé un site drupal en un directorio con alias.

Cree el directorio con alias dropbox, indicando en el httpd.conf de apache la siguiente configuración:


...
<IfModule alias_module>
  ...
  Alias /dropbox "C:/Users/Rulo/Documents/My Dropbox/htdocs"
  ...
</IfModule>

<Directory "C:/Users/Rulo/Documents/My Dropbox/htdocs">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
...



De ese modo, puedo navegar por http://localhost/dropbox.
Llevo usando Dropbox unas semanas y me gusta mucho cómo me permite manejar mis archivos. Configurando apache de esta forma en la casa y también en el trabajo, puedo continuar cómodamente el proyecto sin preocuparme mucho en los detalles de la sincronización, que Dropbox maneja automáticamente. Antes trabajaba usando un site online, pero la edición via FTP no es tan cómoda. Con Dropbox edito y pruebo localmente, con la confianza que encontraré lo mismo tanto en la casa como en el trabajo.
Pero, al crear un site Drupal en este directorio con alias, no aparecía habilitada la opción de usar URL limpios.

Después de un rato, encontré que, en algunos casos, Drupal puede requerir una configuración extra para esto. La solución fue editar el .htaccess del site:

  ...
  # Modify the RewriteBase if you are using Drupal in a 
  # subdirectory or in a
  # VirtualDocumentRoot and the rewrite rules are not working 

  # properly.
  # For example if your site is at http://example.com/drupal 
  # uncomment and
  # modify the following line:
  # RewriteBase /drupal
  RewriteBase /dropbox/mydrupal
  ...

1 de agosto de 2010

Drupal como framework genérico

El sábado 24 de Julio asistí al Drupal Camp de Invierno que organizó Drupal Peru.

Fue mi segunda asistencia a este tipo de evento. La primera fue en Mayo, para el Drupal Camp de Verano.

Llevo aprendiendo Drupal desde noviembre del 2009; aproximádamente 9 meses. Al usar Drupal como CMS he podido comprobar que algunas cosas que uno supone difíciles resultan fáciles (como la administracion de usuarios). Pero otras cosas resultan más difíciles de lo que uno espera (como el manejo de formularios). Pienso que es porque el framework recién está saliendo a flote y a veces hay que bucear un poco para encontrar las cosas que uno quiere ver.

En la época del Drupal Camp de Verano estaba un poco desorientado en el tema de usar Drupal como un framework genérico. En algún lugar había leído insinuar esa posibilidad, pero no había logrado encontrar pistas claras al respecto. En este evento oí que, de hecho, se usaba de ese modo en el diario El Comercio. Eso me alentó en la tarea.

En este Camp de Invierno, en lugar de sólo escuchar las exposiciones, decidí preguntar por el tema de parchar el código, que venían promocionando desde hacía algunas semanas en la lista. Eso me condujo a un ambiente aparte donde nos explicaron el procedimiento para bajar código, corregirlo y enviar propuestas. De pasada, observé el manejo rutinario de algunas herramientas como el control de versiones, lo cual es también bastante inspirador.

Escuché que hay planes para que Drupal 8 sea un framework genérico. Eso me aclaró un poco el panorama de lo que está sucediendo respecto Drupal.

Me parece que Drupal empezó como un CMS más entre otras alternativas como Joomla y PHPNuke. Pero la forma en que Drupal implementa la modularidad es muy especial y, con el tiempo, aparecieron módulos que demostraron las virtudes de su arquitectura. Otros CMS pueden verse mejor, o ser más amigables, pero Drupal tiene esa cualidad especial que lo conduce a un futuro diferente. La comunidad ha notado el framework que está debajo del CMS. Ya en Drupal 6, parece que el papel del CMS está siendo poco a poco opacado por el de las virtudes de su framework. Interesante.

Más artículos