当前位置: 首页 > news >正文

连接到一个Office 365组 - 编程方式 (一)

博客地址:http://blog.csdn.net/FoxDave
本文接上一篇,通过配置方式连接到一个Office 365组是非常简单的,但是对于我们程序员来说,应该从编程角度去理解和掌握连接到Office 365组的过程,本篇主要讲述如何通过编程方式来连接一个Office 365组。由于篇幅过长,会分成两部分,本篇和下一篇。

以编程方式连接到一个Office 365组

以编程方式去连接一个Office 365组,微软推荐我们遵循三个步骤:

  • 了解
  • 分析
  • 现代化

第一步:了解连接到Office 365组对我们的网站做了什么
了解连接到Office 365组对我们的网站做了什么是很重要的,因此我们可以先在一些测试网站通过上一篇提到的配置方式进行手动连接。评估中的一个重要方面是我们是否想要保持新创建的现代化主页。作为现代化进程的一部分,我们可以创建定制的主页,但是如果默认的主页就能满足我们的需求,微软更推荐保持默认的主页。

第二步:分析我们的网站环境
前面已经说过,如果我们要将成百的网站连接到Office 365组,通过用户接口的方式去做就不合适了。恰当的方式是通过调用API去以编程的方式实现。但是在做这个工作之前,我们最好先验证一下哪些网站可以连接到Office 365组,因为不是所有的网站都适合去连接的。
为了帮助我们清楚哪些网站适合连接到Office 365组,我们可以使用之前提到过的扫描工具SharePoint Modernization Scanner来分析我们的环境。下面列一些需要验证的关键项:

检查组连接障碍 (Blocker)
网站上的某些设置会阻碍网站成功转换到组连接网站:

  • IncompatibleWebTemplate - 网站的模板不支持转换成组连接
  • PublishingFeatureEnabled - 网站启用了发布功能
  • SiteHasOffice365Group - 网站已经连接到了一个Office 365组

在扫描器的结果中,将会把这样的网站的ReadyForGroupify字段设置为False。

检查组连接警告 (Warning)
网站中还可能有其他配置在连接到Office 365组时不是最优的。在扫描器中,会将这些内容标记为警告,因为它们对于网站连接到Office 365组不一定会导致问题,但是我们需要知道它们,并且如果有必要的话,在现代化网站之前或之后修复它们。
在扫描结果中,我们可以从字段GroupifyWarnings看到警告信息,基于这个警告信息,我们能从PermissionWarnings和ModernUIWarnings这两个字段获得更多的细节信息。在现代化网站之前我们首先去评估一下它是否还是业务相关的是非常明智的,扫描报告也包含了一些字段来展示最近的和周期性的视图以及网站的唯一用户。

下面列举一些可能发生的警告信息:

  • ModernUIIssues - 默认的现代化进程会为我们的网站创建一个新的现代化主页。然后,如果我们的网站禁用了现代化界面或者具有不兼容的自定义内容,我们可能想要首先确认网站是否对界面现代化就绪了。关于它的详细信息我们可以在ModernUIWarnings字段找到。
  • ADGroupWillNotBeExpanded - 当我们通过界面将网站连接到Office 365组时,我们可以通过选项定义Office 365组的所有者和成员;同样地在批量操作时,我们也有脚本去实现类似的操作(将在下一篇阐述)。然后,因为Office 365组只能包含人作为所有者或成员,也就是说如果我们通过Azure AD安全组对SharePoint网站进行授权的话,我们无法添加Azure AD安全组作为Office 365组的所有者或成员。如果我们想要只依赖于Office 365组的权限定义,我们必须单独添加所有Azure AD组的成员,但是在SharePoint网站和Office 365组定义相同的访问不是必须的,因此此项为警告项而不是障碍。
  • SiteHasSubSites - 在现代化工作组和社区网站中,子网站的用户被弱化了,我们可以直接现代化一个网站集。
  • DefaultHomePageImpacted - 默认情况下,现代化网站操作会创建一个新的主页,如果我们使用了跟传统工作组网站不同的网站模板,可能会影响网站的某些功能。

如果我们看到了一个ModernUIIssues警告,我们可以通过ModernUIWarnings字段获得更多信息:

  • ModernPageFeatureDisabled - 因为网站在现代化之后会具有一个现代化的主页,启用现代化主页功能是重要的。
  • ModernListsBlockedAtSiteLevel和ModernListsBlockedAtWebLevel - 禁用列表和库的现代化用户接口不会阻碍网站的现代化,但是现代化网站就应该是全新的界面,禁用它们是不合理的。
  • MasterPageUsed和AlternateCSSUsed - 自定义母版页或外部CSS不会在现代化页面中使用。如果我们的网站依赖于它们,我们就需要去验证并寻找可替代方案,因为它们在现代化网站中是不工作的。
  • UserCustomActionUsed - 通过嵌入JavaScript脚本来实现用户自定义操作是常见的方式,但是对于现代化页面同样是不工作的。我们需要使用SharePoint Framework扩展去开发替代的用户自定义操作。
  • PublishingFeatureEnabled - 发布功能跟现代化页面功能是不兼容的,需要关闭。

最后一个警告信息字段是PermissionWarnings:

  • SharingDisabledForSiteButGroupWillAllowExternalSharing - Office 365组网站的默认配置是允许进行外部共享,但是我们要进行现代化的网站可能将它禁用了。
  • SubSiteWithBrokenPermissionInheritance - 我们前面提到了子网站不是最优的但并不会阻碍现代化进程。如果我们拥有独立权限的子网站,这些子网站并不会继承对应Office 365组定义的权限。
  • PrivateGroupButEveryoneUsedOutsideOfAdminOwnerMemberGroups - 扫描结果会提示我们创建公有或私有的组,这是基于SharePoint网站管理员组、所有者组或成员组的everyone声明来做的。然而,我们可能在其他地方声明了everyone,所以就有了这个警告。

在下一篇我们将真正地去以代码地方式完成网站的现代化。

相关文章:

  • 一图胜千言 -- SQL Server 基准测试
  • linux 服务器常用命令整理
  • 解决win10打开组策略弹出管理模板对话框问题
  • 上海云栖:金融政企行业的CDN最佳实践
  • 杨泽业:wordpress在Nginx/Apache/IIS中的伪静态规则
  • 【驱动】input子系统整体流程全面分析(触摸屏驱动为例)【转】
  • IntelliJ Idea解决Could not autowire. No beans of 'xx
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • 编程日记
  • Hadoop生态圈-Kafka的新API实现生产者-消费者
  • 关于正则表达式引擎NFADFA
  • 原生JS和jQuery分别使用jsonp来获取“当前天气信息”
  • iOS逆向工程理论篇续
  • [区块链] 拜占庭将军问题 [BFT]
  • 记一次通过c#运用GraphQL调用Github api
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • AHK 中 = 和 == 等比较运算符的用法
  • CAP 一致性协议及应用解析
  • CentOS6 编译安装 redis-3.2.3
  • ES2017异步函数现已正式可用
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • JS笔记四:作用域、变量(函数)提升
  • Just for fun——迅速写完快速排序
  • laravel 用artisan创建自己的模板
  • Otto开发初探——微服务依赖管理新利器
  • Python打包系统简单入门
  • Redash本地开发环境搭建
  • socket.io+express实现聊天室的思考(三)
  • SpringBoot 实战 (三) | 配置文件详解
  • vue2.0项目引入element-ui
  • windows下mongoDB的环境配置
  • 爱情 北京女病人
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 规范化安全开发 KOA 手脚架
  • 力扣(LeetCode)56
  • 让你的分享飞起来——极光推出社会化分享组件
  • 跳前端坑前,先看看这个!!
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 在electron中实现跨域请求,无需更改服务器端设置
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • $L^p$ 调和函数恒为零
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (转)Google的Objective-C编码规范
  • ***测试-HTTP方法
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NET构架之我见
  • .NET中两种OCR方式对比
  • // an array of int
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [2023年]-hadoop面试真题(一)
  • [BZOJ1053][HAOI2007]反素数ant
  • [C#]使用PaddleInference图片旋转四种角度检测
  • [C++]unordered系列关联式容器