Subir archivos a Drupal 7 como en WordPress mediante el módulo Media

Una de las cosas que más me gusta de WordPress es la gestión de archivos. Cuando un usuario sube un archivo al servidor queda almacenado en la librería como un objeto, de modo que luego puede ser reutilizado en otras zonas de la Web utilizando los mismos atributos (como son el title o el texto alternativo en las imágenes). Si esto no fuera así correríamos varios riesgos:

  1. Duplicidad de archivos: en el peor de los casos los usuarios que quisieran utilizar un archivo o imagen en varias partes de la Web lo subirían una y otra vez. El CMS renombraría el archivo en vez de sustituirlo para no perder el primero, así que nos podríamos encontrar con el mismo archivo subido decenas de veces (Ejemplo: archivo.png, archivo(1).png, archivo(2).png…). Esto además de aumentar el tamaño de nuestra Web, penalizaría al usuario que navega por nuestro sitio porque su navegador descargaría una y otra vez el mismo archivo con distinto nombre, perdiendo velocidad de navegación porque además su navegador no haría un único cacheo, sino uno por cada archivo duplicado. Y por si esto fuera poco, si quisieramos modificar el archivo tendríamos que hacerlo tantas veces como subidas del mismo hayamos hecho, porque son tratados como archivos independientes.
  2. Un trabajo más tedioso: en el extraño caso de que el usuario final fuera consciente del problema, cada vez que quisiera enlazar el mismo archivo tendría que ir a buscar la URL del archivo inicialmente subido e insertarlo manualmente. Además si hay que insertarlo en campos predefinidos de subida que son formateados en el output por el propio CMS no sería posible.

¿Cómo lo soluciona WordPress?

Lo hace generando una interfaz con dos opciones principales: subir archivos o seleccionar uno de la biblioteca que hayamos subido previamente.

multimedia

¿Cómo podemos hacer algo similar en Drupal 7?

Instalando el módulo Media. Lamentablemente no viene por defecto, así que tendremos que descargarlo, subirlo y activarlo (o con drush [drush en media]). Instalando todas sus dependencias conseguimos que el CMS trate a los archivos como entidades, tal y como lo son los nodos, los usuarios o las taxonomías. En drupal.org existen muchos módulos complementarios para mejorar sus prestaciones, como por ejemplo integrarlo con ckeditor para poder utilizar esta gestión de archivos con el editor de texto enriquecido.

Ahora tendremos una referencia en la base de datos por cada archivo subido, lo que nos va a dar un control mucho mayor para controlar qué hay en nuestro servidor y en qué estamos usando el espacio disponible en la Web, porque la mayoría de este espacio se utiliza en los recursos subidos por los usuarios.

Otra alternativa

Una alternativa más liviana es FileField Sources. Este módulo también nos permite controlar por base de datos los archivos subidos a nuestro servidor, aunque únicamente en campos añadidos a entidades, es decir, no sirve para la subida de archivos dentro de un área de texto enriquecida. No obstante es bastante útil porque es muy ligero, ya que su interfaz es simplemente un desplegable con los nombres de los archivos ya subidos, con lo que tampoco tenemos una vista previa y nos tenemos que guiar por el nombre del archivo. Tendremos que subir archivos con nombres descriptivos, lo que no deja de ser una buena práctica de cara a la experiencia de usuario y al SEO, es decir, que deberíamos hacerlo siempre.

Este módulo puede hacer este listado de archivos subidos por carpeta, ya que a cada campo creado podemos asignarle una distinta dentro de nuestro sistema de archivos. Además nos permite varias opciones:

  1. Subir un archivo desde nuestro ordenador local, que será trackeado por el CMS para una posible reutilización posterior.
  2. Seleccionar uno ya subido para su reutilización
  3. Subir un archivo desde otra URL, que no tiene porque ser de nuestro sitio Web.

 

Experto en la Gestión de Proyectos Web basados en Drupal con más de 8 años de experiencia. Desarrollo Full Stack (Front-end, Back-end, Site-Builder).

No Replies to "Subir archivos a Drupal 7 como en Wordpress mediante el módulo Media"