マイクロソフト 365 PnP の新しい変換フレームワークの紹介

マイクロソフト 365 PnP の新しい変換フレームワークの紹介 [ad_1]

マイクロソフト 365 コミュニティは、新しいプロジェクトのパブリック プレビューを導入しています" Microsoft 365 PnP 変換フレームワーク。この新しいプロジェクトの目標は、既存のポータルを Microsoft SharePoint Online の最新ポータルに変換する顧客とパートナーを支援することです。

このプロジェクトは、SharePoint Online と SharePoint オンプレミス (2010 年、2013 年、2016 年、2019 年) の単一ページの近代化を対象とした数年前に導入された既存のプロジェクト「PnP モダナイゼーション フレームワーク」の進化です。ただし、新しい変換フレームワークは、Web ベース/コンテンツ ベースのソリューションを最新の SharePoint Online ポータルに変換するために使用できる汎用モデルに基づいています。

実際、新しいフレームワークはオープンで抽象的なアーキテクチャで構築されており、依存関係の注入や非同期開発などの最新の開発手法をサポートしています。内部的には、新しいフレームワークは PnP Core SDK の上に構築されており、.NET Standard 2.0 と .NET 5.0 を対象としており、任意のプラットフォーム (Windows、Linux、macOS) およびクラウドベースのサービスで使用できます。たとえば、コンテンツのページを SharePoint Online の最新ページに変換する Azure 関数を作成するのは本当に簡単です。

マイクロソフト 365 PnP の新しい変換フレームワークの紹介
図 1 – マイクロソフト 365 PnP 変換フレームワークアーキテクチャ.

図 1 に示すように、フレームワークはいくつかの柱に基づいています。まず、最新のページに変換するコンテンツを読み取るために使用できる「何か」であるデータソースの概念があります。データ ソースは、プラグイン可能で、コミュニティ内の誰でも作成できる外部ライブラリに基づいています。

次に、外部データ ソースから取得したコンテンツの変換を処理する実際のエンジンである “変換エンジン" があります。大まかに言えば、変換エンジンは、.NET Core/.NET 5.0 で依存関係の注入を使用して簡単に構成およびカスタマイズできる、プラグ可能なマッパーのセットに依存しています。最後に、変換されたページは、フレームワークでサポートされている唯一のユニークな出力である SharePoint Online の最新サイトに保存されます。

最初に、フレームワークは SharePoint オンラインおよび SharePoint オンプレミス (2013、2016、および 2019) を使用可能なデータ ソースとしてサポートします。しかし、将来的には、パートナーやコミュニティプロジェクトによってリリースされるデータソースが増えると予想されます。たとえば、WordPress のデータ ソースや、市場で利用可能なその他のコンテンツ管理システムがある可能性があります。

機能の観点からは、単にインプロセス モデルを使用して単一のページを変換することも、Microsoft Azure 上などでホストされている分散アーキテクチャを使用してページのサイトやバッチを変換することもできます。PnP 変換フレームワークは、ネイティブですべてのアーキテクチャ コンポーネントとカスタマイズ エンドポイントを提供し、開発者が分散アーキテクチャを作成できるようにします。

たとえば、バックエンドの Azure 関数と Azure BLOB ストレージ キューを使用して変換の処理を分離およびスケーリングして変換を非同期的に処理するのに役立つコンポーネントがあります。独自のカスタム ソリューションで参照としてフレームワークを使用することも、PowerShell スクリプトを使用して単一ページの変換をトリガーするのには、PnP PowerShell を使用して使用します。どのような目標を持つ場合でも、新しい PnP 変換フレームワークは、適切なツールを使用して作業を提供します。

図 2 では、変換エンジンの高レベルアーキテクチャを確認できます。

マイクロソフト 365 PnP の新しい変換フレームワークの紹介
図2 – 変換エンジンのハイレベルアーキテクチャ.

ご覧のとおり、変換プロセスを管理するトランスフォーメーションエスタコンポーネントがあります。変換プロセスは、ライブおよびインプロセスで実行できる変換タスク、または Azure BLOB ストレージ キューや Azure Service Bus キューなどの変換状態マネージャーを介してバックエンド システムに転送される変換タスクで構成されています。

変換タスクは、変換蒸留器によって生成されます。既定ではインプロセスで実行されますが、バックエンド システムでも実行できる変換エブキュータでは、マッピング プロバイダのセットに基づいて実際の変換が実行されます。

開発者の観点からは、次の NuGet パッケージの 1 つ以上をプロジェクトにプラグインするだけで、フレームワークを簡単に使用できます。

  • トランスフォーメーション: 変換エンジンと抽象型およびインターフェイスへの参照を取得するだけです。カスタム データ ソースを作成し、すべての抽象クラスとインターフェイスを独自のカスタム ライブラリに実装する必要がある場合はいつでも、このクラスを使用できます。
  • 変換.SharePoint: サポートされているデータ ソースとして SharePoint オンラインまたは SharePoint を対象とする変換エンジンを参照します。

新しい PnP 変換フレームワークを使用するには、依存関係の挿入をサポートするように .NET プロジェクトを構成するだけで、必要なサービスを簡単にセットアップできます。次のコードの抜粋では、.NET Core 3.1 で作成され、依存関係の挿入を使用するように構成された .NET コンソール アプリケーションで、単一ページの変換をトリガーする方法を確認できます。 マイクロソフトエクステンションズ.ホスティング 対話型認証を使用した NuGet パッケージ:

ご覧のように、依存関係インジェクション コンテキストを構成し、ソースコンテキストとターゲット コンテキストを作成するためのいくつかの方法がありますが、最後の最後に変換自体は単なるメソッド呼び出しである TransformSharePointPageAsync です。

依存関係の挿入用にサービスを定義および構成する場合、独自のカスタム ロジックをプラグインするために、常にマッパーとサービスの独自のカスタマイズを登録できます。たとえば、カスタム ユーザー マッピング ロジックを提供する場合は、独自のサービスを構成する既定の動作をオーバーライドするだけで済みます。

既定では、PnP.Core.Transformation.SharePoint の AddPnPSharePoint トランスフォーメーション メソッドは、基本的な機能を備えた定義済みのマッピング サービスのセットを構成します。

PowerShell を使用して新しい PnP 変換フレームワークを使用する場合、別のオプションは、PnP PowerShell ライブラリでプレビューの下で利用可能な新しい Invoke-PnP トランスフォーメーション コマンドレットに依存することです。新しいコマンドレットを呼び出す PowerShell コードの抜粋を次に示します。

ターゲット サイトとソース サイトへの接続以外に、変換するページの名前を指定するコマンドレットを呼び出すだけです。もちろん、変換をカスタマイズするためのオプションはたくさんありますが、基本的な構文は上記のサンプルに示したような単純な構文です。

内部的には、変換エンジンはカスタマイズ可能なマッパーのセットに依存します。ここにリストがあります:

  • メタデータ マッピング プロバイダー: ページ のメタデータを処理し、ソース コンテンツのメタデータをターゲットの SharePoint Online ページ アイテムのフィールド値に変換します。
  • ページ レイアウト マッピング プロバイダー: ページ レイアウトの定義を管理し、SharePoint 発行ページから変換する場合にのみ使用されます。
  • 分類マッピング プロバイダー: 分類をターゲットの SharePoint Online 環境の管理メタデータ サービスでサポートされる値に変換します。
  • URL マッピング プロバイダ: ソース ドキュメント内で参照される URL を、ターゲット環境の実際の URL に変換します。
  • ユーザー マッピング プロバイダー: ソース プラットフォームのユーザーを、ターゲットの SharePoint Online 環境の Microsoft 365 ユーザーにマップします。
  • Web パーツ マッピング プロバイダー: これは、変換エンジンの中核であり、コンテンツ ウィジェット、コンポーネント、またはデータ ソースの Web パーツを最新の SharePoint Online のクライアント側の Web パーツに変換します。

トランスフォームを実行する場合エンジンは、コンテンツ ページの抽象定義を作成するために上記のマッパーのいくつかを通過し、ページ ジェネレーターを使用して SharePoint Online で実際の最新ページを作成します。そのため、特殊なマッパーがページジェネレーターで必要なコンテンツの抽象定義を生成できる限り、データ ソースは任意のプラットフォームにすることができます。

現在の計画では、2021 年末までにライブラリの GA バージョンをリリースする予定です。今、あなたはパブリックプレビューで遊ぶことができます。それを見て、それを遊び、それをテストし、私たちはあなたがこの新しいプロジェクトについてどう思うか知らせてください。最後に、この記事で説明されているすべてのプロジェクトとライブラリはオープンソースであることを覚えておいてください。

そのため、さまざまな方法で貢献できます。たとえば、対応するリポジトリの問題リストを使用してフィードバックを提供できます。ただし、コード変更の提案を提出して、GitHub でプルリクエストを作成することもできます。

また、毎週のコミュニティコールに参加することで、積極的にコミュニティ生活に貢献することができます。起動方法がわからない場合は、ブラウザを開き、 http://aka.ms/m365pnp 「共有は思いやり」の取り組みを探します。そこでは、すばらしい Microsoft 365 コミュニティで旅を始めるのに役立つコミュニティ メンバーが見つかります。じゃあ、そこでお会いしましょう!



[ad_2]

未分類

Posted by admin