Inserimento di moduli in una pagina web tramite API

Ultimo aggiornamento: 2023-05-04
  • Creato per:
  • User
ATTENZIONE

AEM 6.4 ha raggiunto la fine del supporto esteso e questa documentazione non viene più aggiornata. Per maggiori dettagli, consulta la nostra periodi di assistenza tecnica. Trova le versioni supportate qui.

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