(钉钉子管理员列表页面)
(钉钉子管理员编辑页面)
(钉钉子管理员添加人员页面)
这是钉钉后台的管理系统,在子管理员页面里会有添加管理组,添加管理组人员,设定管理组的管理员,设置权限等。管理组会有一些默认的管理组,也可以由用户新增。操作顺序可以是:
(钉钉子管理员页面流程)
钉钉产品已经非常庞大了,作为一个平台产品,这边的权限主要是针对不同应用的访问和使用。钉钉的管理组就像一个角色,而成员就代表着用户,最后为角色配置权限。引入角色对用户和权限进行解耦的好处是,任何员工的离职入职,都不会影响到角色和权限直接的关系。而管理要做的,只是把人丢到对应的管理组即可。
钉钉对于这部分的管理是一步到位的,完成了用户-角色-权限的配置。如果想要条理更清晰一些,可以先完成角色和权限的映射配置,再往角色里添加人员就可以了。
除了用户- 角色- 权限这种形式,还可能出现更为复杂的问题。
比如权限的冲突,小路有两个角色,一个角色是管理员,一个角色是组长,组长有开除员工的权限,管理员没有开除员工的权限,那么小路最后应不应该有开除员工的权限?
这里可以考虑给角色加上优先级,出现冲突了以优先级高的角色所对应的权限为主。
再比如,角色组的问题。一个角色可以对应分配权限,而由角色构成的集合应该也可以被分配权限。如下图:
(用户-角色-权限,用户-角色组-权限)
举个例子:
- 用户:小路、小山、索大
- 角色:项目经理、前端工程师、产品经理
- 角色组:钉钉项目组
- 权限:项目进度管理、项目组聊天窗、产品原型设计、产品开发
钉钉项目组作为角色组,可以由项目经理、前端工程师、产品经理这几个角色组成,角色组有自己的权限,角色也有自己的权限,用户还是和角色绑定,用在角色组里会有角色组的对应的权限,也会有角色对应的权限。
这里基于用户-角色-权限这个父类可以派生出很多子类。这部分角色没有处理好的话,很可能会影响到第二部分说的工作流,钉钉在这里设计的相对完善。
02 工作流,BPM(Business Process Management)
工作流也可以划分为五个阶段,分别是:
- 业务流程发掘(Business Process Discovery)
- 业务流程设计(Business Process Design)
- 业务流程执行(Business Process Execution)
- 业务流程管理维护(Business Process Administration)
- 业务流程最优化(Business Process Optimization)
我们产品里常用到的是申请和审批,属于业务流程的设计。
工作流里所涉及到的角色有:申请发起人、审批人、抄送人、执行人。
根据业务情况还会涉及到条件分支,比如报销金额超过100W,需要总经理批,低于1000元,上级领导批就可以;请假时间超过30天需要人力主管批,低于3天直线主管批就可以等等。
我们看一下钉钉的工作流。钉钉的工作流是通过可视化编程做的,其实和之前说的低代码属于同一类产品,钉钉的工作流设计和低代码平台氚云、明道云等等非常像。对于钉钉布局低代码也可以从这看到必然。