Saltar al contenido principal

Resumen

Las Taxonomies son una forma flexible de clasificar y organizar los objetos de CXF. Asignas una o más taxonomies a un objeto —un Contact, un Document, un Content Instance y más— para categorizarlo. Las taxonomies pueden ser jerárquicas (padre-hijo), estar localizadas en varios idiomas, y estar restringidas para que cada objeto solo pueda usar un conjunto aprobado. Para el modelo mental de cómo encaja la clasificación en el modelo de objetos compartido, consulta Conceptos básicos. El modelo tiene tres partes:
  1. Definir una taxonomy (un término como Technology o VIP customer).
  2. Restringir qué taxonomies puede usar un objeto — por Template o por object type.
  3. Asignar taxonomies a los objetos.

Dónde encontrarlo

Puedes gestionar las Taxonomies en dos lugares:
  • En Utilities dentro de cada módulo — un acceso directo a las instancias de taxonomy de ese object type.
  • En Content → Content Templates → Taxonomies — la vista más completa, donde gestionas el template de taxonomies y sus instancias juntos.
Hay exactamente un template de taxonomies por object type — una restricción del sistema.

Properties

Una taxonomy tiene las siguientes properties:
PropertyTipoRequeridoDescripción
titlestringNombre visible de la taxonomy.
slugstringIdentificador único.
taxonomy_object_typeenumEl object type que esta taxonomy clasifica (por ejemplo contacts, documents, content_instances).
parent_idreferenceNoTaxonomy padre, para jerarquías.
sequencenumberNoOrden entre taxonomies hermanas, para jerarquías.
descriptionstringNoDescripción opcional.
versionsarrayNoVersiones localizadas — cada una con su propio title y slug por idioma. Ver Localización.
created_atdatetimeAutoCuándo se creó la taxonomy.
updated_atdatetimeAutoCuándo se actualizó por última vez.
deleted_atdatetimeAutoCuándo se archivó la taxonomy (Archive); vacío salvo que esté archivada.
Como cualquier objeto, una taxonomy también se puede extender con Attributes custom sobre estas properties.

Restringir taxonomies

Qué taxonomies puede usar un objeto depende de si su object type usa Templates:
  • Objetos basados en template (Content Instances, Documents, Orders) — el Template declara las taxonomies permitidas:
    • taxonomies_ids — las taxonomies que pueden usar las instancias de este template.
    • default_taxonomies_ids — taxonomies aplicadas por defecto a las instancias nuevas.
  • Objetos sin template (Contacts, Organizations, Users) — un objeto puede usar cualquier taxonomy cuyo taxonomy_object_type coincida con su propio tipo.
Asignar una taxonomy no permitida se rechaza con un error de validación.

Jerarquías

Las jerarquías se construyen con dos properties: parent_id define la taxonomy padre, y sequence define su orden entre las hermanas. Juntas forman un árbol padre-hijo (por ejemplo Products → Electronics → Smartphones).
Los descendientes se permiten automáticamente. Cuando una taxonomy padre está permitida en un Template, todos sus descendientes también lo están — no tienes que listar cada hijo.

Localización

Una taxonomy puede llevar versions para distintos idiomas. Cada version tiene su propio title y slug (más language, environment y status). Cuando las taxonomies de un objeto se leen en un idioma dado, se usan el title y el slug de la version que coincide — por ejemplo, Technology (en) / Tecnología (es).

Comportamiento y reglas

  • Varias por objeto. Un objeto puede tener muchas taxonomies a la vez.
  • Validadas al asignar. Solo se pueden asignar las taxonomies permitidas (ver Restringir taxonomies); las demás se rechazan.
  • Asignación por id o slug. Puedes referenciar una taxonomy por cualquiera de los dos.
  • Inmutable mientras está en uso. Una vez que una taxonomy se asigna a algún objeto, su slug, parent_id y Template no se pueden cambiar — title y description sí. Para cambiar un campo bloqueado, crea una taxonomy nueva.

Seeds

Las Taxonomies viajan entre entornos con Seeds, y soportan ambos tipos de seed. Una taxonomy se siembra como un registro content_instances con type: "taxonomies".
Tipo de seedSoportadoJerarquíasReference helpers
StructuralSí (parent_id)
InstanceNoNo
Las jerarquías (parent_id) solo aplican en los seeds estructurales. Para cargar taxonomies en bulk con un instance seed, insértalas planas y luego define sus relaciones padre-hijo desde la UI.

Seed estructural

Cada taxonomy es un ítem con object_type: "content_instances". Las jerarquías usan parent_id, y el template_id se resuelve con un reference helper:
[
  {
    "object_type": "content_instances",
    "data": {
      "title": "Technology",
      "slug": "technology",
      "type": "taxonomies",
      "taxonomy_object_type": "content_instances",
      "template_id": "{{getRecordAttribute('content_templates', 'slug', 'default-content-instances')}}",
      "versions": [
        { "title": "Technology", "slug": "technology", "language": "en", "environment": "production", "status": "published" }
      ]
    }
  },
  {
    "object_type": "content_instances",
    "data": {
      "title": "Promotions",
      "slug": "promotions",
      "type": "taxonomies",
      "taxonomy_object_type": "content_instances",
      "template_id": "{{getRecordAttribute('content_templates', 'slug', 'default-content-instances')}}",
      "parent_id": "{{getContentInstance('default-content-instances', 'slug', 'technology')}}",
      "parent_object_type": "content_instances",
      "versions": [
        { "title": "Promotions", "slug": "promotions", "language": "en", "environment": "production", "status": "published" }
      ]
    }
  }
]

Instance seed

Los instance seeds insertan taxonomies en bulk como registros planos — sin envoltorio object_type, sin reference helpers, y sin jerarquía:
[
  {
    "slug": "technology",
    "title": "Technology",
    "type": "taxonomies",
    "taxonomy_object_type": "content_instances",
    "versions": [
      { "title": "Technology", "slug": "technology", "language": "en", "environment": "production", "status": "published" }
    ]
  },
  {
    "slug": "news",
    "title": "News",
    "type": "taxonomies",
    "taxonomy_object_type": "content_instances",
    "versions": [
      { "title": "News", "slug": "news", "language": "en", "environment": "production", "status": "published" }
    ]
  }
]

Gobernanza y permisos

Solo un super admin o un Master puede crear, editar y eliminar taxonomies.

Acceso por API

Asigna taxonomies estableciendo el campo taxonomies de un objeto con una lista de ids o slugs de taxonomy a través de la API reference. Las taxonomies en sí se gestionan como content instances de tipo taxonomies.

Relacionado

Tags

Otra forma de etiquetar y agrupar objetos.

Object types

Qué object types soportan Taxonomies.