Elencare moduli su una pagina web utilizzando le API listing-forms-on-a-web-page-using-apis

AEM Forms fornisce un’API di ricerca basata su REST che gli sviluppatori web possono utilizzare per eseguire query e recuperare un set di moduli che soddisfano i criteri di ricerca. Puoi utilizzare le API per cercare i moduli in base a vari filtri. L’oggetto di risposta contiene attributi del modulo, proprietà e punti finali del rendering dei moduli.

Per eseguire ricerche nei moduli tramite l'API REST, invia una richiesta GET al server all'indirizzo https://'[server]:[port]'/libs/fd/fm/content/manage.json con i parametri di query descritti di seguito.

Parametri di query query-parameters

Nome attributo
Descrizione
func

Specifica la funzione da chiamare. Per cercare i moduli, impostare il valore dell'attributo func su searchForms.

Ad esempio:

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

Nota: Questo parametro è obbligatorio.

appPath

Specifica il percorso dell'applicazione per la ricerca dei moduli. Per impostazione predefinita, l'attributo appPath cerca tutte le applicazioni disponibili a livello di nodo principale.

È possibile specificare più percorsi di applicazione in una singola query di ricerca. Separare più percorsi con il carattere barra verticale (|).

cutPoints

Specifica le proprietà da recuperare con le risorse. Puoi usare l’asterisco (*) per recuperare tutte le proprietà contemporaneamente. Utilizzare l'operatore pipe (|) per specificare più proprietà.

Ad esempio: cutPoints=propertyName1|propertyName2|propertyName3

Nota:

  • Le proprietà come ID, percorso e nome vengono sempre recuperate.
  • Ogni risorsa ha un set diverso di proprietà. Proprietà come formUrl, pdfUrl e guideUrl non dipendono dall’attributo cutpoints. Queste proprietà dipendono dal tipo di risorsa e vengono recuperate di conseguenza.
relazione

Specifica le risorse correlate da recuperare insieme ai risultati della ricerca. Per recuperare le risorse correlate, puoi scegliere una delle seguenti opzioni:

  • NO_RELATION: non recuperare le risorse correlate.
  • IMMEDIATO: recupera le risorse direttamente correlate ai risultati della ricerca.
  • ALL: recupera le risorse direttamente e indirettamente correlate.
maxSize
Specifica il numero massimo di moduli da recuperare.
offset
Specifica il numero di moduli da saltare dall'inizio.
returnCount
Specifica se restituire o meno i risultati della ricerca che corrispondono ai criteri specificati.
istruzioni

Specifica l'elenco di istruzioni. Le query vengono eseguite nell’elenco delle istruzioni specificate nel formato JSON.

Ad esempio:

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

Nell’esempio precedente,

  • name: specifica il nome della proprietà da cercare.

  • value: specifica il valore della proprietà da cercare.

  • operator: specifica l'operatore da applicare durante la ricerca. Sono supportati i seguenti operatori:

    • EQ - Uguale a
    • NEQ - Non uguale a
    • GT - Maggiore di
    • LT - Minore di
    • GTEQ - Maggiore o uguale a
    • LTEQ - Minore o uguale a
    • CONTAINS - A contiene B se B fa parte di A
    • FULL-TEXT - Ricerca full-text
    • STARTSWITH - A inizia con B se B è la parte iniziale di A
    • ENDSWITH: A termina con B se B è la parte finale di A
    • LIKE - Implementa l’operatore LIKE
    • AND - Combinare più istruzioni

    Nota: Gli operatori GT, LT, GTEQ e LTEQ sono applicabili a proprietà di tipo lineare come LONG, DOUBLE e DATE.

ordini

Specifica i criteri di ordine per i risultati della ricerca. I criteri sono definiti in formato JSON. È possibile ordinare i risultati di ricerca in più campi. I risultati vengono ordinati in base all'ordine di visualizzazione dei campi nella query.

Ad esempio:

Per recuperare i risultati della query ordinati per proprietà titolo in ordine crescente, aggiungi il seguente parametro:

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: specifica il nome della proprietà da utilizzare per ordinare i risultati della ricerca.

  • criteri: specifica l'ordine dei risultati. L'attributo order accetta i seguenti valori:

    • ASC: utilizzare ASC per disporre i risultati in ordine crescente.
    • DES: utilizza DES per disporre i risultati in ordine decrescente.
includeXdp
Specifica se recuperare il contenuto binario. L'attributo includeXdp è applicabile per le risorse di tipo FORM, PDFFORM e PRINTFORM.
assetType
Specifica i tipi di risorse da recuperare da tutte le risorse pubblicate. Utilizza l’operatore pipe (|) per specificare più tipi di risorse. I tipi di risorse validi sono FORM, PDFFORM, PRINTFORM, RESOURCE e GUIDE.

Richiesta di esempio 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"}]

Risposta di esempio 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}
]

Articoli correlati

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