0
要求:
我有一個要求,我需要將存儲庫中的一些nt:file
節點歸檔,這些節點可以在稍後階段恢復。 這些nt:file
節點一旦存檔,如果在存儲庫中搜索,則不應該可見。 但是,一旦恢復,他們應該變得可搜索。在Jackrabbit Repository中存檔文檔的最佳方式是什麼?
方法:
移動文件夾下的文件夾e.g Temp
下相同workspace
存檔。一旦用戶嘗試恢復節點,它應該移回到它存在的位置。這看起來像一個正確的方法嗎?
- 如果有人已經實現了這樣的功能,一個可以分享 他們的經驗和做法,或
- 什麼是可能的選擇我要實現這樣的功能?
感謝您的回覆@Bertrand。我對這種方法有一個擔憂。節點存檔後,如果用戶嘗試再次添加同一節點,它將被存儲。然後如果歸檔節點被恢復,它將導致「ItemExistsException」。有沒有辦法,這可以避免? – 2014-10-08 08:23:56
這是留下陰影節點的另一個原因 - 如果將say/content/foo移動到/ archive/foo,則將節點保留在指向歸檔節點的/ content/foo處,並設置該節點的訪問控制,以使用戶無法修改/內容/富,甚至不能看到它。 – 2014-10-09 09:36:28
我可以考慮多一個選項,即用布爾屬性isDeleted創建'mixinNode'。將'mixinNode'附加到文件節點上,並將其刪除。在搜索時,我將排除'isDeleted'屬性等於'true'的所有'nt:file'節點您是否發現此方法存在任何問題? – 2014-10-09 09:51:19