Alias 和 Alias Set的定义
用户在写一些可以重用的程序或过程的时候,不去硬编码一些值,而是使用变量来代替,这些变量就是Alias,Alias的实际值在程序执行的过程中决定。
哪些值可以使用alias
Alias可以用来表示user names, group names,folder path,permission sets
哪些对象接受alias
Alias能够被下列对象引用:
- SysObject及其子类型
. owner_name
. acl_domain
. acl_name
- Permission Set Templates
. r_accessor_name
- Workflow activity
. performer_name
- Link and Unlink 方法
. folderSpec 参数
Alias Sets对象
. Alias Sets在documentum中用dm_alias_set对象来表示,名-值对被存储在2个repeating 属性中 : alias_name, alias_value.
. Alias类型用alias_category属性来表示,有效值有:
0 - Unknow
1 - User
2 - Group
3 - User or Group
4 - Cabinet path
5 - Folder path
6 - ACL name
alias如何被引用
引用格式 : %[alias_set_name.]alias_name
- alias_set_name标示一个alias set 对象
- alias_name 指定这个alias set对象的alias_name属性的其中一个
例子 :
owner_name = %marketing_aliases.brand_mgr
或者直接使用
owner_name = %brand_mgr
如何解析alias
假设你有个叫finance_aliases 的alias set, 包含一个alias_name='cfo',其值alias_value='Wesley'.如果有个document的owner被设置成%finance_aliases.cfo,当这个文档被保存进repository的时候,服务器回去搜索object_name=finance_aliases的dm_alias对象,然后把cfo解析成Wesley,作为该文档的owner.
如果指定owner的时候没有包含alias set name,而只是指定owner_name=%cfo,服务器将根据特定的算法去查找alias value,这个算法叫“scope”。
如果指定的alias包含alias set name, 比如%finance_aliases.cfo,scope就是该名字所代表的alias set对象。否则,根据不同的对象类型,服务器将按照顺序去搜索一系列的”scope“,直到发现需要的alias_name。
-
如何解析workflow alias
如果一个workflow activity引用了alias,server将在activity启动的时候去解析这个alias。搜索的scopes依赖于dm_activity的resolve_type属性:
0 = default
1 = package
2 = user
搜索顺序入下图:
resolve_type=default
resolve_type=package
resolve_type=user
-
如何解析SysObject alias
-
如何解析permission set template alias
permission set template 是一种包含1个或多个alias引用的permission set。可以通过DAB来创建(注意,不可以通过webtop或DA来创建)。
dm_acl中的acl_class属性指定一个permission set是一个template ACL:
acl_class=0 private permission set
acl_class=1 template ACL
acl_class=2 instance of a template ACL
acl_class=3 public permission set
有lifecycle与之关联
无lifecycle与之关联