Moduli

AEM offre un servizio di moduli che acquisisce i dati inviati in un documento Microsoft Excel o Fogli Google.

L’invio dei dati tramite moduli sul sito web avviene direttamente nei fogli di calcolo, in modo che gli utenti aziendali possano accedervi facilmente. Tali dati possono anche interagire con flussi di lavoro automatizzati più complessi, in quanto sia i fogli di Google che Microsoft Excel e Sharepoint offrono accesso a un ecosistema dinamico e a API solide.

Preparazione di un foglio per l’acquisizione dei dati

  1. Creare una cartella di lavoro di Excel o un foglio di Google in un punto qualsiasi della directory del progetto. In questo documento viene utilizzato un foglio in OneDrive denominato email-form.xlsx nella radice di un progetto AEM.

  2. Assicurati che l’utente AEM (ad esempio helix@adobe.com) configurato per il progetto ha autorizzazione di modifica sul foglio.

  3. Aprire la cartella di lavoro creata e rinominare il foglio predefinito in incoming.


    Nota: L'AEM non invierà alcun dato a questa cartella di lavoro se incoming Il foglio non esiste.

  4. Visualizza l’anteprima del foglio nella barra laterale.
    Nota: Anche se un foglio è stato visualizzato in anteprima in precedenza, deve essere visualizzato di nuovo dopo aver creato incoming per la prima volta.

  5. Imposta il foglio con le intestazioni che corrispondono ai dati che vengono acquisiti. Puoi eseguire questa operazione manualmente o inviando una richiesta POST al percorso del modulo nel servizio di amministrazione dell’AEM. Il servizio di amministrazione esamina i dati nel corpo del POST e crea le intestazioni, le tabelle e i fogli necessari per acquisire i dati e ottenere il massimo dal servizio forms.
    Per informazioni dettagliate sul formato della richiesta POST di impostazione del foglio, vedere Admin API e il seguente esempio:

    Richiesta:

    code language-none
    POST /form/{owner}/{repo}/{ref}/en/email-form.json HTTP/1.1
    {"data":{"firstName":"test"}}
    

    Risposta:

    code language-none
    HTTP/1.1 200 OK
    {"rowCount":2,"columns":["firstName"]}
    

    Per effettuare questa richiesta POST, puoi utilizzare uno strumento come curl o Postman. Ad esempio:

    code language-none
    curl -s -i -X POST 'https://admin.hlx.page/form/{owner}/{repo}/{ref}/en/email-form.json' \
    --header 'Content-Type: application/json' \
    --data '{"data":{"firstName":"test"}}'
    

    Tramite la richiesta POST di cui sopra, forniamo dati di esempio, ovvero i campi del modulo e i valori di esempio che verranno utilizzati dal servizio di amministrazione per impostare il modulo.
    Si consiglia di impostare il foglio da parte del servizio di amministrazione, ma se desideri creare le intestazioni manualmente, consulta il documento Impostazione manuale foglio Forms.

  6. Dopo l’invio POST richiesta al servizio di amministrazione verranno visualizzate le seguenti modifiche alla cartella di lavoro.

    1. Un foglio denominato helix-default viene creato. I dati in questo foglio sono quelli che verranno restituiti quando un GET richiesta al foglio. Questa è un'ottima posizione per utilizzare le formule dei fogli di calcolo per riepilogare i dati da incoming fogli destinati ad altri usi.

      Nota: Il helix-default il foglio non deve mai contenere informazioni personali o altri dati di cui non si è certi di essere pubblicamente accessibili.

    2. Un foglio denominato slack creato. Qui puoi impostare notifiche automatiche a un canale di Slack ogni volta che i dati vengono acquisiti nel foglio di calcolo. Attualmente l'AEM supporta solo le notifiche all'organizzazione Slack Engineering dell'AEM e all'organizzazione Adobe Enterprise Support.

      1. Per impostare le notifiche di Slack, immettere teamId dell'area di lavoro di Slack e channel nome o ID. Puoi anche chiedere al backbot (con il debug ) per il teamId e channel ID Utilizzo di channel L’ID invece del nome è da preferire, in quanto sopravvive alle ridenominazioni dei canali.

        Nota: I moduli più vecchi non avevano il teamId colonna. Il teamId è stato incluso nel channel colonna, separata da una # o /.
      2. Inserisci qualsiasi titolo vuoi e sotto campi immettere i nomi dei campi da visualizzare nella notifica di Slack. Ogni intestazione deve essere separata da una virgola (ad es. name, email).

Invio di dati al foglio

Il foglio è ora pronto per l’acquisizione dei dati e puoi inviare POST richiede direttamente al foglio il hlx.page, hlx.live o il dominio di produzione.

POST https://ref–repo–owner.hlx.(page|live)/email-form
POST https://my-domain.com/email-form

Nota: L’URL non deve includere .json estensione. Il foglio deve essere pubblicato per POST operazioni su cui lavorare .live o sul dominio di produzione.

Esistono alcuni modi diversi per formattare i dati del modulo in POST corpo.

  • sotto forma di array di coppie nome/valore
    https://gist.github.com/dylandepass/9ba6b83700dfce1fa90a47bde62c2e9
  • Come oggetto con coppie chiave/valore
    <script src=“https://gist.github.com/dylandepass/2b5f694723dfdb3d304fcafc613d6595.js”></script>
  • As x-www-form-urlencoded corpo (content-type l’intestazione deve essere impostata su application/x-www-form-urlencoded)
    <script src=“https://gist.github.com/dylandepass/b72b2e30313bc80beb02e12b1d7201ff.js”></script>

Tutto qui! Il servizio Forms viene eseguito ogni minuto in modo da visualizzare rapidamente i dati acquisiti nel foglio.

Forms creato dall’autore

In molti casi è consigliabile che gli autori creino moduli e decidano quali campi modulo devono essere presentati al visitatore del sito web. È comune utilizzare il helix-default foglio dello stesso foglio di calcolo utilizzato per l’invio del modulo come luogo in cui consentire all’autore di definire i moduli.

In genere, esiste un blocco forms che accetta un riferimento al foglio di calcolo, esegue il rendering del modulo e gestisce il flusso dell’utente durante l’invio.

Un semplice esempio di tale form blocco trovato qui e il Blocco Forms adattivo è disponibile qui.

Quando hai bisogno di moduli con funzioni quali reCAPTCHA, accessibilità, caricamenti di file, convalide di campi, firma elettronica, monitoraggio delle prestazioni, regole basate su fogli di calcolo, documento di record (DoR) e altro ancora, utilizza 🔗 Blocco Forms adattivo. Supporta un’ampia gamma di moduli, da quelli semplici che raccolgono informazioni di base (come moduli di contatto o richieste di servizi) a quelli complessi con più sezioni, regole e integrazioni con Adobe Sign, Adobe Workfront e sistemi esterni. È inoltre possibile utilizzarlo per inviare dati a fogli di calcolo o per connettersi a sistemi esterni per moduli di livello enterprise. Per ulteriori dettagli, vedi 🔗 Documentazione dei Edge Delivery Services di AEM Forms.

Vedi l’esempio seguente per un’idea dell’aspetto del foglio di calcolo per la definizione del modulo.

I campi modulo supportati sono estensibili e form deve essere visto come un esempio che ti da un punto di partenza.

Ad esempio, a questa pagina è stato aggiunto un modulo completamente funzionale, utilizzando la base di codice elencata in precedenza, semplicemente aggiungendo il seguente blocco nel documento di Google:

Puoi provarlo e visualizzare il flusso di dati del modulo in foglio in entrata. L'operazione dal servizio modulo al foglio di calcolo potrebbe richiedere alcuni minuti.

recommendation-more-help
10a6ce9d-c5c5-48d9-8ce1-9797d2f0f3ec