From 811800bd1ffbe8995b7aae0247fa8f211a7a1bb3 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Wed, 11 Sep 2024 22:30:32 +0200 Subject: [PATCH 1/6] add ld vidsion document --- web/pages/posts/3_linked_data.mdx | 70 +++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 web/pages/posts/3_linked_data.mdx diff --git a/web/pages/posts/3_linked_data.mdx b/web/pages/posts/3_linked_data.mdx new file mode 100644 index 0000000..2c4a5d5 --- /dev/null +++ b/web/pages/posts/3_linked_data.mdx @@ -0,0 +1,70 @@ +--- +title: Linked Data in InvenTree +date: 2024-09-11 +description: Steps taken to enable linked data in InvenTree +author: Matthias Mair +tag: upstream, plugin +--- +import { Callout } from 'nextra/components' + +# Linked Data in InvenTree + + + This is a vision and not yet implemented. I am working hard on it though. + + +```mermaid +graph TD; +subgraph AA [Consumers] +A[Mobile app]; +B[Web app]; +C[Node.js client]; +end +subgraph BB [Services] +E[REST API]; +F[GraphQL API]; +G[SOAP API]; +end +Z[GraphQL API]; +A --> Z; +B --> Z; +C --> Z; +Z --> E; +Z --> F; +Z --> G; +``` + +Version 0.17.0 of InvenTree introduces support for rich Linked Data (LD). This is in preparation for beeing able to utilize linked data formats and APIs for import and export of data in static and dynamic form. +Example usage for this is the oportunity to map OKH files directly to InvenTree parts or a federation plugin that enables partial data exchange between compatible instances in a ressource-efficient fashion. + +## Schema changes + +For this a few new data concepts are introduced: +- Selection Lists and Selection List Entries that enhance the parameter system +- Reference Sources and Reference Instances that enable linking to external data sources from any object + +Parameters are enhanced: +- to use Selection Lists +- be storage targets for Reference Instances +- have unique stable uuid4 identifiers helpful for import/export / linking +- to be lockable by plugins + +### Selection Lists (and Entries) + +Selecion Lists can be used as sources for choices of parameters. They are definded with a bit of metatdata, an optional plugin source and can be locked so that they are fully managed by the defining plugin. +Lists can have a (nearly) unlimited number of entries that are used as choices for parameters. Entries can be deactivated to keep them from being used in new objects. + +### Reference Sources (and Instances) + +Reference Sources are used to define links to external definitions/sources/systems. They can be defined manually or by a plugin. They can be locked to enforce that they are managed by the defining plugin. A source can be used to display links in the frontend or for maintaining links for (plugin) internal use. + +## Goals +### Mid term goals + +Enable plugins that automatically link to Github, Gitlab or other issue trackers and display some information about the linked issue in the frontend. +Provide common choices for standards like DIN, ISO, ANSI, etc. , colorsystem like RAL, locations, USB vendor IDs and much more in selection lists. + +### Long term goals + +Link (and snyc) files from VCS systems, link to external manufacturing or supply chain systems. +Enable a federation plugin that allows to link objects between compatible instances. From c79a5f8dd7de07cfdeef00a696516b1af4f3e10b Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Thu, 12 Sep 2024 01:01:41 +0200 Subject: [PATCH 2/6] use md --- web/pages/posts/{3_linked_data.mdx => 3_linked_data.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename web/pages/posts/{3_linked_data.mdx => 3_linked_data.md} (100%) diff --git a/web/pages/posts/3_linked_data.mdx b/web/pages/posts/3_linked_data.md similarity index 100% rename from web/pages/posts/3_linked_data.mdx rename to web/pages/posts/3_linked_data.md From 6bbad93acd7639a291af705808dafe217d197a8b Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Thu, 12 Sep 2024 01:05:50 +0200 Subject: [PATCH 3/6] fix tag? --- web/pages/posts/3_linked_data.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/web/pages/posts/3_linked_data.md b/web/pages/posts/3_linked_data.md index 2c4a5d5..88b4533 100644 --- a/web/pages/posts/3_linked_data.md +++ b/web/pages/posts/3_linked_data.md @@ -3,15 +3,13 @@ title: Linked Data in InvenTree date: 2024-09-11 description: Steps taken to enable linked data in InvenTree author: Matthias Mair -tag: upstream, plugin +tag: upstream --- -import { Callout } from 'nextra/components' # Linked Data in InvenTree - - This is a vision and not yet implemented. I am working hard on it though. - +This is a vision and not yet implemented. I am working hard on it though. + ```mermaid graph TD; From b0be417e19268ae78b16c6f7942c2bee735fb60b Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Thu, 12 Sep 2024 01:19:00 +0200 Subject: [PATCH 4/6] hide zen --- web/pages/zen.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/web/pages/zen.md b/web/pages/zen.md index 78ef768..e5ad910 100644 --- a/web/pages/zen.md +++ b/web/pages/zen.md @@ -4,6 +4,8 @@ date: 2023-06-04 description: The possibilities I see in an InvenTree OSS ecosystem in the long term. My personal Zen for work on InvenTree proper. author: Matthias Mair tag: project, zen +type: page +display: hidden --- Tirol, Jan 2023 The possibilities I see in an InvenTree OSS ecosystem in the long term. My personal Zen for work on InvenTree proper. From e3a2b65542742b494bc966e69c953af18c25f312 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Thu, 12 Sep 2024 01:27:37 +0200 Subject: [PATCH 5/6] show again --- web/pages/zen.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/web/pages/zen.md b/web/pages/zen.md index e5ad910..78ef768 100644 --- a/web/pages/zen.md +++ b/web/pages/zen.md @@ -4,8 +4,6 @@ date: 2023-06-04 description: The possibilities I see in an InvenTree OSS ecosystem in the long term. My personal Zen for work on InvenTree proper. author: Matthias Mair tag: project, zen -type: page -display: hidden --- Tirol, Jan 2023 The possibilities I see in an InvenTree OSS ecosystem in the long term. My personal Zen for work on InvenTree proper. From d3c035db3a58fe305913bb803c207be6cb584202 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Thu, 12 Sep 2024 08:45:45 +0200 Subject: [PATCH 6/6] remove sample mermaid --- web/pages/posts/3_linked_data.md | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/web/pages/posts/3_linked_data.md b/web/pages/posts/3_linked_data.md index 88b4533..2ca86c8 100644 --- a/web/pages/posts/3_linked_data.md +++ b/web/pages/posts/3_linked_data.md @@ -11,27 +11,6 @@ tag: upstream This is a vision and not yet implemented. I am working hard on it though. -```mermaid -graph TD; -subgraph AA [Consumers] -A[Mobile app]; -B[Web app]; -C[Node.js client]; -end -subgraph BB [Services] -E[REST API]; -F[GraphQL API]; -G[SOAP API]; -end -Z[GraphQL API]; -A --> Z; -B --> Z; -C --> Z; -Z --> E; -Z --> F; -Z --> G; -``` - Version 0.17.0 of InvenTree introduces support for rich Linked Data (LD). This is in preparation for beeing able to utilize linked data formats and APIs for import and export of data in static and dynamic form. Example usage for this is the oportunity to map OKH files directly to InvenTree parts or a federation plugin that enables partial data exchange between compatible instances in a ressource-efficient fashion.