Módulo contrib Drupal: Composite Reference
Hoy quiero presentar un nuevo módulo contrib llamado Composite Reference . ¿Por qué se llama así? Porque está destinado a ser utilizado para fortalecer el "vínculo" entre entidades que están destinadas a vivir y morir juntas.
En muchos casos, utilizamos referencias de entidades a entidades que no son reutilizables (o que no están destinadas a ser entidades). Son simplemente vehículos de almacenamiento más complejos para los datos que pertenecen a otra entidad (en aras de la explicación, podemos llamar a esto el padre). Entonces, cuando se elimina el padre, es lógico que la entidad referenciada (el hijo) también se elimine porque no se supone que exista fuera del contexto de su padre. Y este es un tipo de relación compuesta : los dos pertenecen juntos como una unidad. Por supuesto, no todas las relaciones padre-hijo son o tienen que ser compuestas. Pero algunos pueden y simplemente los usé como ejemplo.
Entonces, ¿qué hace el módulo? Aparte del nombre elegante, no hace más que hacer que un campo de referencia de entidad (o revisiones de referencia de entidad) sea configurable para convertirse en compuesto. Y cuando la relación es compuesta, la entidad referenciada se elimina cuando se elimina la referencia. Y para evitar todo tipo de caos y mal uso, la eliminación se evita si la entidad referenciada es referenciada por otra entidad (por definición, NO compuesta). Sin embargo, esto no debería suceder, ya que marcaría las relaciones como compuestas solo en los casos en que las entidades referenciadas no sean reutilizables.
Y eso es prácticamente todo. Puedes leer el archivo README para obtener más información sobre cómo usar el módulo.
Es un módulo que he encontrado interesante y que es bastante útil para proyectos con estructuras de datos muy complejas y datos poco persistentes.
Este proyecto fue escrito y se mantiene como parte de la Iniciativa OpenEuropa de la Comisión Europea.
¿Tienes algún proyecto en mente?
Si quieres hacer algo en Drupal tal vez puedas contratarme.
Ya sea para consultoría, desarrollo o mantenimiento de sitios web Drupal.