Listado de formularios en una página web mediante API

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 puntos finales de procesamiento de formularios.

Para buscar formularios utilizando la API de REST, envíe una solicitud de GET al servidor en 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

Nombre del atributo
Descripción
func

Especifica la función a la que se va a llamar. Para buscar formularios, establezca el valor de la variable func atributo a 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 de nodo raíz.

Puede especificar varias rutas de aplicación en una sola consulta de búsqueda. Separe las rutas múltiples 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:

  • Siempre se recuperan propiedades como id, path y name.
  • 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 la búsqueda. Puede elegir una de las siguientes opciones para recuperar recursos relacionados:
  • NO_RELATION: No recupere recursos relacionados.
  • INMEDIATO: Obtiene recursos que están directamente relacionados con los resultados de búsqueda.
  • ALL: Recupere directa e indirectamente recursos relacionados.
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.
instrucciones

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.
  • operador: especifica el operador que se aplicará durante la búsqueda. Se admiten los siguientes operadores:
    • EQ - Igual a
    • NEQ - No igual a
    • GT - Bueno que
    • LT - Menor que
    • GTEQ: Bueno o igual que
    • LTEQ - Menor o igual que
    • CONTIENE: A contiene B si B es parte de A
    • FULLTEXT: búsqueda de texto completo
    • INTERRUPTOR DE ARRANQUE: A comienza con B si B es la parte inicial de A
    • ENDSUH: A termina con B si B es la parte final de A
    • LIKE: implementa el operador LIKE
    • AND: Combinación de varias instrucciones

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

pedidos

Especifica los criterios de pedido 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 que aparecen los campos en la consulta.

Por ejemplo,

Para recuperar los resultados de consulta ordenados por 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.
  • criterios: 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. La variable includeXdp es aplicable a los activos de tipo FORM, PDFFORMy 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

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

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

En esta página