【问题标题】:Sharepoint 2010 - Managed KeyWordsSharepoint 2010 - 托管关键字
【发布时间】:2010-07-21 21:29:26
【问题描述】:
- 是否可以将托管关键字导入 SharePoint 2010?
- 关键字存储在哪个数据库中?
- 背景 -
我目前正在从旧系统迁移到 SharePoint 2010。到目前为止,一切进展顺利,我什至可以将托管元数据与大多数其他数据一起引入。
我使用的过程是为 SharePoint 2007 构建的,用于通过 SOAP 更新列表。通过一些手动调整,我设法获得了元数据。
要引入托管元数据或托管关键字,我需要知道现有标签/关键字的 ID。我有这个用于托管元数据,但没有用于托管关键字。
目前,我创建了一个 CSV 文件,以便在为源标签计算虔诚的 GUID 之前为托管元数据导入。
非常感谢
卢克
【问题讨论】:
标签:
sharepoint
sharepoint-2010
【解决方案1】:
是的,您可以将托管术语(关键字不受托管)导入 SP2010。 OOTB 托管元数据服务应用程序可以导入 CSV 文件...也有一个示例。通过 API 导入也非常容易。下面展示了如何获取对术语库的引用并开始添加术语。要添加术语,请查看 Term 对象。
// get refrerence to the taxonomy term store
TaxonomySession taxonomySession = new TaxonomySession(siteCollection);
// get reference to first term store (can also get by name)
TermStore termStore = taxonomySession.TermStores[0];
string termGroupName = "Locations";
Group termGroup = termStore.Groups.Where(x => x.Name == termGroupName).Count() > 0 ?
termStore.Groups[termGroupName] :
termStore.CreateGroup(termGroupName);
string termSetName = "United States Geography";
TermSet termSet = termGroup.TermSets.Where(x => x.Name == termSetName).Count() > 0 ?
termGroup.TermSets[termSetName] :
termGroup.CreateTermSet(termSetName);
Term newTerm = termSet.CreateTerm("Level 1",1033);
newTerm.CreateTerm("Level 1a",1033);
termStore.CommitAll();
不要关心数据库。不支持直接在 DB 上进行读/写操作。有一个非常强大的分类 API (M.SharePoint.Taxonomy.dll) 可用。