Drupal

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Drupal
Druplicon.vector.svg
Drupal 7 screenshot.png
Página home de una instalación Drupal 7
Desarrollador(es)
Dries Buytaert
drupal.org
Información general
Lanzamiento inicial 1 de enero de 2001
Última versión estable 8.2.1
11 de octubre de 2016 (1 mes y 23 días)
Género Sistema de gestión de contenido, entorno de desarrollo para gestión de contenido y software para blogs
Programado en PHP
Sistema operativo Multiplataforma
Licencia GPLv2/GPLv3
Estado actual Activo
En español
[editar datos en Wikidata]

Drupal (pronunciación IPA en inglés: [druː pʰʊɫ]) es un sistema de gestión de contenidos[1] o CMS (por sus siglas en inglés, Content Management System) libre, modular, multipropósito y muy configurable que permite publicar artículos, imágenes, archivos y que también ofrece la posibilidad de otros servicios añadidos como foros, encuestas, votaciones, blogs y administración de usuarios y permisos. Drupal es un sistema dinámico: en lugar de almacenar sus contenidos en archivos estáticos en el sistema de ficheros del servidor de forma fija, el contenido textual de las páginas y otras configuraciones son almacenados en una base de datos y se editan utilizando un entorno Web.

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

El diseño de Drupal es especialmente idóneo para construir y gestionar comunidades en Internet, también destaca por su flexibilidad y adaptabilidad, así como la gran cantidad de módulos adicionales disponibles, hace que sea adecuado para realizar muchos tipos diferentes de sitio web.[2]

Funcionalidades[editar]

Código abierto para grandes organizaciones

Drupal es la plataforma que muchos gobiernos utilizan para comunicar sus mensajes más importantes (La Casa Blanca, Gobierno del Reino Unido, Bélgica, Francia, Nueva Zelanda, ….).

Es también el framework para los contenidos que entretienen (The GRAMMYs, Lady Gaga, Bruno Mars, Warner Bros., ...) y para los contenidos de alto valor informativos (Fox News, The Weather Channel, NBC, Los Tiempos, France24, ...).

Drupal es muy utilizado por importantes universidades (Harvard, Stanford, Oxford, UNAM, UdG, ...)  o grandes ONG’s (GreenPeace, la Cruz Roja, Oxfam, Amnesty, ...) 

Experiencia digital para marcas poderosas

La flexibilidad de Drupal permite a poderosas marcas internacionales entregar una experiencia digital de primer nivel a sus clientes tanto a nivel del marketing de contenidos, gestión de marca digital como a nivel de comercio electrónico. Es por ello que 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 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 los desarrolladores web, Drupal es muy apreciado por los usuarios finales visto que Drupal permite desde una interface gráfica web crear, actualizar y administrar páginas web de manera intuitiva aún para las personas que no programan. Este software permite publicar, administrar y organizar todo tipo de contenido (texto, imágenes, vídeos y audios) en forma muy segura, sin necesidad de programar, lo que permite a los usuarios no informáticos administrar una página web, añadir un menú o crear nuevas páginas en forma autónoma, eficiente y dinámica.

Drupal es un gestor de contenidos multipropósito que puede usarse para aplicaciones como 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[3]

Módulos[editar]

En Drupal se pueden ampliar sus funcionalidades mediante extensiones llamadas módulos programados por su comunidad de usuarios. En agosto de 2012 en la página oficial de Drupal se listan 17,644[4] módulos libres.

Existen tres tipos de módulos de Drupal, llamadas las "3 C":

  • Core (núcleo): son los módulos provistos por Drupal al instalarse, por lo cual no requieren ser descargados ni instalados independientemente y pueden ser activados o desactivados desde el back-end. Algunos de ellos fueron contribuciones de la comunidad de Drupal que se incorporaron. Ejemplos: Comments, Node, Taxonomy
  • Contributed (contribuciones): son los módulos que son compartidos para la comunidad de Drupal, están bajo GNU de Licencia Pública (GPL). Se pueden descargar desde la sección de descarga de módulos de drupal.org.
  • Custom (personalizados): son los módulos creados por el desarrollador del sitio. Para crearlos se requiere un conocimiento profundo del funcionamiento de Drupal, programación PHP, y la API de Drupal. [5]

Entre los más importantes[6] que no están incluidos en la distribución oficial, se pueden destacar:[7]

  • Views
  • Content Construction Kit (CCK)
  • Token
  • Pathauto
  • FileField
  • Administration menu
  • ImageField
  • ImageAPI
  • ImageCache
  • WYSIWYG

Origen de Drupal[editar]

Drupal fue originalmente escrito por Dries Buytaert y es el software usado para impulsar por ejemplo a los sitios web Debian Planet [27], Spread Firefox [28], Kernel Trap [29] y White House [30].

A pesar de que empezó como un pequeño BBS, Drupal ha llegado a ser mucho más que sólo un portal de noticias gracias a su arquitectura flexible. Drupal se compone de una infraestructura base y un conjunto de módulos que ofrecen un amplio conjunto de funciones, incluyendo sistemas de comercio electrónico, galerías de fotos, administración de listas de correo electrónico, e integración de CVS. Es posible añadir módulos de terceros para modificar el comportamiento de Drupal u ofrecer nuevas funciones.

Drupal se usa, entre otros, en intranets de compañías, enseñanza en línea, comunidades de arte y administración de proyectos. Muchos piensan que la relevancia de Drupal en las comunidades de usuarios es lo que lo hace destacarse de la competencia.

Versiones más importantes[editar]

Color Significado
Rojo Versión antigua sin soporte
Verde Versión actual
Azul Versión futura

Versiónes 1 al 6[editar]

Versión Fecha de lanzamiento Notas
1.0 15 de enero de 2001[8]
2.0 15 de marzo de 2001[8]
3.0 15 de septiembre de 2001[8]
4.0 16 de junio de 2002[8]
4.5 16 de octubre de 2004[8]
4.6 16 de abril de 2005[8]
4.7 16 de mayo de 2006[8]
5.0 15 de junio de 2007 [9]
6.0 13 de febrero de 2008[10] Fin de soporte 24 de febrero 2016[11]

Versión 7[editar]

Versión Fecha de lanzamiento
7.0 5 de junio de 2011[12]
7.32 15 de octubre de 2014[13]
7.33 7 de noviembre de 2014[14]
7.34 19 de noviembre de 2014[15]
7.38 17 de junio de 2015[16]
7.39 19 de agosto de 2015[17]
7.40 14 de octubre de 2015[18]
7.41 21 de octubre de 2015[19]
7.44 15 de junio de 2016[20]
7.50 7 de julio de 2016[21]

Versión 8[editar]

Versión Fecha de lanzamiento
8.0.0 19 de noviembre de 2015[22]
8.0.1 2 de diciembre de 2015[23]
8.0.2 6 de enero de 2016[24]
8.0.3 3 de febrero de 2016[25]
8.0.4 24 de febrero de 2016[26]
8.0.5 2 de marzo de 2016[27]
8.1.0 20 de abril de 2016[28]
8.1.3 15 de junio de 2016[29]
8.1.7 18 de julio de 2016[30]
8.1.9 7 de septiembre de 2016[31]
8.2.0 5 de octubre de 2016 [32]
8.2.1 11 de octubre de 2016 [33]
8.3.0 5 de abril de 2017*
* Fechas aproximadas de lanzamiento [34]

Conceptos generales de Drupal[editar]

Módulo[editar]

El módulo (module) es un software que extiende las funcionalidades y/o características de Drupal. Viene con módulos precargados según la versión, a los cuales se les puede añadir los que se necesite según la funcionalidad que tenga el sitio.

Usuario, Permiso, Rol[editar]

Cada visitante del sitio que tenga ingreso al mismo o no (como visitante anónimo) es considerado un Usuario para Drupal. Se pueden definir los tipos de usuario desde el núcleo de Drupal en la parte de Perfil (profile) y los campos asociados a cada usuario. Los Usuarios anónimos tendrán el ID cero (0), mientras que los que se encuentran registrados el ID uno (1). A estos usuarios se les asignará los Permisos por medio de Roles, pudiendo crear diferentes tipos de roles además de los preestablecidos por defecto, para luego agregarle o quitarle permisos según la necesidad del sitio.

Nodo[editar]

El Nodo (node) es un término genérico para cada pieza de contenido del sitio. Algunos ejemplos de nodos pueden ser: páginas en libros, temas de discusión en foros, entradas en blogs, nuevos artículos, etc. Cada nodo será un tipo de contenido que tendrá un ID, un título, una fecha de creación, un autor, un cuerpo o body y otras propiedades, también según qué otros módulos se encuentre usando agregará más propiedades a cada nodo.

Comentario[editar]

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

Taxonomía[editar]

La Taxonomía (taxonomy) es el sistema mediante el cual Drupal clasifica el contenido y es uno de los módulos del núcleo de Drupal. Se pueden definir los vocabularios propios como grupos de términos de taxonomía. Cada tipo de vocabulario puede ser agregado como uno o más tipos de contenido y por ello, los nodos en el sitio pueden ser clasificados según agrupaciones en categorías, etiquetas o como cualquier cosa que se elija.

Base de datos[editar]

La información de Drupal depende de la base de datos, cada información se encuentra en una tabla dentro de la base de datos. 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[editar]

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 http://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[editar]

La Plantilla (theme) controlará cómo se visualizará el sitio, el diseño y los colores. Consiste en uno o más archivos en PHP que definen la salida HTML, con uno o más archivos en CSS definiendo las fuentes, colores y otros estilos.

Región, Bloque, Menú[editar]

Drupal se encuentra dividido en Regiones (regions) que pueden incluir la cabecera, el pie, las barras laterales, la sección principal de contenido. Los Bloques (blocks) es la información que se visualiza en las diferentes regiones, pudiendo tomar la forma de menús (como el menú de navegación) o visualizaciones de módulos (como los contenidos más vistos del foro) o información estática o dinámica que fue creada por un usuario (como eventos). Existen tres menús estándar en Drupal: Enlaces primarios, Enlaces secundarios y Menú de navegación. Los primarios y secundarios son construidos a criterio de los administradores y mostrados automáticamente. También se pueden crear menús personalizados mediante la creación de bloques.[35]

Tipos de entidad[editar]

Un tipo de entidad (Entity types) es una abstracción para agrupar campos; son usados para guardar y mostrar datos, como pueden ser nodos, comentarios, términos taxonómicos, perfiles de usuarios, o algún desarrollo personalizado.

Novedades en Drupal 7[editar]

Requerimientos mínimos del sistema

  • Base de datos: MySQL 5.0.15 o PostgreSQL 8.3
  • PHP Versión: 5.2 o superior
  • PHP Memoria: 40 MB - 64 MB

En cuanto a la seguridad se reformaron las tareas programadas como el "cron.php", el ingreso como usuario y el sistema de contraseñas, también la actualización de los módulos. Se agregaron más tareas administrativas desplegables, las tareas programadas del Cron se realizan desde la administración sin necesidad de scripts en el servidor web, se rediseñó la fortaleza de la contraseña entre otras cuestiones.

En la base de datos se agregó los INSERT, UPDATE, DELETE, MERGE, y SELECT y se agregó soporte para las bases de datos SQLite. Se incluye la ayuda de las aplicaciones dentro del núcleo de Drupal. Se eliminaron las plantillas de "Bluemarine", "Chameleon" y "Pushbutton" y se incorporan las nuevas llamadas "Bartik" para la vista de usuario, "Seven" para la administración y "Stark".

Se actualiza el núcleo de JavaScript a jQuery versión 1.4.2 y también actualiza la librería de jQuery a la versión 2.36 y se añade jQuery UI 1.8.[36]

Novedades en Drupal 8[editar]

Drupal 8 fue lanzado oficialmente el 19 de noviembre de 2015, luego de 5 años de desarrollo en el que participaron más de 3300 colaboradores.

Novedades Drupal 8.0[editar]

  • Implementación de WYSIWYG en la edición y previsualización
  • Accesibilidad mejorada
  • Actualizado a jQuery 2.1.4 y jQuery UI 1.11.4.
  • Nuevo concepto de “modulo experimental”, módulos que todavía no son totalmente compatibles o están a prueba.
  • Personalización de la página de contenidos y administración usando la interfaz administrativa.
  • Traducción y localización completa lista para usarse
  • Completo modelado de entidades, campos y vistas
  • Adaptación a cualquier dispositivo usando salidas HTML5, diseño adaptativo y con filosofía Mobile-first.
  • Integración nativa de servicios web REST
  • Gestión mas confiable para el despliegue seguro y sencillo de cambios entre los entornos
  • Rendimiento mejorado en el front-end
  • Mejoras en el sistemas de caché, incluidos CDNs y proxies inversos
  • Nuevo sistema de tutoriales de ayuda llamados Recorridos (Tours)
  • Compatibilidad total con PHP7, PostgreSQL y bases de datos SQLite
  • Integra librerias populares como composer, symfony 2, Guzzle, y Twig en su núcleo (core)
  • CSS3 y HTML5 soortado de forma nativa.[37]

Novedades Drupal 8.1[editar]

  • Interfaz de usuario para la migración desde la versiones 6 y 7 hacia Drupal 8. (Modulo experimental)
  • Implementación de la técnica BigPipe inventada por Facebook, una avanzada estrategia de procesamiento de página que permite mejorar el rendimiento de la carga de contenido no dinámico o no almacenable en cache. (Modulo experimental)
  • Permite usar el corrector ortográfico del navegador en la edición WYSIWYG. Además incorpora un botón que permite agregar la etiqueta de lenguaje a un fragmento del texto, es útil para la accesibilidad y el procesamiento de la máquina.
  • Inclusión en el resumen de ayuda administrativa de los Tours de ayuda implementados en la version 8.0
  • Renderizado de entidades en campos de las vistas
  • Soporte para pruebas automatizadas de JavaScript
  • Soporte mejorado de Composer
  • Mejoras en la API para desarrolladores. [38]

Novedades Drupal 8.2[editar]

La versión fue lanzada el 5 de octubre de 2016. Cuenta con las siguientes novedades:

  • Nuevo módulo que permite colocar un bloque en cualquier página y visualizar como se mostrará sin la necesidad de ir al formulario de administración en el back-end. (Modulo experimental)
  • Nuevo módulo para mostrar mensaje de error inline en los formularios. (Modulo experimental, posiblemente sea removido en la versión 8.3 ya que aún presenta muchos problemas sin resolver)
  • Nuevo módulo para moderar el contenido del sitio, por ejemplo permitirá definir si un contenido es un borrador, esta archivado o es publicado y quienes tienen la facultad de modificar el estado de estos contenidos. (Modulo experimental)
  • Nuevo módulo para modificar elementos de la página desde el front-end como bloques. (Modulo experimental)
  • Nuevo módulo que define un nuevo tipo de campo con rangos de fecha (fechas que contienen una fecha de inicio y una fecha de fin). (Modulo experimental).

Iniciativas durante el desarrollo[editar]

Algunas iniciativas (oficiales) llevadas a cabo en su desarrollo: [39]

  • Web Services (WSCCI); Esta iniciativa plantea convertir drupal en un sistema REST lo que implica que drupal podría devolver el contenido de una llamada ya no como una página HTML, sino como valores JSON o XML.
  • Configuration Management (CMI) Para proveer de un mecanismo unificado para exportar e importar el contenido y las configuraciones de un sitio en drupal de forma robusta y centralizada.
  • HTML 5; Esta iniciativa buscar integrar mucho más a Drupal con el estándar HTML 5.
  • Layouts: Trata de convertir todos los elementos de una página en bloques que puedan organizados dentro de una disposición (layout)flexibles.
  • Mobile; Busca acercar Drupal al mundo de los dispositivos móviles con elementos de HTML 5 e interfaces para trabajar desde pantallas pequeñas...
  • Multilingual; Esta iniciativa busca unificar todos los sistemas de traducción de contenido.

Requerimientos mínimos del sistema[editar]

Base de datos:

  • MySQL 5.5.3/MariaDB 5.5.20/Percona Server 5.5.8 o superior con PDO y un motor de almacenamiento primario compatible con InnoDB,
  • PostgreSQL 9.1.2 o superior con PDO
  • SQLite 3.7.11 o superior

PHP:

  • PHP 5.5.9 o superior

Requerimientos mínimos del navegador[editar]

Para visualizar un sitio creado en Drupal (con solo los módulos del núcleo y sin agregados de terceros) es suficiente usar cualquier navegador moderno que soporte CSS y JavaScript. Sin embargo, los navegadores cumplen en diferentes niveles los estándares web lo que provoca que existan pequeñas diferencias en cómo se visualiza el sitio de un navegador a otro. Los siguientes navegadores soportan todas las caracteristicas de Drupal:

Drupal también puede funcionar correctamente en navegadores que no cuenten con JavaScript o lo tengan desactivado, como así también si no soportan CSS, pero consecuentemente el aspecto y la funcionalidad serán diferentes.

Distribuciones en DRUPAL[editar]

Una Distribución Drupal consiste en un paquete de diferentes módulos Drupal preconfigurados y/o modificados y que dan solución a una necesidad específica. La ventaja de trabajar con distribuciones es la facilidad en tener una solución completa funcionando en poco tiempo y poder seguir contando con la flexibilidad de Drupal que permite agregar nuevos módulos y reconfigurar los existentes. Las distribuciones más conocidas son:

  • Open Publish Distribución orientada a publicaciones de contenido multimedia como diarios, revistas, sitios multimedia, radios online , etc openpublishapp.com
  • Drupal Commons una distribución creada para gestionar intranets, grupos de trabajo o comunidades virtuales www.acquia.com
  • Open Atrium es una herramienta pensada para el trabajo colaborativo openatrium.com
  • Managing News, es un gestor de noticias RSS con diversas funcionalidades managingnews.com
  • Open Public es una distribución orientada a sitios oficiales y/o políticos. Su principal función es que los sitios sean seguros, ampliables y transparentes. openpublicapp.com

Véase también[editar]

Referencias[editar]

  1. «About». Drupal.org. Consultado el 13 de octubre de 2016. 
  2. Sobre Drupal en Drupal Hispano
  3. Tramullas, Jesús (2010). Drupal para bibliotecas y archivos. Zaragoza: Fund. Zaragoza Ciudad del Conocimiento. 
  4. Página de Drupal
  5. Guía de desarrollo de módulos
  6. Módulos libres contribuidos por la comunidad
  7. Lista con la mayor parte los módulos de Drupal
  8. a b c d e f g "Drupal 7 Historial de cambios" en drupal.org
  9. "[1]" en Drupal.org
  10. drupal 6.0" en Drupal.org, liberado 3 Nov 2011
  11. "[2]" en Drupal.org, fin de vida 24 de febrero 2016
  12. "drupal 7.0" en Drupal.org, liberado 3 Nov 2011
  13. "[3]" en Drupal.org, liberado 15 Oct 2014
  14. "[4]" en Drupal.org, liberado 7 Nov 2014
  15. "[5]" en Drupal.org, liberado 19 Nov 2014
  16. "[6]" en Drupal.org, liberado 17 Jun 2015
  17. "[7]" en Drupal.org, liberado 19 Ago 2015
  18. "[8]" en Drupal.org, liberado 14 Oct 2015
  19. "[9]" en Drupal.org, liberado 21 Oct 2015
  20. "[10]" en Drupal.org, liberado 15 June 2016
  21. "[11]" en Drupal.org, liberado 7 July 2016
  22. "[12]" en Drupal.org, liberado 19 Nov 2015
  23. "[13]" en Drupal.org, liberado 2 Dic 2015
  24. "[14]" en Drupal.org, liberado 6 Ene 2016
  25. "[15]" en Drupal.org, liberado 3 Feb 2016
  26. "[16]" en Drupal.org, liberado 24 Feb 2016
  27. "[17]" en Drupal.org, liberado 2 Mar 2016
  28. "[18]" en Drupal.org, liberado 20 April 2016
  29. "[19]" en Drupal.org, liberado 15 June 2016
  30. "[20]" en Drupal.org, liberado 18 July 2016
  31. "[21]" en Drupal.org, liberado 9 September 2016
  32. "[22]" en Drupal.org, liberado 5 de octubre 2016
  33. "[23]" en Drupal.org, liberado 11 de octubre 2016
  34. "[24]" en Drupal.org, ciclos de lanzamientos
  35. Conceptos generales
  36. Lo nuevo en Drupal 7
  37. [25] Novedades drupal 8
  38. [26] Novedades Drupal 8.1
  39. http://drupal.org/community-initiatives/drupal-core

Enlaces externos[editar]