Documentation Center

Changes to the class User 2.5

The new User class should be used for user provisioning and retrieving information about users.

Security settings on the user

Content Manager uses 2 types of security:
  • The user roles specified on the user are used to limit certain actions for users owning a certain user role.
  • The user groups specified on the user indicate which user groups that user has access to. The type of access is configured on the folder by specifying which user groups have read access and which user groups have write access.

Changes in database structure and behavior

Moving users out of the user group container

Before SDL Trisoft 9.2.0, all users were grouped in user groups. Therefore you needed to access the users via the user groups and make sure that each user had always access to its owning user group.

Starting from SDL Trisoft 9.2.0, users no longer belong to one user group. User groups are just user-related metadata specifying which user groups the user has access to. This also means that an administrator will be able to revoke access rights for every user group from any user.

Changes in naming

Content Manager has various legacy terminology. Starting with the Web Services 2.5, we made terminology consistent. In order to do this, the element names of some objects are changed.

The following table gives an overview of those changes:
Object typeOld element nameNew element nameDescription
FieldFISHCAPABILITIESFISHUSERROLESThe field on the user containing the user roles.
Introducing a display name on the user

An user's username and (external) id are mostly unreadable identifiers. Starting from SDL Trisoft 9.2.0, we have introduced a display name (= FISHUSERDISPLAYNAME) which can be used by user interfaces to show a more readable name for the user.

That display name is an extra metadata field on the user. When requesting the author of a topic, the display name is not automatically returned by the DocumentObj calls.

Enabling central authentication
There are 2 new fields to enable Windows Authentication:
  • The FISHEXTERNALID field links the name of the external system (e.g. Windows Authentication) with a Content Manager user.
  • The FISHUSERTYPE field indicates whether the user is an internal Content Manager user with a Content Manager Password OR an external user with an ExternalId.
Introducing the option to enable/disable a user

Starting from SDL Trisoft 9.2.0, an administrator can block a user from logging in by setting the (new) FISHUSERDISABLED field to TRUE.

Besides, the Web Services 2.5 will check the disabled flag in each call. The user is not allowed to execute any call anymore.

Introducing the option to activate/deactivate a user

We introduced a new field FISHOBJECTACTIVE to allow an administrator to deactivate a user. The user has still full access to the Content Manager system, but the field can be used to reduce user lists. Normally, an administrator will deactivate a disabled user, but the 2 fields are not linked.

Enabling 'My Favorites' folder for each user

Starting from SDL Trisoft 9.2.0, we always create a My Favorites folder during the creation of a new user.

The FISHFAVORITES field holding the link between the user and the My Favorites folder cannot be requested as metadata on the user. If you want to access the 'My Favorites' folder you have to call Folder.GetMetaData with BaseFolder Favorites.

Content Manager password

Password changes since SDL Trisoft 9.2.0:
  • The Content Manager password is only used for internal Content Manager users.
  • Starting from SDL Trisoft 9.2.0, the password is no longer trimmed when setting the password or during login.

    If your current password contains a beginning or ending space, the previous code will have submitted a trimmed value. Since the login also trimmed the value, you could still type this beginning or ending space during login. However, starting from SDL Trisoft 9.2.0 you will get an exception if you type this beginning or ending space during login, because the incoming password does not match the saved password.

Changes in methods

Starting from Web Services 2.5 you must use the new User class for user provisioning and retrieving information about user. The API methods work similar to the API calls of Output Format and Baseline:
  • The users are uniquely identified using an element name which starts with the prefix VUSER.
  • The standard Metadata XML structure (with level none) can be used for retrieving or setting fields.
  • The retrieve methods will return an ishobject list XML with objects of type ISHUser:
    <ishobjects>
      <ishobject ishref="VUSERDDEMEYER" ishtype="ISHUser" ishuserref="362114">
        <ishfields>
          <ishfield name="USERNAME" level="none">ddemeyer</ishfield>
          <ishfield name="FISHUSERDISPLAYNAME" level="none">Dave De Meyer</ishfield>
          <ishfield name="CREATED-ON" level="none">22/06/2011 16:56:16</ishfield>  
          <ishfield name="MODIFIED-ON" level="none">24/06/2011 09:31:26</ishfield>  
          <ishfield name="FUSERGROUP" level="none">Qualtiy Assurance, Default Department, System management, Project team, Training Department, Sales Marketing, Research and Development</ishfield>
          <ishfield name="FISHEXTERNALID" level="none">GLOBAL\ddemeyer</ishfield>
          <ishfield name="FISHUSERTYPE" level="none">External</ishfield>
          <ishfield name="FISHEMAIL" level="none">ddemeyer@sdl.com</ishfield>
          <ishfield name="FISHUSERDISABLED" level="none">No</ishfield>
          <ishfield name="FISHUSERROLES" level="none">Administrator, Author, Planning, Reviewer, Translator</ishfield>
          <ishfield name="FISHUSERLANGUAGE" level="none">en</ishfield>
          <ishfield name="FISHOBJECTACTIVE" level="none" ishvaluetype="element">TRUE</ishfield>
        </ishfields>
      </ishobject>
      <ishobject ishref="VUSERGUEST" ishtype="ISHUser" ishuserref="4483">
        <ishfields>
          <ishfield name="USERNAME" level="none">Guest</ishfield>
          <ishfield name="FISHUSERDISPLAYNAME" level="none">Guest</ishfield>
          <ishfield name="CREATED-ON" level="none">22/06/2011 16:56:16</ishfield>  
          <ishfield name="MODIFIED-ON" level="none">24/06/2011 09:31:26</ishfield>  
          <ishfield name="FUSERGROUP" level="none">Default Department</ishfield>
          <ishfield name="FISHEXTERNALID" level="none"></ishfield>
          <ishfield name="FISHUSERTYPE" level="none">Internal</ishfield>
          <ishfield name="FISHEMAIL" level="none"></ishfield>
          <ishfield name="FISHUSERDISABLED" level="none">No</ishfield>
          <ishfield name="FISHUSERROLES" level="none">Author, Planning, Reviewer, Translator</ishfield>
          <ishfield name="FISHUSERLANGUAGE" level="none">en</ishfield>
          <ishfield name="FISHOBJECTACTIVE" level="none" ishvaluetype="element">TRUE</ishfield>
        </ishfields>
      </ishobject>
    </ishobjects>

New user preference methods

Starting from SDL Knowledge Center 13, preferences can be managed on the user using the following extra methods:
FunctionNameDescription
DeletePreferenceRemoves the preference value or preference set from a user
FindPreferencesFinds preferences matching the filters for the user
RetrievePreferencesRetrieves preferences by set names for the user
SetPreferencesCreates or updates preferences for the user
What are preferences?

Preferences are settings that can be used to give each user a more personalized experience. For instance, the preferences are used to store the settings of personalized list views.

The preferences are stored by the client (e.g Organize Space, Publication Manager,...). Each client can have its own behavior for saving the preferences. For instance, publication manager only stores the settings for the personalized list views when the user changes the default settings.

Limitations
  • Each preference must be part of a set.
  • Each preference and set must have a name.

    The name of a preference or of a set has no constraint other than having to be a string shorter than 255 characters.

  • The value of a preference has no constraint other than having to be a string shorter than 1000 characters.