借助 SharePoint 框架,组织可以轻松构建解决方案,轻松集成 SharePoint 和 Microsoft 365 中提供的功能。 SharePoint 框架解决方案可跨新式 Web 技术和不同的移动设备进行工作,因此你从一开始就可获得高效的体验以及响应迅速且可移动的应用。 为了能够充分利用 SharePoint 框架解决方案,组织应制定一份切实可行的治理计划,将最重要的项目管理注意事项涵盖在内。
注意
在本文中,“组件”一词用于指开发人员可以使用SharePoint 框架构建的所有类型的内容。 这包括客户端 Web 部件、扩展和库组件。
SharePoint 框架解决方案剖析
SharePoint 框架解决方案由两部分组成:代码 (通常称为组件捆绑包) 部署到 URL,以及包含组件清单的 *.sppkg 文件,其中包含指向组件代码部署位置的 URL。 只要使用组件的用户可以访问组件的代码,组件代码就可以部署到任何位置。 例如,组织可以选择将其组件部署到 Microsoft 365 公共 CDN、 Azure 存储或私有 Web 服务器。
Web 部件代码托管位置注意事项
部署 SharePoint 框架解决方案前,组织应了解的最重要的事情是该解决方案代码的部署位置。 SharePoint 框架解决方案作为当前用户上下文中页面的一部分执行。 因此,无论用户可以执行什么操作,组件的代码也可以执行操作。 与 SharePoint 外接程序相比,没有单独的权限范围应用于SharePoint 框架解决方案。 这就是 SharePoint 管理员应将 SharePoint 框架解决方案视为高度信任解决方案(如同本地场解决方案一样)的原因。 由于多种原因,组件代码的部署位置非常重要。
组织是否支持代码托管位置?
SharePoint 框架不会对解决方案代码的部署施加任何限制。 因此,开发人员和供应商可以将代码部署到组织 IT 部门的内部或外部位置。 不同组织针对从访问策略到 SLA 的不同方面可能有不同的服务器要求。
部署 SharePoint 框架解决方案包前,组织应确保用于托管代码的服务器是组织批准使用的已知服务器。
管理代码托管位置的人员。
SharePoint 框架解决方案作为当前用户上下文中页面的一部分执行。 虽然组织可以在部署解决方案包之前进行代码评审,但为了验证代码是否受信任,它还应确保代码的完整性,只要代码部署到租户。 组织应明确是谁在管理托管位置、谁在什么情况下可以修改文件以及更新批准过程如何。 提前建立此信息不仅可帮助组织控制更新过程,还能降低部署恶意代码的风险。
用于托管位置的 SLA 是什么?
当组织使用 Microsoft 365 和 SharePoint Online 时,它们依赖于 Microsoft 提供的 SLA。 扩展 SharePoint 和 Microsoft 365 标准功能SharePoint 框架解决方案应部署到满足或超过 Microsoft 提供的 SLA 的服务器。 这样,组织就可以确保他们能够真正从自定义项的附加值中获益。
托管位置是否针对性能进行了优化?
从 URL 加载现有库而不是将它们嵌入组件捆绑包是加快SharePoint 框架解决方案加载时间的第一步。 为充分利用上述步骤,需要确保已正确配置托管不同脚本的服务器,以获得最佳性能。 它应为所有压缩的文件提供服务,并且它允许代理和客户端缓存文件的时间越长,用户从其本地缓存加载这些脚本的时间就越长,从而显著加快加载包含组件的 SharePoint 页面的速度。
工具和库
生成客户端解决方案时,开发人员可以从各种库中进行选择,例如React、Angular、jQuery 或 Knockout。 使用现有的 JavaScript 库,让开发人员更轻松地生成丰富的解决方案。 不同库的工作方式之间存在差异,通常需要特定知识才能完全了解如何使用特定库生成解决方案。
发布到生产租户后,应确保组织 (自己的 IT 部门或签约的第三方) 可以支持该解决方案。 为此,支持组织至少应对用于生成该解决方案的库有一个基本的了解。 此外,随着在租户中增加使用的库数,支持不同解决方案的难度就越大。 选择用于组织的一个或两个库,以帮助降低运营成本。 将解决方案部署到生产租户之前,应确保解决方案仅使用组织中支持的库。
使用外部脚本
使用现有 JavaScript 库时,开发人员可以选择将它们包含在组件代码包中,也可以从 URL 加载它们。 通过从 URL 加载库,开发人员可以优化 SharePoint 框架解决方案以提升性能。 由于库是从 URL 加载的,因此它们不需要包含在组件捆绑包中,因此会减小其大小,使其加载速度更快。 此外,通过跨整个租户引用相同库,SharePoint 框架解决方案将通过重用本地缓存中以前下载的脚本更快地进行加载。
对于可以加载现有库的位置并没有限制,而知道是从哪些服务器加载外部脚本非常重要。 这些脚本与组件代码一起在当前用户的上下文中运行,并且可以执行当前用户可以执行的任何操作。 请务必信任这些脚本及其完整性。 某些组织具有与源自公用 CDN 的资源相关的严格策略,应确保该解决方案及其资源符合组织的策略。
审核 SharePoint 框架解决方案以供部署
SharePoint 框架解决方案通过应用程序目录集中部署到租户。 还可以使用网站集范围的应用目录部署它们以选择网站。 组织应制定计划,说明允许谁部署并审核 SharePoint 框架包。 这非常重要,因为此计划应包括负责验证部署的程序包是否安全并符合组织策略的人员。 SharePoint 框架解决方案在当前用户上下文的浏览器中运行,与 SharePoint 外接程序不同,该解决方案始终具有与当前已登录用户相同的权限。 部署和审核用于组织的 SharePoint 框架解决方案之前,应仔细检查其来源和本文之前提及的其他标准。
若要验证SharePoint 框架解决方案是否符合组织的策略,应查看要部署的 *.sppkg 包的内容,并仔细检查所引用脚本的内容及其托管位置。 可手动执行此步骤,也可以使用第三方工具自动执行。 SharePoint 自定义分析框架 (SPCAF) 是一种第三方解决方案,可显著简化 SharePoint 框架解决方案的内容分析过程,并验证这些方案是否符合组织的安全性和治理要求。
SharePoint 框架解决方案和无脚本站点
在 Microsoft 365 中,组织可以使用 no-script 设置在 SharePoint Online 中禁用基于脚本的自定义。 组织可为整个租户或特定网站集配置无脚本设置。 根据组织策略中的条件,管理员可以使用无脚本设置来禁用生成的自定义项,例如,使用脚本编辑器组件或用户自定义操作。
无脚本设置是指组织将一层额外的控制和安全性应用到整个租户或特定的网站集。 使用脚本嵌入和注入自定义 SharePoint 并非没有风险,尤其是在包含敏感信息的网站上,应进行彻底评估。
过去,开发人员使用脚本嵌入和注入技术来生成功能强大的 SharePoint 自定义项。 在某些情况下,这些自定义项依赖于特定的页面结构,当特定的自定义项发生变化时,它将无法再正常工作。 为指导开发人员生成更强大的解决方案,SharePoint 工程团队决定所有的新式网站应均启用无脚本设置。 这意味着无法在这些网站上嵌入和注入脚本,并且目前使用 SharePoint 框架 是自定义这些网站的唯一选项。 今后,所有新式站点将使用无脚本设置,开发人员将能够使用脚本嵌入和注入的替代方法来支持不同方案。