4

有没有办法强制 alfresco 共享扩展模块的加载/评估顺序?

我们目前在module-general.jar中定义了两个扩展模块,在project-specific.jar中定义了另一个模块 module-general.jar 中的模块自定义了应用于所有站点的功能,例如只允许创建私人站点等。

project-specific.jar 中的模块依赖于在其他通用模块之后被加载/评估才能正常工作。

当模块被添加到“已部署的模块”组并按下“应用更改”按钮时,一切都会按预期工作。

模块顺序如下:

GEN (00) Hide Create Site
GEN (01) Manage Permissions
PRO_ID Manage Permissions

重新启动 Alfresco/tomcat 后http://localhost:8080/share/page/modules/deploy,活动模块顺序上的 http GET 不同,并且“管理权限”功能不再按项目请求的预期工作。

服务器重启后的模块顺序如下:

PRO_ID Manage Permissions
GEN (00) Hide Create Site
GEN (01) Manage Permissions

我们如何确保“通用”自定义模块在项目特定模块之前加载/评估,因为它们在服务器重新启动之前被激活?

问候

安德烈亚斯

露天 4.0.2.9/Tomcat/Win7

4

3 回答 3

2

在共享模块 xml 文件中使用标签 auto-deploy-index数字越低优先级越高

于 2017-04-04T12:40:48.947 回答
1

目前无法在共享可扩展性模块中声明依赖关系,就像使用 AMP 一样。

因此,无法保证模块首次添加到 Share 时的加载顺序。

模块可以由管理员在模块部署控制台中重新排序,这是我用来确保在它们所依赖的模块之后加载依赖模块的方法(有关此示例,请参阅我上周的Tech Talk Live ) .

auto-deploy不幸的是,对于标志设置为 的模块,这种顺序不会持续存在true。这是因为自动部署无法将状态持久化到存储库(因为没有活动的用户会话)。每次重新启动服务器时都会重新部署自动部署的模块,这就是它们最终重新出现在列表末尾的原因。

解决方案是避免对加载顺序很重要的任何模块使用自动部署。我发现在我的模块描述符中进行必要的代码更改后,我必须删除所有模块并应用更改,然后以正确的顺序重新添加它们并再次单击应用更改。

于 2013-02-19T10:06:35.753 回答
1

您应该在module.properties文件中指定依赖项,如wiki中所述。因为GEN (00) Hide Create Site你不必做任何事情。因为GEN (01) Manage Permissions你需要这样的东西:

module.depends.com.tullo.alfresco.module.gen00=1.0-*

PRO_ID Manage Permissions

module.depends.com.tullo.alfresco.cmodule.gen01=1.0-*

将上述内容调整为您开发的模块的真实 ID 和版本。

于 2013-02-18T16:55:28.093 回答