2013-07-08 68 views
0

我試圖通過使用java的化學CMIS實現在Alfresco中使用文檔方法addToFolderremoveFromFolder在使用CMIS的Alfresco文檔中使用addToFolder和removeFromFolder

我想要從多個用戶空間訪問文檔,但我不想將每個空間複製到每個空間。該文檔由用戶生成,並且該用戶必須決定文檔是否必須被刪除,移動,修改等。但是具有對該空間的讀取權限的其他用戶必須從其默認空間讀取該文檔。

因此,從其他用戶我執行myDocument.addToFolder(myNewUserSpace),這運行正常,我可以訪問它沒有問題。這很好。 但是,如果由於某種原因,我想在myDocument中解除關聯myNewUserSpace(使用de myNewUserSpace專有用戶,而不是myDocument用戶),由於myDocument上的寫入權限,我得到一個錯誤。

我不希望每個可以執行addToFolder的用戶都獲得寫入權限。

是否有可能在沒有授予主用戶空間的寫入權限的情況下執行此操作?

問候。

+0

您可以創建一個「公共」空間(每個人都可以閱讀,或者由一個或多個團隊閱讀,...) – guy777

+0

不,我不能。 primaryFolder只能由一些小用戶訪問(讀取),除了它的所有者之外,沒有人可以寫入。 – lodopidolo

回答

1

權限可以從文件夾繼承。 Afaik addToFolder將您的spaceB添加爲myDocument的secondaryParent,但權限僅從spaceA繼承而來 - myDocument的primaryParent。

+0

是的,但如果用戶B我可以'myDocument.addParent(spaceB)',我不能執行'myDocument.removeFromFolder(spaceB)'這個用戶呢?現在我無法做到這一點,雖然我授予primaryParent上的userB的寫入權限。沒有其他辦法可以做到嗎? – lodopidolo

+0

您需要spaceB&myDocument的寫入權限才能執行'myDocument.addParent(spaceB)',但afaik您需要刪除SpaceB的權限以執行'myDocument.removeFromFolder(spaceB)' 有許多機會實現您的使用a在Alfresco中定製代碼(行爲或動態權限) - 您仍然可以使用CMIS訪問Alfresco,但您必須調整Alfresco的內部使用案例 – alfrescian

+0

當然可以。 userB需求和userB具有刪除spaceB的權限。但是從userB運行'myDocument.removeFromFolder(spaceB)'Alfresco也需要primaryParent的刪除/寫入權限。這是我無法理解的。 並提到你的建議,你可以給我一些關於如何從Alfresco API直接做的文檔或例子嗎? – lodopidolo