Análisis de aplicación: TYPO3

Este documento ha sido elaborado por el Centro de excelencia de software libre de Castilla La Mancha (CESLCAM).Copyright © 2010, Junta de Comunidades de Castilla-La Mancha.Este documento se distribuye bajo los términos de la licencia Creative Commons by-sa. http://creativecommons.org/licenses/by-sa/2.5/es/ Estas acciones han sido financiadas por la Junta de Comunidades de Castilla-La Mancha, a través del Programa de Isabel Torres cofinanciados por Sepecam y el Fondo Social Europeo. En este análisis ha colaborado para su elaboración la empresa ICTI Internet Passion, experta en sitios web. www.icti.es   Descargar análisis en formato PDF  DATOS TECNICOSNombre: TYPO3 Versión: 4.3.2 Licencia: GNU General Public License Version 2 (ver apartado del análisis) Plataforma: Multiplataforma Idioma: Multilenguaje, incluye español Web oficial: http://typo3.com/Manual: http://typo3.org/documentation/document-library/tutorials/doc_tut_quickstart_es/current/Descripción básica: TYPO3 es un sistema de gestión de contenidos (CMS) de código abierto de nivel empresarial orientado a sitios web e intranets. Ofrece un sistema modular, flexible, potente y que posee una curva de aprendizaje muy suave para usuarios redactores, lo que lo capacita como una plataforma de desarrollo de cualquier tipo de solución web.  FUNCIONALIDAD
  • Amplia funcionalidad
Con el paso de los años TYPO3 ha crecido y se ha expandido rápidamente gracias a querer cumplir los requisitos de los clientes y de los usuarios finales. En respuesta a esas necesidades, una gran red de programadores y agencias de todo el mundo interesados en el desarrollo de TYPO3 han formado una comunidad fuerte, cuyas ideas son ampliamente debatidas e implementadas de forma rápida tanto en el núcleo de TYPO3 como en alguna de sus extensiones.La arquitectura modular de TYPO3 y la calidad de su código permite que los desarrolladores creen de forma rápida sus propias extensiones y las compartan con el resto del mundo gracias a un repositorio central, donde a día de hoy más de 4000 extensiones están disponibles de manera gratuita. Con unos pocos clics de ratón es posible instalar funcionalidades como noticias, calendarios, galerías de imágenes, buscadores y un largo etcétera.Si a pesar de todo se necesita una funcionalidad que no existe en el repositorio, TYPO3 provee a los desarrolladores de un framework para el desarrollo de aplicaciones propias. Mediante las extensiones “kickstarter” es posible extender el modelo de base de datos del sistema y crear esqueletos de aplicaciones PHP de forma rápida y efectiva, permitiendo un desarrollo rápido de aplicaciones.
  • Para editores de contenido:

    • Editor de texto enriquecido

    • Interfaz de usuario intuitiva

      La interfaz de edición de contenidos refleja la estructura real del sitio web, mostrando el árbol de páginas del mismo.

    • Interfaz de usuario configurable

      Un administrador puede personalizar los elementos que un editor de contenidos puede ver y utilizar, dejándole un control total o bien limitando al máximo las opciones disponibles para simplificar su trabajo.

    • Deshacer e historial

      TYPO3 guarda un historial de todas las ediciones que se realizan en un sitio web, permitiendo deshacer cambios hasta cualquier punto en el pasado.

    • Portapapeles
      Permite copiar y pegar contenidos, páginas y/o árboles de páginas completos, o cualquier otro elemento gestionable dentro del sistema.

    • Previsualización de contenidos

      Cualquier elemento de contenido que esté oculto puede ser visualizado por los editores y ver cómo quedará integrado en la web cuando sea activado.

    • Tiempo de aprendizaje reducido

      Editar contenido en TYPO3 es tan fácil como hacerlo en cualquier procesador de textos. Los elementos de navegación y sus enlaces son generados automáticamente por el sistema.

    • Motor de búsqueda interno

  • Para administradores del sitio web:

    • Múltiples sitios

      Una misma instalación de TYPO3 puede albergar múltiples sitios web.

    • Múltiples dominios

      Múltiples dominios pueden apuntar a un mismo sitio web dentro de una instalación de TYPO3, o bien cada dominio estar asociado a un sitio web diferente.

    • Gestión centralizada de usuarios y grupos editores

    • Cambio de usuario

      Un administrador puede acceder con un solo clic al entorno de edición como si fuese cualquier otro usuario, lo que permite comprobar posibles problemas o hacer comprobaciones de permisos de una forma efectiva.

    • Actualización e instalación de extensiones

      Se pueden instalar nuevas extensiones o actualizar las existentes de una forma sencilla utilizando el gestos de extensiones integrado.

  • Integración de plantillas

    • Lenguaje TypoScript

      Un lenguaje con amplia documentación disponible para el control de la integración de plantillas.

    • Sistema de plantillas orientado a diseñadores

      Las plantillas HTML pueden ser generadas con cualquier herramienta disponible como Dreamweaver antes de ser integradas en TYPO3. La integración de estas plantillas puede realizarse sin modificar el código de las mismas, facilitando la modificación de éstas tras la integración por los mismos diseñadores.

    • Generación de contenido con código adherido a estándares

      Todos los contenidos generados por los editores pueden cumplir con estándares como XHTML de forma automática.

    • Múltiples plantillas por sitio web

      Cada página generada puede estar asociada a una plantilla diferente, o todas las páginas estar asociadas a una única plantilla.

    • Herencia de plantillas

      No es necesario especificar explícitamente la plantilla que utiliza cada página. Por defecto una plantilla asignada a una página es usada por sus subpáginas si no se especifica lo contrario.

    • Generación dinámica de menús

      Todos los elementos de navegación pueden actualizarse automáticamente según el árbol de páginas activo.

  • Seguridad

    • Auditoría
      Todos los accesos al sistema, errores y cambios en los contenidos son auditados y pueden ser consultados por un administrador. Asimismo, todos los cambios sobre elementos de contenido pueden ser deshechos en cualquier momento.

    • Aprobación de contenidos

      Se pueden configurar sencillos flujos de trabajo para que el trabajo de un editor pueda ser revisado por una tercera persona antes de publicarse.

    • Privilegios de usuario

      Un administrador puede otorgar los derechos que sean necesarios de forma bastante precisa a los editores. Es posible limitar desde las zonas del árbol de páginas que pueden editar, los tipos de contenido e incluso individualizar los campos y botones a los que tienen acceso.

    • Autenticación con fuentes externas

      Es posible autenticar editores usando fuentes externas como LDAP, Active Directory, OpenID y/o integraciones con fuentes de datos propias sobre MySQL, Oracle y PostgreSQL, ente otras.

    • Compatible con SSL

      Se puede integrar SSL únicamente para el login, sólo para el backend o incluso mantener zonas del sitio web bajo SSL y otras fuera.

  • Adherencia a estándares

    • Accesibilidad / WAI

      Existe un grupo de trabajo dentro de la comunidad de desarrollo dedicado en exclusiva a que TYPO3 cumpla los estándares de accesibilidad. Es posible desarrollar sitios web garantizando accesibilidad de forma sencilla.

    • Sindicación de contenidos

      Exportación e importación de fuentes RSS.

    • Soporte UTF-8

    • Soporte WAP

    • Soporte PDF

    • Soporte XHTML

      El código HTML generado puede limpiarse de forma automática para asegurar cumplir XHTML, incluso si los editores incluyen contenido no válido.

    • Soporte XML

      Generación de contenido en formato XML, normalmente usado para integraciones con Flash.

  • Rendimiento

    • Caché avanzado

      El sistema mantiene una caché interna para los elementos de contenido, páginas y elementos de navegación.

    • Generación de cabeceras HTTP

      Es posible controlar la generación de cabeceras HTTP de control de la caducidad del contenido para aprovechar configuraciones de cacheado vía proxy.

  • Gestión de contenidos

    • Soporte multilenguaje

      Se puede generar cualquier sitio web en múltiples idiomas. Aparte, toda la interfaz del sistema y de las extensiones cuenta con una plataforma común de traducciones.

    • Múltiples plantillas para un mismo contenido

      Es posible generar para un mismo contenido varias presentaciones al vuelo. Por ejemplo, generando una salida en HTML estándar, otra optimizada para dispositivos móviles y otra para impresión.

    • Versionado
      Se pueden mantener indefinidas versiones de un mismo sitio web. Un editor puede trabajar en versiones diferentes y controlar lo que se publica en la versión visible de la página.

    • Generación de URLs amigables

    • Gestión de activos digitales

    • Portapapeles

    • Gestión automática de enlaces

    • Visibilidad del contenido

      Cualquier contenido o página puede ser ocultado o bien programada su visibilidad. Por ejemplo, es posible programar una página para que sea visible a partir de una fecha determinada.

    • Papelera de reciclaje

Fallos y/o carencias importantesTYPO3 permite implementar cualquier tipo de proyecto web sin limitar la creatividad en el desarrollo pero es complicado comenzar desde cero con él. No es tanto cuestión de complejidad ya que es posible usar un 80% de las funcionalidades de TYPO3 con solo estudiar un pequeño porcentaje de su documentación. Con TYPO3 es posible implementar un sitio web en menos de 5 minutos, pero hay que saber cómo hacerlo. La diferencia con otros paquetes como Wordpress o Drupal consiste en que con ellos se tiene de serie un sitio web funcionando nada más instalar el CMS, con TYPO3 esto no es tan evidente. La instalación es muy confusa y complicada para iniciados, tanto por código fuente como por paquetes “preinstalados” como los deb.No obstante es un problema reconocido y sobre el que se está avanzando de forma bastante rápida. La nueva versión 4.4 que saldrá a finales de Junio integrará numerosos avances, incluyendo una nueva versión de la herramienta de instalación mucho más amigable que la actual.USABILIDADDiseño de la interfaz El diseño de la aplicación contiene una interfaz web a priori fácil de usar, con todo accesible mediante clics, botones o pestañas. A la izquierda se mantiene un gran menú muy completo con todas las funcionalidades en forma de árbol, que puede resultar algo engorroso de descubrir al 100%. La vista central se mantiene para editar los contenidos y configurar opciones.Facilidad de usoLa clave del éxito de un CMS radica en que los administradores y los editores de contenido estén dispuestos a utilizarlo. En esto, la usabilidad es un factor clave, y en TYPO3 existe un equilibrio entre facilidad de uso y funcionalidades.Para administradores, TYPO3 ofrece herramientas para la creación de sitios web basados en plantillas HTML. Es posible definir qué partes de la plantilla albergarán el contenido dinámico y qué partes albergarán los elementos de navegación con un control total sobre el código generado. Todo se integra mediante un lenguaje llamado TypoScript, que permite una separación total del contenido y la presentación y está ampliamente documentado.Existen asistentes para crear sitios desde cero de forma sencilla e incluso para añadir nuevas funcionalidades extendiendo el sistema. TYPO3 ofrece muchas funcionalidades y esto implica cierta complejidad, aunque implementar un sitio básico resulta bastante sencillo.Para los editores de contenido el interfaz es muy sencillo y normalmente puede aprenderse en bastante poco tiempo - entre 30 minutos y varias horas - . Es posible realizar la edición de contenido desde el backend –que presenta toda la funcionalidad disponible– o directamente editar sobre la propia web, facilitando los retoques finales.TYPO3 ofrece a los editores todas las funcionalidades que típicamente contienen los procesadores de texto, como la posibilidad de utilizar portapapeles para copiar y pegar contenidos, y sobre todo la gestión automatizada de imágenes, evitando que el editor tenga que redimensionar o adaptar fotografías antes de poder utilizarlas para maquetar un sitio web, ahorrando así tiempo y complejidad. Accesibilidad TYPO3 no está dotado especialmente con funciones de fácil acceso para personas con problemas de accesibilidad de cualquier tipo. De todas formas la aplicación puede integrarse perfectamente con cualquier tecnología de asistencia del sistema operativo, y con cualquier opción relacionada con el navegador de internet.PORTABILIDAD / ADAPTABILIDADPlataformas disponibles TYPO3 es una aplicación servidor multiplataforma basada en PHP. Los requisitos son una base de datos –MySQL es la principal, aunque soporta otros sistemas como PostgreSQL y Oracle– y un servidor web que soporte PHP. La configuración más típica es un entorno LAMP (Linux + Apache + PHP + MySQL), aunque puede funcionar bajo otros sistemas operativos (Windows, Solaris,...), otros servidores web (Lighttpd, IIS, …) y otros sistemas de base de datos (PostgreSQL, Oracle, …). A nivel de cliente, TYPO3 puede ser accedido desde cualquier plataforma o sistema operativo, tan solo hace falta conexión a la red apropiada y un navegador de internet. Plugins TYPO3 cuenta con un gran repositorio de extensiones mantenidas por diferentes usuarios, que pueden visualizarse en su página dedicada [1]. Cada una puede estar en fase alpha, beta, experimental o estable, y se indica también la última vez que se actualizó. Hay más de 4.000 extensiones y se puede ordenar la lista por popularidad, destacando algunos como sistemas de noticias, blogs, calendarios, gestión de contactos, herramientas de envío de boletines por email, foros, gestión documental, encuestas, integración de vídeo y audio, gestión de suscripciones, tiendas, wikis e integraciones con servicios como Google Analytics y Google Sitemap. Otra cualidad muy buena es que gran cantidad de ellas tienen manual, aunque predominan en inglés. El sistema trae algunas ya integradas como es el editor html. La instalación de plugins dentro de una instalación de TYPO3 es realmente sencilla. Existe un administrador de extensiones integrado que permite, sin salir de TYPO3, buscar, descargar e instalar nuevos plugins, así como comprobar si existen actualizaciones de los módulos ya instalados. También es posible crear nuevos plugins de manera sencilla gracias a los asistentes “kickstarter”, y la posibilidad de publicarlas al repositorio central a través del propio administrador de extensiones, siempre que tengamos una cuenta de usuario en typo3.org que es gratuita.LICENCIA / DISTRIBUCIONLicenciaLa licencia de la aplicación es GPL v2 (GNU General Public License, version 2), cuyos términos se pueden consultar [2]. Resumidamente define a la aplicación como software libre, con libertad de uso, modificación y distribución.Forma de distribuciónLa aplicación está disponible para descargar de forma gratuita y libre en código fuente a través del portal oficial [3].Puede descargarse el código del programa (source) que actúa de núcleo, o el dummy que sería el esqueleto básico de una primera instancia o portal. Si se trata de una primera instalación, se recomienda bajar el pack conjunto, si se quiere actualizar la aplicación se recomienda bajar el source, y si se pretende crear un nuevo sitio se recomienda bajar el paquete dummy.Las descargas en código fuente son recomendadas para servidores donde la aplicación vaya a estar funcionando mucho tiempo y de forma estable. Para instalar de forma local, por ejemplo en un ordenador de prueba, se recomienda bajar uno de los instaladores disponibles [4].Existen para Windows, Mac OS X y un paquete .deb para distribuciones Linux Debian y derivadas. En éste último caso el paquete está incluido en la rama main de Debian y suele estar actualizado con la última versión. Estos instaladores son “no-oficiales” por lo que no se garantiza que estén continuamente actualizados y son mantenidos por usuarios. Como ventaja incluyen una instalación completa de Apache, PHP y MySQL. La consultoría y soporte pueden obtenerse independientemente a través de decenas de empresas en países de todo el mundo. En el portal de TYPO3 pueden consultarse la mayoría de empresas que ofrecen éstos servicios [5]. TYPO3 también cuenta con una tienda de merchandising [6].Licencia de módulos/extensiones Los plugins de TYPO3 comparten su misma licencia (GPL v2), por lo que se le aplican las mismas condiciones de software libre. RENDIMIENTOEquipo de pruebas Sistema operativo: Molinux 5.2 Montesinos Procesador: Dual-Core AMD Opteron 1218 Memoria: 2 GB de RAM Tarjeta Gráfica: nVidia Quadro FX 1500Consumo de memoria El rendimiento de una aplicación servidor como TYPO3 depende de varios factores que hacen difícil el hacer un análisis de consumo. Hay diversos factores a tener en cuenta como el tipo de servidor donde está instalado y su configuración, los recursos disponibles o la carga de trabajo. En el lado del cliente todo depende exclusivamente del explorador de internet que se utilice.Velocidad de ejecución En cuanto a velocidad hay que ceñirse a unas condiciones similares a las anteriores, ya que dependerá de la carga del servidor e incluso de la conexión a internet.DOCUMENTACION TYPO3 cuenta con una de las más amplias documentaciones de proyectos de código abierto. Lleva mucho tiempo solamente estructurar toda la información disponible y además existe a varios niveles: tutoriales básicos, estructura de la aplicación, desarrollos, administradores, etc. Por ello es necesario clasificar primero los portales disponibles. Página oficial de TYPO3, con información en general sobre la herramienta [7]. Página orientada a la comunidad y proyectos, para desarrolladores, administradores y seguir las listas de correo [8]. La Wiki de TYPO3 donde se recoge toda la documentación y se puede seguir fácilmente cualquier cambio. No está disponible en español, y es un recopilatorio de lo que puede encontrarse en typo3.org., aunque también se encuentran documentos sobre funcionalidades más recientes o incluso experimentales, que todavía no se han hecho un hueco en la documentación oficial. La información se clasifica en: inicio rápido, desarrolladores, administradores, editores, extensiones, FAQ's y HowTo's [9]. La documentación oficial para usuarios estaría recogida en el sitio web de documentación [10]. En la primera página se muestran algunos de los tutoriales destacables y sus idiomas disponibles, destacando el de inicio rápido y el de creación de plantillas en español. A la izquierda en el menú, se clasifican por tutoriales específicos (habiendo gran cantidad), guías de instalación, manuales de las extensiones y sobre el núcleo y funcionamiento de la aplicación. Hay una cifra nada despreciable de información pero muy poca se encuentra en español, y además lleva mucho tiempo estudiarla toda por lo que cada manual tiene un enfoque de usuario distinto. En cuanto a instalación es poca la información aportada teniendo en cuenta la dificultad del proceso, encontrando solo un manual genérico, y uno específico para SuSE, además de no encontrar en español. Se debe recurrir a tutoriales de usuarios en otros portales web si se desea instalar sin problemas y con información en español, aunque la fiabilidad no es la mejor de todas. Un ejemplo de instalación en español [11]. No toda la documentación está online. Existen en el mercado a día de hoy 14 libros publicados en alemán, 2 en inglés y 1 en Francés sobre TYPO3. También un punto negativo de la documentación es que no toda está actualizada y en según qué procesos la aplicación ha cambiado bastante en nuevas versiones. La documentación oficial se complementa con una serie de vídeo tutoriales, actualizados con bastante frecuencia, y que ofrecen información sobre características novedosas del sistema, buenas prácticas e incluso reportajes de los diferentes eventos de TYPO3 [12].COMUNIDADNúmero de usuariosAtendiendo a descargas que sirven como una estimación parcial, destacan las dos últimas versiones estables del código fuente desde la forja oficial, con 57.267 descargas de la versión 4.3.2, y 58.471 de la 4.3.1, ambas en apenas un mes de lapso de tiempo. Habría que sumar descargas desde otros portales y sobre todo de repositorios de paquetes “no oficiales” como son los de Debian. También deben tenerse en cuenta la gran cantidad de instalaciones a través de terceras empresas que se realizan.TYPO3 cuenta con una gran comunidad desarrolladora formada por voluntarios y empresas, y tiene incluso un portal exclusivo para la asociación de TYPO3 [13], donde se encuentra información sobre los miembros, donaciones y sponsors.Foros y portales de ayuda Existe un FAQ general que resuelve dudas acerca de la aplicación y su organización [14]. También puede obtenerse ayuda e información a través de la comunidad de desarrolladores [15]. Se incluyen canales de IRC, múltiples listas de correo con distinta temática, podcasts, eventos internacionales y blogs de la comunidad. Además TYPO3 tiene una red de empresas consultoras oficiales a las que acudir en busca de soporte [16]. Contribuciones Se puede contribuir de diversas formas con el proyecto de TYPO3: desarrollando extensiones, aportando documentación, traduciendo, testeando, ayudando a resolver problemas, entre otras muchas tareas. Todas las tareas de desarrollo pueden consultar en la página de desarrollo [17]. También se pueden consultar los “Teams” o equipos de trabajo de la comunidad, siendo los principales cerrados para profesionales, pero otros abiertos a colaboraciones [18]. Además el proyecto TYPO3 acepta donaciones [19].Frecuencia de versiones TYPO3 se encuentra en continuo desarrollo y aparecen nuevas versiones con alta frecuencia. En concreto en 2010 apareció la versión estable 4.3.1 en Enero, y en Febrero la 4.3.2, publicándose entre ambas versiones otras menores como la 4.2.11 o 4.2.12. Actualmente ya están trabajando en la versión 4.4 encontrándose dos versiones alpha de la misma. REFERENCIAS

[1] - http://typo3.org/extensions/repository/fulllist/ [2] - http://www.gnu.org/licenses/gpl-2.0.html [3] - http://typo3.org/download/packages/ [4] - http://typo3.org/download/installers/ [5] - http://typo3.org/community/service-offerings/ [6] - http://109827.spreadshirt.de/?sid=109827 [7] - http://www.typo3.com/ [8] - http://typo3.org/ [9] - http://wiki.typo3.org/index.php/Main_Page [10] - http://typo3.org/documentation/document-library/ [11] - http://mononeurona.org/pages/display/685 [12] - http://typo3.org/documentation/videos/ [13] - http://association.typo3.org/home/ [14] - http://typo3.org/about/faq/ [15] - http://typo3.org/community/about/ [16] - http://www.typo3.com/Consultancies.1248.0.html [17] - http://typo3.org/development/ [18] - http://typo3.org/teams/ [19] - http://typo3.org/donate/