You are on page 1of 16

Aliases are placeholders for user names, group names, location (folder paths within repository) or permission sets.

Aliases need to be replaced with a value before it can be used.

An alias set bundles several aliases, and, optionally their values.

Alias set can be created in DAB, DQL/API, DA, and DFC.

A permission set that contains one or more alias references to users or groups in the r_accessor _name property is known
as permission set template. ​
Permission set templates (also known as ACL template) is created only using DAB​ .
The type of permission set is identified by dm_acl.acl_class.

Note: ​
When you create a new DocApp, DAB creates a default alias set for it. Unless you have a specific reason for doing
otherwise, EMC | Documentum recommends that you use this set for all aliases pertaining to the DocApp. If you specify
another alias set as the default alias set, make sure that you have the same aliases in the new alias set.

Internal implementation

● Aliases or Alias_set are implemented as objects of type dm_alias_set.


● This object consists of only 8 attributes.
● Its super type is Persistent Object means NULL type.

Information about each alias is stored in three repeating attributes.


● alias_name: Name of an alias. It cannot contain a period (.)
● alias_category: Type of alias – 0-6
● alias_value: The actual user or group name,​ may or may not present

Type identifies the specific intent for each alias in terms of ​


alias type​
:
● 0, Unknown
● 1, User
● 2, Group
● 3, User or Group
● 4, Cabinet path
● 5, Folder path
● 6, ACL name

You can use an alias in the following places:


• In SysObjects or SysObject subtypes, in the owner_name, acl_name, and acl_domain attributes
• In ACL template objects, in the r_accessor_name attribute
• In workflow activity definitions (dm_activity objects), in the performer_name attribute
• In a Link or Unlink method, in the folder path argument

12
Note that custom attributes are not examined by content server for the presence of aliases.
Application (Custom code) can examine custom attributes and provide a resolution mechanism.
Content server resolves the alias references in certain properties of certain types of objects.

Dening aliases
%[​
alias_set_name​
.]​
alias_name

alias_set_name ​ identifies the alias set object that contains the specified alias name. This value is the object_name of the
alias set object. ​
Including ​ alias_set_name ​ is optional.

alias_name ​
specifies one of the values in the alias_name attribute of the alias set object.

Resolving Aliases

When a real value is substituted for a placeholder, the alias is set to be resolved.

The alias scopes define the boundaries of the search when the server resolves an alias specification.

If the alias specification includes an alias set name, the alias scope is the alias set named in the alias specification. The
server searches that alias set object for the specified alias and its corresponding value.

If the alias specification does not include an alias set name, a sequence of alias sets is searched or the server resolves the
alias by searching a pre-determined, ordered series of scopes for an alias name matching the alias name in the
specification. Which scopes are searched depends on where the alias is found.

The content server follows different approaches for alias resolution in the following situations:
1. A workflow activity needs to be started and its performer refers to an alias
2. A sysobject is saved
3. The DFC link or unlink method is invoked
4. A permission set template is attached to an object

Resolving aliases in workows


In workflows, aliases can be resolved when:
• The workflow is started
• An activity is started

Resolving aliases when the workflow is started requires user interaction. The person starting the workflow provides alias
values for any unpaired alias names in the workflow definition’s alias set.

Resolving an alias when an activity starts is done automatically by the server.

Resolving aliases during workow startup

A workflow definition can include an alias set to be used to resolve aliases found in the workflow’s activities.

12
When the workflow is instantiated, the server copies the alias set and attaches the copy to the workflow object
by setting the workflow’s r_alias_set_id attribute to the copy’s object ID.

The alias set can have alias names that have no corresponding alias values.
Including an alias set with missing alias values in the workflow definition makes the definition a very flexible workflow
template. It allows the workflow’s starter to designate the alias values when the workflow is started.

If the workflow is started through the Workflow Manager (WFM), the WFM prompts the starter for alias values for the
missing alias names. The server adds the alias values to the alias set copy attached to the workflow object.

If the workflow is started through a custom application, the application must prompt the workflow’s starter for the absent
alias values and add them to the alias set.

Resolving aliases during activity startup

dm_activity --- alias in performer_name

The sequence of alias scopes searched is dependent on the value of the resolve_type property of the acticity.

12
0 – normal resolution path – default sequence
1 – alias set associated with incoming package
2 – alias set associated with user or group

There are three possible resolution algorithms:


• Default
• Package
• User

The default resolution algorithm

The server uses the default resolution algorithm when the activity’s resolve_type attribute is set to
0.

The server searches the following scopes, in the order listed:


• Workflow
• Session
• User performer of the previous work item
• The default group of the previous work item’s performer
• Server configuration

1. The alias set specified on the workflow instance – dm_workflow.r_alias_set_id


The workflow instance gets a copy of alias set specified in the corresponding workflow template
(dm_process.perf_alias_set_id).

2. The alias set present in the session, i.e., non-persistent session config object – alias_set

3. The alias set of the performer of the previous activity – dm_user.alias_set_id

4. The alias set of the default group of the performer of the previous activity

5. The alias set of the server configuration – dm_server_config.alias_set_id

12
12
12
12
The package resolution algorithm

The server uses the package resolution algorithm if the activity’s resolve_type attribute is set to 1. The algorithm searches
only the package or packages associated with the activity’s incoming ports. Which packages are searched depends on the
setting of the activity’s resolve_pkg_name attribute.

If the resolve_pkg_name attribute is set to the name of a package, the server searches the alias sets of the package’s
components. The search is conducted in the order in which the components are stored in the package.

If the resolve_pkg_name attribute is not set, the search begins with the package defined in r_package_name[0]. The
components of that package are searched. If a match is not found, the search continues with the components in the
package identified in r_package_name[1]. The search continues through the listed packages until a match
is found.

12
12
The user resolution algorithm
The server uses the user resolution algorithm if the activity’s resolve_type attribute is set to 2. In such cases, the search is
conducted in the following scopes:
• The alias set defined for the user performer of the previous work item
• The alias set defined for the default group of the user performer of the previous work item.

The server first searches the alias set defined for the user. If a match isn’t found, the server searches the alias set defined
for the user’s default group

When a match is found


When the server finds a match in an alias set for an alias in an activity, the server checks the alias_category value of the
match.
The alias_category value must be one of:
• 1 (user)
• 2 (group)
• 3 (user or group)
If the alias_category is appropriate, the server next determines whether the alias value is a user or group, depending on the
setting in the activity’s performer_type attribute. For example, if performer_type indicates that the designated performer is
a user, the server will validate that the alias value represents a user, not a group. If the alias value matches the specified
performer_type, the work item is created for the activity.

12
Resolution errors

1. The referenced alias name is not found in any of the scopes


2. The alias name is found but there is no corresponding value.
3. The alias name is found but the alias type is not compatible with the performer type on the activity.

:
• Generates a warning
• Posts a notification to the inbox of the workflow’s supervisor
• Assigns the work item to the supervisor

12
Resolving aliases in SysObjects
The server resolves an alias in a SysObject when the object is saved to the repository for the first time.

• The server first searches the alias set defined in the object’s r_alias_set_id attribute.This is the lifecycle scope.

• The server looks next at the alias set object defined for the session scope. Alias_set

• The server looks at the alias set defined for the user scope. dm_user.alias_set_id

• The server looks at the alias set defined for the user’s default group scope. . dm_group.alias_set_id

• The server looks at the alias set defined for the system scope. dm_server_config.alias_set_id

Resolving aliases in Link and Unlink methods


Same as that used for resolving aliases in SysObjects

12
Resolving aliases in template ACLs

When a permission set template is assigned to an object, a copy of the permission set template is created, the alias
references in the accessor names are resolved, and references are replaced with actual values. Finally, this copy of the
permission set is assigned as a custom permission set to the object.

The sequence of alias sets examined in the resolution process depends on whether a lifecycle has been applied to the
object.

Object with Lifecycle


When an object is associated with lifecycle, its alias set has possibly been assigned by the lifecycle. Therefore, the alias
resolution does not look at any alias set other than that currently assigned to the object.
The alias set of the sysobject is dm_sysobject.r_alias_set_id.

Object without Lifecycle


1. Alias set present in the session – alias_set
2. Alias set of the current user – dm_user.alias_set_id
3. Alias set of the default group of the current user – dm_group.alias_set_id.
4. Alias set of the server configuration – dm_server_config.alias_set_id.

If the alias name is found but no value then it returns an error.

Lifecycle Alias Set Resolution


If the policy object has one or more alias sets listed in its alias_set_ids attribute, you can either choose one from the list as
the object’s lifecycle scope or allow the server to choose one by default.

The server uses the following algorithm to choose a default lifecycle scope:

1. Check if alias_set in session config is present in dm_policy.alias_set_ids for the lifecycle. If found use this,
otherwise continue.
2. Check if dm_user.alias_set_id for the current user is present in dm_policy.alias_set_ids for the lifecycle. If found
use this, otherwise continue.
3. Check if dm_group.alias_set_id of the default group for the current user is present in dm_policy.alias_set_ids for
the lifecycle. If found use this, otherwise continue
4. Check if dm_server_config.alias_set_id for the server configuration is present in dm_policy.alias_set_ids for the
lifecycle. If found use this, otherwise continue
5. Use the alias set specified by dm_policy.alias_set_ids[0]. Also knows as the default alias set of the lifecycle.

If the policy object has no defined alias set objects in the alias_set_ids attribute, the SysObject’s r_alias_set_id attribute is
not set.

12
Specifying an alias object in an alias set
You arrive at the Alias Object dialog when adding or editing a line in the alias set editor.

To specify an alias object in an alias set:


1. Enter the alias name in the ​Name ​ text box.
2. Select the alias type (unknown, user, group, user or group, cabinet path, cabinet or folder path, permission set) from the
Type ​drop-down list.
3. Enter the alias value in the ​
Value ​
text box. You can use the ​
e llipsis ​
button to display and choose from the legal values

12
for the current Docbase.
4. To require the installer to prompt for a value for this alias at installation, check the checkbox.
5. Specify an alias category and description. Alias category is a tool for developers to use to organize the aliases in their
DocApps. EMC | Documentum software does not use this field.

Note: ​
If you are using either a user or group alias in a workflow template, do not select the ​
User or Group ​alias
type—you must select either the ​ User ​alias type or the ​
Group ​ alias type. Workflow Manager cannot resolve the ​User or
Group ​alias type for the ​
Specific User​ ,​All Users in Group​ , or ​
Single User From Group ​ performer options when the
workflow initiator is prompted to specify the performer.

Changing the DocApp’s default alias set


1. Add an existing alias set or create a new one.
2. Right-click on the DocApp in the tree pane and select ​ Properties​ .
3. Click the ​
Application ​ tab and select an alias set to be the default alias set in the ​
Default Alias Set ​
field.
If the new default alias set has any aliases that the previous default alias set does not have, a warning message is displayed.
4. Click ​
Details ​to display a list of the aliases missing from the newly chosen alias set.

12
5. Click ​
Close​ , and then click the ​
Close ​
button of the DocApp’s ​ Properties ​dialog box.
6. For your aliases to be resolved correctly, add the missing aliases to the new default alias set.

12

You might also like