Listado de formularios en una página web mediante API listing-forms-on-a-web-page-using-apis

AEM Forms proporciona una API de búsqueda basada en REST que los desarrolladores web pueden utilizar para consultar y recuperar un conjunto de formularios que cumplan los criterios de búsqueda. Las API se pueden usar para buscar formularios basados en distintos filtros. El objeto response contiene atributos de formulario, propiedades y extremos de procesamiento de formularios.

Para buscar formularios utilizando la API de REST, envíe una petición GET al servidor de https://'[server]:[port]'/libs/fd/fm/content/manage.json con los parámetros de consulta que se describen a continuación.

Parámetros de consulta query-parameters

Nombre del atributo
Descripción
func

Especifica la función a la que se va a llamar. Para buscar formularios, establezca el valor del atributo func en searchForms.

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

Nota: Este parámetro es obligatorio.

appPath

Especifica la ruta de la aplicación para buscar formularios. De forma predeterminada, el atributo appPath busca todas las aplicaciones disponibles en el nivel del nodo raíz.

Puede especificar varias rutas de aplicación en una sola consulta de búsqueda. Separe las diferentes rutas con el carácter de barra vertical (|).

cutPoints

Especifica las propiedades que se recuperarán con los recursos. Puede usar un asterisco (*) para recuperar todas las propiedades a la vez. Utilice el operador de barra vertical (|) para especificar varias propiedades.

Por ejemplo, cutPoints=propertyName1|propertyName2|propertyName3

Nota:

  • Las propiedades como id, path y name se recuperan siempre.
  • Cada recurso tiene un conjunto diferente de propiedades. Las propiedades como formUrl, pdfUrl y guideUrl no dependen del atributo cutpoints. Estas propiedades dependen del tipo de recurso y se recuperan según corresponda.
relation

Especifica los recursos relacionados que se recuperarán junto con los resultados de búsqueda. Puede elegir una de las siguientes opciones para recuperar recursos relacionados:

  • NO_RELATION: no recupere recursos relacionados.
  • IMMEDIATE: recupera recursos que están directamente relacionados con los resultados de búsqueda.
  • ALL: recupere recursos relacionados directa e indirectamente.
maxSize
Especifica el número máximo de formularios que se van a recuperar.
offset
Especifica el número de formularios que se omitirán desde el inicio.
returnCount
Especifica si se devuelven o no los resultados de búsqueda que coinciden con el criterio dado.
statements

Especifica la lista de instrucciones. Las consultas se ejecutan en la lista de las instrucciones especificadas en el formato JSON.

Por ejemplo,

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

En el ejemplo anterior,

  • name: especifica el nombre de la propiedad que se va a buscar.

  • value: especifica el valor de la propiedad que se va a buscar.

  • operator: especifica el operador que se aplicará durante la búsqueda. Se admiten los siguientes operadores:

    • EQ: igual a
    • NEQ: no igual a
    • GT: mayor que
    • LT: menor que
    • GTEQ: mayor o igual que
    • LTEQ: menor o igual que
    • CONTAINS: A contiene B si B es parte de A
    • FULLTEXT: búsqueda de texto completo
    • STARTSWITH: A comienza con B si B es la parte inicial de A
    • ENDSWITH: A termina con B si B es la parte final de A
    • LIKE: implementa el operador LIKE
    • AND: combina varias instrucciones

    Nota: Los operadores GT, LT, GTEQ y LTEQ se aplican a propiedades de tipo lineal como LONG, DOUBLE y DATE.

orderings

Especifica los criterios de ordenación para los resultados de búsqueda. Los criterios se definen en el formato JSON. Puede ordenar los resultados de búsqueda en más de un campo. Los resultados se ordenan en el orden en el que aparecen los campos en la consulta.

Por ejemplo,

Para recuperar los resultados de consulta ordenados por la propiedad title en orden ascendente, agregue el siguiente parámetro:

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: especifica el nombre de la propiedad que se utiliza para ordenar los resultados de búsqueda.

  • criteria: especifica el orden de los resultados. El atributo order acepta los siguientes valores:

    • ASC: utilice ASC para organizar los resultados en orden ascendente.
    • DES: utilice DES para organizar los resultados en orden descendente.
includeXdp
Especifica si se recupera el contenido binario o no. El atributo includeXdp es aplicable a los recursos de tipo FORM, PDFFORM y PRINTFORM.
assetType
Especifica los tipos de recurso que se recuperarán de todos los recursos publicados. Utilice el operador de barra vertical (|) para especificar varios tipos de recursos. Los tipos de recursos válidos son FORM, PDFFORM, PRINTFORM, RESOURCE y GUIDE.

Solicitud de ejemplo 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"}]

Respuesta de ejemplo 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}
]

Artículos relacionados

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