Flat file CMS

Los flat file CMS son una variante relativamente nueva de los sistemas de gestión de contenidos que se erige como competidora para los CMS tradicionales como WordPress, Typo3 o Drupal. Estos sistemas se basan en los llamados flat files o archivos planos, es decir, archivos con una estructura muy sencilla, y plantean tanto ventajas como inconvenientes con respecto a los grandes rivales. A continuación explicamos cómo funcionan los CMS de archivos planos y detallamos los diferentes sistemas que ya están disponibles.

¿Qué son los archivos planos?

El flat file más sencillo que uno se pueda imaginar es un archivo de texto en formato TXT, que incluye contenido escrito sin ningún tipo de vínculos, índices o formato, pero también un archivo binario (binary file), donde el código también se escribe de una manera muy sencilla. Los archivos binarios son, además, los que fundamentan las bases de datos más simples. Las bases de datos flat file caben en un único archivo, al contrario que las complejas bases de datos relacionales, en las que los conjuntos de datos cuentan con vínculos, índices, jerarquías y formatos predeterminados, algo de lo que carecen las bases de datos de archivos planos, que sería el equivalente digital de una lista de la compra o las tarjetas perforadas. Para estos tipos de bases de datos se pueden utilizar diferentes formatos binarios y de texto plano. Un conocido ejemplo son los archivos CSV (comma-separated values), en los que la información en el conjunto de datos se separa con comas y el propio conjunto se cierra con un salto de línea, lo que pone de manifiesto que no hay jerarquías, sino solo una simple lista.

La ventaja de los archivos planos es que su estructura es sencilla. Puesto que los datos no están conectados entre sí, pueden crearse rápidamente y esta menor complejidad es la que disminuye el riesgo de errores. Los flat file CMS también utilizan este principio y ofrecen de esta forma un interesante polo opuesto con respecto a los pesados sistemas de gestión de contenidos clásicos.

¿Cómo funcionan los flat file CMS?

Los grandes CMS utilizan MySQL o sistemas similares de gestión de bases de datos en un segundo plano. Los sistemas de gestión de bases de datos (SGBD) actúan de manera relacional y trabajan con varias tablas para gestionar las consultas, para lo que necesitan un servidor adicional. Los flat file CMS no cuentan con elementos de gestión de bases de datos, por lo que es habitual hablar de ellos como CMS sin bases de datos. Con ello no hay lugar para los SGBD y tampoco para los servidores configurados a tales efectos. 

Los CMS de archivos planos se basan en una estructura de carpetas muy habitual: los webmasters cargan los archivos (HTML/PHP, multimedia y de texto) en el servidor, tras lo cual las páginas quedan prácticamente operativas. Las peticiones van a parar de manera directa a los archivos y no se distribuyen en MySQL. En este sentido, los desarrolladores depositan, por ejemplo, datos de acceso para cada usuario en archivos YAML separados. El nombre del archivo le permite al CMS encontrar estos datos. El contenido puede crearse de la misma forma: la idea es que los usuarios de los flat file CMS creen un archivo de texto o en lenguaje Markdown para cada entrada en el blog y la guarden en la carpeta adecuada, algo que también funciona sin interfaz de administrador, pues un editor de textos sencillo es suficiente para crear entradas.

Nota

Un editor de textos como Sublime Text no debe confundirse con un procesador de textos como Word. Los editores de textos suelen almacenar el texto introducido en formato de texto plano y se utilizan para crear y editar código fuente.

Ventajas e inconvenientes de los flat file CMS

Independientemente de la manera en que los webmasters quieran utilizar su CMS de archivo plano, estos sistemas pueden o bien erigirse como la solución perfecta o lograr simplicidad donde se necesita complejidad. Las ventajas de los sistemas de gestión de contenidos basados en archivos planos surgen en la mayoría de los casos de su estructura simple:

  • Velocidad: en el caso de los proyectos web de poca envergadura, una SGBD relacional excede el objetivo y no es realmente necesaria. Mediante la simplificación de la estructura en un sistema flat file se pueden lograr mejores tasas de velocidad.
  • Sencillez: las grandes bases de datos suelen tener una estructura compleja, compuesta por enlaces sobre enlaces. Cuando no se tiene mucha experiencia es fácil dar un paso en falso y provocar la caída de la base de datos como si se tratara de un castillo de naipes. Debido a que los flat file CMS se basan en una estructura sencilla de carpetas, es poco probable cometer un error fatal. Por ello, estos sistemas resultan adecuados para aquellos usuarios que ni están muy familiarizados con las bases de datos ni las necesitan realmente para sus proyectos.
  • Seguridad: cuanto más sencillo sea un sistema, más fácil es evitar errores, y es que la mayoría de percances ocurre al perder la visión global sobre la estructura porque es posible que se cuelen errores en la arquitectura y para encontrarlos y solucionarlos haya que invertir un gran esfuerzo. El mantenimiento de una estructura de carpetas sencilla en la que apenas haya ninguna interrelación es mucho más sencillo, lo que también se aplica a la seguridad externa, pues SQL es un blanco muy popular para ataques malintencionados. Los atacantes utilizan inyecciones SQL para filtrar comandos en la base de datos y así espiar y manipular información. Estas brechas de seguridad, sin embargo, no existen en los flat file CMS.
  • Back up: crear una copia de seguridad de un flat file CMS no puede ser más sencillo, y es que esto se realiza mediante la función de copiar y pegar. En el caso de los sistemas más complejos, la realización de copias de seguridad es una tarea diaria, pues con estas se guardan datos del sistema, la base de datos y todos los archivos integrados. Por el contrario, una solución flat file es suficiente para copiar todo e integrarlo en otra parte y para almacenar la información solo se necesita una memoria USB.
  • Traslado: cambiar de un servidor a otro en WordPress, Typo3 o Drupal es una tarea muy laboriosa. Lo que se dijo sobre el back up de un flat file CMS también tiene su validez para el traslado de la página web. Tan solo basta con copiar y pegar para que la página esté operativa en otro servidor.
  • Flujo de trabajo: cuando se utiliza un CMS clásico el contenido se edita en el backend. Por ello, para realizar cambios en un flat file CMS o crear contenido nuevo puedes recurrir a tu editor preferido.

Por otro lado, puede que un CMS de archivos planos no sea la mejor solución, de igual modo que lo que para tu proyecto pueda ser ventajoso, puede tener el efecto contrario para otros. Algunas de las desventajas que se plantean en este sentido son:

  • Velocidad: tan pronto como los datos excedan lo asumible, las peticiones más complejas se toman su tiempo. En estos casos, los SGBD son la opción adecuada, pues los accesos llevan al objetivo por medio de vínculos. En los flat file CMS, en cambio, se deben examinar todas las entradas una a una.
  • Ampliación del servidor: a causa de la estructura de carpetas, es necesario que todos los archivos estén disponibles a través de un servidor web. No es posible distribuirlos en varios servidores ni aunque se traten de grandes cantidades de datos ni por redundancia de datos.
  • Facilidad de uso: WordPress es muy popular debido, entre otras razones, a que no es necesario escribir sus líneas de código para publicar páginas web de calidad. Sin embargo, los CMS flat file se encuentran en una fase inicial y todavía no se ha invertido mucho trabajo en el desarrollo de su usabilidad. En su lugar, se trata más bien de mejorar la estabilidad, el rendimiento y la funcionalidad del propio CMS, por lo que la utilización de un flat file CMS requiere más trabajo manual. Quien tenga conocimientos sobre HTML, PHP, CSS y Markdown no tendrá ningún problema al utilizar un CMS flat file, aunque los usuarios de WordPress con menos experiencia se enfrentarán rápidamente a algunas dificultades.
  • Asistencia: las communities en torno a los sistemas planos todavía no cuentan con las dimensiones de las de los CMS tradicionales, lo que tiene ciertas repercusiones en la asistencia y en los conocimientos compartidos. Si ya hay una amplia base de usuarios, esto permite hallar una solución documentada y una persona de contacto para cualquier ámbito de aplicación.  
  • Temas y plugins: el pequeño grupo de usuarios de flat file CMS también se ocupa de que las extensiones sigan desarrollándose aunque sea en un ámbito muy específico, pero los CMS tradicionales ofrecen una gama mucho más amplia de temas y plugins con los que se puede ampliar la estructura de base.
  • Ámbitos de aplicación: un flat file CMS es difícil de adaptar a ciertas necesidades específicas, al contrario de WordPress gracias a los numerosos plugins para diversos ámbitos de aplicación (así se pueden crear páginas de WordPress en calidad de tiendas web o de communities). Los sistemas flat file no están destinados a tales efectos.

¿Qué flat file CMS se encuentran hoy en el mercado?

  • Kirby: para instalar este CMS, los usuarios tan solo tienen que cargar los archivos del starterkit en el propio servidor web (adicionalmente, es obligatorio instalar PHP en el servidor, al igual que en los proyectos anteriormente mencionados). Kirby lee la estructura de la página web a partir del nombre de la carpeta. Los textos pueden crearse por medio de Markdown, pero si resulta muy laborioso, existe la posibilidad de recurrir al panel de Kirby, una interfaz de administración similar a la de otros CMS. El programador (Kirby es un negocio unipersonal) del sistema requiere el pago de unas tasas por página web para utilizar el CMS. Mientras tanto, también existe un pequeño número de plugins y temas para la plataforma y, adicionalmente, el flat file CMS da la posibilidad de conectarse con posterioridad a una base de datos MySQL en caso de no necesitar una estructura más compleja. 
  • Statamic: la oferta de Statamic es algo más cara. El sistema está basado en archivos YAML, Markdown, HTML y PHP y el fabricante también facilita un panel para facilitar su manejo. Adicionalmente, Statamic recomienda la utilización de Redactor, un editor WYSISYG-HTML.
  • Grav: este producto es uno de los CMS de archivos planos más difundidos. El proyecto open source fue impulsado por RocketTheme, un proveedor de temas para CMS. Por ello no es sorprendente que en Grav se otorgue más importancia a la representación gráfica en comparación con la competencia. Como ejemplo, las imágenes pueden integrarse y editarse de forma óptima y la plataforma ofrece incluso filtros propios para fotos. A través de la implementación de Doctrine Cache, este CMS tiene un rendimiento muy bueno.
  • HTMLy: HTMLy también es un software open source centrado principalmente en los blogs que se remonta a los principios de WordPress. Así, este elegante CMS ofrece características muy similares, como widgets, gestión multiautor e integración de funciones para comentarios, que también están presentes en los grandes sistemas de gestión de contenidos. El panel de administración y el instalador web simplifican la creación y administración del sistema.
  • razorCMS: el británico razorCMS utiliza, en lugar de un panel de administración, una solución colocada en la página web. Esto significa que los usuarios pueden hacer cambios directamente en las páginas. Asimismo, también se puede iniciar sesión a través de una barra de control en la parte superior y plantea numerosas posibilidades, pues los bloggers pueden crear posts nuevos y modificar páginas. Además, este CMS es un sistema de código abierto disponible a través de GitHub.
Flat file CMS Panel de administración Temas Plugins Comercial  
Kirby Algunos Muy pocos  
Statamic Muy pocos Algunos  
Grav Algunos Muchos  
HTMLy Muy pocos  
razorCMS In-Page-Editing Muy pocos Muy pocos  
En resumen

Los sistemas de gestión de contenidos que se basan en el principio del archivo plano están a medio camino entre un CMS normal y una página estática. Antes de que los flat file CMS aparecieran en el mercado, a la hora de tomar una decisión bastaba con preguntarse si el contenido se modifica con frecuencia o si la página se mantiene estática. Los sistemas nuevos se encuentran entre ambas opciones y resultan muy adecuados para proyectos de pequeña envergadura, pues están pensados como una solución simplificada para la gestión de contenidos. En lo que respecta a la usabilidad, no obstante, están orientados más bien a usuarios capaces de manipular código. En la mayoría de los casos es necesario tener conocimientos sobre HTML, PHP o CSS, pero no sobre bases de datos, con lo que los webmasters pueden concentrarse en la configuración de la página web y beneficiarse del sistema.

Para los usuarios que solo necesitan una página empresarial estática o una única página en calidad de landing page puede que los generadores de páginas estáticas sean la opción adecuada. Muchos ámbitos de aplicación ya pueden cubrirse con generadores como el diseño modular de IONOS. Si se quiere trabajar con contenidos dinámicos pero en un contexto reducido, los sistemas flat file son una buena alternativa a los CMS más importantes.