Before exploitation Branches, you must configure the list of branch types, assign users to the branches and to distribute the permissions.


Starting with x08 version, Branches administration will be provided by the Xafari.BC.Branches.Cfg module. This is due to the fact that Xafari framework will deliver a special XAS (Xafari Applications Support) utility to make various configuration operations. If the use of the XAS is not assumed, the Xafari.BC.Branches.Cfg module must be added to the application. In this case, the Branches administration interface will be available in the app. Xafari.BC.Branches.Cfg module generates the NavigationItems|Items|XAS|BranchesSettings node in Application Model and, if necessary, you can customize the generated node via Model Editor. This topic describes how to administer the Branches via the application.

To configure Branches in application, invoke BranchesSettingObject_DetailView, use Tools|Branch settings menu item.


Branches Switch On option enables or disables Branches for the whole application.

Read Mode option is relevant for users who will have access to several branches. There are two values: Available branches and Current branch.

  • Current branch mode: in this mode, the user sees only the objects of the branch at which he is logged on, as well as shared data.
  • Available branches mode: in this mode, the user can see all the available branches and shared data. If the user has write-permissions to a specific branch, then he can edit the data only if it is current branch.

In the left side displays the list of all types that support Branches (i.e. these types implements IBranchSupport interface, see Getting Started). Focused type is displayed on the Detail View on the right side.


Is Branches Enabled option enables or disables Branches for the selected type. If you enabled the Branches to type, it will automatically be enabled for all aggregated elements.

After configuring the Branches is completed, restart the application for the settings to take effect. Next, you need to provide users with access to Branches.

Invoke User Detail View and activate Branch items tab. Execute New Action, in the invoked Branch Item Detail View specify Branch and Permission properties. You can select existing Branch from lookup list or create a new once. The Permisiion value may be Read or Write.


Save changes.


Now, after authorization the system will display a View with a list of available Branches.


After loading the app, the status bar will show the current Branch for the authorized user.


Make sure that Branches Switch On option is "on". To apply Branches settings you must restart the application.

Now, if the user will create the object of the branch type, the object will be automatically attached to the current branch. Of course, provided that the user has write-permissions for the current branch.

As for the already existing objects of the branch type, the user can see objects of all available branches or only the current one. This is determined by the Read Mode option.