SharePoint Framework v1.16 リリース ノート

このリリースでは、Microsoft Viva、Microsoft Teams、Outlook、Office、SharePoint に関する機能全体の更新プログラムについて説明します。

リリース: 2022 年 11 月 15 日

重要

このページでは、特定の SPFx リリース バージョンに関連する詳細について説明します。 このページには、Node.js、Yeoman、その他のツールなど、SPFx ソリューションを開発するためにインストールする必要のある追加の SPFx 前提条件は含まれていません。

これらの前提条件の詳細については、「SharePoint Framework 開発環境を設定する」を参照してください。

最新バージョンをインストールする

@latest タグを含めて、SharePoint Framework (SPFx) の最新リリースをインストールします。

npm install @microsoft/generator-sharepoint@latest --global

プロジェクトを v1.15.2 から v1.16 にアップグレードする

  1. プロジェクトの package.json ファイルで 、すべての SPFx v1.15.2 パッケージを識別します。 各 SPFx パッケージの場合:
    1. 既存の v1.15.2 パッケージをアンインストールします。

      npm uninstall @microsoft/{spfx-package-name}@1.15.2
      
    2. 新しい v1.16 パッケージをインストールします。

      npm install @microsoft/{spfx-package-name}@latest --save --save-exact
      

ヒント

Microsoft 365 の CLI には、ソリューションを最新の SharePoint Framework バージョンに アップグレード するための簡単で段階的なガイダンスが用意されています。

新機能

SPFx を使用して Teams ソリューション ビルドを Outlook と Office に発行する

この SPFx バージョンでは Teams JavaScript SDK v2 がサポートされるため、SharePoint Framework (SPFx) を使用して、Outlook と Office.com (Microsoft 365 アプリ) のエクスペリエンスの構築を開始できるようになりました。 これにより、特定のコードを変更せずに、Microsoft、Outlook、Office.com、および SharePoint 内で同じソリューションを公開できます。

次のコードに示すように、Teams JavaScript SDK v2 を使用してソリューションのホストを検出できます。 this.context.sdks.microsoftTeamsが空の場合、コードは SharePoint で実行されます。

// if running in Microsoft Teams, Outlook, or Office...
if (!!this.context.sdks.microsoftTeams) {
  const teamsContext = await this.context.sdks.microsoftTeams.teamsJs.app.getContext();
  switch (teamsContext.app.host.name.toLowerCase()) {
    case 'teams':
      // RUNNING IN MICROSOFT TEAMS
    case 'office':
      // RUNNING IN OFFICE / OFFICE.COM
    case 'outlook':
      // RUNNING IN OUTLOOK
    default:
      throw new Error('Unknown host');
  }
} else {
  // RUNNING IN SHAREPOINT
}

これらのオプションの詳細については、次の記事を参照してください。

重要

SharePoint Framework ソリューション内で Teams SDK v2 を使用することは、1.16 バージョンから一般公開されており、Teams SDK v2 をすぐに使用できます。 ただし、Outlook 内および Office.com (Microsoft 365 アプリ) での Teams アプリ (SPFx ソリューションを含む) の発行のサポートは、まだプレビュー段階であり、2023 年前半にモバイルとデスクトップの両方のエクスペリエンスで一般公開される予定です。

Teams JavaScript SDK v2 のサポート

このバージョンでは、teams-js v2 がサポートされています。 this.context.sdks.microsoftTeams.teamsJs は SDK のバージョン 2 を返します。 this.context.sdks.microsoftTeams.context は引き続き下位互換性のために v1 コンテキストを返します。

注:

teams-js v2 は teams-js v1 と下位互換性があります。 既存のソリューションの v1 は引き続きサポートされます。

ヒント

Teams JavaScript SDK v2 を使用すると、開発者向けの新しいシナリオが可能になります。 Teams JS SDK v2 の機能の詳細については、次のお知らせを参照してください。 Microsoft Teams JS SDK v2 が一般公開されました

teams-js v2 の入力のサポート

このバージョン以降、 context.sdks.microsoftTeams.teamJs Web パーツの プロパティには teams-js SDK v2 の種類があります。 これにより、teams-js SDK v2 の新機能 (Outlook と Office 365 アプリ (以前は office.com と呼ばれる) などの新しいホストを使用できます。

注:

context.sdks.microsoftTeams.context プロパティは非推奨としてマークされています。 v2 ではなく v1 コンテキストを返します。 代わりに を使用 context.sdks.microsoftTeams.teamJs.app.getContext します。

React 17 サポート

SPFx では、既定で React 17 がサポートされるようになりました (ソリューションの一部としてスキャフォールディングされます)。

Web パーツのマニフェストで dataVersion を設定する機能

この事前構成済みエントリのデータ バージョンを設定します。 これは省略可能であり、SPPKG がコードから独立して更新される場合 (CDN でホストされている場合など) に使用できます。 Web パーツは、古い既定のプロパティとの下位互換性のためにこの値を読み取ることができます。

Microsoft Graph v3 でタスクとミドルウェアを使用する機能

このバージョン以降、開発者は SDK からタスクやミドルウェアを参照するようにインストール @microsoft/microsoft-graph-client できます (例: LargeFileUploadTask)。 SPFx は依存関係を自動的に外部化し、CDN から読み込みます。

注:

インストールする MS Graph SDK の バージョンを確認するには、「サポートされているバージョン を確認する機能」を参照してください。

MSGraphClientFactory クライアントを初期化するときにパラメーターを渡す Options ようになりました。 また、ミドルウェアを使用してクライアントを初期化するための新しいメソッド getClientWithMiddleware も含まれています。 開発者は、プロパティを使用して MS Graph クライアント インスタンスを MSGraphClientV3.client 取得することもできます。 このインスタンスを使用して、大きなファイルのアップロードなどの MS Graph タスクを呼び出すことができます。

EULA フォルダーがモジュールから削除されました

EULA フォルダーがモジュールから削除されました。 ライセンス情報 はこちらで入手できます。 この変更により、スキャフォールディング中に読み込まれるすべての SPFx モジュールのサイズが縮小されました。

サポートされているバージョンの MS Graph と Teams SDK を確認する機能

.yo-rc.json file にプロパティが sdksVersions 含まれるようになりました。 このプロパティには、サポートされているバージョンの MS Graph と Teams SDK の一覧が含まれています。

SASS の quietDeps パラメーター

開発者は、 の config\sass.json プロパティを依存関係からのサイレント非推奨警告に設定quietDepsできるようになりました。

ACE を非同期的にレンダリングする機能

WEB パーツと同様に、ACE 開発者は、カード拡張機能を非同期にレンダリングするかどうかを指定できます。

/* BaseAdaptiveCardExtension */
protected get isRenderAsync(): boolean {
  return false;
}

public renderCompleted(didUpdate: boolean): void { /* ... */ }

アクセシビリティのテキストを含む alt アダプティブ カード拡張イメージ カード ビュー

の新しい省略可能なプロパティ imageAltTextIImageCardParameters 追加すると、イメージ html 要素にテキスト属性が追加 alt されます。

新しいフォーム カスタマイザー コンテキスト プロパティ

項目フィールドの値を一覧表示する

フォーム カスタマイザーの編集フォームと表示フォームのコンテキストに、標準 odata 形式のリスト アイテム フィールドの値が含まれるようになりました。

IFormCustomizerContext.item?: IListItem;

リスト フォームの JSON 書式設定の構成

フォーム カスタマイザーのコンテキストは、適用されたリスト フォーム JSON 書式設定に関する情報を提供します。 プロパティを使用して contentType 構成にアクセスします。

IFormCustomizerContext.contentType.ClientFormCustomFormatter: string | undefined;

NodeJS v12 と v14 のサポートを削除する

Node.js v12 & v14 はサポートされなくなりました。 SPFx v1.16 には v16 Node.js必要です。

注:

Node.js v18 のサポートは、2023 暦年の前半に予定されています。

プレビュー機能

次の機能は、1.16 リリースの一部としてプレビュー状態のままであり、運用環境では使用しないでください。 今後の 1.17 リリースの一環として、正式にリリースすることを検討しています。

Web パーツの上位アクション

Top Actions を使用すると、開発者は Web パーツのコマンド バーにカスタム アクションを追加できます。 この機能はプロパティ ウィンドウ コントロールに似ていますが、よりクリーンな UI アプローチに基づいています。

注:

Top Actions は、1.16 リリースの一部としてプレビュー バージョンとしてリリースされます。

上位のアクション

上位のアクションを追加するために、開発者は メソッドを getTopActionsConfiguration 使用できます。

BaseWebPart.getTopActionsConfiguration(): ITopActions | undefined;

ITopActions インターフェイスは、上位のアクション構成を定義します。

export type ActionConfiguration = IPropertyPaneField<any>;

export interface ITopActions {
  readonly topActions: ActionConfiguration[];
  onExecute(actionName: string, newValue: any): void;
}

注:

トップ アクション構成の種類は現在、 IPropertyPaneField<any> ボタンと選択グループのみをサポートしています。 つまり、 と を PropertyPaneChoiceGroup(...) 使用することも、および PropertyPaneButton(...)に解決する独自の構成を IPropertyPaneField<IPropertyPaneChoiceGroupProps> 指定することもできます。 IPropertyPaneField<IPropertyPaneButtonProps>

コード レベルのガイダンスの詳細については、次の記事を参照してください。

非推奨

  • 非推奨の @microsoft/office-ui-fabric-react-bundle パッケージ。 代わりに を使用 @fluentui/react します。
  • 非推奨の context.sdks.microsoftTeams.context。 代わりに context.sdks.microsoftTeams.teamJs.app.getContext を使用します。

修正済みの問題

前のパブリック リリース以降に修正されたSharePoint Frameworkに関する特定の問題の一覧を次に示します。

August-November時間枠

  • #8146 - SPFX アプリケーション カスタマイザーが PDF ファイルの匿名リンクを解除する
  • #8266 - SPFx 1.15 - フォーム カスタマイザが履歴の表示で機能しない
  • #8272 - SPFx 1.15 - クラシック モードで既存のリスト アイテムを表示するためにフォーム カスタムを使用するとエラーが発生する
  • #8279 - 運用環境の新しいアイコン
  • #8301 - カスタム Teams ?app=portals App を再表示するときにエラーが発生する
  • #8372 - フォーム カスタマイザーへのアクセス許可の適用
  • #8379 - グループ化されたリストで SPFx ListViewCommandSet - this.context.listView.selectedRows が間違っている
  • #8467 - ボタン (onClick イベント) が BaseDialog 機能しなくなった - ListView コマンド セット
  • #8483 - 複数ページの Webpart プロパティ ウィンドウ - ページ分割が期待どおりに機能せず、ユーザーがページにアクセスできないようにする
  • #8484 - プロパティ ウィンドウ フィールド ラベルでReactと office-ui-fabric-react を使用すると、Web パーツのプロパティ ウィンドウが破損する
  • #8482 - Reactバージョンの不一致により、SPFX リスト拡張機能が O365 で失敗する
  • #8487 - SharePoint React 17 アップグレードによって SPFx Webpart で "無効なフック呼び出し" エラーが発生する
  • #7324 - SPFx ライセンスで商用使用が許可されない
  • #8331 - マニフェストで事前構成済みEntries をバージョン管理するメカニズム
  • #8510 - SPFx の突然の縮小Reactエラー #321
  • #8496 - Reactバージョンの不一致により、プロパティ ウィンドウが表示されない