好吧,我想有很多方法可以做到这一点,但几分钟后就想过了,这里有一个建议。
a。在着陆页上创建一个脚本适配器(Case Manager页面)。
虽然连接到ecm.moel.desktop.onLogin事件会更直观,但onLogin位于导航器范围内,我们需要确保ICM已启动,因为我们需要访问角色信息/ ICM api。通过在着陆页上使用scriptadapter,我们不仅确保加载ICM上下文/ api,而且还能够使用ICM API检索案例并将其打开...
b 。在脚本适配器中,执行角色检查;这可以通过以下方式完成: var role = ecm.model.desktop.currentRole.name;
(参见this blog)
c。如果角色是耐心的,找出你想要打开的案例(ID);您可能想要使用ecm.model.SearchQuery进行查询,或者您可以构建一个插件服务(有关服务,请参阅此redbook)。 d)。通过c的结果,您可以使用具有相应负载的OpenCase事件打开案例页面。
var caseId = "the id resulting from c.";
this.getSolution().retrieveCase(caseId, lang.hitch(this, function(caseFolder) {
this.onBroadcastEvent ('icm.OpenCase', {
"caseEditable": caseFolder.createEditable(),
"coordination": new icm.util.Coordination()
});
});