Integrating Web Author with a User Management System
Oxygen XML Web Author does not manage the users itself, but it can work with an external user management service. This allows you to manage permissions and authentication, display the name of the user in comments and tracked changes, or customize the interface according to a user profile.
User Authentication
Users do not have to log in to the Web Author server itself. However, they need to give Web Author permissions to access files on their behalf. This is usually handled through the use of a file storage connector plugin and by implementing an authentication mechanism.
User Name
The name of the user is used by Web Author for comments and tracked changes. To configure the editor to display the correct name, you simply need to construct a target URL and use the author parameter to specify the user's name.
Customizing the UI According to User Profile
In most cases, Oxygen XML Web Author is used by diverse groups of people composed of subject matter experts, support teams, technical writers, and other content contributors and reviewers. In many cases, it makes sense to customize the complexity of the user interface according to the user profile. This allows you to simplify the user interface for particular types of users so that they only have access to features that are relevant for their particular usage.
- You can remove actions from the toolbars and contextual menus.
- You can add custom actions to the toolbars, contextual menus, or form controls.
- You can add or remove side-views from the interface.
- You can control whether or not the Change Tracking feature is enabled by setting the trackChanges property in a plugin (using the LoadingOptions type definition from the Workspace API).
- You can control the behavior of the Enter key for particular users by setting the ccOnEnter property in a plugin (using the LoadingOptions type definition from the Workspace API).
- You can hide the breadcrumb that shows the document's XML structure and normally appears at the bottom of the interface. You can do this by setting the hideBreadcrumb property in a plugin (using the LoadingOptions type definition from the Workspace API).
Loading the Framework According to User Profile
You can create multiple frameworks tuned for different user profiles and load them depending on the current user. You can share configurations between these frameworks by using the framework extension mechanism.
- Set a loading option that
specifies the role of the user using JavaScript
code. The profile should be one of:
author
,reviewer
, orsme
. - Install this plugin: https://github.com/oxygenxml/web-author-user-role-plugin/. It will contribute some framework matching rules that takes the profile of the user into account.
- Configure each of the Association rules for your framework to
use the Java class that corresponds to the desired profile:
AuthorUserFrameworkMatcher
,ReviewerUserFrameworkMatcher
, orSmeUserFrameworkMatcher
.
Customizing the UI Based on the GitHub Team for the Current User
To enable this feature, you need to set the loadTeams
loading option to
true
. Once this feature is enabled, a pseudo-class is added on the root
element for each public team. The pseudo-classes are prefixed with team-
.
You can use this feature in the CSS rules that control the document rendering.
sme
that has Subject Matter
Experts (SME) as members. You can prevent them from editing the prolog of a DITA topic by
adding the following rule::root:team-sme prolog { -oxy-editable: false; }