Gestor documental con Drupal 3/7: vocabularios y taxonomías

La taxonomía es lo que convierte un montón de ficheros en un repositorio consultable. En Drupal cada clasificación es un vocabulario y cada valor, un término. Este capítulo crea los cuatro vocabularios del gestor documental y explica cuáles deben ser listas cerradas y cuáles no.

Los cuatro vocabularios

VocabularioNombre de sistemaTipo de listaTérminos de ejemplo
Tipo documentaltipo_documentalCerrada, planaActa, Contrato, Informe, Manual, Plantilla, Procedimiento
ÁreaareaCerrada, jerárquicaAdministración › Contabilidad; Personas; Sistemas; Comercial
Proyecto o clienteproyectoCerrada, la amplía el revisorImplantación ERP 2026; Cliente ACME
EtiquetastagsAbiertaproveedores, SEPA, onboarding

El vocabulario Etiquetas (tags) ya viene creado en el perfil standard, así que solo hay que crear los otros tres.

Listas cerradas para lo que filtra. Si un campo se va a usar para filtrar listados o para dar acceso, sus valores tienen que estar controlados: «Contrato», «Contratos» y «contrato» serían tres filtros distintos. Deja que los autores creen términos nuevos solo en las etiquetas, y aun así conviene revisarlas de vez en cuando para fusionar duplicados.

Crear un vocabulario

  1. Ve a /admin/structure/taxonomy/add.
  2. Escribe el nombre, por ejemplo «Tipo documental». Drupal propone el nombre de sistema (tipo_documental): revísalo, porque luego no se puede cambiar y es el que usarán las vistas y el código.
  3. Añade una descripción breve que explique para qué sirve. La verán los administradores, no los lectores.
  4. Guarda y repite con «Área» y «Proyecto o cliente».

Añadir términos

Para pocos términos, basta con la interfaz: en /admin/structure/taxonomy, en la fila del vocabulario, Listar términos y Añadir término.

Si son muchos, es más rápido crearlos con Drush. Este ejemplo da de alta los tipos documentales de una vez:

ddev drush php:eval '
foreach (["Acta", "Contrato", "Informe", "Manual", "Plantilla", "Procedimiento"] as $nombre) {
  \Drupal\taxonomy\Entity\Term::create(["vid" => "tipo_documental", "name" => $nombre])->save();
}'

Para términos jerárquicos, como las áreas, hay que crear primero el padre y pasar su identificador en la clave parent del hijo. En la interfaz se hace arrastrando el término bajo su padre en la lista del vocabulario.

Jerarquías: cuándo sí y cuándo no

La jerarquía tiene sentido cuando la estructura es estable y se navega de lo general a lo concreto, como un organigrama de áreas. Complica las cosas cuando se usa para mezclar dos criterios distintos en un solo vocabulario, por ejemplo «Administración › Contratos», que combina área y tipo. En ese caso son dos vocabularios y dos campos.

Tampoco conviene pasar de dos o tres niveles: cuanto más profunda es la jerarquía, más difícil es que dos personas clasifiquen el mismo documento en el mismo sitio.

Quién mantiene cada vocabulario

  • Tipo documental y Área: el administrador. Cambian poco y cada cambio afecta a filtros, menús y permisos.
  • Proyecto o cliente: los revisores, cuando empieza un proyecto. En el capítulo 5 se les da el permiso para crear términos en este vocabulario y en ningún otro.
  • Etiquetas: las crean los autores al subir documentos. El campo del capítulo 4 se configurará para crear el término si no existe.

Con los vocabularios creados, el siguiente paso es el tipo de contenido Documento, que es donde se enlazan con cada fichero.

Contenido elaborado con asistencia de inteligencia artificial — Equipo Editorial Dataprix. Verifica la información antes de tomar decisiones.