欢迎进入Wiki » FAQ » 流程提交或打开待阅后,如何刷新第三方系统的统一待办的列表?

流程提交或打开待阅后,如何刷新第三方系统的统一待办的列表?

在2014-05-17 09:00上被李小翔修改
评论 (0) · 附件 (0) · 记录 · 信息

门户集成时,往往需要实现统一待办集成,而统一待办系统通常要实现:

  • 定时或(准)实时的从OA或BPM系统中抓取(或推送)待办、待阅等任务信息
  • 在门户首页或特定栏目下,显示待办、待阅列表
  • 与OA或BPM系统实现SSO
  • 从列表中打开待办任务后,任务提交时,需要自动刷新门户上的列表

将BroBPM与统一待办系统实现实现任务同步、SSO集成后,考虑第最后的刷新需求,在BroBPM中待办任务提交、或者打开待阅后,会自动执行下面的步骤(js):

  • 尝试调用父窗口(window.opener)的 reloadTodoreloadToread 方法来刷新待办/待阅/文档列表
  • 如果调用失败(js方法不存在或不允许跨域访问等),进一步尝试重新加载父页面(opener.location.reload()
  • 如果还是失败,则尝试提升当前域(即修改 document.domain,如 bpm.bropen.com.cn 去掉前缀、提升到 bropen.com.cn),并重复执行上述两步

给予上述刷新机制,统一待办系统可以:

  • 为了避免跨域问题,使用反向代理等机制,将所有系统保持在同一个子域下(如portal.bropen.com.cn)
    或者保持在同一个父域下,并且当加载完列表页面后,主动提升当前域为父域,以便各个子系统的页面能够通过js互相访问
  • 在待办、待阅列表中提供reloadTodo、reloadToread的js api,这两个api用来实现ajax或者页面的刷新
    否则,当BPM系统或其他系统通过调用opener.location.reload()来刷新时,如果列表中有查询操作,则应该采用GET方式、而不是POST方式,以免浏览器弹出重新发送请求的提示
标签: BroBPM
在2014-05-17 09:00上被李小翔创建

Copyright © 2013 北京博瑞开源软件有限公司
京ICP备12048974号