RASTER

Eine GRID (Global Resource ID) ist ein global eindeutiger, stabiler Bezeichner für jede Entität auf der Altium-Plattform – ein Projekt, eine Komponente, eine BOM, eine Aufgabe usw.

Warum es GRIDs gibt

Plattform-Entitäten besitzen typischerweise lokale Bezeichner (GUIDs, numerische IDs), die nur innerhalb ihres jeweiligen Kontexts eindeutig sind. Eine Projekt-GUID ist nicht global eindeutig – zwei Projekte in unterschiedlichen Workspaces können dieselbe GUID haben. Eine Supply-Part-ID hat außerhalb des Supply-Systems keine Bedeutung. Dadurch ist es unmöglich, eine Entität über Services, Ereignisse und Integrationen hinweg eindeutig zu referenzieren.

GRIDs lösen dieses Problem, indem sie den erforderlichen Kontext direkt im Bezeichner kodieren: Bereich, Tenant, Bounded Context, Entitätstyp und lokale ID sind alle Teil der GRID. Wenn nur die GRID gegeben ist, kann die Plattform die Entität ohne zusätzlichen Kontext lokalisieren.

Format

GRIDs sind URIs, die grid als Schema verwenden.

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

GRIDs unterscheiden Groß- und Kleinschreibung und bestehen aus zwei Hauptteilen:

  • Context path – area:[tenant-id]:context – feste Struktur mit : als Trennzeichen

  • Resource path – resource-type/resource-id – durch den Bounded Context definiert, mit / als Trennzeichen

Der Ressourcenpfad unterstützt Unterressourcen: resource-type/id/sub-type/sub-id.

Bestandteile

Bestandteil

Erforderlich

Beschreibung

area

Ja

Allgemeiner Plattformbereich – global, workspace, supply, community, manufacture

tenant-id

Nein

ID des Tenants (Workspace-GUID für Workspace-Ressourcen). Entfällt bei Ressourcen, die keinem bestimmten Tenant gehören

context

Ja

Bounded Context – design, library, procurement, collaboration, platform, events usw.

resource-type

Ja

Menschenlesbarer Entitätsname aus dem Domänenvokabular

resource-id

Ja

Lokaler Bezeichner der Entität

Bereichsnamen sind an OAuth-Scoped-Bereiche angelehnt und bewusst produkt- und markenagnostisch – im GRID-Format erscheinen keine Produktnamen. Dadurch bleiben GRIDs auch bei Produkt-Umbenennungen und Unternehmensänderungen stabil.

Bei globalen Ressourcen (Organisationen, Benutzer, Anwendungen) fehlt die Tenant-Komponente – beachten Sie den doppelten Doppelpunkt (::) in den folgenden Beispielen.

Beispiele

Global resources (ohne 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 (Workspace-GUID als 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 (ohne Tenant – Teile sind nicht Workspace-eigen):

grid:supply::platform:part/43736907

Das Common Data Model (CDM) ist die maßgebliche Referenz für GRIDs, die über Plattform-Entitäten hinweg definiert sind. Es dokumentiert die Bounded Contexts, Entitätstypen und deren GRID-Struktur.

GRIDs in der API

GRIDs erscheinen in der Altium 365 API als id: ID!-Felder auf Entitäten. Die API folgt der GraphQL-Konvention zur Global Object Identification – mit einer gegebenen GRID kann die Plattform die Entität direkt über die Abfrage node erneut abrufen:

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

Das API-Gateway verwendet die GRID-Struktur, um die Abfrage an den richtigen Subgraphen weiterzuleiten – vom Aufrufer wird kein zusätzlicher Kontext benötigt.

GRIDs werden schrittweise für API-Entitäten eingeführt. Einige Entitäten geben derzeit undurchsichtige, Base64-kodierte Node-IDs zurück – ein Legacy-Format des zugrunde liegenden GraphQL-Frameworks. Mit der weiteren Verbreitung von GRIDs werden diese durch strukturierte GRIDs ersetzt.

 

AI-LocalizedKI-lokalisiert
Wenn Sie ein Problem feststellen, wählen Sie den Text/das Bild aus und drücken SieStrg + Eingabe, um uns Ihr Feedback zu senden.
Inhalt