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 effectuer des recherches dans des formulaires en fonction de divers filtres. L’objet de réponse contient des attributs et propriétés de formulaire, ainsi que des points d’entrée de rendu.

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 d’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 nœud racine.

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

cutPoints

Indique les propriétés à récupérer avec les ressources. Vous pouvez utiliser l’astérisque (*) pour récupérer toutes les propriétés simultanément. 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

Indique les ressources connexes à récupérer avec les résultats de la recherche. Vous pouvez sélectionner 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érer les ressources liées directement aux résultats de la recherche.
  • ALL  : récupérer toutes les ressources liées (directement et indirectement).
maxSize
Indique le nombre maximal de formulaires à récupérer.
offset
Indique le nombre de formulaires à ignorer depuis le début.
returnCount
Indique s’il faut renvoyer ou non les résultats de recherche correspondant aux critères spécifiés.
statements

Indique la liste d’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 ci-dessous sont pris en charge :

    • EQ - Est égal à
    • NEQ – Est différent de
    • GT – Supérieur à
    • LT – Inférieur à
    • GTEQ – Supérieur ou égal à
    • LTEQ – 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 relatifs aux résultats de la 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());

  • Nom  : 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 indiquer plusieurs types de ressources. Les types de ressources 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