Inserimento di moduli in una pagina Web tramite API

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 soddisfa i criteri di ricerca. È possibile utilizzare le API per cercare moduli basati su vari filtri. L'oggetto response contiene attributi modulo, proprietà e punti finali di rendering dei moduli.

Per eseguire la ricerca nei moduli utilizzando l'API REST, inviare una richiesta di GET al server in https://[server]:[port]/libs/fd/fm/content/manage.json con i parametri di query descritti di seguito.

Parametri query

Nome attributo
Descrizione
func

Specifica la funzione da chiamare. Per eseguire la ricerca nei moduli, impostare il valore dell'attributo func su searchForms.

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

Nota: questo parametro è obbligatorio.

appPath

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

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

cutPoints

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

Esempio, cutPoints=propertyName1|propertyName2|propertyName3

Nota:

  • Le proprietà quali id, path e name vengono sempre recuperate.
  • Ogni risorsa dispone di un set di proprietà diverso. Le proprietà come formUrl, pdfUrl e guideUrl non dipendono dall'attributo cutpoints. Tali proprietà dipendono dal tipo di risorsa e vengono recuperate di conseguenza.
relation
Specifica le risorse correlate da recuperare insieme ai risultati della ricerca. Per recuperare le risorse correlate potete scegliere una delle seguenti opzioni:
  • NO_RELATION: Non recuperate le risorse correlate.
  • IMMEDIATO: Recupera le risorse direttamente correlate ai risultati della ricerca.
  • ALL: Ottenete risorse correlate direttamente e indirettamente.
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 o meno ai criteri specificati.
resoconti

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

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.
  • operatore: 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 è parte di A
    • FULLTEXT - 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 per proprietà di tipo lineare quali LONG, DOUBLE e DATE.

order

Specifica i criteri di ordine per i risultati della ricerca. I criteri sono definiti nel formato JSON. È possibile ordinare i risultati della ricerca in più campi. I risultati vengono ordinati nell’ordine in cui vengono visualizzati i campi nella query.

Esempio,

Per recuperare i risultati della query ordinati dalla proprietà title nell'ordine crescente, aggiungere 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 - Utilizzate ASC per disporre i risultati nell'ordine crescente.
    • DES - Utilizzate DES per disporre i risultati in ordine decrescente.
includeXdp Specifica se recuperare o meno il contenuto binario. L'attributo includeXdp è applicabile alle risorse di tipo FORM, PDFFORM e PRINTFORM.
assetType Specifica i tipi di risorse da recuperare da tutte le risorse pubblicate. Utilizzate l'operatore pipe (|) per specificare più tipi di risorse. I tipi di risorse validi sono FORM, PDFFORM, PRINTFORM, RESOURCE e GUIDE.

Richiesta di esempio

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 del campione

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

In questa pagina