2009年12月4日,星期五

托管元数据 in SharePoint 2010 –ECM的关键增强

上周我做了一个演讲‘SharePoint 2010中的企业内容管理增强功能’在英国SharePoint用户组中。由于演讲是70%的演示,因此只需发布幻灯片即可’确实传达了讨论的内容,因此在接下来的2个帖子中,’将以书面形式涵盖同一领域。所以这‘ECM增强迷你系列’ consists of:

Part 1: 托管元数据 in SharePoint 2010 –ECM的关键增强功能(本文)
更新: Part 1.5: 托管元数据 in SharePoint 2010 - some notes on the "why"
第2部分: ECM平台增强功能-企业内容类型,内容组织者,可伸缩性等

I want to focus on 托管元数据 first as it will be such a key ECM building block in SharePoint 2010.

背景

在SharePoint 2007中,元数据是一个巨大的盲点–许多组织有一个基本要求,即只允许某些‘approved’中央列表中的双色球推荐一注用作元数据。大致来说,这些选项是:

  • 使用选择或查找字段(范围仅限于Web,或可能作为功能部署,可以提供更大的覆盖范围,但会带来更多维护问题)
  • 建立自定义字段类型
  • 购买供应商’的解决方案(将在某处涉及自定义字段类型)
  • 尝试简单 指南 作者在一个普通的旧文本框中使用正确的双色球推荐一注

通常,元数据双色球推荐一注处于一个层次结构中,其中排除了其中一些选项。否则,第一个和最后一个选项在大型部署中是la脚/不合适的,我可以切实保证任何供应商或定制解决方案都不会’与适当的“嵌入SharePoint”实施一样丰富。这就是我们’现在,借助“Managed Metadata” capability – I wouldn’t say it covers 所有 的基础,但可以轻松扩展。在我的谈话中我开玩笑说我不能’无需进行任何代码即可进行讨论,因此展示了如何使用Microsoft.SharePoint.Taxonomy命名空间在10分钟内填补元数据框架中的一个明显漏洞。稍后对此进行更多讨论。

需要注意的关键是 the new 托管元数据 field now exists 默认 在许多核心内容类型上,例如‘Document’ – so it’无需将其显式添加到您的内容中。

SharePoint 2010-创建中央分类法

一个组织’双色球推荐一注存储管理工具中定义了分类– this is part of the 托管元数据 service application, 和 can be accessed 从管理中心或在“网站设置”中。权限在双色球推荐一注库本身中定义。对于我的演示,我“borrowed”并从英国一家受欢迎的电器零售商处分类,并手动添加了这些双色球推荐一注(但请注意,您也可以从CSV导入)。下图显示了用于构造和管理SharePoint 2010分类法的不同类型的节点,以及可用于管理特定双色球推荐一注的选项:

双色球推荐一注库  

添加网站栏-使条款可用 

为了使作者能够在文档库上使用这些双色球推荐一注,需要创建一列(最可能在适当的内容类型上)的列‘Managed Metadata’。这里有2个关键步骤:

  1. 将列映射到分类法区域,其中包含我们希望用于此字段的双色球推荐一注:

    ManagedMetadataSiteColumn

    一些注意事项:
    • 选择的节点用作 顶级节点 –如果有子代,则这些值也可以在此字段中使用。
    • 网站集可以选择在列级别定义其自己的双色球推荐一注集(即,利用您的创作经验’再见,但不仅限于组织范围内的双色球推荐一注集),还不使用中央双色球推荐一注集。这被标记为‘自定义您的双色球推荐一注集’在上图中,并允许在选择此单选按钮时添加双色球推荐一注。
  2. 指定是否‘Fill-in’允许选择(如上图下部所示):
    • 首先要注意的是‘fill-in’只有当‘Submission Policy’链接的父双色球推荐一注集的设置为‘Open’。这提供了集中的主控制,以覆盖列上的本地设置。
    • 当。。。的时候“Allow ‘Fill-in’ choices”列上的选项设置为‘Yes’, we specify that 作家 可以在对标签进行标记时将其添加到分类法中-用分类法双色球推荐一注来说,此模型 民俗疗法,这意味着它是由最终用户/社区控制的,而不是集中定义的。尽管设置相当无害,但这在信息体系结构方面有很大的不同–通常,当内容作者受到信任和有能力并且希望发展分类法时,这通常是有益的‘organically’,也许是因为一个成熟的人没有’t exist yet.
    • 我可以想象某些文档库可能会使用 类型(传统分类法和民俗分类法)。一列被认为是受更多控制的,另一列是自由和容易的。通过在搜索方面进行一些自定义开发工作,在查询中可能有可能(当然,如果您有FAST的话)将比受控制的字段加权的权重高于对民俗科目的字段的加权–从而提供标记和“searchability”.

最终用户体验– web browser

现在我们有了托管元数据网站列,当用户在适当的库中标记文档时,他们可以‘type-ahead’从允许的条款中获得建议的经验:

ManagedMetadataTypeAhead  

..或他们可以点击右侧的图标,然后使用选择器进行选择(例如,如果他们没有’不知道要输入的首字母):

ManagedMetadataPicker

The document is now tagged with an 已批准 term from the taxonomy. Note that if the field 所有ows 填写 choices (i.e. it’是一个民俗领域),此对话框还有一个额外的‘Add new item’为此的链接:

ManagedMetadataAddNewItem

最终用户体验– Office 2010 client

或者,内容作者可以根据需要在Office 2010应用程序中本地标记元数据字段。这可以在“文档信息面板”中完成,也可以在新的Office Backstage视图中完成,’我越来越喜欢。他们获得了完全一样的丰富经验–可以像在浏览器中一样使用预先输入和选择器:

办公室后台

而且’这样的事情通常是其他实现(例如,供应商/自定义)所无法提供的。

以便’是基础知识,还是我讨论或演示的其他方面’d.

托管元数据 framework features

  • 同义词 –一个词可以有任意数量的同义词。因此,如果您想让作者说,请用‘SharePoint基础’ instead of ‘WSS’, you’d将后者定义为前者的同义词。在我的电视规格演示中,我添加了一些语音双色球推荐一注‘Plasma Super’ 和 ‘Plasma Ultra’达到我的首选‘Plasma’,并表明在用户体验中,同义词会提前显示(缩进),但实际上无法选择–的首选双色球推荐一注‘Plasma’总是会出现在文本框中:

    ManagedMetadataSynonymTypeAhead

    万一你’对等效感到好奇 选择器 经验,这显示了一个‘tooltip’当您将鼠标悬停在学期上时

  • 多种语言 –对于使用多种语言进行的部署,元数据框架完全支持SharePoint 2010 MUI(多语言用户界面),这意味着,如果已定义翻译,则用户可以使用与当前网站的区域设置相关的语言来标记项目。基础关联与实际存储在SharePoint字段中的值相同,该值部分由ID组成。
  • 分类学管理 –如以上双色球推荐一注存储屏幕截图所示,双色球推荐一注可以是 复制的, 重用 (因此,双色球推荐一注可以在分类树中的多个位置存在,而不必重复,即‘polyhierarchy’ fashion –一些客户的共同要求), 不推荐使用 (因此,该双色球推荐一注不会发生新的分配), 合并感动 等等,简而言之,您的操作类型’d期望在各个时间需要。
    • I’d添加一条注释,指出可能对 条款 在分类学中–的父节点类型 双色球推荐一注集 (按升序排列)’有相同的选择,所以如果您是初学者’当您确实想要一个在其下具有子双色球推荐一注层次结构的双色球推荐一注时,创建一个双色球推荐一注集是错误的,您需要重新键入一些代码’通过将双色球推荐一注集降级为双色球推荐一注来进行重组。 关键是简单地了解不同的结点类型,理想情况下要拥有比我更多的脑细胞。
  • 说明 –次要点,但很重要。在双色球推荐一注中添加说明,以在工具提示中向用户提供有关何时以及如何使用双色球推荐一注的消息。这可以用于消除歧义 或以其他方式指导用户,例如“此标签只能用于Sony,不能用于Sony Bravia型号”.
  • 委派/安全 –管理分类法的权限是在组级别(顶级节点)上定义的,因此,如果希望由不同的部门来管理树的不同区域,则可以在创建单独的组时执行此操作。 与此相关,可以为每个双色球推荐一注集分配一个不同的所有者和一组利益相关者– this isn’安全分区,但确实提供了一个位置,以指定在此级别上负责更改的人员和应通知谁(在 RACI 种方式)。
  • 用户反馈 –如果该双色球推荐一注集已定义联系人电子邮件地址,则‘Send feedback’mailto链接出现在双色球推荐一注选择器中,从而为用户提供了一种技术含量低但可能有效的建议双色球推荐一注或提供现有双色球推荐一注反馈的方式。
  • 社会的 – a user’的标记活动将显示在其活动供稿中

毫无疑问我’ve missed some –如果有任何想法请添加评论!
 

扩展元数据框架– adding approval

因此,框架中有一些很棒的功能,但似乎有一件事是‘missing’是能够 批准 双色球推荐一注,然后才纳入中央分类法。因此,也许我们希望允许常规用户相当容易地将双色球推荐一注添加到分类法中,但前提是要获得特定用户/组的批准-这将在集中控制的分类法和真正的民间分类法之间取得很好的平衡。我把这个词‘missing’刚才用引号引起来,因为坦率地说,’基于SharePoint列表构建这样的东西非常简单,并且’这正是我在演讲中所做的。一世’确保将更多的想法投入生产,但可能不会更多。

我们真正需要的只是在某处建立一个列表,添加一些列,并添加一个事件接收器。将项目添加到我的列表中看起来像这样–我需要指定要添加的字词以及要在其下添加的父字词(使用映射到“ 基础 我的分类法,这意味着可以在任何地方添加双色球推荐一注):

待批准条款

Then I just need some event receiver code to detect when an item is 已批准, 和 then add it to the term store:

   1: public class TaxonomyItemReceiver : SPItemEventReceiver
   2: {
   3:    public override void ItemUpdated(SPItemEventProperties properties)
   4:    {
   5:        if (properties.ListItem["Approval Status"].ToString() == "0")
   6:        {
   7:            string newTerm = properties.ListItem.Title;
   8:            TaxonomyFieldValue parentTerm = properties.ListItem["父项"] as TaxonomyFieldValue;
   9:  
  10:            TaxonomySession session = new TaxonomySession(properties.Web.Site);
  11:            双色球推荐一注库 mainTermStore = session.TermStores[0];
  12:            Term foundTerm = session.GetTerm(new Guid(parentTerm.TermGuid));
  13:            Term addedTerm = foundTerm.CreateTerm(newTerm, session.TermStores[0].DefaultLanguage);
  14:            mainTermStore.CommitAll();
  15:        }
  16:     
  17:        基础.ItemUpdated(properties);
  18:    }
  19: }

我的代码只是找到了‘Parent term’列,然后使用Microsoft.SharePoint.Taxonomy中的Term.CreateTerm()添加新双色球推荐一注。请注意TaxonomyFieldValue包装器类的使用–这就像您可能已用于查找字段的SPFieldLookupValue类一样,因为双色球推荐一注以相同的格式存储,同时带有ID和标签,因此此类可以包装并提供属性。


该代码运行后,该双色球推荐一注已添加到商店中,可在整个组织中使用–也许两全其美。有趣的是,当我们到达“soooo, did it work?”在我的演讲中,演示之神嘲笑了我,双色球推荐一注选择器的预先输入在双色球推荐一注进入之前等待了整整10秒钟,导致“ooof……[pause]…..woohoo!”观众的演讲非常有趣(至少对我而言)。


下次:其他ECM增强功能,例如企业内容类型,内容组织器,可伸缩性等。

18条评论:

杰德说过...

优秀的文章,谢谢您,期待着我在新的一年中来自MS的正式通报,但是您的早期见解非常值得赞赏。

匿名 said...

感谢提供这篇好文章。优秀的概述和手册。

匿名 said...

克里斯,

您是否尝试过通过事件接收器从托管元数据列中提取数据并传递给另一列类型?

克里斯·奥'Brien说过...

@Matty,

不能'没说我有-但不会'除了通常的事件接收器以外,您可能会遇到任何问题(例如,如果您必须禁用事件触发'重新更新接收器中的相同项目)等

克里斯。

杰森·洛坎(Jason Lochan) said...

很棒的文章,2010年肯定会加强元数据管理!很好的证明。

SharePointFrank说过...

Excellent 克里斯。 Did you found any way to add custom properties to 条款, e.g. some type of ID (to stay connected to any 高球 category system), synonyms or links to related 条款?

克里斯·奥'Brien说过...

@SharePointFrank,

嗯,这有两个方面-双色球推荐一注库中的双色球推荐一注可以有同义词,正如我在'Plasma' 和 'PlasmaSuper'/'PlasmaUltra'本文中的示例。但是请记住,您在这里获得了同义词的语义-它们对用户可见,无法选择,其主要目的是引导用户使用偏好的双色球推荐一注。

我怀疑你'重新寻找真的是 Term.CustomProperties 采集。您'd必须使用API​​对此进行读取/写入,但这将使您可以根据自己的条件存储所需的任何内容。

HTH,

克里斯。

SharePointFrank说过...

谢谢克里斯,那正是我'我在寻找。 / SharePointFrank

阿图尔·沙玛(Atul Sharma)说过...

谢谢,这是gr8文章... :)

亚伦沉说过...

克里斯你好

您是否尝试过使用同义词/缩写进行搜索?例如。你有一个双色球推荐一注叫做"Line of business",并为该词添加缩写"LOB"。如果页面使用托管关键字标记"Line of business",有人希望寻找"LOB"将返回此页面。不幸的是,我只能在以下情况下返回结果"Line of business"被搜索,而不是"LOB". Thoughts?

干杯

艾伦

克里斯·奥'Brien说过...

艾伦

我没有'我专门看了这个(虽然我可以完全看到你在哪里're coming from), but my theory is that there is no native integration between synonyms in 托管元数据 和 synonyms in search.

如果将相同的同义词添加到search thesarus文件,会发生什么情况? (一世'm assuming you'在SharePoint而不是FAST中重新使用企业搜索-后者处理同义词的方式有所不同)。

这里's some info on 将项目添加到SharePoint 2007的thesarus文件中, 一世'm guessing it's much the same.

让我们知道你发现了什么 :)

克里斯。

觉醒 said...

谢谢,关于分类法功能的精彩文章

PSIGEN软件说过...

克里斯,
这是一个很棒的帖子。我们只是将捕获的元数据和双色球推荐一注存储功能添加到了我们的捕获产品中,您的解释帮助我配置了演示并深入研究了该技术。

谢谢!!!

鹳鹳说过...

克里斯你好

希望很快了解一下sharepoint 2010中的分类法和元数据工具。

有趣的是,您可以从csv导入分类法,这确实可以帮助我们启动分类法并快速吸引用户。

干杯,真的有用。

薄饼 said...

很棒的文章,非常有帮助,谢谢。主题略有偏离,但是在元数据中可能有分支逻辑,即,如果回答问题1是,将为您提供元数据选择2和3,但是如果回答问题1为否,则将为您提供元数据选择4和5.感谢您的任何想法。

Sharika08 said...

谢谢克里斯,有没有办法通过民俗学来阻止某些双色球推荐一注。'希望最终用户创建一个类似于分类法的双色球推荐一注(集中管理)。

匿名 said...

优秀的文章。谢谢!

匿名 said...

感谢您分享精彩的文章