Flavors
Previous  Top  Next

All Structure101g data files share the same basic XML format. However, it is clear that the set of e.g. item and dependency types will vary from one domain to another (or indeed between different interpretations of the same domain).

To help Structure101g make sense of these differences, it needs to be able to map a particular data file to a set of corresponding metadata about the flavor of that data file. This allows it to do things like infer the existence of virtual folder items from fully-qualified module names, choose which icons to use for different item types, decide precedence order for dependency types in the event of overlaps, etc.

Flavor definitions are stored in the local file system, and you will be asked to specify the flavors home directory the first time you run Structure101g. The default directory is :

<user-home>/structure101g/flavors

Note: To change the home directory later, close Structure101g, edit the flavorsDir property in the file <user-home>/structure101g_vx.gen.ini, and restart.

The data file header contains 3 important pieces of information that allow Structure101g to perform the mapping to the corresponding metadata:
·Flavor name, e.g. com.headway.examples.xsl  
·Flavor version, e.g. 1.0.0  
·Flavor site, e.g. https://structure101.com/structure101/g/flavors  

During the load process, Structure101g will check the flavors home directory to see if the metadata for the given flavor (based on name and version) is already available. If yes, no action is required. Otherwise, it will use the site attribute to locate the flavor definition and automatically download it.

There are three basic components in a flavor implementation:
1.Metadata about item and dependency types  
2.Resources (mostly icons)  
3.Runner (optional)