14 Noviembre 2017

9 cosas a tener en cuenta para hacer site building en Drupal

El site building hace referencia a todo lo que podemos hacer desde la interfaz de usuario, sin necesidad de tocar código ni programar. Drupal cuenta con una gran cantidad de módulos contribuidos que permiten extender su funcionalidad y construir sitios complejos, además de muchas funcionalidades incluidas en su núcleo.

Drupal es muy potente a nivel de configuración del sitio, pero si tenemos pensado hacer site building desde la misma drupal.org nos recomiendan tener ciertas cosas en cuenta.

1. Consejos básicos

Configurar y mantener un sistema de administración de contenido (CMS) como Drupal requiere tiempo y esfuerzo, y seguir algunas de las mejores prácticas básicas de planificación y organización, tanto como desarrollador en general como de Drupal en particular, puede facilitarnos mucho la vida más adelante. Estas pautas son solo sugerencias, al final depende de cada persona decidir qué es apropiado para un sitio. Algunas de estas son:

  • Planificar bien el sitio.
  • Hacer copias de seguridad periodicas o antes de grandes cambios.
  • Mantenerse informado de las grandes actualizaciones.
  • Involucrase en la comunidad.
  • Usar fragmentos de código PHP con moderación y cuidado.
  • Comparar módulos similares en lugar de instalar el primer módulo que encuentres.

2. Respalda tu base de datos y archivos

Crear y almacenar copias de seguridad de sitios web no es solo una buena práctica, sino que es el paso más importante para garantizar la estabilidad del sitio web y un requisito para todas las formas de desarrollo.

Para crear una copia completa del sitio web, se deberá realizar una copia tanto de la base de datos como de los archivos personalizados. Una estrategia de copia de seguridad automática es fácil de implementar utilizando el módulo Backup & Migrate, dejando las copias de seguridad manuales para antes de hacer grandes actualizaciones o nuevas implementaciones, proporcionando un punto de restauración seguro tomado inmediatamente antes de dichos cambios.

3. ¡Nunca hackear el nucleo!

Esta frase es muy famosa en la comunidad de Drupal. Es normal verlo en camisetas o pegatinas. Incluso hay un video muy interesante sobre ello. Es uno de los consejos más importantes para Drupal.

"Núcleo" se refiere a todos los archivos que pertenecen a la instalación original de Drupal. Es decir, todos los archivos, excepto los que están en la carpeta "sites". Puedes agregar perfiles de instalación al directorio "profiles", pero nunca debes modificar ninguno de los archivos ya presentes en esa carpeta.

4. Evitar el hardcoding

Hardcoding es hacer código a medida para solucionar casos muy específicos. Aquí hay algunos ejemplos de hardcoding como se aplica a Drupal:

  • Insertar una consulta SQL en un archivo .tpl.
  • Escribir un script que consulte la base de datos para realizar algunos cambios en los nodos.
  • Usar una expresión regular en el resultado de una función de tematización para cambiar una clase HTML a otra.

Los ejemplos anteriores podrían funcionar algunas veces o incluso todo el tiempo. Sin embargo, al igual que hackear el nucleo, la eficacia por sí sola no es suficiente para hacerlos compatibles con el "Drupal Way". Incluso cuando el hardcoding funciona, para un caso específico, no sabemos la capacidad de ese código para funcionar con un conjunto más general de situaciones.

5. Construyendo en Drupal 7 con Drupal 8 en mente (o mejor directamente en Drupal 8)

Desde que se lanzó Drupal 8, la mayoría de los sitios web de Drupal 7 deberán considerar una migración a Drupal 8. Si vas a crear un nuevo sitio en Drupal 7, sería conveniente incluir también la ruta de actualización de Drupal 8 en su planificación. Esto significa que se debe elegir cuidadosamente qué módulos usar o seleccionar una distribución Drupal que también se actualice a 8.

Hay una serie de módulos que es recomendable no usar si se va a migrar a Drupal 8 en un futuro.

6. Usar sitios de prueba

Hay muchos programas (XAMPP, MAMP, Apache2Triad) que ayudan a configurar un sistema de prueba local fácilmente. Es fundamental configurar uno para testear y hacer pruebas con tu sitio y probar copias de seguridad y restauraciones de tu sitio en producción. Configura un sitio de prueba usando una copia de tus datos en producción. 

7. Evita usar demasiados módulos

Siempre es bueno pensar un poco antes de habilitar un módulo. Demasiados módulos habilitados pueden ralentizar tu sitio y pueden ser complicados al actualizar especialmente en servidores compartidos ya que su uso máximo permitido de recursos de hardware es mucho menor que en VPS y servidores dedicados. Si el sitio ya no requiere la funcionalidad de un módulo, lo mejor es desinstalarlo y sus archivos relacionados deben ser eliminados del servidor.

Además, los módulos que están mal mantenidos y contienen errores pueden ser perjudiciales para la seguridad y estabilidad de un sitio.

8. Código contribuido vs personalizado

El núcleo de Drupal ofrece un monton de funcionalidades y características listas para usa, pero cuanto más específicas sean los requisitos de una web, más probable es que se necesite ampliar Drupal con módulos contribuidos o escribir código personalizado.

En la decisión entre código contribuido versus el personalizado vemos que no es todo blanco ni negro si no que lo ideal es usar una mezcla de las dos. Siempre podemos extender las funcionalidades de módulos contribuidos o crear nuestro propio módulo contribuido si fuera necesario. Otro consejo es usar módulos estables siempre que sea posible.

9. Asegurate que tu sitio web es seguro

Drupal cuenta con una guía de seguridad la cual incluye una sección sobre cómo proteger su sitio con una útil lista de elementos para trabajar. El módulo Security Review proporciona una revisión automática de posibles problemas de seguridad.

Drupal tambien tiene un equipo de seguridad que trabaja para abordar los problemas de seguridad con el núcleo de Drupal y los módulos aportados.

Con la excusa de que el site building no implica tocar código muchas veces nos olvidamos que hay que tener en cuenta ciertas cosas si queremos que los proyectos lleven a buen puerto. Esperamos que tengáis en cuenta estos 9 consejos a la hora de poneros a construir un sitio y ya sabéis, si creeis que nos hemos dejado alguno no dudéis en dejarnoslo en los comentarios.