节点树

在用户或者角色的节点树上,我们可以配置功能节点,节点上可以配置许多属性参数来控制节点的行为。

1.普通属性

属性名 含义 备注
id 节点编号 自动生成,不需修改
text 节点文字  
function 节点功能 说明点击节点的时候使用的功能,如果一个节点不配置function属性,
那么点击该节点无动作,但可能可以点击加号展开
operation 操作 点击节点的时候触发的操作,如果不填写,那么会使用节点所配置的功能的默认操作
parameter 节点参数 只用于点击节点的时候tab页上的url附加参数
page 点击节点打开的页面 使用于没有功能的情况,例如点击节点要打开外部页面
target 打开页面的目标框架或窗口 如果不配置此属性,则使用默认值"workspace",页面会在工作区中打开。
否则,会使用指定的窗口,例如配置target="_blank"则会使用新窗口打开页面
hidden 配置为true的话节点会隐藏  
From 说明节点来自于什么角色 同步角色模板的时候产生,A角色的节点同步的B人员的树上时,会加上From="A"

2.扩展属性

属性名 含义 备注
tabs 点击节点工作区中出现的Tab页 以Json字符串形式描述,例如:
[{name:'属性',action:'/field/list.xhtml?entity.metaEntity.id=#entityId#',
active:true},{name:'操作',action:'/operation/list.xhtml?entity.metaEntity.id=#entityId#'}]
内容是一个数组,每一个元素都有若干属性,其中name是Tab页标题,
action是该Tab页激活的时候请求的地址,active用来设定初始状态。
在action属性中可以用#entityId#来代表当前节点的实体标识,用#text#来代替当前节点名称,
用#id#来代替当前节点id
entityOnChildNodes 使用将实体显示在节点上的功能 值可以是true,
也可以是父实体的标识属性的属性名,
例如father.id。值为true的时候默认是father.id
childNodesFunction 获取子结点使用的功能 有entityOnChildNodes属性的时候才能起作用
childNodesParameter 获取子结点的时候附加的url参数 有entityOnChildNodes属性的时候才能起作用

3.节点同步规则

角色和用户的节点树在数据库中都是用XML方式存放的。一个人被赋予了几个角色,那么在同步相关角色节点树,或者同步这个人的节点树的时候,会发生XML合并,表现为节点树同步。其中规则如下:

  1. 合并的两个XML文档是有先后顺序的,如果发生覆盖,那么是序号大的角色的节点覆盖序号小的角色的节点
  2. 同层节点,如果text属性也就是节点文字相同,那么发生覆盖
  3. 用户的节点一般有From属性,可以知道该节点来源于哪个角色,如果该角色现在已经将这个节点删除了,然后再同步,那么用户身上的这个节点也被删除
  4. 用户的没有From属性的节点不来自于任何角色,应该是给该用户单独配置的,不受同步操作影响
  5. 暂未考虑合并前后的节点顺序问题

同步一个角色的节点树会影响被赋予了该角色的所有用户,同步一个用户则会将这个用户所有的角色的节点都同步到这个用户节点树上来。

团队
Group: Lingdot
Allan Zhang (allanz)
guyan6644@163.com
Jonney Xian (jonney)
jonney_82@163.com
刘 洛麒 (llq667)
llq667@gmail.com
孙 海龙 (sunhl)
sunny.hl@163.com
宋颂 (ssong)
ss0070@163.com
张盈盈 (zyy200411)
04281118@bjtu.edu.cn
牛 俊力 (niujl)
05272140@bjtu.edu.cn
胡文锦 (cattyjin)
07122053@bjtu.edu.cn
苏 哲 (billy)
mvpierce34@gmail.com

标签

 
(没有)