可以强制执行A​​lfresco Share Extension模块的加载/评估顺序吗?

时间:2013-02-18 09:00:24

标签: alfresco alfresco-share

有没有办法强制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

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

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

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

我们怎样才能确保在项目特定模块之前加载/评估“常规”自定义模块,因为它们在服务器重启之前被激活了?

此致

安德烈亚斯

Alfresco 4.0.2.9/Tomcat/Win7

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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和版本。

答案 2 :(得分:1)

目前无法在Share Extensibility模块中声明依赖项,就像使用AMP一样。

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

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

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

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