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 gli attributi del modulo, le proprietà ed il rendering dei punti finali dei moduli.

Per cercare i moduli utilizzando 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 query

Nome attributo
Descrizione
func

Specifica la funzione da chiamare. Per eseguire la ricerca nei moduli, impostare il valore di func attributo a 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 esegue la ricerca in tutte le applicazioni disponibili a livello di nodo principale.

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

cutPoints

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

Ad esempio: cutPoints=propertyName1|propertyName2|propertyName3

Nota:

  • Le proprietà quali id, percorso e nome vengono sempre recuperate.
  • Ogni risorsa ha un set di proprietà diverso. Le proprietà come formUrl, pdfUrl e guideUrl non dipendono dall'attributo cutpoints. Queste 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, puoi scegliere una delle seguenti opzioni:
  • NO_RELATION: Non recuperare le risorse correlate.
  • IMMEDIATO: Recupera le risorse direttamente correlate ai risultati della ricerca.
  • TUTTO: Recupera risorse correlate direttamente e indirettamente.
maxSize Specifica il numero massimo di moduli da recuperare.
offset Specifica il numero di moduli da ignorare dall’inizio.
returnCount Specifica se restituire o meno i risultati della ricerca corrispondenti ai criteri specificati.
dichiarazioni

Specifica l’elenco delle 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.
  • 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
    • CONTIENE - A contiene B se B fa 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.

ordinanza

Specifica i criteri dell'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.

Ad esempio:

Per recuperare i risultati della query ordinati dalla proprietà title nell'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: utilizza ASC per disporre i risultati in ordine crescente.
    • DES - Utilizza DES per disporre i risultati in ordine decrescente.
includeXdp Specifica se recuperare o meno il contenuto binario. La includeXdp attributo applicabile alle attività di tipo FORM, PDFFORMe 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

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

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