我正在创建一个新网站集,其中应激活文档ID服务。如何以编程方式在新网站集中设置文档ID服务的前缀?
[编辑] 这似乎是解决方案。
using (SPSite rootSite = new SPSite(URL + "sites/123021")) {
rootSite.Features.Add(new Guid("b50e3104-6812-424f-a011-cc90e6327318"));
using (SPWeb web = rootSite.OpenWeb(String.Empty, true)){
web.Properties["docid_settings_ui"] = "<?xml version=\"1.0\" encoding=\"utf-16\"?><DocIdUiSettings xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><Prefix>88888</Prefix><AssignmentEnabled>true</AssignmentEnabled></DocIdUiSettings>";
web.AllProperties["docid_settings_ui"] = "<?xml version=\"1.0\" encoding=\"utf-16\"?><DocIdUiSettings xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><Prefix>88888</Prefix><AssignmentEnabled>true</AssignmentEnabled></DocIdUiSettings>";
web.Update();
}
}
由于
马
答案 0 :(得分:1)
您可以通过设置网站集的RootWeb的docid_msft_hier_siteprefix属性来更改文档ID服务使用的前缀(在Properties和AllProperties属性包中更改它。
托比
答案 1 :(得分:0)
我验证了SharePoint 2013的“答案”,它确实在“文档ID设置”页面中设置了前缀。但Document ID服务的计时器作业不会应用新的前缀。你应该试试这个
// Set document id service prefix
DocumentId.SetDefaultProvider(rootSite);
DocumentId.EnableAssignment(rootSite, "MYPREFIX", true, true, true, false);
有关详细信息,请参阅我在此问题上的博客文章。 http://blogs.perficient.com/multi-shoring/blog/2015/01/13/set-document-id-prefix-programmatically-in-sharepoint-2013/