Forms

AEM erbjuder en formulärtjänst som importerar inskickade data till ett Microsoft Excel- eller Google Sheet-dokument.

Data som skickas in via formulär på er webbplats flödar direkt in i kalkylblad gör dem lättillgängliga för affärsanvändarna. Sådana data kan också interagera med mer komplexa automatiserade arbetsflöden eftersom både Google Sheets och Microsoft Excel och Sharepoint ger tillgång till ett livfullt ekosystem och stabila API:er.

Förbereda ett ark för datainmatning

  1. Skapa en Excel-arbetsbok eller ett Google-blad var som helst under projektkatalogen. Det här dokumentet använder ett blad i OneDrive som kallas email-form.xlsx i roten av ett AEM projekt.

  2. Se till att AEM användare (till exempel helix@adobe.com) som är konfigurerad för ditt projekt har redigera behörighet på bladet.

  3. Öppna den skapade arbetsboken och ändra namn på standardbladet till incoming.


    Obs! AEM skickar inga data till arbetsboken om incoming bladet finns inte.

  4. Förhandsgranska bladet i sidosparken.
    Obs! Även om ett blad har förhandsgranskats tidigare måste det förhandsgranskas igen när du har skapat incoming första gången.

  5. Ställ in bladet med de rubriker som matchar de data som hämtas. Du kan antingen göra detta manuellt eller genom att skicka en begäran om POST till formulärflödet i AEM Admin-tjänsten. Administrationstjänsten tittar på informationen i POSTEN och skapar de rubriker/tabeller och ark som behövs för att importera data och få ut det mesta av blanketttjänsten.
    Mer information om formatet på POSTENS begäran om att ställa in bladet finns i Admin-API dokumentation och följande exempel:

    Begäran:

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

    Svar:

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

    Du kan använda ett verktyg som bläddra eller Postman för att begära den här POSTEN. Till exempel:

    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"}}'
    

    Genom ovanstående begäran om POST tillhandahåller vi exempeldata, dvs. formulärfält och exempelvärden som ska användas av administrationstjänsten för att konfigurera formuläret.
    Vi rekommenderar att du använder Admin-tjänsten för att konfigurera bladet, men om du vill skapa rubrikerna manuellt kan du läsa dokumentet Manuell inställning av Forms-blad.

  6. När du har skickat POST till administratörstjänsten kommer du att se följande ändringar i arbetsboken.

    1. Ett blad med namnet helix-default skapas. Data i det här bladet är de som returneras när en GET begäran görs i bladet. Här kan du sammanfatta data från incoming Blad för konsumtion någon annanstans.

      Obs! The helix-default bladet får aldrig innehålla någon personligt identifierbar information eller andra uppgifter som du inte är säker på är tillgängliga för allmänheten.

    2. Ett blad med namnet slack skapades. Här kan du ställa in automatiska meddelanden för en Slack-kanal när data hämtas till kalkylbladet. För närvarande har AEM bara stöd för meddelanden till den AEM Slack-organisationen för tekniker och Adobe Enterprise Support.

      1. Om du vill konfigurera meddelanden från Slack anger du teamId på arbetsytan Slack och channel namn eller ID. Du kan också fråga dig om en svart robot (med debug kommando) teamId och channel ID. Använda channel ID i stället för namnet är att föredra eftersom kanalens namn ändras.

        Obs! Äldre formulär hade inte teamId kolumn. The teamId ingick i channel kolumn, avgränsad med en # eller /.
      2. Ange title du vill ha och under fält Ange namnen på de fält som du vill se i Slack-meddelandet. Varje rubrik ska avgränsas med kommatecken (t.ex. name, email).

Skicka data till ditt blad

Blanketten är nu klar för dataöverföring och du kan skicka den POST begäranden direkt till bladet på hlx.page, hlx.live eller din produktionsdomän.

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

Obs! URL:en ska inte innehålla .json tillägg. Bladet måste publiceras för POST åtgärder att arbeta med .live eller på produktionsdomänen.

Det finns olika sätt att formatera formulärdata på i POST brödtext.

  • Som en array med namn/värde-par
    https://gist.github.com/dylandepass/9ba6b83700dfce1fa90a47bde62c2e9
  • Som ett objekt med nyckel/värde-par
    <script src=“https://gist.github.com/dylandepass/2b5f694723dfdb3d304fcafc613d6595.js”></script>
  • Som x-www-form-urlencoded brödtext (content-type header must set to application/x-www-form-urlencoded)
    <script src=“https://gist.github.com/dylandepass/b72b2e30313bc80beb02e12b1d7201ff.js”></script>

Nu räcker det! Blanketttjänsten körs varje minut så att du snabbt kan se data som lagts in i bladet.

Skapad av Forms

I många fall är det önskvärt att författare skapar formulär och bestämmer vilka formulärfält som ska visas för besökaren på webbplatsen. Det är vanligt att helix-default ett ark i samma kalkylblad som används för att skicka formuläret som den plats där författaren kan definiera formulären.

Vanligtvis finns det ett formulärblock som tar en referens till kalkylbladet och återger formuläret och hanterar användarflödet genom att skicka det.

Ett enkelt exempel på en sådan form block kan hittas här och Adaptive Forms Block är tillgängligt här.

När du behöver formulär med funktioner som reCAPTCHA, tillgänglighet, filöverföring, fältvalidering, e-signering, prestandaövervakning, kalkylbladsbaserade regler, postdokument (DoR) med mera, använder du 🔗 Adaptivt Forms-block. Det har stöd för ett stort antal formulär, från enkla formulär som samlar in grundläggande information (som kontaktformulär eller serviceförfrågningar) till komplexa formulär med flera avsnitt, regler och integreringar med Adobe Sign, Adobe Workfront och externa system. Man kan till och med använda den för att skicka data till kalkylblad eller ansluta till externa system för blanketter på företagsnivå. Mer information finns i 🔗 Dokumentation för AEM Forms-Edge Delivery Services.

Se följande exempel på hur kalkylbladet för formulärdefinitionen kan se ut.

De formulärfält som stöds kan utökas och form ska ses som ett exempel som ger dig en startpunkt.

Som exempel har ett fullt funktionellt formulär lagts till på den här sidan med den tidigare listade kodbasen genom att bara lägga till följande block i Google-dokumentet:

Prova själv och se hur blankettdata flödar in i inkommande blad. Det kan ta någon minut att gå från blanketttjänsten till kalkylbladet.

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