How is an action model specified? One way to capture an action model is to specify a path through the tree for each IAction object. If a path is associated with each action, then for any set of actions, a corresponding model can be constructed.
For this reason, IAction has a Path property. This is known as the action path, and it determines where an action will be placed in an action model. Action models are specified implicitly through action paths: for a given set of actions, the framework can construct an action model by looking at the Path property of each action in the set.
The interpretation of an action model is somewhat arbitrary and left to the discretion of the consumer of the model. By convention however, the first segment of the path is known as the “site” of the action, and subsequent path segments represent a hierarchical breakdown within that site.
For example, actions that wish to be placed on the main menu must have a path that begins with the site “global-menus” and those that wish to be placed on the main toolbars must have a path that begins with the site “global-toolbars”, because the desktop, which in this case is the consumer of the action model, needs to find one of these identifiers in order to know whether the action was intended for the menus or the toolbars.