Sharepoint 2010以编程方式为文档ID服务分配前缀

时间:2011-04-21 15:34:57

标签: sharepoint-2010

我正在创建一个新网站集,其中应激活文档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();
            }
        }

由于

2 个答案:

答案 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/