Novedades de Drupal 7

La versión estable de Drupal 7 ha salido el pasado 5 de Enero y con ella han llegado las fiestas de celebración (este viernes 14 por toda España) y también la fecha de caducidad de Drupal 5. Tres años de desarrollo con esfuerzos de la comunidad y también de empresas externas nos han dejado un sistema con muchas novedades y cambios con respecto a Drupal 6, voy a repasar los más relevantes.

Instalación

El proceso de instalación se ha renovado tanto en aspecto como en funcionalidad, además, es posible instalar un drupal con lo mínimo si seleccionamos "Minimal" en la primera pantalla.

Interfaz de administración renovada

Nueva barra de herramientas superior que controla las secciones del sitio, con una barra inferior para los enlaces rápidos que podemos configurar añadiendo los que necesitemos.

Además, la nueva interfaz de administración se realiza con una capa de Overlay que hace más ligera la navegación.

Mejoras de usabilidad en la admistración

Nuevo módulo Dashboard que permite tener un panel de usuario con bloques configurables con drag & drop.

Links contextuales para realizar acciones sobre el contenido con menos clicks.

Casi todas las páginas de administración proveen de un enlace (+) para añadir a enlaces rápidos.

Las pantallas que proveen de una interfaz para reordenar elementos, ahora también llevan un link para mostrar los pesos en modo texto, una gran mejora de accesibilidad.

El interfaz de bloques ya no hace falta verlo con la plantilla para la que vamos a configurar los bloques, sino que lo veremos en modo administración con un link para "demostrar" las regiones disponibles.

Se ha incluido el módulo Vertical Tabs, que le da mucha mejor visibilidad y un aspecto más compacto y elegante a los antiguos fieldsets.

CCK en el núcleo

Gran parte del módulo CCK se incluye en el núcleo de Drupal 7 en lo que se llama "Fields in core", así que con esta nueva versión, además de poder crear tipos de contenido, podremos añadirles campos de diversos tipos y también configurarlos, CCK se mantiene como módulo contribuido para soporte de campos adicionales y opciones específicas.

Soporte de imágenes

Sin duda, una de las novedades más importantes y llamativas de esta versión, en Drupal 6, para tener soporte de imágenes como campos de un nodo tenemos que descargarnos CCK, Filefield e Imagefield, ahora todo esto está incluido en el core, proporcionando esta funcionalidad por defecto.

ImageCache en core

Además del soporte de imágenes, se ha incluido en el core el módulo imagecache para redimensionar y añadir efectos a las imágenes, los presets de imagecache ahora se denominan image styles.

Nuevo concepto: Entidades

Las entidades son un nuevo concepto en Drupal 7, históricamente venimos de releases "nodocéntricas", en las que casi cualquier contenido era un nodo, Drupal 7 introduce las entidades, que engloban estos nodos pero también los usuarios, las taxonomías y los comentarios. Esta nueva estructura permite que sea posible añadirle campos a todo aquello que sea una entidad.

Nuevas plantillas

Drupal 7 se ha desecho de las viejas plantillas basadas en tablas (bluemarine, chamaleon...) y solamente sobrevive Garland a esta nueva versión, pero incorpora 3 nuevas plantillas:

  • Bartik: Plantilla por defecto, pensada más para front end, ofrece una mejora visual sobre Garland y más juego con más regiones.
  • Seven: Plantilla de administración por defecto.
  • Stark: Plantilla básica sin estilos para comenzar un theme desde 0

Instalación de módulos y plantillas desde interfaz

El nuevo Update manager permite instalar tanto módulos como plantillas desde interfaz, y también permite actualizarlos. Esta nueva utilidad facilitará la tarea en general a los webmasters de drupal, pero yo me seguiré quedando con drush :).

Testing

Drupal 7 ahora incorpora unit testing, y los parches durante el desarrollo de la nueva versión han tenido que pasar los tests pertinentes, lo que implica mejoras en la calidad del código y una apuesta de futuro por la estabilidad.

Otras mejoras

  • Más partes del módulo internacionalización incluidas, además la selección del idioma ahora es mucho más configurable y extensible
  • Jquery 1.4.4 y Jquery UI 1.8 
  • Deshabilitación de cuentas de usuario sin borrarlas.
  • Nuevo rol por defecto: Administrador, al que se le asignan todos los permisos de fomar automática.
  • Gestión de ficheros tanto públicos como privados.
  • Soporte de web semántica: RDFa
  • Módulo poormanscron dentro del núcleo, lo que permite ejecutar el cron periódicamente sin tener acceso shell.
  • Inclusión parcial del módulo Token.

Algunas cosas más técnicas

  • Nuevos requerimientos mínimos: PHP 5.2.5, MySQL 5.0.15 / Postgre 8.3
  • Soporte de múltiples bases de datos (SQLite, MSSQL, Oracle), además de replicación maestro/esclavo y transacciones.
  • La capa de abstracción de base de datos es ahora PDO, lo que antes era:

 

$result = db_query("SELECT nid, title FROM {node} n WHERE nstatus = 1 ORDER BY created DESC")

 

Ahora será:

$query = db_select('node', 'n')->condition('n.status', 1, '=')->fields('n', array('nid', 'title'))->orderBy('created', 'DESC')->execute();
  • Fichero sites.php para un mejor control de multisite.
  • Protección de las llamadas a cron mediante una key.
  • Multitud de nuevos hooks, la mayoría de hooks básicos como hook_block, hook_taxonomy, hook_nodeapi, se parten en varios, eliminando la variable $op de la ecuación.
  • API para crear campos revisada y simplificada con respecto a CCK para Drupal 6.
  • Nuevo framework de ajax y mejoras en el form API.
  • Las funciones de alter no se tendrán que llamar desde módulos, las plantillas también lo pueden hacer, por lo que se puede hacer un form_alter en el template.php
  • "Render arrays", drupal_render transforma un array con elementos y propiedades en HTML, lo que aporta flexibilidad y el hook_page_alter.
  • Las funciones de preprocess ya no necesitan un tpl para funcionar, con una función de theme es suficiente.
  • Inclusión de nuevas etapas de procesado a la hora de mostrar contenido: hook_process.

¿Qué valoración le dais vosotros a Drupal 7? ¿Alguna novedad importante que me haya dejado?

Comentarios

Como dices, no hay duda de que la version 7 de Drupal ahora mismo es lo mejor que ha podido dar la comunidad. :)

desde el proceso de instalación se aprecia la diferencia la parte visual bastante mejorada aprovechando las bondades de jquery/jqueryUI

como que le falto al core las views y algunos modulos mas especializados node reference, embed media, etc...

solo se tendrá que resolver la parte de la migración de drupal 6 -> 7

Yo veo como diferencia notable entre drupal 6 y drupal 7 la posibilidad de actualizar los módulos contribuidos de forma semi-automática desde el panel back-end de administrador, sin embargo no ocurre lo mismo con el core y sin embargo en joomla y wordpress (la competencia) si que puedes actualizar todo todo desde el panel back-end sin tener que usar ninguna aplicación externa de FTP.

Buena compilacion de cambios si señor! la verdad es que han cambiado tantas cosas que intentar hacerlo en un solo post es digno de admiracion... que nadie se asuste!

Una nota sobre Field API (cck en core), lo que dices:
<quote>API para crear campos revisada y simplificada con respecto a CCK para Drupal 6.</quote>
Es un poco corto... yo pienso que la nueva field api es bastante mejor que CCK en d6, hay settings para los formatters, mas hooks en todo el proceso de salvar->carga->presentacion etc etc.

<p>Jesus, hay muchos que pensamos que una release más "smallcore" hubiera sido mejor, de hecho modulos como los que mencionas, embed media por ejemplo será reemplazado por otros con mayor funcionalida, revisa media http://drupal.org/project/media</p><p>Andy, no es un artículo que compare Joomla o Wordpress con Drupal, creo que cada uno tiene sus puntos fuertes y depende mucho de las necesidades y conocimientos de quien lo monte.</p><p>Manuee, gracias :) y toda la razon, las novedades de field api merece un artículo para él solo :D</p><p>En cuanto a&nbsp;ilo, creo que se merece un blog entero para él solo ;)</p>
<meta charset="utf-8">

Soporta HTML5 ?

Critica constructiva: Varias de las caracteristicas implementadas en esta nueva version de Drupal, estan hace varias versiones en Joomla.

<p>@jonathan Drupal 7 no incorpora soporte html5 en core, pero la flexibilidad y el control sobre el html que produce permite que hayan ya plantillas base que te permitan trabajar con html5, ejemplos: http://drupal.org/project/boron o http://drupal.org/project/html5_base además, por lo que tengo entendido hay una iniciativa en Drupal 8 para que haya html5 en core.</p>
<p>@julian este no es un post-flame de drupal vs joomla, ni lo va a ser</p>

Drupal 7 está super pero lo malo es que hay algunos módulos que estàn en dev
por eso me mantengo en la 6 aún por ejemplo el de galería de imágenes
En un par de meses migraré pero si Drupal 7 ofrece muchísimas cosas interesantes

Buenas, soy programador .Net de Microsoft, pero en las noches me trasformo a Open Source, jajaja!.

Recien conozco e instalé Drupal 7 en Godaddy, y ningún problema hasta que noté que los correos no salen, llevo como 10 horas intentando de todo, ya pregunté en San Google, pero nada aún y también pregunté a los de Godaddy pero no me han respondido.

Lo curioso es que con Drupal 6, uno lo instala en Godaddy y no hay que configurar nada con respecto al correo, todo funciona de maravilla. Creo que mejor me quedo con D6 medio año más hasta que D7 madure lo bastante bien. Gracias!

Muy bueno el tema este

Felicitaciones por el post. Comparto lo que han dicho por arriba, de que muchos modulos no estan todavia en versiones estables para D7 y que yo hubiera preferido un nucleo mas reducido. Aun con todo eso me parece que será cuestion de acostumbrarse y dejar que pase el tiempo. Saludos!!

hola sabes me interesa mucho la inforacion de tusitio sobre drupal 7 felicitaciones

Me encuentro trabajando con Drupal 7 y tengo un tipo de contenido llamado notainformativa quiero personalizar el template de dicho tipo de contenido, he hecho lo siguiente node-notainformativa.tpl.php y nada luego cambié a
node--notainformativa.tpl.php y tampoco me coge los cambios. quiero saber si lo estoy haciendo bien o tengo que agregarle algo al template.php. Saludos

Añadir nuevo comentario