虽然无法直接从 SharePoint Online 预配服务中“开箱即用”补充Microsoft 365 学习路径内容,但合作伙伴可以应用多种集成模型来创建一致的增值服务产品。 合作伙伴集成模型按复杂性和投资级别递升的顺序呈现。 因此,我们的指导是培养你的专业知识,并根据你的业务模型毕业到更高级的水平。
应如何开始?
若要开始,请遵循以下一些最佳做法。
1. 首先将专业知识培养为启用者。
可以通过启用其学习路径培训门户并执行有针对性的Microsoft内容管理,立即帮助一部分客户群。 有关预配学习路径的说明,请参阅 预配新的学习路径解决方案。
2. 然后以集成器的身份扩展服务
根据内容和/或服务集成需求的数量执行自动化投资回报分析。 例如,如果你可以手动创建指向你的付费内容或引用你的服务的目标自定义播放列表或播放列表,那么就我们的内容集成指南而言,承担开发和运营成本可能没有意义。
3. 当投资回报有意义时 - 考虑再分配
当投资回报有意义时,请考虑重新分发 (或与相关学习路径合作伙伴合作,) 构建重新打包的解决方案。 它们基于 SharePoint 模式和实践框架,该框架提供提取自定义网站,然后部署到客户环境的解决方案。
合作伙伴提供的内容集成指南
一组 JSON 文件驱动Microsoft 365 学习路径的内容,这些路径充当学习包的内容清单。 有三个文件:metadata.json、playlists.json和assets.json。 需要对这些文件进行结构化,以匹配 Web 部件识别的模型,然后从内容分发网络 (CDN) 进行托管,以允许 Web 部件加载这些文件。 Microsoft提供这些文件的初学者模板来帮助你入门。
免责声明: JSON 文件结构可能会根据即将推出的解决方案工作而更改。 Microsoft 365 学习路径合作伙伴早期采用者计划 (EAP) 被告知此性质即将发生的任何更改,以及任何客户向后兼容性和/或过渡指南。
下载 Microsoft 365 学习路径解决方案
可以从 GitHub 存储库下载 Microsoft 365 学习路径解决方案以及 JSON 文件: https://github.com/pnp/custom-learning-office-365。 目前,Microsoft不会对解决方案执行 GitHub 拉取请求。 但是,可以使用 GitHub 文件作为创建自己的自定义内容包的起点。
Metadata.json结构
可以将此文件视为菜单和结构的大脑。 它包含其他两个文件中数据的所有导航结构和选取列表。
名称 | 说明 |
---|---|
技术 | 内容已标记,可以根据分配的技术隐藏。 |
Id | 表示技术的 GUID |
名称 | 技术的显示名称 |
主题[ ] | 作为技术子集的主题数组 |
Id | 表示主题的 GUID |
名称 | 主题的显示名称 |
类别 [ ] | 类别指示 Web 部件的导航。 每个类别表示导航的顶级 |
Id | 表示类别/子类别的 GUID |
名称 | 类别/子类别的显示名称 |
图像 | 应显示在 UX (相对于 CDN 基本) 的图像的 URL |
TechnologyId | 此内容与 (可选的技术 GUID 相关 - 空字符串) |
SubjectId | 此内容与 (可选主题相关的 GUID - 空字符串) |
源 | 在源数组中,用户添加的自定义数据以外的 UX 中未使用,并且 UX 管理区域不允许编辑未标记为“租户”的任何内容。 |
子类别[ ] | Sub-Categories 基本上是从级别 2 向下的导航级别。 结构与嵌套类别相同。 |
访问群体 [ ] | 当与类别/子类别关联的播放列表标记了各种访问群体时,可以使用选择器来显示可用的访问群体。 |
Id | 受众的 GUID |
名称 | 访问群体的显示名称 |
源 [ ] | 标记内容及其源的字符串数组(用户添加的自定义数据以外的 UX 中未使用)被标记为“租户”,并且 UX 管理区域不允许编辑未标记为“Tenant”的任何内容。 |
级别 [ ] | 当与类别/子类别关联的播放列表标记了各种级别时,可以使用选择器来显示可用级别。 |
Id | 级别的 GUID |
名称 | 级别的显示名称 |
StatusTag [ ] | 状态标记用于标识具有在 UX 中公开的各种状态的内容。 其中一些标志向使用者显示,有些仅向管理员显示。 |
Id | StatugTag 的 GUID |
名称 | StatusTag 的显示名称 |
遥测 [ ] | |
AppInsightsKey | 设置的应用见解密钥的 GUID,用于跟踪查看器 Web 部件的加载。 管理员可以关闭整个租户的跟踪,但发送的信息是具有租户 ID 的匿名用户。有关详细信息,请参阅 https://github.com/pnp/custom-learning-office-365#disabling-telemetry-collection |
版本 | 解决方案使用版本信息向管理员指示 Web 部件已更新,并允许 Web 部件在进行重大更改时将自定义内容自我更新到清单的最新版本。 |
清单 | 清单的版本 |
ManifestMinWebPart | 适用于清单版本的 Web 部件的最低版本 |
CurrentWebPart | 应显示在 UX (相对于 CDN 基本) 的图像的 URL |
RepoURL | 更新 Web 部件说明所在的存储库的 URL。 |
内容包 | 目前,不支持用于其他 CDN 的内容包。 内容包允许Microsoft建议其他Microsoft创建的解决方案,这些解决方案可通过预配服务进行预配,这些解决方案使用 M365LP 传递内容,并且它们本身位于 自定义 CDN 中。 |
Id | 内容包/CDN 的 GUID |
名称 | CDN 的显示名称 |
说明 | 要在 UI 中显示的用于添加内容包的说明 |
图像 | 用于添加内容包的 UI 中显示的图像 |
ProvisionURL | 用于创建内容包网站集的预配服务包的 URL |
CDNbase | 内容包清单的基 URL |
AssetOrigins | 稍后介绍的 assets.json 文件中使用的 URL 源数组。 如果源 URL 支持它,则会向help_getClientHeight发送一条发布消息。 数据属性中的响应:“help_getClientHeight={height of content}” (例如“help_getClientHeight=5769”) 允许将 iFrame 调整为帧内容的适当高度。 |
Playlists.json 结构
playlists.json – 播放列表清单是一组对象,用于描述播放列表的元数据以及播放列表中包含的资产。
名称 | 说明 |
---|---|
Id | 表示播放列表的 GUID |
标题 | 播放列表的显示名称 |
图像 | 从 CDN) 到图像的相对 URL (,以可视化播放列表 |
LevelId | 关联级别 |
AudienceId | 关联的受众 |
TechnologyId | 关联技术 |
SubjectId | 类别/子类别的显示名称 |
源 | 在源数组中,用户添加的自定义数据以外的 UX 中未使用,并且 UX 管理区域不允许编辑未标记为“租户”的任何内容。 |
CatId | 类别或 SubCategory ID,表示应显示播放列表的容器。 如果清单还具有 SubCategory 子级,则目前不支持选择 Category 或 SubCategory 作为容器。 |
说明 | 针对 UX 中的每个播放列表显示的说明 |
StatusTagId | 关联的状态标记 |
StatusNote | 有关向管理员显示的内容的说明 |
资产[] | 作为此播放列表一部分的资产的 GUID 数组,按显示顺序排列。 |
Asset.json结构
playlists.json – 播放列表清单是一组对象,用于描述播放列表的元数据以及播放列表中包含的资产。
名称 | 说明 |
---|---|
Id | 表示播放列表的 GUID |
标题 | 播放列表的显示名称 |
说明 | --- |
URL | 要应用于 iFrame 的资产的源 URL |
TechnologyId | 关联技术 |
SubjectId | 关联的主题 |
源 | 类别/子类别的显示名称 |
StatusTagId | 关联的状态标记 |
StatusNote | 有关向管理员显示的内容的说明。 |
缓存
当前版本的查看器 Web 部件利用清单文件的缓存版本 24 小时。 24 小时后,第一个命中 Web 部件的用户会通过从源 CDN 下载清单来刷新缓存,并将该信息与隐藏的技术和播放列表合并,并合并到自定义子类别、播放列表和资产中,从而获得性能提升。 或者,管理员 Web 部件始终从清单下载内容,并将它们合并并更新缓存。 因此,换句话说,管理员可以通过加载管理员 Web 部件(也称为“转到管理”页)随时强制缓存更新。
内容包指南
内容包功能可解锁以下方案:
- 合作伙伴能够重新分发针对客户环境定制的增值自定义学习内容
- 具有强大培训团队和 IT 支持的组织能够针对自己的内部系统和治理构建自定义学习内容
- Microsoft能够在将来提供更多学习途径,供客户选择
由于功能的复杂性,此当前文档集有意面向合作伙伴。 服务团队正积极努力在未来更好地支持和启用方案 #2。
内容包的工作原理
Microsoft使用 GitHub 页面作为内容分发网络 (CDN) 其清单文件和图像的源。 GitHub 存储库的根目录中有一个 docs 文件夹,其中包含每个版本的清单文件的子文件夹。 每个文件夹内有三个清单文件,外加一个图像文件夹,用于存储所有类别、子类别和播放列表图像。
如果选择使用自己的内容包扩展学习路径解决方案,请务必保持与Microsoft相同的版本控制结构。 CDN 终结点不应包含版本文件夹,因为 Web 部件支持的清单版本已嵌入其中,并自动追加到 CDN URL 中。 每当我们修订清单文件时,我们都可以有时间创建清单文件的新实例。
有关将 GitHub 页面用作 CDN 源的详细信息,请参阅以下帮助文档: https://help.github.com/en/articles/configuring-a-publishing-source-for-github-pages。
Microsoft的解决方案使有关资产的信息向公众开放,因为谁有权访问这些文件没有安全性。 我们认为,应该为消费者提供一层免费的内容,也就是说,如果你的部分或全部内容需要付费墙,则需要在解决方案的技术限制内以不同的方式实现这一点,并且使用 GitHub 页面绝不是一项要求。 如果维护概述的版本号结构,则要使用的任何 CDN 提供程序都没问题。 如前所述,Web 部件支持的清单结构版本将烘焙到代码中,并自动追加到 CDN URL 中。
内容包集成指南
管理员和查看器 Web 部件经过扩展,允许使用者在其租户中配置额外的 CDN 终结点,然后允许查看者 Web 部件选择他们应从其显示的数据源的 CDN。
要记住此功能的关键框架:
- 主要适用于合作伙伴重新分发方案 - 手动播放列表配置过于繁琐
- 自定义内容包是一项高级功能,只有具有管理 Web 内容经验的合作伙伴才能使用它。 不受信任的内容源可能会将不安全的内容引入网站。 应仅添加你信任的源。
重要 添加自定义内容包之前,必须预配Microsoft 365 学习路径 3.0 或更高版本。 有关预配Microsoft 365 学习路径的信息,请参阅 预配Microsoft 365 学习路径。
内容可靠性
作为合作伙伴,你有责任帮助消费者确保内容在其环境中呈现可靠。 建议在其环境中创建一个测试方案,以验证内容是否可以在其防火墙内的 SharePoint 页面中 iFrame。 按照 为自定义播放列表创建 SharePoint 页面 说明确认此类情况。
将内容包添加到学习路径
创建和修改 JSON 并定义 CDN 后,可以将 Contact Pack 添加到学习路径。
- 在学习路径网站 主页 中,指向 “主页 ”,然后选择“ 学习路径管理”。
- 在 “管理 ”页中,选择 ...在页面右上角添加内容包 。
- 选择“自定义内容包”,然后输入内容包的名称,然后指定 JSON 文件所在的 CDN。
- 选择“保存”。 自定义内容包中的内容现在应显示在“管理”页中。 下面是一个示例。
筛选到 Web 部件中的内容包
借助学习路径,可以将学习路径 Web 部件添加到页面,筛选 Web 部件以指向自定义内容包源,然后将 Web 部件筛选为所需的类别、子类别、播放列表和资产。
- 在学习路径网站中,选择“ 新建”,然后选择“ 页面”。
- 选择 “空白”,然后选择“ 创建页面”。
- 为页面命名。
- 选择页面左侧的“ + 添加新”部分 。
- 在新部分的上半部分选择 + ,然后添加 Microsoft 365 学习路径 Web 部件。
- 选择 Web 部件,然后选择 “编辑” 图标。
- 在 “选择学习源 ”框中,选择自定义内容包,然后将 Web 部件筛选为所需内容。 下面提供了从自定义内容包筛选到播放列表的 Web 部件示例。