Web SDK の変更ログ
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このドキュメントには、バージョンごとの SDK の変更点がすべて記載されています。
[3.4.2]
[3.4.2]
設定を一意に識別するためのクエリ フィルターの一部として設定カテゴリ名が使用されないことに関連するバグを修正しました。
[3.4.1]
[3.4.1]
自己参照リレーションに関連するバグを修正しました。 自己参照リレーションの親側が変更され、リレーションの子側は変更されなかった場合、リレーションの子側でリンクされたエンティティは保存時にクリアされていました (その逆の場合も同様です)。
[3.4.0]
[3.4.0]
このリリースでは、Web SDK にいくつかの重要な構造上の変更が加えられており、リリース サイクル、依存関係の使用法、および Content Hub のバージョン間の互換性が向上します。
リリース サイクルの変更点
Web SDK の 3.4.0 以降、リリース サイクルは Content Hub のリリース サイクルに関連付けられなくなりました。 これにより、新機能が追加された場合、またはバグが修正された場合のリリース頻度が向上します。
依存関係の変更点
Web SDK の多くの (内部およびサードパーティの) 依存関係が削除されました。 これにより、依存関係の 1 つ以上の変更に起因する Web SDK への予期しない変更が防止されます。
Web SDK も、NuGet への依存度が低下するため、軽量になります。 ただし一部の統合では、次の NuGet のいずれかで提供されたモデルが使用されていた可能性があります。
- Stylelabs.M.Base.Web.Api.Models
- Stylelabs.M.Content.Web.Api.Models
- Stylelabs.M.Dam.Web.Api.Models
- Stylelabs.M.Portal.Web.Api.Models
これらの NuGet が 1 つ以上必要な場合は、手動で参照してください。
互換性の変更点
これまで Content Hub は、バージョン 3.0 以降のすべてのバージョンの Web SDK との後方互換性を確保していました。 今後 Web SDK は、その Web SDK よりも新しいまたは古いバージョンの Content Hub との互換性も持つことになります (ただし、やはりバージョン 3.0 以降となります)。 つまり、Content Hub のバージョンに関係なく、常に最新バージョンの Web SDK に更新できます。
詳細については、「互換性」を参照してください。
[3.2.0]
[3.2.0]
このリリースでは、エンティティ定義クライアントとカルチャ クライアントのさらなる HTTP 復元力とパフォーマンス向上に重点を置いています。
さらに、古い WebApiClient は Web SDK に組み込まれ、WebApiClient は削除されました。 これにより、一部の名前空間が変更されることに注意してください。
追加
Web SDK は、HTTP 呼び出しの復元力を確保するために、現在 Polly を使用しています。 Polly は、タイムアウト、再試行、スロットリング、および認証トークンの更新を管理するために使用されます。
監査やデバッグのために、実行時に Web SDK から追加情報を取得するために DiagnosticsClient が追加されました。 HTTP 要求と応答、キャッシュ イベント、ネットワークの問題、および警告をログに記録するために使用できます (記事)。
サーバーと SDK 間の互換性チェックをオプションで無効にするフラグを追加しました (記事)。
IMemberGroup インターフェイスに、ContentGroup プロパティが追加されました。
IEntity の基盤となる JSON ペイロードから ExtensionData を取得するための拡張メソッドを追加しました。
AllowUpdates プロパティは、リレーション定義でもサポートされるようになりました。 以前は、プロパティ定義でのみサポートされていました。 そのため、AllowUpdates プロパティは、IPropertyDefinition から IMemberDefinition に移動されました。これは、プロパティ定義とリレーション定義の両方の基本インターフェイスです。
エンティティ定義クライアントで、次のキャッシュされたオーバーロードが追加されました。
GetCachedAsyncGetNameCachedAsyncGetNamesCachedAsyncGetIdCachedAsyncGetManyCachedAsyncGetManyCachedAsyncGetIdsCachedAsync
カルチャ クライアントで、次のキャッシュされたオーバーロードが追加されました。
GetDefaultCultureCachedAsyncGetAllCulturesCachedAsync
削除
ILinkHelper の DefinitionsToLinksAsync メソッドが削除されました。
変更
WebApiClient が Web SDK に組み込まれました。 この変更はほぼ内部的なものですが、一部の名前空間が変更されます。 最も注意が必要な名前空間の変更は次のとおりです。
| クラス | 以前の名前空間 | 現在の名前空間 |
|---|---|---|
| HttpContentExtensions | Stylelabs.M.Sdk.WebApiClient.Utilities | Stylelabs.M.Sdk.WebClient.Http |
| HttpResponseMessageExtensions | Stylelabs.M.Sdk.WebApiClient.Utilities | Stylelabs.M.Sdk.WebClient.Http |
| JsonContent | Stylelabs.M.Sdk.WebApiClient.Utilities | Stylelabs.M.Sdk.WebClient.Http |
| TemplateExtensions | Stylelabs.M.Sdk.WebApiClient.Utilities | Stylelabs.M.Sdk.WebClient.Http |
| DefaultDelegationHandlerFactory | Stylelabs.M.Sdk.WebApiClient.Http | Stylelabs.M.Sdk.WebClient.Http |
| DefaultHttpClientFactory | Stylelabs.M.Sdk.WebApiClient.Http | Stylelabs.M.Sdk.WebClient.Http |
| IDelegatingHandlerFactory | Stylelabs.M.Sdk.WebApiClient.Http | Stylelabs.M.Sdk.WebClient.Http |
| IHttpClientFactory | Stylelabs.M.Sdk.WebApiClient.Http | Stylelabs.M.Sdk.WebClient.Http |
| RequestCreatedEventArgs | Stylelabs.M.Sdk.WebApiClient | Stylelabs.M.Sdk.WebClient.Http |
| RefreshTokenReceivedEventArgs | Stylelabs.M.Sdk.WebApiClient | Stylelabs.M.Sdk.WebClient.Http |
| TokenExpiredException | Stylelabs.M.Sdk.WebApiClient.Exceptions | Stylelabs.M.Sdk.WebClient.Http |
[3.1.2]
[3.1.2]
追加
スロットル サポート (バックポート) が追加されました。
[3.1.0]
[3.1.0]
このリリースのハイライト:
- 新しい通知クライアント。 電子メール通知だけでなく、リアルタイム通知 (ブラウザー) ををユーザーに送信できます (記事)。
- 新しいアセット クライアント。 このクライアントは現在、主にアセットの最終的なライフ サイクル ステータスを管理する目的で使用します (記事)。
- エンティティ定義クライアントを使用したエンティティ定義の作成、変更、および削除のサポート (記事)。
- アセット テンプレートおよびメール テンプレート用の厳密に型指定されたエンティティ (記事)。
追加
エンティティ定義クライアントでのエンティティ定義の作成、変更、および削除操作が追加されました (記事)。
新しい通知クライアントが追加されました (記事)。
アセット クライアントが追加されました (記事)。
このリリースでは、厳密に型指定されたエンティティが初めて取り入れられています。 アセットについては、現在 IAsset が利用可能です。 通知クライアントでは、厳密に型指定されたエンティティとして IMailTemplate. も利用できます。
このような厳密に型指定されたエンティティは IEntity のままですが、エンティティのメンバーは C# のプロパティおよびメソッドとして提供できるため、開発エクスペリエンスが向上します。 将来的には、厳密に型指定されたエンティティがさらに追加され、既存のエンティティが拡張される予定です (記事)。
IEntityDefinitionsClient の新機能:
- イテレータを作成するときのオプション パラメーターとして、カスタム バッチ サイズのイテレータをサポートするようになりました。
- ID でエンティティ定義を取得するメソッドが追加されました。
- 多数のエンティティ定義を ID で一度に取得するメソッドが追加されました。
- 定義 ID を定義名に解決するメソッドが追加されました。
- 定義名を定義 ID に解決するメソッドが追加されました。 これは、
Task<IList<long>> GetManyIdsAsync(IEnumerable<string> names);よりも優先的に使用されます。
IEntityLoadConfiguration にビルダーが追加されました。 これを使用して、読み込み設定を容易に作成または拡張できます (記事)。
クエリ フィルターが拡張され、次の新しい文字列フィルターが利用可能になりました (論文):
ContainsStartsWithEndsWith
Defaults に既定値が追加されました。
IEntityDefinition の新機能として、IsNew プロパティが追加されました。
ILinkHelper の新機能 (Web SDK):
- 既存のドキュメントが改善され、不足しているドキュメントが追加されました (API リファレンス)。
- ID によってエンティティ定義へのリンクを作成するメソッドが追加されました。
IUsersClient の新機能:
- ユーザー名でユーザー ID を取得するメソッドが追加されました (複数に対応)。
- ユーザー ID でユーザー名を取得するメソッドが追加されました (複数に対応)。
- ID でユーザーを取得するメソッドが追加されました (複数に対応)。
- ユーザー グループ名でユーザー グループ ID を取得するメソッドが追加されました (複数に対応)。
- ID でユーザー グループ名を取得するメソッドが追加されました (複数に対応)。
- ID でユーザー グループを取得するメソッドが追加されました (複数に対応)。
サーバーと SDK 間の互換性チェックをオプションで無効にするフラグを追加しました (バックポート)。
IEntity の基盤となる JSON ペイロードから ExtensionData を取得するための拡張メソッドを追加しました (バックポート)。
IRelationDefinition に AssociatedLabels プロパティが追加されました。
変更
IMemberDefinition の変更点: IsSecured プロパティは null 非許容になりました。
IRelationDefinition の変更点:
ChildIsMandatoryプロパティは null 非許容になりました。ParentIsMandatoryプロパティは null 非許容になりました。AncestorsAreCopiedが削除され、PathHierarchyScoreが導入されました。 これは M の変更に関連しています。
Query の EntityLoadOptions プロパティおよび LoadConfiguration プロパティが、どちらも廃止されています。 読み込み設定は、常に Query とは別に渡されるか、SDK によって自動的に解決されるようになりました。 後方互換性を確保するため、プロパティは引き続き存在します。 これは、LINQ 使用時の WithProperties、WithRelations、InCultures、LoadConfiguration も廃止されたことを意味します。 ただし上記のように、読み込み設定には同様のビルダーが用意されています。
すべての読み込みオプション (PropertyLoadOption、RelationLoadOption、CultureLoadOption) は、カスタム値を一覧表示するために、IEnumerable ではなく配列を使用するようになりました。
IEntity: 遅延読み込みが不可能な場合、LoadPropertiesAsync、LoadRelationsAsync、LoadMembersAsync はスローせずに、直接 false を返します。
修正
フィルターなしでクエリを実行すると、バックエンドが例外をスローする問題を修正しました。 現在はフィルターなしでクエリを実行できます。 これにより、たとえば M で最新の X 個のエンティティを取得できます。
[3.0.5]
[3.0.5]
追加
スロットル サポート (バックポート) が追加されました。
[3.0.1]
[3.0.1]
このパッチ リリースでは、複数のバグが修正されています。
追加
WebApiException のメッセージに、詳細情報と HTTP ステータス コードが含まれるようになりました。
ValidationException の ToString に、検証の失敗が含まれるようになりました。
サーバーと SDK 間の互換性チェックをオプションで無効にするフラグを追加しました (バックポート)。
IEntity の基盤となる JSON ペイロードから ExtensionData を取得するための拡張メソッドを追加しました (バックポート)。
変更
失敗した API 呼び出しに対して、Stylelabs.M.Sdk.WebApiClient.Exceptions.WebApiException ではなく Stylelabs.M.Sdk.WebClient.Exceptions.WebApiException をスローします。
RelationMemberCondition は、エンティティ ID ではなくエンティティ定義 ID を参照していました。
カテゴリが存在しない場合、GetSettingsForCategoryAsync は空のリストを返します。 これは透過的な動作ではなかったため、現在は NotFoundException を返します。
一部の既定値が変更されました。
- エンティティは、既定で
InheritsSecurityがtrueの状態で作成されるようになりました - プロパティ定義は、既定で
AllowUpdatesがtrueの状態で作成されるようになりました - リレーション定義は、既定で
AllowNavigationがtrueの状態で作成されるようになりました
修正
IMemberDefinition モデル (実装) が公開されていない問題を修正しました。
範囲による定義が、オフセットと合計カウントが入れ替わった結果を返す IEntityDefinitionsClient の問題を修正しました。
データ ソースの削除時に検証の例外が発生したときに、クライアントが間違った例外をスローする IDataSourcesClient の問題を修正しました。
カテゴリが存在しない場合に、GetCategoryIdAsync が null ではなく 0 を返す ISettingsClient の問題を修正しました。
カルチャなしで明示的にエンティティを作成する場合のエンティティ ファクトリの問題を修正しました。 カルチャなしで作成した場合、カルチャに依存するプロパティはエンティティに存在しなくなりました。
定義が存在しなかった場合に、GetIdAsync が NullReferenceException をスローする IEntityDefinitionsClient のバグを修正しました。
ネストされたプロパティがなかった場合に、IRelationDefinition の NestedProperties が空のリストではなく null になるバグを修正しました。
欠落していたレンディションを修正しました。
[3.0.0]
[3.0.0]
SDK の初期リリース。 この SDK は、Sitecore Content Hub のバージョン 3.0.0 以降で動作します。