Sharepoint

构建强大的调查基础结构

Jim Bradley

 

概览:

  • 规划和实施调查解决方案
  • 收集和处理 SharePoint 库中的调查结果
  • 管理性能和安全问题

没有充足的信息就无法做出正确的决策。仅凭预感是不能成事的,尤其是当您的决策会对业务产生影响的时候。无论您是要确定团队聚会的举办地点,

还是打算重新安排公司一半的资源来开发一种新产品,这一点都是毋庸置疑的。但是如何才能获得此类信息呢?

调查提供了一种用于收集反馈的经济有效的方法,从客户对您的产品的满意程度,到员工是否喜欢上次团队会议时吃的三明治,诸如此类的反馈。通过调查可以得到产品、系统或流程在日后改进和开发时所需的必要信息。问题在于,作为一名 IT 专业人员,您会如何建立可收集和存储数据的调查系统,以便有效地对这些信息加以利用?

您很可能已经有了一个或多个工具来收集、组织和分析此类数据。2007 Microsoft® Office system 也提供了这些工具,并且简化了这些工具的使用方法。实际上,可以通过多种方式来执行调查。但关键是要能够满足您的特定需求。例如,如果仅涉及少量受访者和非关键的数据,则对临时的实时数据收集而言,基于电子邮件的调查是一种不错的选择。有关详细信息,请参阅“使用电子邮件进行快速调查”下方的边栏。但是,如果受访者众多且属于关键任务数据,对这种相对复杂的方案而言,数据库驱动的调查会比较适合。有关此主题的详细信息,请参阅“构建数据库驱动的调查解决方案”下方的边栏。

在本文中,我将重点讲述另一种更加全面、更加灵活的解决方案:基于 SharePoint® 的在线调查。此方法对各种复杂程度的关键任务和非关键任务调查都适合。由于 SharePoint 调查基于 Web,所以任何人只要能够访问 Web 浏览器(甚至还包括移动设备)就能完成调查。在 SharePoint 调查中,可以自己的真实姓名进行答复,也可以匿名方式答复,您可以获得实时调查结果,甚至还可以使用一些分析工具。

要实施此调查类型,可使用带有 Forms Server 和 InfoPath® 的 Windows® SharePoint Services 3.0 (WSS) 或带有 Forms Services 和 InfoPath® 的 Microsoft Office SharePoint Server 2007 (MOSS)(有关其中各项技术的说明,请参见图 1)。由于这两种方案提供的功能本质上是相同的,因此在此次讨论中,我将重点讨论后者的组合。要全面了解 SharePoint 产品及其功能的比较情况,请参阅“Microsoft Office SharePoint Server 2007 产品比较下载”,网址为:office.microsoft.com/en-us/sharepointserver/HA101978031033.aspx

Figure 1 支持 SharePoint 调查的 Microsoft 技术

技术 说明
Microsoft Office InfoPath 2007 Microsoft Office InfoPath 2007 是一款用于创建表单和收集信息的工具。有关其他信息,请访问 office.microsoft.com/infopath
Windows SharePoint Services 3.0 Windows SharePoint Services 3.0(即原来的 SharePoint Team Services)是创建扩展 SharePoint 应用程序的基础。有关其他信息,请访问 microsoft.com/technet/windowsserver/sharepoint/techinfo/overview.mspx
Microsoft Office SharePoint Server 2007 Microsoft Office SharePoint Server 2007(即原来的 SharePoint Portal Server 2003)提供了一个服务器端的基础结构,使 Office 2007 客户变为 SharePoint 应用程序内容的创建者和使用者。有关其他信息,请访问 microsoft.com/sharepoint
InfoPath Forms Services、Microsoft Office Forms Server 2007 利用 InfoPath Forms Services,用户无需安装 InfoPath 即可在 Web 浏览器中填写 InfoPath 表单,使调查成为跨平台、跨浏览器兼容的解决方案。Forms Services 需要使用 Windows SharePoint Services 3.0,尽管在名为 Microsoft Office Forms Server 2007 的独立产品中也提供了同样的功能。有关 Forms Services 的其他信息,请访问 microsoft.com/ms540731。有关 Forms Server 的详细信息,请访问 office.microsoft.com/en-us/formsserver/FX100490391033.aspx
   

规划和实施

在设计调查时,需要事先考虑许多因素。这需要进行一些前期分析,因此务必要花时间制定一套考虑周全的调查计划。在初始规划阶段,需要定义想要获取的问题范围和数据种类、确定需要使用的技术以及建立预算和管理需求。之后即可转入实施阶段。常规的工作流包括设计调查表单、发布表单、收集和验证答复、汇集和分析数据以及报告结果。

调查实施工作流通常包括至少一名调查设计师、众多受访者以及一名分析师(如图 2 所示)。当然,调查工作流的复杂性可能会千差万别。例如,公司范围内的调查很可能要经过多轮的设计校订和审批。它很可能会利用自动执行的程序来提醒受访者、提供各种支持和故障排除表单、为管理者提供对结果的实时查看功能,并提供清晰的流程来确定和提交最终分析结果。此类调查的工作流较复杂,必须要使用支持工作流和报表功能的基于 Web 的系统。

图 2 调查工作流(从表单设计到数据分析)

图 2** 调查工作流(从表单设计到数据分析) **(单击该图像获得较大视图)

完善的解决方案新看点

对于一个完善的调查解决方案而言,它必须满足许许多多的关键需求。该解决方案应允许单独的团队或业务部门自行创建、传播和收集调查结果,而尽可能不求助于 IT 部门,并且它应该不需要任何编程技能。表单创建工具应提供易用的“所见即所得”界面,以及能够充分发挥管道、分支和条件逻辑作用的丰富功能集。 显而易见,调查表单创建工具应适用于各种调查,而不论其规模大小和复杂程度如何。

此外,调查应在 Web 服务器上运行并与集中维护的 SQL Server® 数据库相集成,从而不必再由单独的部门来维护专用 SQL 数据库。任何受访者只要能访问 Internet 就能通过任意符合标准的浏览器填写调查。

调查流程可以方便地链接到工作流,并能够在不影响安全的情况下满足业务需求。此外,调查解决方案应能为许多组织提供多语言支持。

同时使用 MOSS 2007、WSS 3.0 和 InfoPath 2007,即可创建能够解决所有这些需求的集成解决方案。图 3 介绍了在 SharePoint 堆栈中各种组件是如何配合工作的。但是在讨论这一完整的调查解决方案之前,我想大概介绍一下单独使用 WSS 可以实现什么目标。然后,我将为您介绍添加 MOSS 和 InfoPath 后,协同使用这三者会为您带来的额外收益。

图 3 SharePoint 堆栈的组件

图 3** SharePoint 堆栈的组件 **(单击该图像获得较大视图)

单独使用 WSS

即使没有其他组件,您也可以使用 WSS 来创建和实施调查。实际上,WSS 本身已包括了一个内置的调查模板,它可以使调查过程变得非常简单。要创建调查,请单击“开始”|“所有程序”|“管理工具”,然后选择“SharePoint 3.0 管理中心”。在下拉列表中,选择“网站操作”,然后单击“创建”。“创建”页面出现,其中会显示库、通信、跟踪、自定义列表以及网页的标题。在每个标题下方都有一些模板选项。在“跟踪”下方,单击“调查”。

WSS 会随后引导您逐步完成调查创建过程。您可以创建公开的或不公开的问题,并且能够指定是否可以对某个问题不做回答。您甚至还可以创建具有分支逻辑的调查,它能根据受访者的不同回答将其引入不同的路径。调查可以是匿名的,但如果需要,也可以标识受访者的身份。您还可以选择为调查分配一个工作流。

此调查基于浏览器,因此无需特殊的软件即可创建或接受调查。要填写调查,受访者只需登录 SharePoint 站点填写表单即可。访问权限是从父站点继承而来的,但也可以从 SharePoint 的“操作”菜单直接对其进行修改。调查答复被保存到 SharePoint 的调查站点,调查结果可以以列表形式或图形摘要形式查看,也可以导出到 Excel® 中。

重申一遍,此解决方案通过使用 WSS (再加上图 4 所示的流程)即可实现,无需任何其他软件。假设您已有了一个精心设计的 SharePoint 站点,单独的一个部门只需少量或者甚至根本不需要 IT 部门的协助就可以创建和实施调查。

图 4 基于 Windows SharePoint Service 的调查

图 4** 基于 Windows SharePoint Service 的调查 **(单击该图像获得较大视图)

如果需要对调查进行自定义,那么仅使用 WSS 流程所面临的一个限制就会凸显出来。WSS 使用各种默认的 ASPX 页(AllItems.aspx、DispForm.aspx、EditForm.aspx、NewForm.aspx、overview.aspx 以及 summary.aspx)来创建调查列表。虽然可以超越 WSS 中的固有参数对页面进行自定义,但大多数功能还是来自自定义起来不太容易的 Web 部件。而且,仅使用 WSS 的解决方案更适合于不需要集成外部数据源(如公司的 ERP 系统)的调查。

如果确实需要对调查解决方案加以扩展以包括自定义 UI 或集成其他数据源,则应认真考虑一下集 MOSS、WSS 和 InfoPath 于一身的解决方案。

完整的调查解决方案

MOSS 包括许多能够对 WSS 加以扩展的功能,但目前我想重点讲一讲 InfoPath Forms Services 这一组件。使用 InfoPath Forms Services 时,只有调查设计师一人需要在计算机中安装 InfoPath。其他人可通过 Web 浏览器访问调查。

在 InfoPath 中,设计师选中允许使用浏览器来填写表单的选项。InfoPath 随即创建一个表单,并且可在任何符合标准的 Web 浏览器中查看此表单。这一基于 Web 的表单与 InfoPath 表单的工作方式完全一样,只是在 InfoPath 的一些高级功能(如用户角色、垂直文本、对话框操作及高级控件等)方面存在例外。表单随后被发布到 SharePoint 库或列表。同时,InfoPath 的另一个功能(称为检查设计方案)可确保调查表单与 InfoPath Forms Services 兼容。

InfoPath 表单库与启用浏览器的表单库之间没有任何区别。在每种情况下,表单模板都是 .xsn 文件。可以使用 InfoPath Forms Services 在浏览器中显示表单,也可以将文件下载到客户端,然后直接在 InfoPath 中显示。如果调查设计师至少具有 SharePoint 站点的“参与者”权限,则他就可以使用 SharePoint 文档库来发布表单模板。

受访者只要具有符合标准的浏览器就可以填写 InfoPath Forms Services 调查,其答复随后将立即返回到 SharePoint 服务器。在 SharePoint 中,可以安全地存储、解析、共享和分析数据(使用 Excel、SQL 或可在网络中找到的其他工具)。所有这一切只需 IT 管理部门提供最低限度的协助即可实现。

回发和性能问题

不过,这可能会存在潜在的性能问题。例如,启用浏览器功能的表单是在 SharePoint 服务器的系统帐户环境中运行的,这意味着,如果表单包括代码或数据连接(如图 5 所示),则将在服务器上执行这些代码或数据连接,而不是在客户端中。复杂的表单可能需要频繁地将数据发回服务器,这就无疑增加了服务器的工作负荷。

图 5 具有其他数据连接的基于 InfoPath Forms Services 的调查解决方案

图 5** 具有其他数据连接的基于 InfoPath Forms Services 的调查解决方案 **(单击该图像获得较大视图)

调查使用的回发越多,前端 Web 服务器所承受的负荷就越大。但有时回发是不可避免的,如当实施分支响应时。为了最大程度地降低对系统的潜在不利影响,调查设计师必须意识到回发问题,并了解当回发不可避免时应如何最有效地实施调查。例如,设计师应采取类似于向导提示形式的调查,当用户单击“下一步”按钮时将数据发回服务器。这有助于减少回发的数量。

InfoPath Forms Services 必须维护服务器上当前所有活动表单的状态。默认的会话超时值为 60 分钟,也就是说,如果填写某个比较复杂的调查时所花费的时间超过 60 分钟,且在该时间内未回发任何数据,那么就会在服务器端关闭该会话。已输入但尚未提交的数据将丢失,受访者必须重新填写。

当有大量受访者同时填写调查表单且调查涉及大量数据源或包括文件附件时,此类问题会比较明显。有关详细信息,请参阅“改进 InfoPath 2007 表单的性能”,网址为:msdn2.microsoft.com/bb380251。

安全注意事项

虽然有关安全性的深入讨论不在了本文论述的范围之内,但强调几点安全注意事项还是非常有必要的。对于初学者,SharePoint 和 InfoPath 2007 都遵循 Microsoft 于 2002 年初采用的“可信赖计算计划”。InfoPath 表单有三个可能的安全级别:受限制、域和完全信任。默认情况下,InfoPath 会自动确定建议的安全级别并将其应用到表单。

数字签名功能可帮助确保表单是由特定用户创建或填写的并且它未被更改过。信息权限管理 (IRM) 可限制对模板和已完成表单的访问。为防止恶意用户上传包含有害代码的表单或使用 SharePoint 平台通过数据连接启动对其他系统的攻击,InfoPath 会对用户部署的表单和管理员部署的表单加以区分。用户只能上传不包含自定义代码的表单,并且只能使用“域”安全级别,这就限制了跨域的数据连接。这些参数将足以应对大部分调查解决方案。

当调查设计需要“完全信任”安全级别时,为了允许对资源的无限制访问,表单发布需要得到 IT 管理部门的批准。默认情况下,如果表单包含托管代码、在表单模板中定义了跨域的数据连接、表单使用了在集中管理的数据连接库中定义的数据连接或者启用了支持在移动设备上呈现的选项,则都需要 IT 管理部门进行批准。

对于“完全信任”安全级别,调查设计师将创建 InfoPath 表单并保存该表单模板。该模板或 .xsn 文件以电子邮件附件的形式发送给 SharePoint 管理员或通过网络共享进行传递。在将调查提供给产品系统之前,IT 管理员要对调查功能及其包含的所有代码进行检查。IT 管理员通过将调查模板上传到站点集合并激活调查模板来完成部署。这两个过程都是在“WSS 管理中心”控制台的“应用程序管理”页面上完成的。最终的结果是 IT 管理员可以将表单发布委派给单独的部门,然后继续对发布过程进行监督,确保这些表单行为不超出基本的数据收集活动。

对于一些常见情况来说,IT 管理员的监督是必不可少的,这些情况包括:表单必须使用默认数据进行填充以及调查结果要提交给多个数据源。默认情况下,“域信任”表单模板无法建立跨域的数据连接,但是可以通过采取一些措施来解决此限制,这些措施包括:

  • 授予表单“完全信任”权限。
  • 使用数据连接库中的数据连接创建“域信任”。
  • 搭配使用“域信任”和集中管理的连接库。

在表单发布期间,“完全信任”和集中管理的连接库选项需要管理员的批准。但是,使用在站点集合级别维护的数据连接库 (DCL),用户发布的表单将可以跨越域边界。此 DCL 可以受单独部门的控制。但是,有一点必须要弄清楚,那就是允许单独的部门定义自己的基于服务器的数据连接可能会带来安全问题。

最安全的方法是在集中管理的连接库中定义数据连接,然后请 IT 管理员部署使用这些数据连接的高级调查表单。集中管理的连接库颇具优势,因为所有站点集合和整个服务器场都可以使用它。当访问不在本地 SharePoint 服务器上的数据源时,这将允许管理员定义中央身份验证设置。有关其他信息,请阅读在线文章“关于数据连接、身份验证和备选访问映射”,网址为:msdn2.microsoft.com/ms771995

结束语

调查活动为各个级别的不同企业收集关键任务(及非关键任务)信息提供了一种强大有效的途径。但是,创建有效的调查需要合适的工具、合理的规划以及技巧和科学之间的巧妙搭配。事先进行全面的规划将有助于构建一个出色的解决方案,使组织中的各个部门都可以创建、发送、接收、存储以及分析调查数据。

如果调查能够获得及时、相关的信息,那么这个调查就是非常有效的调查了。为了能够在需要的时候收集到信息,您的解决方案必须能够简化在部门级创建和管理调查的过程,而且不会对安全产生影响。InfoPath 是信息工作者创建高质量调查的强大工具,它具有直观的界面,几乎无需培训即可使用。通过 InfoPath,您可以收集高质量的调查数据,而无需 IT 管理部门的过多介入。

InfoPath 2007 可与 WSS 和 MOSS 无缝配合,以便实施各种跨平台、跨浏览器兼容的复杂调查解决方案。这样,您的企业就能充分利用它的一项最重要的资产:信息。

使用电子邮件进行快速调查

要从一小组受访者中快速收集数据,临时调查是一种必不可少的手段。基于电子邮件的调查是此类实时调研的不二之选,这种调查创建迅速且不需要专门的服务器或 IT 部门的协助。在 Microsoft® Outlook® 邮件中嵌入投票按钮就属于其中一种最简便的方法,通过该方法,您可以发送、接收一维调查并使用表格列出结果。

开始投票按钮调查后,您的收件人会收到一封包含投票标记的电子邮件,其中会显示一个列出各种选项的下拉列表。收件人通过单击其中一个选项进行答复。然后会弹出一个窗口,显示消息“您已选择答复:<您的选择>”,并提供“发送”和“编辑”选项供您选择。

调查设计师或委派的代表收到电子邮件形式的个人答复,并手动将结果制成表格。如果调查包括大量的收件人,则应在 Outlook 中创建一条规则(使用规则向导),以自动将答复转到专用文件夹中,如图 A 所示。

图 A 自动将调查答复转到专用文件夹中

图 A** 自动将调查答复转到专用文件夹中 **(单击该图像获得较大视图)

不过,投票按钮的功能十分有限。插入到电子邮件的调查表单可以收集更多的数据,但手动检索数据并将这些数据制成表格可能会非常难以管理。对于基于电子邮件的调查,更为复杂之处在于它使用 VBScript 来自定义 Outlook 调查。自定义表单使收集和分析大量复杂数据的过程变得相对容易。要使用 Outlook 2007 中的开发人员功能,必须先显示“开发人员”选项卡,如图 B 所示。

图 B Outlook 2007 中的开发人员选项卡

图 B** Outlook 2007 中的开发人员选项卡 **(单击该图像获得较大视图)

创建自定义的 Outlook 窗体超出了一般 Outlook 用户掌握的知识范畴。但是,InfoPath® 2007 提供了一些新的功能,使实施自定义窗体变得非常容易。调查设计师无需专门的技术即可使用下列三种方式创建 InfoPath 表单和模板:

  • 导入现有的 Microsoft Word 文档或 Excel® 电子表格。
  • 下载经过初步设计的 InfoPath 模板并对其进行修改以满足特定需求。
  • 使用 InfoPath 的表单设计功能从头开始设计模板。

在这三种情况下,均可以将模板发布到 Outlook,然后通过电子邮件进行分发。利用 InfoPath 2007 和 Outlook 2007,只需少量或甚至根本不需要 IT 部门的协助,信息工作者就可以在数小时内创建一个包含二十个问题的调查,然后通过电子邮件将其发送到某个组、通过 Outlook 接收结果并使用 Excel 电子表格对数据进行分析。

此方案中唯一的实际要求就是所有参与者的计算机中都必须安装了 InfoPath 和 Outlook。由于 InfoPath 2007 实际上是扩展了 Outlook 2007 的功能,因此收件人直接在 Outlook 界面中就可以对调查进行答复。

但 InfoPath 远远不止是仅支持基于电子邮件的调查。您可以创建用于查询数据并将数据提交到 Web 服务和 SQL Server® 数据库的模板,也可以使用现有的 XML 文档或 XML 架构作为数据源。换句话说,只需极少的培训和加入少量(甚至根本无需加入)代码,用户就可以领略 XML 的强大功能和灵活性。

使用电子邮件作为调查解决方案有一些明显的弊端。例如,这些调查不能匿名,因为受访者的电子邮件地址是可见的。这可能会降低公正性并影响最终结果。此外,还有安全方面的问题(如仿冒攻击),因此使用基于电子邮件的调查所能收集到的信息类型和信息深度都有限制。

构建数据库驱动的调查解决方案

基于电子邮件的调查不适用于涉及大量受访者的较为复杂的调研 — 仅使用 Outlook® 中的一个文件夹管理和分析所有数据有些困难。更为可靠的解决方案是将对调查的答复导入数据库。数据库所具有的高级存储、编制索引、处理以及报表功能可能会对您非常有帮助。例如,Microsoft® SQL Server® 2005 就包括 SQL Server Reporting Services,它可以对调查结果自动进行处理。

要创建一个将答复提交到数据库的 InfoPath 表单模板,必须首先在网络中创建一个 Access® 或 SQL Server 数据库。接下来,在 InfoPath® 中,您可使用“设计表单模板”向导来启动模板创建过程。这将打开“数据连接向导”,它会逐步引导您将表单链接到数据库。InfoPath 使用数据库中的信息来构建数据源查询和数据字段。

只需极少量的培训或支持,大多数工作者所具有的知识就足以完成和提交调查。但是,在此方案中(数据直接传递到数据库),受访者必须安装 InfoPath 和 Outlook,并且他们必须位于公司防火墙后端或能使用 VPN 访问公司网络。

“InfoPath 数据连接向导”仅与 Microsoft SQL Server 2000 或更高版本以及本身使用 ADOXML 的 Access 数据库结合使用。对于其他数据库,不支持将数据直接提交到数据库。其他限制还包括 InfoPath 不允许将格式文本控件绑定到数据库字段以及不支持大型二进制数据类型等。

随着网络拓扑变得越来越大、越来越复杂,先将数据提交到中间的 Web 服务,然后再传递到数据库这一提交方法的优势日益明显。通过 Web 服务将调查表单前端从数据库后端分离还有利于在 Web 服务器上实施业务逻辑。由于 Web 服务是通过 HTTP 或 HTTPS 连接来执行的,所以参与者可以透过防火墙提交数据,如图 C 所示。但是要注意,受访者仍然必须安装 InfoPath 2003 或 2007。

此方案的不足之处在于实施过程需要 IT 部门参与。对此过程进行详细说明不属于本文的范畴,但我在此要告诫您的是从头开始构建数据库解决方案责任巨大。它需要事前规划、精心地进行调查设计、编写 Web 服务程序以及对数据库进行后端设计。InfoPath 2007 简化了流程的表单设计环节,但端到端解决方案还需要扎实的编程和数据库设计技能。添加高级功能(如工作流或多语言支持)会立即增加实施成本。

图 C 通过 Web 服务的 InfoPath 数据流

图 C** 通过 Web 服务的 InfoPath 数据流 **(单击该图像获得较大视图)

Jim Bradley 是 CoyoteTech LLC 的所有者。作为一家专业的通信公司,CoyoteTech LLC 专为 Microsoft 服务器产品开发用户协助文档。这些文档项目包括“Microsoft Exchange Server 2007 边缘传输和邮件保护”、“Microsoft Exchange Server 2007 的 64 位应用”以及“Microsoft Exchange 2003 技术参考指南”等。

© 2008 Microsoft Corporation 与 CMP Media, LLC.保留所有权利;不得对全文或部分内容进行复制.