我有一个Alfresco模块,我希望在安装新版本时进行一些清理。
在当前情况下,该模块的旧版本在存储库的根目录下创建了具有自定义属性的文件夹节点。我们决定拥有多个这样的节点,而且在那个位置都没有。我想在Alfresco启动时运行下一版本的模块代码,检查是否存在旧节点,将其属性复制到适当的新节点中,并删除旧节点。
这样的事情可能吗?我查看了Bootstrap配置文件,但似乎只允许一个人向存储库添加内容,而不是修改或删除它们。
答案 0 :(得分:3)
我的建议是你写一个补丁。这是一个实现的类
org.alfresco.repo.admin.patch.AbstractPatch
然后你可以在bootstrap上做任何你想做的事情(除了执行针对solr的搜索,因为它不可用)。
添加一些spring配置,看一下patch-services-context.xml文件的灵感。
答案 1 :(得分:2)
是的,你可以这样做,可能你错过了文档中关于它的正确位置:
如果您打开Import Strategy,我们会找到Per BootstrapView
部分,您应该使用REPLACE_EXISTING
或UPDATE_EXISTING
之类的内容来处理您的ACP打包内容(如果您和#39;重新使用ACP作为引导导入策略。)
Here是UUID Bindings
值的更详细说明。
希望有所帮助。
答案 2 :(得分:1)
您可以使用补丁。 当alfresco服务器启动时,它会应用补丁并执行数据库更新等。
定义:
补丁是一段Java代码,在Alfresco执行一次 内容服务启动。可以实现自定义补丁。