Edit online

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 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.

Some of the things that JavaScript code in a plugin can customize according to the profile of the current user include:

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.

To configure a framework to be loaded for a particular user profile:
  1. Set a loading option that specifies the role of the user using JavaScript code. The profile should be one of: author, reviewer, or sme.
  2. 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.
  3. Configure each of the Association rules for your framework to use the Java class that corresponds to the desired profile: AuthorUserFrameworkMatcher, ReviewerUserFrameworkMatcher, or SmeUserFrameworkMatcher.

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.

For example, suppose you have a team called 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;
}