Fster-xml-configuration-file
FSter XML configuration file
The configuration file allows to define what the user will see in FSter directories.
Having the file in place is mandatory and it is read by default from /etc/fster/fster.xml
The configuration file must follow XML 1.0 standards
XML schema (xsd)
In order to simplify editing and verification of custom configuration files, we have prepared the XML schema of the configuration file.
Download FSter configuration schema: FSter.xsd
Here we show initial part of this schema: the conf tag.

Configuration concepts
The configuration has the following main concepts:
Trees
Trees are the first elements of the configuration, under the conf tag. There are two kinds of tree:
- the exposing tree, that describes what users will see in the folder hierarchy through FSter;
- the saving tree, that describes how FSter will store real files created on the filesystem. Note: at the moment it is only possible to configure the saving tree base_path (by default files will be saved in
~/.fster_saving/)
Content objects
An exposing tree is structured in objects that can be used to define the folder hierarchy and which files to show. These are called content objects.
Some content objects can contain other content objects:
- folder
shows a folder for each RDF subject in the repository matching with defined conditions (i.e., specific predicates and objects);
- static_folder
shows a single folder with a static name;
- set_folder
shows a folder for each value assumed by the specified RDF predicate in the store;
some other can not:
- file
shows a file for each RDF subject in the repository matching with defined conditions (i.e., specific predicats and objects);
- mirror_content
maps 1:1 a folder from the effective filesystem, and all his underlaying hierarchy
- system_folders
similar to mirror_content with a base_path = “/”
The exposing tree starts with a root, under the conf tag: it is a static_folder content object (the name tag, if defined, will be ignored).
Policies
Each content has its policy allowing the user to define what FSter must expose and what it will allow to do.
We have defined 2 kinds of policy:
- the visualization policy that defines what FSter will show (hierarchy, names, file contents);
- the editing policy that defines what FSter will allow to do (i.e., create, modify, delete) on the content to which the policy is applied.
Inheritance
The hierarchical structure defined with content tags, described above, allows different policies for each content: we can define policies so that a content can inherit policies from its parents.
In the visualization policy we can then use:
- inheritable_conditions, to apply the defined conditions to all the enclosed content objects;
- self_conditions, that apply the defined conditions only to the current content object.
In the editing_policy we can use:
- the inheritable_metadata, to add the defined metadata to all the children.
Use cases
These are the latest published complete xml examples:
- FSter Media Library
The configuration permits you to navigate and use media files, that you have on your harddisk, organized by images, audio and video
- FSter Music Library
The configuration permits you to navigate and use music files, that you have on you harddisk, organized by artist, album or genre.
Here the complete list of the use cases
XML short examples
Here we collect some xml short examples:
- How to create a folder for each subject having
mime-type:text/plain(taken from the folder tag page)
Download folder_example.xml
- How to create a static_folder with the name “IAmInFSter” (taken from the static_folder tag page)
Download static_folder_example.xml
- How to use set_folder to create a folder for each value assigned to metadata mime-type (taken from the set_folder tag page)
Download set_folder_example.xml
- How to create a file containing subject metadata, for each subject in the RDF repository that is a
mime-type:image/jpeg(taken from the file tag page)
Download file_example.xml
- How to show the content of the folder
~/.base_path/in the root of the FSter instance (taken from the mirror_content tag page)
Download mirror_content_example.xml
- How to show the system folders content in the root of the FSter instance (taken from the system_folders tag page)
Download system_folders_example.xml
- How to create a folder for each music artist (subject) in the RDF repository and to show inside it the list of files by that artist (taken from the conditions tag page)
Download conditions_example.xml
- (taken from the metadata tag page)

