API を使用した Web ページ上のフォームの一覧表示 listing-forms-on-a-web-page-using-apis

AEM Forms では REST ベースの検索 API を備えており、これにより Web 開発者はクエリを実行し、検索条件に合う一連のフォームを取得できます。API を使用することで、様々なフィルターに基づいてフォームを検索できます。応答オブジェクトには、フォームの属性、プロパティ、フォームのレンダリングエンドポイントなどがあります。

REST API を使用してフォームを検索するには、以下に説明するクエリパラメーターを使用して、https://'[server]:[port]'/libs/fd/fm/content/manage.json にあるサーバーに GET リクエストを送信します。

クエリパラメーター query-parameters

属性名
説明
func

呼び出す関数を指定します。フォームを検索するには、func 属性の値を searchForms に設定します。

例:

URLParameterBuilder entityBuilder=new URLParameterBuilder (); entityBuilder.add("func", "searchForms");

メモ:このパラメーターは必須です。

appPath

フォームを検索するアプリケーションパスを指定します。デフォルトでは、appPath 属性はルートノードレベルで使用可能なすべてのアプリケーションを検索します。

1 つの検索クエリで複数のアプリケーションパスを指定できます。複数のパスは、パイプ(|)文字を使用して区切ります。

cutPoints

アセットと一緒に取得するプロパティを指定します。アスタリスク(*)を使用するとすべてのプロパティを一度に取得できます。複数のプロパティを指定するには、パイプ(|)演算子を使用します。

例: cutPoints=propertyName1|propertyName2|propertyName3

メモ

  • プロパティ(ID、パス、名前など)は、常に取得されます。
  • すべてのアセットには、異なるプロパティのセットがあります。formUrl、pdfUrl、guideUrl などのプロパティは、cutPoints 属性に依存しません。これらのプロパティは、アセットタイプに依存し、それに応じて取得されます。
relation

検索結果と共に取得する関連アセットを指定します。以下のオプションからいずれか 1 つを選択して、関連アセットを取得できます。

  • NO_RELATION:関連アセットを取得しません。
  • IMMEDIATE:検索結果に直接関連するアセットを取得します。
  • ALL:直接関連するアセットと間接的に関連するアセットを取得します。
maxSize
取得するフォームの最大数を指定します。
offset
開始からスキップするフォームの数を指定します。
returnCount
提示された条件に合う検索結果を返すかどうかを指定します。
statements

文のリストを指定します。クエリは、JSON 形式で指定した文のリストに対して実行されます。

例:

JSONArray statementArray=new JSONArray(); JSONObject statement=new JSONObject(); statement.put("name", "title"); statement.put("value", "SimpleSurveyAF"); statement.put("operator", "EQ"); statementArray.put(statement);

上記の例では、次のようにします。

  • name:検索するプロパティの名前を指定します。

  • value:検索するプロパティの値を指定します。

  • operator:検索時に適用する演算子を指定します。次の演算子がサポートされています。

    • EQ - 次と等しい
    • NEQ - 次と等しくない
    • GT - 次より大きい
    • LT - 次より小さい
    • GTEQ - 次よりも大きいか等しい
    • LTEQ - 次よりも小さいか等しい
    • CONTAINS - B が A の一部である場合、A に B が含まれる
    • FULLTEXT - フルテキスト検索
    • STARTSWITH - B が A の最初の部分である場合、A は B で始まる
    • ENDSWITH - B が A の最後の部分である場合、A は B で終わる
    • LIKE - LIKE 演算子を実装する
    • AND - 複数の文を組み合わせる

    注意: GT、LT、GTEQ、LTEQ 演算子は、LONG、DOUBLE、DATE などの線形型のプロパティに適用されます。

orderings

検索結果の順序条件を指定します。条件は JSON 形式で定義されます。複数のフィールドの検索結果を並べ替えることができます。検索結果は、クエリに表示されるフィールドの順序でソートされます。

例:

タイトルプロパティで昇順に並べ替えられたクエリ結果を取得するには、次のパラメーターを追加します。

JSONArray orderingsArray=new JSONArray(); JSONObject orderings=new JSONObject(); orderings.put("name", "title"); orderings.put("criteria", "ASC"); orderingsArray.put(orderings); entityBuilder.add("orderings", orderingsArray.toString());

  • name:検索結果の並べ替えに使用するプロパティの名前を指定します。

  • criteria:結果の順序を指定します。順序属性には次の値を使用できます。

    • ASC - ASC を使用すると、結果を昇順に並べ替えます。
    • DES - DES を使用すると、結果を降順に並べ替えます。
includeXdp
バイナリコンテンツを取得するかどうかを指定します。includeXdp 属性は、タイプ FORMPDFFORMPRINTFORM のアセットに適用されます。
assetType
公開されたすべてのアセットから取得するアセットのタイプを指定します。複数のアセットタイプを指定するには、パイプ(|)演算子を使用します。有効なアセットタイプは FORM、PDFFORM、PRINTFORM、RESOURCE、GUIDE です。

サンプルリクエスト sample-request

func : searchForms
appPath : /content/dam/formsanddocuments/MyApplication23
cutPoints : title|description|author|status|creationDate|lastModifiedDate|activationDate|expiryDate|tags|allowedRenderFormat|formmodel
relation : NO_RELATION
includeXdp : false
maxSize : 10
offset : 0
returnCount : true
statements: [{"name":"name","value":"*Claim.xdp","operator":"CONTAINS"},
                {"name":"","value":"Expense","operator":"FULLTEXT"},
                {"name":"description","value":"ABCD*","operator":"CONTAINS"},
                {"name":"status","value":"false","operator":"EQ"},
                {"name":"lastModifiedDate","value":"01/09/2013","operator":"GTEQ"},
                {"name":"lastModifiedDate","value":"01/18/2013","operator":"LTEQ"}]
orderings:[{"name" :"lastModifiedDate":"order":"ASC"}]

サンプル応答 sample-response

[
{"resultCount":2},
    {"assetType":"FORM","name":"ExpenseClaim.xdp","id":"509fa2d5-e3c9-407b-b8dc-fa0ba08eb0ce",
       "path":"/content/dam/formsanddocuments/MyApplication23/1.0/ExpenseClaim.xdp",
       "title":"Expense Report","description":"ABCDEFGIJK","author":"Frank Bowman",
       "tags":[],"formUrl":"/content/dam/formsanddocuments/MyApplication23/1.0/ExpenseClaim.xdp/jcr:content",
       "pdfUrl":"/content/dam/formsanddocuments/MyApplication23/1.0/ExpenseClaim.xdp/jcr:content?type=pdf",
       "references":[],"images":[{"assetType":"resource","name":"Image.gif","id":"5477a127-8bbf-4cec-8f81-2689e5cb4a15",
       "path":"/content/dam/formsanddocuments/MyApplication23/1.0/Image.gif","resourceSize":0}],
       "status":false,"creationDate":1358429845623,"lastModifiedDate":1358429846771},
{"assetType":"FORM","name":"ExpenseClaim.xdp","id":"4312239b-b666-4d36-95bc-641b3a39ddd4",
       "path":"/content/dam/formsanddocuments/MyApplication23/ExpenseClaim.xdp",
       "title":"Expense Report","description":"ABCDefghijklm","author":"Frank Bowman",
       "tags":[],"formUrl":"/content/dam/formsanddocuments/MyApplication23/ExpenseClaim.xdp/jcr:content",
       "pdfUrl":"/content/dam/formsanddocuments/MyApplication23/ExpenseClaim.xdp/jcr:content?type=pdf",
       "references":[],"images":[{"assetType":"resource","name":"Image.gif","id":"118a2e3f-7097-4d8c-85d1-651306de284a",
       "path":"/content/dam/formsanddocuments/MyApplication23/Image.gif","resourceSize":0}],"status":false,
       "creationDate":1358429856690,"lastModifiedDate":1358430109023}
]

関連記事

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2