domingo, 14 de abril de 2013

Drupal un gran CMS !!! [Sistema de Gestion de Contenidos]



Buenas a todos !! Hoy escribo aquí ya que soy contribuyente :D.

La finalidad de esta entrada es informar a la gente de que es un CMS y mas concretamente Drupal, este trabajo lo realice y lo expuse en la universidad, no es gran cosas, pero sirve para tener la base y los conocimientos para saber lo básico, espero que os sea útil !!

· ¿Qué es Drupal?
Drupal es un CMS (sistema de gestión de contenidos) que permite crear una estructura de soporte (framework) modular y configurable para la creación y publicación de: artículos, imágenes, archivos; y servicios añadidos como: foros, encuestas, votaciones, blogs, etc… Con la que podemos administrar a varios usuarios y sus permisos.

Es un programa libre, con licencia GNU/GPL, escrito en PHP y desarrollado y mantenido por una gran y amplia comunidad de usuarios que destaca por: la calidad de su código, respeto de los estándares web, consistencia del sistema y una gran usabilidad.

Drupal fue creado por Dries Buytaert, la idea surgió de un diseño de mensajería interna que desarrolló con sus compañeros de dormitorio, para organizar sus tareas, actividades estudiantiles, coordinar horarios de reuniones, cenas, etc.
Al graduarse decidió trasladarlo a un servidor de internet y comenzó a transformarlo en una página de noticias y discusiones, y así se originó lo que ahora conocemos como Drupal.

A pesar de que empezó como un pequeño Bulletin Board System o sistema de tablón de anuncios (BBS), ha llegado a ser mucho más que un portal de noticias, todo esto a causa de su flexibilidad, ya que se compone de una infraestructura de módulos que ofrecen al usuario, un conjunto de funciones, comercio electrónico, galería de fotos, administración de lista de correos e integración de sistema de control de versiones (CVS), además de da la opción de añadir módulos de terceros para modificar su comportamiento y ofrecer nuevas prestaciones y mejoras.


· Conceptos generales
Antes de empezar a explicar el funcionamiento de Drupal, vamos a introducir una serie de conceptos básicos que necesitaremos saber para poder entender cómo funciona Drupal.

-Módulo: Es un software que extiende las funcionalidades 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.

-Usuario, Permiso, Roll: Cada visitante del sitio es considerado un usuario para Drupal. Se pueden definir los tipos de usuario desde el núcleo de Drupal en la parte de perfil 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: Es un término genérico para cada pieza de contenido del sitio; páginas en libros, temas de discusión en foros, entradas en blogs, nuevos artículos.
Cada nodo será un tipo de contenido que tendrá un ID, un título, una fecha de creación, un autor, un cuerpo y otras propiedades. También según qué otros módulos se encuentre usando agregará más propiedades a cada nodo.

-Comentario: Es un 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.

-Taxonomía: Es el sistema mediante el cual se clasifica el contenido, 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 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: La información depende de la base de datos, cada información se encuentra en una tabla dentro de la base de datos.

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

-Plantilla: 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: Drupal se encuentra dividido en Regiones que pueden incluir la cabecera, el pie, las barras laterales, la sección principal de contenido.

-Bloque: Es la información que se visualiza en las diferentes regiones, pudiendo tomar la forma de menús, visualizaciones de módulos, información estática, dinámica que fue creada por un usuario.

-Menús: 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.


· Funcionamiento y características de Drupal
Drupal es un sistema dinámico, en vez de almacenar los contenidos en archivos estáticos en el sistema de ficheros del servidor. El texto de las páginas y las configuraciones son almacenadas en una base de datos y editadas utilizando un entorno o interfaz web.

Además cuenta con una gran flexibilidad y adaptabilidad, así como una gran cantidad de módulos adicionales para realizar muchos tipos diferentes de webs.

De sus múltiples características hay que destacar una gran ayuda on-line y páginas para los módulos del núcleo, todo el contenido está indexado en tiempo real y se puede consultar en cualquier momento y además utiliza URLs “amigables” con mod_rewtite para crear URLs manejables por los usuarios y motores de búsqueda.

En la gestión de usuarios hay que mencionar que se pueden registrar e iniciar sesión de forma local o utilizando un sistema de autentificación externo (Jabber, Blogger, Livejournal u otro sitio Drupal) y además se puede integrar con un servidor LDAP (Protocolo Ligero de Acceso a Directorios, un protocolo a nivel de aplicación).

Como hemos mencionado antes, en Drupal para la gestión de contenidos se utilizan sistemas como el de control de versiones, que permiten ver la hora, día y el usuario que ha realizado la modificación y también un comentario de la modificación. También tiene enlaces permanentes (permanlinks), objetos de contenido (nodos) el contenido creado en Drupal funciona como objetos, plantillas (templates) separando el contenido de la presentación, y sindicación del contenido, permitiendo exportar el contenido en formato RDF/RSS, para ser utilizados por otros sitios web.

Otra de las funcionalidades de Drupal es su agregado de noticias y su soporte de Blogger, los cuales gracias al primero podemos agregar, leer y publicar noticias de otros sitios webs y, gracias a la API de Blogger permite que un sitio Drupal sea actualizado utilizando diversas herramientas, que pueden ser “herramientas web” o “herramientas de escritorio” que proporcionen un entorno de edición más manejable.

Drupal es independiente de la base de datos, aunque muchas instalaciones utilizan MySQL, gracias a una capa de abstracción de base de datos, se puede implementar tanto en MySQL, PostgresSQL y otros SGBD.

También es multiplataforma al estar implementado en PHP, es totalmente portable y funciona sobre Apache o Microsoft IIS como servidor web y en sistemas como Linux, BSD, Solaris, Windows y Mac OS X.

La administración y configuración de Drupal se puede hacer enteramente vía web con un navegador y no requiere software adicional, así como también: el análisis de seguimiento y estadísticas, que se mostraran en las webs de administración, informes sobre referrals (enlaces entrantes), popularidad del contenido e información de usuarios navegando por el sitio.

También tiene un registro de toda la actividad y sucesos del sistema (registro de eventos) que solo podrá ser visualizado por el administrador.

Hemos comentado anteriormente que Drupal cuenta con una gran comunidad detrás de él. La comunidad cuenta con comentarios enlazados, que da la posibilidad de seguir y participar fácilmente en la discusión sobre el comentario publicado, los comentarios son jerárquicos como en un foro. Cuentan con encuestas configurables por usuarios o administradores. Y lo más importante, tienen un libro colaborativo que permite crear un proyecto y da la opción a otros usuarios a colaborar con él.

Por último, cabe destacar el rendimiento y la estabilidad de Drupal, que gracias al control de gestiones que incorpora, permite deshabilitar o habilitar diferentes módulos o bloques dependiendo de la carga del servidor, y también cuenta con un sistema de caches que elimina consultas de la base de datos para incrementar rendimiento y reducir la carga que recae sobre el servidor.


· Novedades de las versiones 7 y 8
En Drupal 7 los requerimientos mínimos son:

-Base de datos: MySQL 5.0.15.

-PHP Versión: 5.2 o superior.

-Memoria: 40MB-64MB.

En cuanto a la seguridad mejoraron el ingreso como usuario y el sistema de contraseñas, también la actualización de los módulos.

Agregaron más tareas administrativas, en la base de datos implementaron los comandos INSERT, UPDATE, DELETE, MERGE, y SELECT y se agregó soporte para las bases de datos SQLite.

También se actualizo el núcleo de JavaScript a jQuery versión 1.4.2, con las librerías de jQuery 2.36.

En cuanto a la versión de Drupal 8 las mejoras y actualizaciones que se introducirán serán las siguientes, ya que se espera que esté disponible en agosto del 2013.

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

-Accesibilidad

-Usabilidad

-Rendimiento

-Publicación a cualquier dispositivo

Además, soportará CSS3 y HTML5 e integrara componentes de framework symfony 2 en su núcleo, que está diseñado para optimizar el desarrollo de las aplicaciones web basado en el patrón Modelo Vista Controlador.

Saludos !!! a5rojo

No hay comentarios:

Publicar un comentario en la entrada