Afficher une liste des formulaires sur une page Web à l’aide d’API listing-forms-on-a-web-page-using-apis

AEM Forms fournit une API de recherche basée sur REST que les développeurs Web peuvent utiliser pour interroger et récupérer un jeu de formulaires qui répond à leurs critères de recherche. Vous pouvez utiliser des API pour rechercher des formulaires en fonction de différents filtres. L’objet de réponse contient des attributs de formulaire, des propriétés et des points de fin de rendu des formulaires.

Pour rechercher des formulaires à l’aide de l’API REST, envoyez une requête GET au serveur à l’adresse https://'[server]:[port]'/libs/fd/fm/content/manage.json avec les paramètres de requête décrits ci-dessous.

Paramètres de requête query-parameters

Nom de l’attribut
Description
func

Spécifie la fonction à appeler. Pour effectuer une recherche dans les formulaires, définissez la valeur de l’attribut func sur searchForms.

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

Remarque : ce paramètre est obligatoire.

appPath

Spécifie le chemin d’accès à l’application pour rechercher des formulaires. Par défaut, l’attribut appPath recherche toutes les applications disponibles au niveau du noeud racine.

Vous pouvez spécifier plusieurs chemins d’application dans une seule requête de recherche. Plusieurs chemins distincts avec une barre verticale (|).

cutPoints

Spécifie les propriétés à récupérer avec les ressources. Vous pouvez utiliser un astérisque (*) pour récupérer toutes les propriétés à la fois. Utilisez la barre verticale (|) pour indiquer plusieurs propriétés.

Par exemple, cutPoints=propertyName1|propertyName2|propertyName3

Remarque  :

  • Les propriétés telles que l’ID, le chemin et le nom sont toujours récupérées.
  • Chaque ressource possède un ensemble de propriétés différent. Les propriétés telles que formUrl, pdfUrl et guideUrl ne dépendent pas de l’attribut cutPoints. Elles dépendent du type de ressource et sont récupérées en conséquence.
relation

Spécifie les ressources connexes à récupérer avec les résultats de recherche. Vous pouvez choisir l’une des options suivantes pour récupérer les ressources connexes :

  • NO_RELATION: ne pas récupérer les ressources connexes.
  • IMMEDIATE: récupère les ressources directement liées aux résultats de recherche.
  • TOUT: récupération directe et indirecte des ressources liées.
maxSize
Indique le nombre maximal de formulaires à récupérer.
offset
Indique le nombre de formulaires à ignorer à partir du début.
returnCount
Indique s’il faut renvoyer ou non les résultats de recherche correspondant aux critères spécifiés.
statement

Indique la liste des instructions. Les requêtes sont des exécutions sur la liste des instructions spécifiées au format JSON.

Par exemple,

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

Dans l’exemple ci-dessus,

  • name: spécifie le nom de la propriété à rechercher.

  • value: spécifie la valeur de la propriété à rechercher.

  • operator: spécifie l’opérateur à appliquer lors de la recherche. Les opérateurs supportés sont les suivants :

    • EQ - Est égal à
    • NEQ - Différent de
    • GT - Supérieur à
    • LT - Inférieur à
    • GTEQ - Est supérieur ou égal à
    • LTEQ - Est inférieur ou égal à
    • CONTAINS - A contient B si B fait partie de A
    • FULLTEXT - Recherche de texte intégral
    • STARTSWITH - A commence par B si B est la partie initiale de A
    • ENDSWITH - A se termine par B si B est la fin de A
    • LIKE - Implémente l’opérateur LIKE
    • AND - Combine plusieurs instructions

    Remarque : Les opérateurs GT, LT, GTEQ et LTEQ s’appliquent aux propriétés de type linéaire telles que LONG, DOUBLE et DATE.

orderings

Indique les critères d’ordre pour les résultats de recherche. Les critères sont définis au format JSON. Vous pouvez trier les résultats de la recherche sur plusieurs champs. Les résultats sont triés dans l’ordre selon l’apparition des champs dans la requête.

Par exemple,

Pour récupérer les résultats de la requête selon la propriété de titre dans l’ordre croissant, ajoutez le paramètre suivant :

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: spécifie le nom de la propriété à utiliser pour classer les résultats de la recherche.

  • critères: spécifie l’ordre des résultats. L’attribut d’ordre accepte les valeurs suivantes :

    • ASC – Utilisez l’attribut ASC pour classer les résultats dans l’ordre croissant.
    • DES - Utilisez l’attribut DES pour classer les résultats dans l’ordre décroissant.
includeXdp
Indique si le contenu binaire doit être récupéré ou non. L’attribut includeXdp s’applique aux ressources de type FORM, PDFFORM et PRINTFORM.
assetType
Indique les types de ressources à récupérer de toutes les ressources publiées. Utilisez la barre verticale (|) pour spécifier plusieurs types de ressources. Les types de ressource valides sont FORM, PDFFORM, PRINTFORM, RESOURCE et GUIDE.

Exemple de requête 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"}]

Exemple de réponse 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}
]

Articles connexes

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