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
Dries Buytaert
drupal.org
Información general
Lanzamiento inicial 1 de enero de 2001
Última versión estable 7.30
24 de julio de 2014; hace 2 meses (2014-07-24)
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 Sí 

Drupal (pronunciación IPA: [druː pʰʊɫ]) es un marco de gestión de contenidos 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 otras cosas u otros archivos y 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. No obstante, 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.[1]

Funcionalidades[editar]

Drupal es un gestor de contenidos multipropósito que puede usarse para aplicaciones como por ejemplo:

  • Portales comunitarios
  • 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

Módulos[editar]

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

  • Core (núcleo): son los módulos provistos por Drupal al instalarse, algunos de ellos fueron contribuciones de la comunidad de Drupal que se incorporaron.
  • Contributed (contribuciones): son los módulos que son compartidos para la comunidad de Drupal, están bajo GNU de Licencia Pública (GPL).
  • Custom (personalizados): son los módulos creados por el desarrollador del sitio.[2]

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[3] módulos libres. Entre los más importantes[4] que no están incluidos en la distribución oficial, se pueden destacar:[5]

  • 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 [3], Spread Firefox [4], Kernel Trap [5] y White House [6].

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 mas importantes[editar]

Fecha de lanzamiento
1.0 15 Enero 2001[6]
2.0 15 marzo 2001[6]
3.0 15 Septiembre 2001[6]
4.0 16 Junio 2002[6]
4.5 16 Octubre 2004[6]
4.6 16 Abril 2005[6]
4.7 16 Mayo 2006[6]
5.0 15 Junio 2007 [7]
6.0 13 Febrero 2008[8]
7.0 5 Junio 2011[9]
7.31 4 Agosto 2014[10]

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.[11]

Novedades de la versión 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.[12]

Novedades en Drupal 8[editar]

Se espera que drupal 8 este disponible antes de 2015.

Las principales prioridades para la siguiente versión serán:

  • Accesibilidad
  • Usabilidad
  • Rendimiento
  • Publicación a cualquier dispositivo
  • Permitiendo la ingesta de información de cualquier fuente

Google Summer of Code está esponsorizando 20 proyectos Drupal .

Además, se dará soporte a CSS3 y HTML5 de forma nativa e integrara componentes del framework symfony 2 en su núcleo (core).

Iniciativas[editar]

Actualmente hay 6 iniciativas (oficiales) de desarrollo: [13]

  • 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.

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]

Enlaces externos[editar]