我正在努力将 Alfresco 5.0 升级到 7.4。正如文档所说,我需要先升级到 5.2,然后再升级到 7.4。我成功地将项目及其所有依赖项迁移到 SDK 4.6 并在 Alfresco 7.4 中运行。现在我尝试迁移 Alfresco 数据。
我在 5.2 中恢复了 5.0 的备份,似乎一切正常。所以我在 5.2 中进行了备份,并尝试在 7.4 中进行恢复。 Alfresco 正常启动,一切正常,但当我尝试编辑权限时全部崩溃。通过手动共享或通过 Java 操作我得到同样的错误:
Cannot invoke "org.alfresco.util.PolicyIgnoreUtil.ignorePolicy(org.alfresco.service.cmr.repository.NodeRef)" because "this.policyIgnoreUtil" is null
对我来说这很奇怪,因为这个错误来自 Alfresco 的深度,请参阅 github 上的代码。可以上传或创建文件,仅当尝试更改它们时才会出现错误。我以管理员身份做所有事情。我通过java操作尝试了permissionService,但它仅在更改方法时崩溃。获取这样的方法有效:
permissionService.getInheritParentPermissions(actionedUponNodeRef);
permissionService.getAllSetPermissions(actionedUponNodeRef);
但是改变像这样崩溃的方法:
permissionService.setInheritParentPermissions(actionedUponNodeRef, false);
以前有人见过这样的东西吗?任何更多调试的想法也很好。
我发现我在 5.0 版本上有旧插件,它扩展了
PermissionServiceImpl
。当时有一些关于权限的修复。在新版本中不需要更多。我的解决方案很简单:从 5.0 中删除插件,应用放大器,进行备份,然后在新版本上恢复。