2015-04-24 75 views
0

我有一個Alfresco模塊,我希望在安裝新版本時做一些清理工作。我可以在Alfresco啓動時運行代碼嗎?

在當前情況下,較早版本的模塊在存儲庫的根目錄下創建了具有自定義屬性的文件夾節點。之後我們決定擁有多個這樣的節點,而且他們都不在這個位置。我想將這個模塊代碼的下一個版本放到Alfresco啓動時運行,檢查舊節點是否存在,將它的屬性複製到適當的新節點中,然後刪除舊節點。

這樣的事情可能嗎?我查看了Bootstrap配置文件,但似乎只允許將某些東西添加到存儲庫,而不是修改或刪除它們。

回答

1

是的,你可以做到這一點,也許你錯過了正確的位置有關的文件中:

如果你打開Import Strategy你會發現一個部分Per BootstrapView,你應該使用類似REPLACE_EXISTINGUPDATE_EXISTING爲您ACP打包的內容(如果您使用ACP作爲引導程序導入策略)。

Here是對UUID Bindings值的更詳細描述。

希望有所幫助。

2

我的建議是你寫一個補丁。這是一個類實現 org.alfresco.repo.admin.patch.AbstractPatch

然後,你可以做任何你想要的引導(除了執行搜索solr,因爲它不會可用)。

添加一些彈簧配置,看看文件patch-services-context.xml的靈感。

相關問題