aboutsummaryrefslogtreecommitdiff
path: root/doc/import/README.md
blob: d4e014c3cdc16d4d0d32c5e2c470570909fd9342 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 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.