Conforme una organización crece, es normal que su sitio web lo haga también. Es normal que estas organizaciones creen aplicaciones web complejas para facilitar el mantenimiento de sitios web grandes a diversidad de profesionales que necesitan publicar, algunos de los cuales pueden ser ajenos a los tecnicismos del web. Alguna vez una de estas organizaciones decidió comercializar las aplicaciones web propias para facilitar a otras empresas la administración de sus sitios web, lo que daría inicio a los sistemas de administración de contenido.
Un Sistema de Administración de Contenido (CMS, Content Management System) es una aplicación web que facilita a un conjunto de usuarios la publicación de contenido web. Entre otras características, el CMS almacena el contenido sin formato en una base de datos, y los estilos y el comportamiento en archivos que en conjunto se conocen como "tema" (theme). De esta forma, al contenido se le pueden aplicar diversidad de temas, lo que cambia la experiencia del usuario. El CMS se encarga de muchas funcionalidades típicas de un sitio web como, la administración de usuarios, respaldos del sitio, implementación de un buscador, administración de las zonas del sitio (encabezado, menú, pie de página), etc.
Una organización puede construir su sitio web estático, lo cual es relativamente rápido y eficiente en caso de sitios pequeños. Conforme el sitio crece, la necesidad de administrar contenido se hace imperante. La organización puede implementar varias aplicaciones o incluso un CMS propio; o bien utilizar uno existente. Un CMS existente será suficiente para administrar la mayoría, sino, todo el sitio web de la empresa. Sin embargo, los fabricantes de CMS tienen presente que la mayoría de sitios tienen secciones con necesidades muy particulares, por lo que diseñan los CMS genéricos con la capacidad de ser extendidos para comunicarse con otros sistemas existentes en la empresa o incluso facilitar la implementación de secciones del sitio web a la medida.
La cantidad de CMS genéricos o con un fin específico es abrumadora, como puede verse en la Wikipedia. Si un ente decide recurrir a uno de estos software deberá primero hacer una evaluación para identificar el más apropiado. En este capítulo se presenta Drupal.
Cuando se recurre a un CMS es porque se trata de un sitio web complejo. Lo primero que debe hacerse es averiguar, tener claro y documentar los hechos que explican el porqué el sitio web es necesario y qué se quiere satisfacer con él. Estos hechos definen la razón de ser del sitio web, casi nunca cambian en el tiempo y son en el futuro el material de referencia para decidir si un requerimiento es apropiado o aleja al sitio web de sus ideales. Serán la fuente de consulta para explicar a un nuevo profesional que se una a la organización la razón del sitio; y más. Por esto son ineludibles, a menos que se quiera un proyecto a merced de la deriva. No existe una convención para representar estos hechos, lo único importante es documentarlos de alguna manera que sea clara para todos los profesionales involucrados. Al menos se debe documentar lo siguiente.
El siguiente ejemplo muestra el propósito de un ambicioso sitio web (ficticio) para la Universidad de Costa Rica. Se omiten la lista de profesionales y el presupuesto del proyecto. Nótese que los objetivos de un sitio web dicen qué es lo éste debe hacer, no la forma en que se va a implementar. Los objetivos poco varían en el tiempo, están en términos del dominio del cliente y no en tecnicismos dependientes de la tecnología del momento.
Una vez que se tiene claro y documentado el propósito del sitio web (el qué), se inicia el levantado de atributos del sistema y requerimientos (el cómo); que son tareas muy específicas que el sitio web debe cumplir, normalmente acompañados de dibujos (wireframes) sobre la estructura que tendrá el sitio web. Los requerimientos son tangibles, medibles y dependientes de la tecnología, por lo que pueden variar en el tiempo. No es indispensable hacer un levantado exhaustivo de requerimientos al inicio, sino listar aquellos más importantes (de acuerdo a los objetivos) e iniciar un ciclo de desarrollo. Nuevos requerimientos se irán descubriendo sobre la marcha.
En caso de escogerse un CMS como parte de la solución, se instala éste y se inicia la fase de implementación. Se escogen módulos, se administran los usuarios, menúes, y tareas afines. Sólo hasta después de concluida esta fase, se trabaja con la interfaz gráfica, construyendo un tema en colaboración con los diseñadores gráficos. Por esta razón los temas provistos con la instalación de Drupal son poco llamativos, dado que están diseñados para enfocar a los profesionales en el contenido y no en la apariencia.
Una vez que el contenido y la apariencia están completos, se debe hacer una considerable cantidad de pruebas, preferiblemente automáticas. Luego se publica el sitio al mundo y se continúan las pruebas, mientras más contenido es agregado por empleados y visitantes.