連線到一個Office 365組 - 程式設計方式 (一)

Justin-Liu發表於2018-06-11

部落格地址: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,所以就有了這個警告。

在下一篇我們將真正地去以程式碼地方式完成網站的現代化。

相關文章