Partager via


SharePoint 2010 中的变体 – 将人员与内容相连接

SharePoint 2010 中的变体 – 将人员与内容相连接

在设置新 SharePoint 发布网站时,您将在默认欢迎页中看到的选项之一是“使用变体功能管理多语言网站和网页”。我是负责变体的项目经理 Josh Stickler。在本文中,我将简要概述 变体功能,并重点介绍 SharePoint 2010 中的主要改进。

如果有您特别感兴趣的其他领域,请在评论部分中注明,我将尽力满足。真心希望能够收到您的任何反馈。谢谢!

什么是变体功能?

变体 是一项 SharePoint 功能,可方便提供给多个访问群体的内容的管理和维护。这些访问群体可能使用不同的语言,居住在不同的国家或地区,而且他们也可能代表不同的品牌或设备。

clip_image002

变体的工作原理

对于要提供内容的每个渠道,均可指定“变体”标签。标签将实例化为 SharePoint 发布网站,网站集中的整个标签集称为“变体层次结构”。我将通过变体功能创建和管理的 SharePoint 发布网站称为“变体网站”。

使用变体时,目标变体网站在页面和网站结构方面反映一个源变体网站。设置变体时,将一个变体网站指定为源;所有其他变体网站都为目标。默认情况下,在源变体网站中发布的页面将作为草稿版本复制到所有目标变体网站,并且会在目标变体网站中创建(不是复制 - 这是一个重要区别)已在源变体网站中创建的网站。每个变体层次结构只能有一个源变体网站,每个网站集只能有一个变体层次结构。

SharePoint 2010 中的新增功能

在网站集的多个变体网站之间复制页面和网站结构所用的变体的概念和核心体系结构与 Microsoft Office SharePoint Server 2007 中相同;但是,我们进行了显著的改进,以便更好地满足通过多种渠道提供内容的企业客户的需要。

这些改进可分为以下四类:

  • 服务器公民身份
  • 内容分发
  • 编辑体验
  • 可靠性

服务器公民身份

现在,变体操作通过计时器作业在后台执行。对于最终用户而言,这意味着您不必在进度屏幕前等待操作完成。对于系统管理员而言,这意味着可以更好地管理资源密集型操作(如创建体系结构)的成本。

clip_image003

您可以在管理中心调整运行变体操作的频率。接下来,我将结合对变体内容分发模型所做的改进来说明“创建”与“传播”计时器作业之间的区别。

网站和页面传播

MOSS 2007 包含两个用于在变体层次结构中分发页面的模型:

1. 自动创建: 如果在“变体设置”页中启用“自动创建”(默认启用),则在源变体网站中发布页面将导致该页面被复制到所有目标变体网站。

2. 手动创建: 如果禁用“自动创建”,则“创建变体”功能区按钮是将新页面复制到特定的单个目标变体网站的唯一途径。

我们收到的反馈指出经常会出现这样的情况:需要在本地将更改发布到源变体网站,而不传播到所有目标。例如,如果源变体网站中有一处英文拼写错误,则更正将与语言为德语的目标网站无关,因此如果在源页面中发布更正,就毫无必要将更改后的英文版本复制到所有目标网站。

在 SharePoint 2010 中,我们引入了第三个“混合”内容分发模型:

3. 按需页面传播

我们添加了一项用于禁用“自动页面传播”的设置(可通过对象模型来配置)。启用该设置时,在源变体网站中发布或批准页面将不会导致该页面被复制到任何目标变体网站。将对页面忽略“自动创建”设置。用户可通过“更新变体”和“创建变体”按需在变体层次结构中分发内容。

在以后的文章中,我将详细介绍内容分发模型。但为了不使您对如何配置按需页面传播心存悬念,下面将介绍 PowerShell 命令:

启用按需页面传播:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$site = new-object Microsoft.SharePoint.SPSite("https://yourserver/sites/abc")
$folder = $site.RootWeb.Lists["Relationships List"].RootFolder
$folder.Properties.Add("DisableAutomaticPropagation", "True")
$folder.Update();

禁用按需页面传播:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$site = new-object Microsoft.SharePoint.SPSite("https://yourserver/sites/abc")
$folder = $site.RootWeb.Lists["Relationships List"].RootFolder
$folder.Properties.Remove("DisableAutomaticPropagation")
$folder.Update();

我们还针对目标变体网站的内容所有者进行了改进,以便于其了解当目标变体网站中出现新草稿版本时源变体网站中所发生的更改。

编辑体验

为了有效利用其时间和精力,目标变体内容编辑人员需要一种简单而又能够提供大量信息的方式,在从源变体传播页面时确定哪些内容是新的。

clip_image004

新增的“查看更改”(View Changes) 按钮可对传播到目标的最新源版本和在目标中发布的最新源版本进行比较。将在弹出式报告中突出显示更改,以便直接在 RTF 编辑器中处理内容。

clip_image006

突出显示的报告

clip_image008

在 RTF 编辑器中的对应位置

在目标变体页面已发布过一次并且已通过一个变体计时器作业从源变体网站复制新草稿版本后,将可在目标变体页面中使用此按钮。在接下来的博客文章中,我将更详细地介绍此新功能,这篇文章将通过屏幕截图、示例工作流和示例方案专门介绍“查看更改”功能。

可靠性

SharePoint 2010 中变体的一个主要目标是使该功能更可靠,以便企业用户可以将多种渠道的内容管理和分发委托给变体。

既然“创建层次结构”在计时器服务中运行,我们支持在计时器服务回收期间暂停和恢复此操作,以支持在大型部署中长时间运行的操作。这也意味着该过程不受应用程序池回收的影响。我们还使用于跟踪链接至源页面的所有目标页面的关系列表变得更加强大。现在,我们使用 GUID 来跟踪变体页面,以实现更高的性能和可伸缩性。

感谢阅读本文。请经常回来看看,我们还会发表更多博客文章,介绍有关变体的新增功能以及企业内容管理中其他令人兴奋的开发内容。

此致,

Josh Stickler

项目经理

这是一篇本地化的博客文章。请访问 Variations in SharePoint 2010 – Connecting People with Content 以查看原文