# C 0000013 mmmv folder structure for ID labeled artifacts t1

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The artifacts are labeled with an artifact_ID that consists of only characters that are part of the mmmv_ASCII_subset_t1. Artifacts are placed in folders that have the artifact_ID as the folder name (hereafter artifact_folder). Minimum artifact_ID length is one character and the maximum artifact_ID length is determined by the filesystem(usually 255 on Linux). The artifact_folders are leaves of a tree, where the root node is a folder named "artifacts_root", which shares a parent folder with a folder named "header", which contains text-files that each contain exactly one line of text, which is never an empty string and does not contain any spaces, tabulation characters, linebreaks. An example:

├── artifacts_root
├── i_n_of_characters_per_intermittent_vertex.txt
├── i_n_of_edges_between_the_artifacts_root_and_a_leaf.txt
├── s_tree_format_version.txt
└── s_tree_instance_ID.txt


All of the files that reside at the folder named "header" and have the "txt" file extension (hereafter: text-files) are in the UTF-8 format. The text-files may include the UTF-8 byte order mark (BOM, File:2021 01 20 The byte-order mark BOM in HTML ux-generated files.pdf) independent of the other limits set to them by the current specification. Each of the text-files in the folder named "header" is a field of a record (hereafter: tree-record), where the extensionless text-file name matches with a field name, which can also be seen as a name of a variable.

The text-files in the folder named "header" that start with a prefix "i_" contain a non-negative base 10 whole number. Leading zeros are allowed. For example, the number 72 might be written as 0000072. With the exception of the optional presence of the UTF-8 BOM all of the characters at files "s_tree_format_version.txt" and "s_tree_instance_ID.txt" must be part of the mmmv_ASCII_subset_t1.

The path length from the root of the tree to the leaf of the tree is a constant that is written in i_n_of_edges_between_the_artifacts_root_and_a_leaf. All of the folders that are vertices of the tree, except leaves and the artifacts_root, have exactly i_n_of_characters_per_intermittent_vertex number of characters in their name. All of the folders that are vertices have names that consist of only characters that are part of the mmmv_ASCII_subset_t1.

# Implementation Notes

This specification does not require that the full path of the folder artifact_root consists of only characters that are part of the mmmv_ASCII_subset_t1, but from practicality point of view this extra restriction might be imposed by the application that uses this specification.