Grouped Systems
The Grouped Systems feature allows you to consolidate multiple systems, creating a shared scope for them. To establish a group, create a directory and add a _group_scope.json file inside it. This feature is useful for systems that share common configurations and offers an organized approach to code structure.
Example project structure:
📁 system_template
🗒️ auto_map.json
📁 [_shared]: ...
📁 [group]
🗒️ _group_scope.json
📁 [_shared]: ...
📁 [system1]: ...
📁 [system2]: ...
📁 [system3]
In this example, system1 and system2 belong to the same group, while system3 is independent and does not belong to any group.
Groups influence a system’s behavior in the following ways:
Systems in the same group can access variables from the
_group_scope.jsonfile.Systems in the same group can access variables from the “_shared” directory of the group (they can also access variables from the global
_shareddirectory).When using AUTO mapping with one of the
SUBFOLDERmapping modes, the system’s name begins with the group’s directory name (excluding the group name itself). In the example above, the names of systemssystem1andsystem2aresystem1andsystem2respectively. If you were to remove the_group_scope.jsonfile, the names would change togroup/system1andgroup/system2respectively. The system’s name is relevant for mapping because some of the mapping modes use it in the target path.