如何修改SharePoint網站,以便在文檔庫中默認開啓版本控制功能?默認情況下,在SharePoint中進行版本控制
5
A
回答
7
版本控制不是在站點級完成,而是在列表級完成。
如果你想版本是打開每一個新的圖書館,你就必須要麼:
- 使用自己的模板庫(帶版本開啓)
- 使用功能+事件處理程序以編程方式激活每個新列表的版本號
最簡單的方法可能是使用自己的模板。爲此,創建一個新的文檔庫,激活版本控制,然後將該列表保存爲模板。
當您創建新列表時,您將能夠使用您的模板並直接創建激活版本控制的列表。
5
你當然可以創建自己的網站定義,但這可能不是最好的解決方案。創建自定義庫模板也會起作用,但是如果您想爲特定網站定義爲您創建的庫打開版本控制功能,則必須提供其他內容。
我們恰好爲我們的SharePoint實施做了這些工作。我們決定最好的方法是創建一個事件處理函數,並將其裝訂到所有網站,以便在創建網站時,對所有現有文檔庫進行版本控制。當然,新的文檔庫將獲得創建它的用戶設置的任何版本控制選項。
我們遇到的問題是沒有「ListCreating」事件處理程序,因此我們無法在此時開啓版本控制。因此,我們嘗試將代碼放入FeatureActivated事件處理程序中,並確定它會在網站創建時激活,然後可以更改所有文檔庫以啓用版本控制。問題在於這個事件在圖書館真正創建之前被解僱了。
因此,我們決定將代碼放入「ItemAdding」事件處理程序中,並在第一次運行後將其刪除。因此,當用戶第一次添加列表項或文檔時,它將打開網站中所有文檔庫的版本控制。這樣,我們確保用戶無法在未經版本化的情況下將文檔添加到現有庫。此外,在添加項目之前創建的任何庫都將默認打開版本控制。
這是一個多毛的解決方案,但它爲我們工作得很好。以下是我們使用的代碼:
public class SetVersioning : SPItemEventReceiver
{
public override void ItemAdding(SPItemEventProperties properties)
{
SPWeb CurrentWeb = properties.OpenWeb();
foreach (SPDocumentLibrary doclib in CurrentWeb.GetListsOfType(SPBaseType.DocumentLibrary))
{
doclib.EnableVersioning = true;
doclib.MajorVersionLimit = 8;
//doclib.EnableMinorVersions = true;
doclib.Update();
}
//now get rid of the receiver
SPEventReceiverDefinitionCollection receivers = CurrentWeb.EventReceivers;
foreach (SPEventReceiverDefinition definition in receivers)
{
if (definition.Name.Equals(EVENT_RECEIVER_NAME))
{
definition.Delete();
break;
}
}
base.ItemAdding(properties);
}
}
相關問題
- 1. 如何在默認情況下禁用IntelliJ IDEA版本控制?
- 2. 運行從終端的R新版本時,舊版本在默認情況下
- 3. 進口的UIKit默認情況下爲
- 4. 默認情況下讓emacs在控制檯模式下運行(-nw)
- 5. 產量和默認情況||不輸出默認情況下
- 6. 默認情況下,法國
- 7. 安卓:默認情況下
- 8. 默認情況下不會執行C++
- 9. 默認情況下放大的移動版本
- 10. 默認情況下在WebStorm中像PhpStorm中自動縮進
- 11. 使用TFS在VM和版本控制中進行SharePoint開發
- 12. 默認情況下使用擦除選項進行pip安裝
- 13. 在默認情況下的UITableViewCell
- 14. 複選框在默認情況下knockout.js
- 15. 默認情況下,在項目
- 16. 默認情況下,在asp.net MVC2
- 17. 在默認情況下優化CMake
- 18. 默認情況下,在網頁
- 19. 默認情況下在參數
- 20. 默認情況下修改默認命令:默認命令爲
- 21. 默認情況下,SharePoint功能未啓用
- 22. 默認情況下在Chrome中摺疊控制檯信息消息
- 23. 默認情況下在休眠狀態下進行樂觀鎖定
- 24. 默認情況下在PHPUnit中運行單個測試套件
- 25. 如何在默認情況下運行cuda中的pytorch運算
- 26. SharePoint,在不更改版本號的情況下注冊評論
- 27. 默認情況下,gcServer在服務器版本的Windows上是否爲true?
- 28. 默認情況下xdg-open在每個linux發行版上都可用?
- 29. 版本控制SharePoint功能
- 30. 在沒有默認控制器和路由的情況下創建捆綁包
創建模板作爲解決方案非常簡單。 – CodeGrue 2012-10-05 19:02:07