diff options
author | metamuffin <metamuffin@disroot.org> | 2024-01-25 18:08:18 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-01-25 18:08:18 +0100 |
commit | cd6b484d24b638f08221ff1388564d8369d37126 (patch) | |
tree | b820445c91fb811e64cffcc9aaaa35eeac588cbd /doc/import/README.md | |
parent | 9d08704069f09f185eac0b80653cc39c1335c852 (diff) | |
download | jellything-cd6b484d24b638f08221ff1388564d8369d37126.tar jellything-cd6b484d24b638f08221ff1388564d8369d37126.tar.bz2 jellything-cd6b484d24b638f08221ff1388564d8369d37126.tar.zst |
add some mdbook documentation
Diffstat (limited to 'doc/import/README.md')
-rw-r--r-- | doc/import/README.md | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/doc/import/README.md b/doc/import/README.md new file mode 100644 index 0000000..d4e014c --- /dev/null +++ b/doc/import/README.md @@ -0,0 +1,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. |