Documentation

フォームストレージアダプターについて

利用可能: LPS-97208 の修正(Liferay DXP 7.2 SP3で計画)を含むLiferay DXP 7.3およびLiferay DXP 7.2バージョン。

ユーザーがフォームレコードを追加すると、フォームAPI はストレージアダプターAPIを通じてリクエストの処理をルーティングします。 これは、フォームエントリーに対して行われる他の CRUD 操作(読み取り、更新、削除)についても同様です。 ストレージ サービスのデフォルトの実装は、JSONDDMStorageAdapterと呼ばれ、その名のとおり、 DDMStorageAdapterインターフェイスを実装し、フォームエントリーデータをJSON形式で保存します。

動的データマッピング(DDM)バックエンドは、フォームレコードの他のストレージ形式に 適応 することができます。 これにより、フォームデータをデフォルトのJSONではなく、XMLやYAML(または希望する形式)として簡単にシリアライズできます。 そして、フォームデータをLiferayデータベースを含む任意の場所に保存することを選択できます。

重要

A newly added storage adapter can only be used with new Forms. All existing Forms continue to use the adapter selected (JSON by default) at the time of their creation, and a different storage adapter cannot be selected.

フォームレコードの保存

デフォルトのJSON実装では、保存リクエストに格納されているブール値isInsertに応じて、異なる応答をします。 trueの場合は、新しいフォームレコードを追加するロジックが呼び出され、falseの場合は、代わりに更新が行われます。 このロジックは、insertupdateというメソッドに含まれています。 DDMStorageAdapterの の実装がこのパラダイムにも対応していることを確認してください。

フォームレコードのシリアライズとデシリアライズ

フォームレコードのシリアライズとデシリアライズのデフォルトフォーマットはJSONです。 サンプルプロジェクトでは、このデフォルトフォーマットの使用方法を示しています。 DDMContentを異なるフォーマットで保存するには、追加のインターフェイスを実装する必要があります。

シリアライズ: DDMcontentを保存するときは、DDMFormValuesオブジェクトをターゲットストレージ形式に変換する必要があります。

デシリアライズ:(ストレージアダプターのgetメソッドで)DDMContentを読み取るときは、ストレージ形式からDDMStorageAdapterGetResponseBuilderコンストラクターが必要とするDDMFormValuesオブジェクトに変換し直す必要があります。

このシリアライズのロジックに実装するDDMFormValuesSerializerインターフェイスと、デシリアライズのロジックに実装するDDMFormValuesDeserializerインターフェイスがあります。 DDMFormValuesオブジェクトのJSONへの変換(およびその逆の変換)をサポートしているLiferayのデフォルトの実装は、それぞれ こちらこちら にあります。

完全な例については、 フォームストレージアダプターの書き込み を参照してください。