GRID

Un GRID (Global Resource ID) es un identificador globalmente único y estable para cualquier entidad de la plataforma Altium: un proyecto, un componente, una BOM, una tarea, etc.

Por qué existen los GRID

Las entidades de la plataforma normalmente tienen identificadores locales (GUID, ID numéricos) que solo son únicos dentro de su propio contexto. El GUID de un proyecto no es globalmente único: dos proyectos en distintos Workspaces pueden compartir el mismo GUID. El ID de una pieza de suministro no tiene significado fuera del sistema de suministro. Esto hace imposible hacer referencia a una entidad de forma inequívoca entre servicios, eventos e integraciones.

Los GRID resuelven esto codificando el contexto necesario directamente en el identificador: el área, el tenant, el contexto delimitado, el tipo de entidad y el ID local forman parte del GRID. Con solo el GRID, la plataforma puede localizar la entidad sin ningún contexto adicional.

Formato

Los GRID son URI que usan grid como esquema.

grid:area:[tenant-id]:context:resource-type/resource-id

Los GRID distinguen entre mayúsculas y minúsculas y tienen dos partes principales:

  • Context path – area:[tenant-id]:context – estructura fija usando : como separador

  • Resource path – resource-type/resource-id – definida por el contexto delimitado, usando / como separador

La ruta del recurso admite subrecursos: resource-type/id/sub-type/sub-id.

Componentes

Componente

Obligatorio

Descripción

area

Dominio amplio de la plataforma – global, workspace, supply, community, manufacture

tenant-id

No

ID del tenant (GUID del Workspace para recursos del Workspace). Se omite para recursos que no pertenecen a un tenant específico

context

Contexto delimitado – design, library, procurement, collaboration, platform, events, etc.

resource-type

Nombre legible por humanos de la entidad tomado del vocabulario del dominio

resource-id

Identificador local de la entidad

Los nombres de área están alineados con las áreas de alcance de OAuth y son intencionalmente agnósticos respecto al producto y la marca; no aparece ningún nombre de producto en el formato GRID. Esto hace que los GRID sean estables ante cambios de marca de productos y cambios en la empresa.

Para los recursos globales (organizaciones, usuarios, aplicaciones), el componente tenant no está presente; observe los dos puntos dobles (::) en los ejemplos siguientes.

Ejemplos

Global resources (sin tenant):

grid:global::platform:organization/837af973-180e-45ab-a93a-62a66f44d75a
grid:global::platform:user/837af973-180e-45ab-a93a-62a66f44d75a
grid:global::events:subscription/41428e10-d66a-4b27-8bbf-3a51496cceae

Workspace resources (GUID del Workspace como tenant):

grid:workspace:d2e3a7b0-4eb4-4339-a3d6-20276ca4f7eb:design:project/DA051CB4-13C4-41A7-A795-2A5EBC2B9A9B
grid:workspace:d2e3a7b0-4eb4-4339-a3d6-20276ca4f7eb:library:component/0F629FA7-A5C5-4034-829A-83CC5E95B947
grid:workspace:d2e3a7b0-4eb4-4339-a3d6-20276ca4f7eb:procurement:bom/BD74926A-7AFA-454E-8879-C79E8C8685EE
grid:workspace:d2e3a7b0-4eb4-4339-a3d6-20276ca4f7eb:collaboration:task/BCC891F1-49C3-46B2-9A03-85F882133050

Supply resources (sin tenant; las piezas no pertenecen al Workspace):

grid:supply::platform:part/43736907

El Common Data Model (CDM) es la referencia autorizada para los GRID definidos en las entidades de la plataforma. Documenta los contextos delimitados, los tipos de entidad y su estructura GRID.

Los GRID en la API

Los GRID aparecen en la API de Altium 365 como campos id: ID! en las entidades. La API sigue la convención de Global Object Identification de GraphQL: dado un GRID, la plataforma puede volver a obtener la entidad directamente usando la consulta node:

query {
  node(id: "grid:workspace:d2e3a7b0-4eb4-4339-a3d6-20276ca4f7eb:design:adproject/a7ceb47c-db37-426a-a9ef-117d1146be35") {
    ... on DesProject {
      name
      description
    }
  }
}

La puerta de enlace de la API usa la estructura del GRID para enrutar la consulta al subgrafo correcto; no se necesita ningún contexto adicional por parte del llamador.

Los GRID se están adoptando progresivamente en las entidades de la API. Algunas entidades actualmente devuelven ID de nodo opacos codificados en base64, un formato heredado del framework GraphQL subyacente. A medida que se amplíe la adopción de GRID, estos se sustituirán por GRID estructurados.

 

AI-LocalizedLocalizado por IA
Si encuentra un problema, seleccione el texto/imagen y presioneCtrl + Enterpara enviarnos sus comentarios.
Contenido