現在表示中:

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

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

クエリーパラメーター

属性名
説明
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 です。

サンプルリクエスト

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”}]

サンプル応答

[
{"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}
]

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー