Jellything's Import System
In normal operation, jellything serves all metadata from only the database.
Whenever you want to change this metadata, you initiate a Reimport from the admin panel. This will follow the import instructions in library_path and regenerate that part of the database from scratch.
The Import Procedure
library_path is scanned recursively to locate all files that match *.yaml
(YAML import options) or *.jelly
(JSON import options). Each of these files
contains a key id
that specifies which node is primarily affected and an array
sources
which lists metadata providers. When all these files have been
evaluated, each node's children are traversed recursively to generate their
paths. The imported libraries structure is a directed acyclic graph (DAG) -
nodes can have multiple parents.
The Sources are applied in-order to that node with decreasing priority. This process merges all aquired metadata into single nodes.