GRIGLIA

Un GRID (Global Resource ID) è un identificatore globalmente univoco e stabile per qualsiasi entità sulla piattaforma Altium: un progetto, un componente, una BOM, un'attività e così via.

Perché esistono i GRID

Le entità della piattaforma in genere dispongono di identificatori locali (GUID, ID numerici) che sono univoci solo nel proprio contesto. Un GUID di progetto non è globalmente univoco: due progetti in Workspace diversi possono condividere lo stesso GUID. Un ID di parte di fornitura non ha alcun significato al di fuori del sistema di fornitura. Questo rende impossibile fare riferimento a un'entità in modo non ambiguo tra servizi, eventi e integrazioni.

I GRID risolvono questo problema codificando direttamente nell'identificatore il contesto necessario: l'area, il tenant, il bounded context, il tipo di entità e l'ID locale fanno tutti parte del GRID. Avendo a disposizione solo il GRID, la piattaforma può individuare l'entità senza alcun contesto aggiuntivo.

Formato

I GRID sono URI che utilizzano grid come schema.

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

I GRID sono case-sensitive e hanno due parti principali:

  • Context path – area:[tenant-id]:context – struttura fissa che utilizza : come separatore

  • Resource path – resource-type/resource-id – definito dal bounded context, utilizzando / come separatore

Il percorso della risorsa supporta sotto-risorse: resource-type/id/sub-type/sub-id.

Componenti

Componente

Obbligatorio

Descrizione

area

Dominio generale della piattaforma – global, workspace, supply, community, manufacture

tenant-id

No

ID del tenant (GUID del Workspace per le risorse del Workspace). Ometto per le risorse che non appartengono a un tenant specifico

context

Bounded context – design, library, procurement, collaboration, platform, events, ecc.

resource-type

Nome dell'entità leggibile dall'uomo dal vocabolario del dominio

resource-id

Identificatore locale dell'entità

I nomi delle aree sono allineati con le aree di scope OAuth e sono intenzionalmente agnostici rispetto a prodotto e brand – nel formato GRID non compaiono nomi di prodotti. Questo rende i GRID stabili rispetto a rinominazioni di prodotto e cambiamenti aziendali.

Per le risorse globali (organizzazioni, utenti, applicazioni), il componente tenant è assente: si noti il doppio due punti (::) negli esempi seguenti.

Esempi

Global resources (senza 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 come 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 (senza tenant – le parti non appartengono al Workspace):

grid:supply::platform:part/43736907

Il Common Data Model (CDM) è il riferimento autorevole per i GRID definiti tra le entità della piattaforma. Documenta i bounded context, i tipi di entità e la loro struttura GRID.

I GRID nell'API

I GRID compaiono nell'API di Altium 365 come campi id: ID! sulle entità. L'API segue la convenzione GraphQL di Global Object Identification: dato un GRID, la piattaforma può recuperare direttamente l'entità usando la query node:

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

Il gateway API utilizza la struttura del GRID per instradare la query al sottografo corretto: non è necessario alcun contesto aggiuntivo da parte del chiamante.

I GRID vengono adottati progressivamente nelle entità dell'API. Alcune entità attualmente restituiscono node ID opachi codificati in base64, un formato legacy del framework GraphQL sottostante. Con l'espansione dell'adozione dei GRID, questi verranno sostituiti da GRID strutturati.

 

AI-LocalizedLocalizzato tramite A
Se trovi un problema, seleziona il testo/l’immagine e premi Ctrl + Invio per inviarci il tuo feedback.
Contenuto