|
6-1 基于Lotus Notes的会签及授权机制的实现
宋 涛
在Lotus Domino平台上,会签机制实现的步骤是由某一种情况确定流程中每一个具体活动,再利用流程设计工具Lotus Workflow Architect加以实现。这种方式的优点是可以较快生成流程,缺点是需要在设计流程时确定会签涉及的人员和人数,流程的灵活性较差。 为了解决流程灵活性比较差这个问题,考虑利用Notes表单和流程设计工具,使得会签涉及的人员在流程运行时动态地确定,不受具体人数限制,从而具有一定灵活性。这种会签机制实现的基本思想是减法:把需要会签的用户名保存在域A中,域B存放已经会签的用户名,而域C保存还未会签的用户名;当文档被系统路由到某用户处并会签后,系统自动地把当前用户名添加到域B中,同时从域C中删除其名字,即C=A-B(如图1所示);系统读取表单中域C的内容,从而把文档路由到指定的用户处。
会签实现的算法相对简单,如图2所示。首先,收发室指定了需要会签的用户后,系统把用户的名字保存在需要会签的用户域xqld和还未会签的用户域wqld中;然后根据wqld,系统会把需要会签的文档路由到指定的用户处;最先申请的用户对停留在他处的文档进行编辑之后,系统把其名字添加到已经会签的用户域yqld中,从而计算出wqld;系统判断是否还有未会签的用户,如果有,就继续,否则就结束。
授权是另外一种在日常办公过程中会碰到的情况,当用户因故离开时,可以委托其他人代为处理其工作。Lotus Domino本身有很多安全和授权机制,但是一般需要由系统管理员来授权,在实际应用中并不方便。授权机制的实现需要解决两个问题:第一,如何把需要授权人处理的自动地转发到其指定的代理人处;第二,代理人如何对文档中原本只有授权人才能编辑的部分具有编辑权限。 第一个问题的解决需要利用组织目录数据库中的“离开办公室简要表”,每个用户(授权人)都可以为自己创建离开办公室简要表,指定由谁(代理人)可以处理其工作。 第二个问题涉及到不同用户对同一份文件在不同时刻的编辑问题。如果授权人A创建“离开办公室简要表”,把工作授权给了代理人B,系统就把原本需要A处理的文档流转到了B处,现在出现的问题是,B虽然可以看到文档,但是无法编辑文档中原本A可以编辑的区段。这是因为,系统只是根据“离开办公室简要表”把文档流转到了B处,并没有对表单中相应区段的编辑者进行调整。显然,如果把B添加到区段中,B就应该可以对该区段进行编辑了。 授权实现的基本思想是:首先由用户创建“离开办公室简要表”,然后在文档流的动过程中,在每次活动结束之前,系统根据下一个文档编辑者查找其“离开办公室简要表”,找到代理,用代理的名字替换掉用户的名字。 使在Lotus Domino平台上用该方法,可以达到让用户灵活地授权给不同的代理代替自己工作的目的。 |