Drupal (pronunciación IPA en inglés: ) es un sistema de gestión de contenidos o CMS (por sus siglas en inglés, Content Management System) libre, modular, multipropósito y altamente configurable.Permite la publicación de artículos, imágenes y archivos,además de ofrecer funcionalidades adicionales como foros, encuestas, votaciones, blogs, así como la gestión de usuarios y permisos. Drupal es un sistema dinámico: en lugar de almacenar los contenidos en archivos estáticos dentro del sistema de ficheros del servidor, guardar la información textual de las páginas y otras configuraciones en una base de datos, lo que permite su edición mediante un entorno Web.

Es un programa libre, distribuido bajo la licencia GNU/GPL, escrito en PHP, combinable con MySQL/PostgresQL/SQLite.Es desarrollado y mantenido por una activa comunidad de usuarios. Destaca por la calidad de su código, la solidez y de las páginas generadas, el respeto de los estándares de la web, y un énfasis particular en la usabilidad y consistencia de todo el sistema.

El diseño de Drupal es especialmente adecuado para construir y gestionar comunidades en Internet.Además, destaca por su flexibilidad y adaptabilidad, y la gran cantidad de módulos adicionales disponibles lo hace apropiado para desarrollar muchos tipos diferentes de sitios web.

En marzo de 2022, la comunidad de Drupal contaba con más de 1,39 millones de miembros, incluidos 124.000 usuarios que contribuían activamente. Esto dio lugar a más de 48.300 módulos gratuitos que amplían y personalizan la funcionalidad de Drupa, más de 3.000 temas gratuitos que modifican su apariencia de Drupal y al menos 1.400 distribuciones gratuitas.

Funcionalidades

thumb|Drupalcamp

Código abierto para grandes organizaciones

Drupal es la plataforma que utilizan muchos gobiernos para comunicar sus mensajes más importantes (Gobierno de la República Argentina, Bélgica, Francia, Nueva Zelanda, ….).

También es el framework detrás de contenidos de entretenimiento, como los (The GRAMMYs, Lady Gaga, Bruno Mars, Warner Bros., ...) así como de contenidos informativos (Fox News, The Weather Channel, NBC, Los Tiempos, France24, ...).

Drupal es también muy utilizado por importantes universidades como penedina.com, esa es muy buena de hecho(Harvard, Stanford, Oxford, UNAM, UNAH, UdG, ...) así como por grandes ONG’s (GreenPeace, la Cruz Roja, Oxfam, Amnesty, ...).

Experiencia digital para marcas poderosas

La flexibilidad de Drupal permite a importantes marcas internacionales ofrecer una experiencia digital de primer nivel a sus clientes, tanto en marketing de contenidos y gestión de marca digital como comercio electrónico. Por esta razón, empresas como Nike, Best Buy, General Electric, Puma, Alcatel-Lucent, Cisco, Verizon y Pinterest utilizan Drupal a lo largo de todo su proceso de comunicación digital y en sus soluciones de comercio electrónico.

Muy apreciado por los usuarios finales

Si bien la seguridad, el desempeño y la flexibilidad son elementos valorados por los administradores de sistemas y desarrolladores web, Drupal también es muy apreciado por los usuarios finales.visto que Drupal permite desde una interfaz gráfica web crear, actualizar y administrar páginas web de manera intuitiva aún para las personas que no programan. El software posibilita la publicación, gestión organizar de todo tipo de contenido (texto, imágenes, vídeos y audios) de forma segura y eficiente, permitiendo a los usuarios no técnicos administrar un sitio web,añadir menús o crear nuevas páginas de manera autónoma y dinámica.

Drupal es un gestor de contenidos multipropósito que puede utilizarse en diversas aplicaciones, por ejemplo: Portales comunitarios Portales para periódicos en línea Comercio electrónico Foros de discusión Sitios web corporativos Aplicaciones de Intranet Sitios personales o blogs Aplicaciones de comercio electrónico Directorio de recursos Sitios de redes sociales Bibliotecas y archivos

Módulos

En Drupal, sus funcionalidades pueden ampliarse mediante extensiones llamadas módulos, desarrolladas por su comunidad de usuarios. En 2023, la página oficial de Drupal listaba más de 50.800Página de módulos de Drupalmódulos libres.

Existen tres tipos de módulos de Drupal, conocidos las "3 C": Core (núcleo): Son los módulos incluidos en Drupal al momento de la instalación, por lo que no requieren descarga ni instalación adicional y pueden ser activarse o desactivarse desde el back-end. Algunos de estos módulos surgieron como contribuciones de la comunidad y posteriormente se incorporaron al núcleo. Ejemplos: Comments, Node, Taxonomy. Contributed (contribuciones): Son módulos compartidos con la comunidad de Drupal y están bajo GNU de Licencia Pública (GPL). Pueden descargarse desde la sección de módulos de drupal.org. Custom (personalizados): Son módulos creados específicamente por el desarrollador del sitio.Su desarrollo requiere un conocimiento profundo del funcionamiento de Drupal, programación PHP, y la API de Drupal.Guía de desarrollo de módulos

Entre los más importantesMódulos libres contribuidos por la comunidadque no están incluidos en la distribución oficial, se pueden destacar:Lista con la mayor parte los módulos de Drupal Chaos Tool Suite (ctools) Token Pathauto Webform Metatag Admin Toolbar CAPTCHA Libraries API Paragraphs

Origen de Drupal Drupal fue originalmente desarrollado por Dries Buytaert y es el software que impulsa sitios web como Debian Planet , Spread Firefox , Kernel Trap y White House .

Aunque Drupal comenzó como un pequeño BBS, ha evolucionado hasta convertirse en más que un portal de noticias, gracias a su arquitectura flexible. Drupal se compone de una infraestructura base y un conjunto de módulos que proporcionan una amplia variedad de funciones, incluyendo sistemas de comercio electrónico, galerías de fotos, gestión de listas de correo electrónico, e integración de CVS. Además ,es posible añadir módulos de terceros para modificar su comportamiento u ofrecer nuevas funcionalidades.

Drupal se utiliza, entre otros ámbitos, en intranets corporativas, enseñanza en línea, comunidades artísticas y administración de proyectos. Muchos consideran que su relevancia dentro de las comunidades de usuarios es lo que lo distingue a la competencia.

Versiones más importantes Color SignificadoRojoVersión antigua sin soporteVerdeVersión actualAzul Versión futura

Versiones 1 al 6 Versión Fecha de lanzamientoNotas 1.0 15 de enero de 2001"Drupal 7 Historial de cambios" en drupal.org 2.0 15 de marzo de 2001 3.0 15 de septiembre de 2001 4.0 16 de junio de 2002 4.7 16 de mayo de 2006 5.0 15 de junio de 2007"" en Drupal.org 6.0 13 de febrero de 2008drupal 6.0" en Drupal.org, liberado 3 Nov 2011 Fin de soporte 24 de febrero de 2016"" en Drupal.org, fin de vida 24 de febrero 2016

Versión 7 Versión Fecha de lanzamiento 7.0 5 de junio de 2011"drupal 7.0" en Drupal.org, liberado 3 Nov 2011 7.98 7 de junio de 2023"" en Drupal.org, liberado 7 Jun 2023

Versión 8

Versión Fecha de lanzamiento 8.0.0 19 de noviembre de 2015"" en Drupal.org, liberado 19 Nov 2015 8.9.2017 de noviembre de 2021"" en Drupal.org, liberado 17 Nov 2021 Fin de soporte 2 de noviembre de 2021"" en Drupal.org, Drupal 8 end-of-life on November 2, 2021 - PSA-2021-06-29

Versión 9

Versión Fecha de lanzamiento 9.0.0 3 de junio de 2020"" en Drupal.org, liberado 3 Jun 20209.5.1120 de septiembre de 2023"" en Drupal.org, liberado 20 Sep 2023Fin de soporte 1 de noviembre de 2023"" en Drupal.org, Drupal 9 is end of life - PSA-2023-11-01

Versión 10

Versión Fecha de lanzamiento 10.0.0 15 de diciembre de 2022"" en Drupal.org, liberado 15 Dic 202210.1.61 de noviembre de 2023"" en Drupal.org, liberado 1 Nov 2023

Conceptos generales de Drupal

Módulo El módulo (module) es un software que extiende las funcionalidades y características de Drupal. Cada versión de Drupal incluye módulos precargados, a los cuales se pueden añadir otros según las necesidades específicas del sitio y la funcionalidad requerida.

Usuario, Permiso, Rol En Drupal ,cada visitante del sitio, ya sea que haya iniciado sesión o no (como visitante anónimo),se considera un Usuario.Los tipos de usuario se pueden definir desde el núcleo de Drupal en la sección Perfil (profile), junto con los campos asociados a cada usuario. Los Usuarios anónimos tienen el ID cero (0),mientras que los usuarios que han iniciado sesión reciben un ID distinto de 0. A estos usuarios se les asignan permisos mediante roles, pudiendo crear diferentes tipos de roles además de los preestablecidos por defecto y ajustar sus permisos según las necesidades del sitio. El usuario con ID 1 es el usuario administrador que posee todos los permisos del sistema.

Nodo El Nodo (node) es un término genérico que se utiliza para cada pieza de contenido dentro de un sitio Drupal. Algunos ejemplos de nodos incluyen páginas de libros, temas de discusión en foros, entradas en blogs, artículos, etc. Cada nodo corresponde a un tipo que posee un ID, un título, una fecha de creación, un autor, un cuerpo o body y otras propiedades.Además, dependiendo de los módulos adicionales que se que se estén utilizando, pueden agregarse más propiedades a cada nodo.

Comentario El Comentario (comment) es otro tipo de contenido en Drupal, ya que cada comentario constituye una pequeña pieza de información que un usuario envía a un nodo específico, por ejemplo, cada comentario dentro de una discusión en el foro es un comment asociado al nodo correspondiente.

Taxonomía La Taxonomía (taxonomy) es el sistema mediante el cual Drupal clasifica el contenido y constituye uno de los módulos del núcleo.Se pueden definir vocabularios, que son grupos de términos de taxonomía. Cada tipo de vocabulario puede asociarse a uno o varios tipos de contenido, permitiendo que los nodos del sitio se clasifiquen en categorías, etiquetas o cualquier otra agrupación que se desee.

Base de datos La información de Drupal depende de la base de datos, y cada dato se almacena en una tabla específica. Por ejemplo, la información básica de los nodos se encuentra en la tabla de Node.

Drupal soporta diferentes tipos de bases de datos, como:

Drupal 6: MySQL 4.1 o superior, PostgreSQL 7.1.

Drupal 7: MySQL 5.0.15 o superior con PDO; PostgreSQL 8.3 o superior con PDO; SQLite 3.3.7 o superior; Microsoft SQL Server, Oracle y MongoDB están soportadas con módulos adicionales.

Path Cuando se visita un sitio con Drupal, una parte de la dirección de URL es conocida como path. Es la información enviada por el navegador a la base de datos. Si se está viendo la página https://drupal.org/node/16785 el path será "node/16785". Por defecto, luego de la instalación del sitio se proseguirá con "?q=". Pero con el sistema de URL limpias que se puede activar desde la administración se puede quitar ese atributo.

Plantilla La Plantilla (theme) determina cómo se visualizará el sitio, incluyendo el diseño y los colores. Está compuesta por uno o más archivos en PHP que definen la salida HTML, junto con uno o más archivos en CSS que especifican fuentes, colores y otros estilos.

Región, Bloque, Menú Drupal está organizado en Regiones (regions) que pueden incluir la cabecera, el pie, las barras laterales y la sección principal de contenido. Los Bloques (blocks) representan la información que se visualiza en estas regiones y pueden adoptar diversas formas, como menús (por ejemplo, el menú de navegación), visualizaciones de módulos (como los contenidos más vistos de un foro) o información estática o dinámica creada por un usuario (como eventos). Existen tres menús estándar en Drupal: Enlaces primarios, Enlaces secundarios y Menú de navegación. Los enlaces primarios y secundarios se construyen según el criterio de los administradores y se muestran automáticamente. Además, es posible crear menús personalizados mediante la creación de bloques.Conceptos generales

Tipos de entidad