如何确定 Camunda webapp 在 EE 版本中是否为 运行

How can I determine if a Camunda webapp is running in EE version

我想要一个 table 的专栏,通常是社区版本的功能。 但是这个专栏的内容(和流程实例历史相关的东西)只有EE版本才有。 有没有办法找出 Web 应用程序何时(或不)是否在 EE 服务器上 运行?

有人向我指出了一个巧妙的解决方案,其中包括获取 Views 提供程序(如 Angular DI 东西),然后检查相关(仅限 EE)插件是否可用。 此处使用此解决方案: https://github.com/camunda/camunda-bpm-webapp/blob/48cfc96fcd9f97a9fde741987891ba9901e33bd3/webapp/src/main/resources-plugin/decisionList/app/views/decisionDefinition/decisionInstanceTable.js#L19

Web 应用程序的 CE 和 EE 版本之间的唯一区别是某些插件的可用性。历史插件仅适用于 EE,但您可以通过 ViewsProvider 查看它是否可用:

var processInstancePlugins = Views.getProviders({ component: 'cockpit.processInstance.view' });

var hasHistoryPlugin = processInstancePlugins.filter(function(plugin) {
  return plugin.id === 'history';
}).length > 0;

如果 hasHistoryPlugin 为真,您可以执行一些 Javascript 以显示仅限企业的功能。