我想創建一個服務,以通過QName從外部系統打開和關閉策略。主要是,我想禁用可審計的政策,阻止我的外部系統推送內容並設置修改/創建的日期。我知道BehaviourFilter,但這些更改僅限於當前的交易。 我寧願在不重新啓動系統的情況下打開和關閉策略。關閉交易範圍之外的Alfresco策略
如何防止政策在未指定的時間內觸發,超出單個交易?
我想創建一個服務,以通過QName從外部系統打開和關閉策略。主要是,我想禁用可審計的政策,阻止我的外部系統推送內容並設置修改/創建的日期。我知道BehaviourFilter,但這些更改僅限於當前的交易。 我寧願在不重新啓動系統的情況下打開和關閉策略。關閉交易範圍之外的Alfresco策略
如何防止政策在未指定的時間內觸發,超出單個交易?
Alfresco的可審計政策往往容易受到刺激,所需的解決方法是不必要的浪費時間。我想討論一個解決方案,它是更多的工作,但可能在將來避免麻煩更大的靈活性,因爲露天結合兩件事情不應該被合併:
第一個接觸到文件協議,應該可以從客戶端寫入。有很多用例需要設置日期(將文件移動到露天,本地應用程序會在服務器更改日期時發生制動)
第二個是僅適用於管理員和合規性人員,應該是作爲獨立的屬性通過服務api和Web UI公開 - 而不是通過文件協議。
由於Alfresco將兩個用例僅組合在一個數據庫列/一個屬性中,所以我們總會遇到麻煩。文件協議用例不起作用,或者我們不能相信審計屬性。
我的建議是通過在模型中引入兩個新的屬性分離這樣的:
和映射這些屬性到文件協議的日期。 如果客戶端沒有設置策略(除文件協議之外,所有策略都會管理這些屬性的更新)
我的意圖是將它放在社區模塊/補丁中。
對此方法的任何反饋?也許有人贊助這個?
這很好,你意識到BehaviourFilter,但你可能錯過了爲什麼你不應該完全禁用一段時間的政策,然後重新啓用它。如果偶然的外部系統發送一個信號來禁用策略,並行用戶使用Alfresco並上傳,這意味着它不會再被觸發。
因此,您真的應該在外部系統的寫入交易中使用BehaviourFilter。
如何: 創建自定義web腳本,禁用QNAME /節點的BehaviourFilter並重新啓用它。如果您查看Alfresco的RecordsManagement代碼,它使用相同的原則。
我不是在選擇關閉策略時不謹慎。我明白有風險。 '如何'含糊不清,並沒有真正回答我最初的問題。 – DocWatson
這在過去一直是我的做法。捕獲自定義模型中的可審計字段,並通過禁用必要策略通過政策/行動在戶外一側應用它們。將數十萬個文檔移入Alfresco並不理想。 – DocWatson