Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
这些是涉及版本控制的情况:
零件 | 应用程序版本 | 处理版本 |
---|---|---|
处理 | 是 | 是 |
形成 | 是 | |
数据列表 | 是 | |
用户视图 | 是 | |
应用属性 | 是 |
重点
每个应用程序版本可能包含多个进程版本,但只能启动应用程序版本所持有的当前最新进程版本的进程实例。
正在运行进程实例
更新应用程序版本不会影响正在运行的流程实例。
这些是进程版本将会改变的情况。
从现有应用程序版本创建新版本。所选的当前应用程序版本将被克隆(过程,表单,datalist,用户视图和属性,包括默认的插件属性,消息包和环境变量)到下一个可用的版本号。
在应用程序版本中,它包含流程设计,但流程设计有自己的称为流程版本的一套版本。
重点
每个进程版本只属于一个应用程序版本。
在“进程”选项卡中的每个进程下,单击“显示其他信息”链接以显示 进程定义ID。您可以在两次哈希之间找到进程版本。
零件 | 应用程序版本 | 处理版本 |
---|---|---|
处理 | 是 | 是 |
形成 | 是 | |
数据列表 | 是 | |
用户视图 | 是 | |
应用属性 | 是 |
这些是进程版本将会改变的情况。
通过Process Builder中的部署或上传.xpdl定义文件处理设计更新。
当上述任何一个发生时,Joget Workflow将找到下一个可用的流程版本并分配给它。
应用程式版本 | 处理版本 | 所采取的行动 |
---|---|---|
1 | 1 | |
1 | 1 - > 2 | 过程设计更新 |
例如,在上表中,通过流程构建器进行流程设计更新时,流程版本现在将从1变为2。
在某些情况下,即使存在较新的应用程序版本,也可以在较旧的应用程序版本上执行流程设计更新,如下表所示。
应用程式版本 | 处理版本 | 所采取的行动 |
---|---|---|
1 | 1 | |
1 | 1 - > 3 | 过程设计更新 |
2 | 2 |
在这种情况下,应用程序版本1现在将保存进程版本3而不是2。
在“监视器应用程序”部分,可以导航到流程实例视图,然后单击“ 流程名称”链接以导向应用程序版本的设计器控制台。从下面的屏幕截图看,这个特定的实例是进程版本6,它属于应用程序版本3。
通过更新相同应用程序版本中的流程设计,相同应用程序版本中的 所有现有正在运行的流程实例将自动更新 为后台的新流程流。
不要不除非它是绝对必要的,在生产服务器执行此。
不要在短时间内重复更新流程设计
一旦过程设计被改变,过程迁移将发生。重复的流程更改部署将在后台中断现有的流程实例迁移。
迁移发生时,您将看到以下示例日志消息。
INFO 28 Apr 2017 10:41:52 org.joget.apps.app.service.AppServiceImpl $ 1 - 将hr_expense的运行进程从4更新到5 INFO 2017年4月28日10时41分54秒org.joget.apps.app.service.AppServiceImpl $ 1 - 完成更新正在运行的进程hr_expense从4到5
流程迁移
在更新过程设计之后,请记得检查所有活动/插件映射,以确保它们是最新的并与您的过程设计同步。
包含活动映射的流程实例使用在相同应用程序版本下创建的表单。无论当前发布的应用程序版本如何,流程实例的分配都将显示映射到该流程实例的表单,流程实例所处的同一应用程序版本。
发布版本
应用的发布版本不会影响流程实例对表单的访问。
如果仍然存在流程实例,请不要移除生产服务器中的应用程序版本。
例如,在下面的表格和屏幕截图中, 123_hr_expense_process1将显示根据应用程序版本1下的活动映射映射的表单,而不管应用程序版本1或2是否已发布。
另一方面, 124_hr_expense_process1将显示来自应用程序版本2的表单。
应用程式版本 | 处理版本 | 所采取的行动 |
---|---|---|
1 | 1 | 启动一个流程实例123_hr_expense_process1 |
2 | 2 | 启动一个流程实例124_hr_expense_process1 |
通过访问由不同应用程序版本的流程实例创建的表单记录,您可能不会看到在流程实例流程过程中使用的确切形式。因此,您可以将表单从原始应用程序版本克隆到当前正在处理的应用程序版本中,以便您可以访问在处理流程中使用的表单。
例如,在下面的屏幕截图中,我们在流程实例分配中看到一个包含3个字段的表单。请记住,此流程实例使用的表单来自流程实例启动的应用程序版本。
对于相同的记录行,在CRUD用户视图菜单中查看时,在当前发布的版本中有一个额外的字段,该字段已添加到表单中。
为了解决可能的混淆并显示用于记录行的正确表格,可以采取以下行动:
如何获取当前的应用程序版本?
以下代码可以在Bean Shell中使用:
import org.joget.apps.app.model.AppDefinition; String appVersion = appDef.getVersion().toString();