Show Menu
ARGOMENTI×

Inserimento di moduli in una pagina Web tramite API

AEM Forms offre 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 GET al server https://[server]:[port]/libs/fd/fm/content/manage.json con i parametri di query descritti di seguito.

Query parameters

Nome attributo Descrizione
func
Specifica la funzione da chiamare. Per eseguire la ricerca nei moduli, impostare il valore dell' func attributo 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 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à.
Ad 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.
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
    • 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.
ordine
Specifica i criteri di ordine per i risultati della ricerca. I criteri sono definiti nel formato JSON. Potete 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, 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 in ordine crescente.
    • DES - Utilizza DES per disporre i risultati in ordine decrescente.
includeXdp Specifica se recuperare o meno il contenuto binario. L’ includeXdp attributo è 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 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}
]