Linked Data in InvenTree

Matthias Mair,upstream

This is a vision and not yet implemented. I am working hard on it though.

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:

Parameters are enhanced:

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.