Aunque existen numerosas metodologías para llevar a cabo un proyecto de desarrollo de software, siendo una de las más populares la METRICA v3, todas se pueden resumir en seis fases consecutivas: Análisis, Diseño, Implementación, Pruebas, Puesta en marcha y Garantía. Todas estas fases se realizan de la misma forma independientemente del producto final y de las herramientas utilizadas en su desarrollo excepto en el caso de la Implementación, cuya evolución se ve directamente afectada por el entorno de trabajo y el software a obtener. En este artículo voy a explorar cómo enfocar la fase de Implementación cuando el desarrollo está basado en Typo3.
Para ilustrar cómo se ve afectada la fase de Implementación, baste recordar que al tratarse de un CMS, Typo3 nos va a restringir el tipo de herramientas y de lenguajes de programación a un entorno muy concreto, que evidentemente es el de la Web. Además, la forma de trabajar de Typo3 y sus peculiares características restringen aún más las metodologías y usos disponibles a la hora de acometer el proyecto.
Basándonos en nuestra experiencia, la fase de Implementación de un proyecto basado en Typo3 puede subdividirse en las siguientes tareas, que además pueden llevarse a cabo concurrentemente gracias a la separación de diseño, contenido y lógica de negocio en la que se basa el funcionamiento de este CMS:
– Instalación del motor de Typo3: Esta tarea es la primera que debe hacerse, ya que sin un Typo3 instalado no se pueden empezar las demás tareas. Básicamente consiste en descargarse tanto el motor como la estructura básica (un paquete llamado dummy), descomprimirlos en el servidor de hospedaje y ejecutar el asistente web de instalación. ¡Voilá, ya tenemos un CMS en perfecto funcionamiento! En este sentido debo recomendar el uso de Linux como sistema operativo del servidor, ya que gracias al uso de enlaces simbólicos posibilita el mantenimiento de varios motores a la vez y facilita la actualización de versión, pudiéndose volver atrás en cuestión de minutos si algo falla en el proceso o el resultado no es el deseado.
– Creación del árbol: La siguiente tarea debería ser la de generar el árbol que representará al nuevo sitio web, cuyas ramas se convertirán en los menús y cuyas hojas serán las páginas de contenido. Aunque se recomienda cierta planificación previa, gracias a las posibilidades de edición del panel de control de Typo3 es relativamente sencillo modificar un árbol existente. No olvidar que es posible crear hojas que sean accesibles pero ocultas en los menús e incluso completamente inaccesibles. A partir de aquí ya es posible realizar el resto de tareas de forma concurrente.
– Integración de diseño: Consiste en generar a partir del diseño gráfico que tendrá el nuevo sitio web una plantilla HTML con una serie de marcas de Typo3 intercaladas que le indicarán al motor dónde insertar el contenido a mostrar en el navegador, ya sea estático o dinámico. Quiero destacar que Typo3 es capaz de mantener y utilizar varias plantillas tanto para todo el sitio web como para subzonas específicas del mismo.
– Inserción de contenido: Gracias al editor visual enriquecido que incorpora Typo3, esta tarea es realmente sencilla y se reduce prácticamente tanto a escribir directamente en dicho editor como a copiar y pegar el texto desde otras fuentes, como ficheros ofimáticos propios u otras páginas web. En este sentido el editor visual puede ser tanto una bendición como un engorro, ya que suele respetar el formato original del texto.
– Instalación de extensiones: Una de mis tareas favoritas es la de rastrear el enorme repositorio de extensiones de Typo3 en busca de aquellas que doten de funcionalidades útiles a un nuevo sitio web. La instalación en sí no puede ser más sencilla, ya que consiste simplemente en buscar en el instalador la extensión deseada y pulsar en el botón de instalación. Lo que ya no es tan sencillo es echarla a andar, ya que nos podemos encontrar mil y un problemas, desde aquellas que están pésimamente documentadas a aquellas que están diseñadas para versiones concretas de Typo3 y PHP, pasando por otras que necesitan de tanto trabajo previo y de tal complejidad que la relación esfuerzo-resultado se resentirá gravemente. La experiencia nos dictará finalmente cuales son las extensiones que merecen la pena, terminando en nuestras manos una lista de las favoritas que utilizaremos una y otra vez en nuestros proyectos.
– Desarrollo de personalizaciones: Typo3 tiene muchas características destacables, pero una de las mejores es sin duda las amplias posibilidades de personalización que ofrece gracias a la disponibilidad del código fuente en PHP, de un lenguaje interno propio llamado TypoScript que permite modificar el comportamiento de prácticamente todos y cada uno de los aspectos de Typo3 y a un fabuloso asistente de desarrollo de extensiones llamado «Extension Kickstarter» (es una extensión en sí mismo). Con todas estas herramientas podemos dotar al sitio web de todas aquellas funcionalidades que queramos y que no ofrece ninguna extensión del repositorio, bien desde cero o partiendo de alguna existente.
Siguiendo esta guía, en Activa Sistemas hemos conseguido hasta la fecha llevar a buen puerto los diversos proyectos basados en Typo3 que hemos realizado, en plazo y con la entera satisfacción de nuestros clientes. Es por ello que la recomiendo a todo aquel que se enfrente a un proyecto de similares características, adaptándola a sus propias necesidades.
Pingback: Por qué las metodologías ágiles no triunfan en Andalucía | El blog de Activa Sistemas
Pingback: Proyectos ágiles con Typo3 | El blog de Activa Sistemas