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
-
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. -
Se till att AEM användare (till exempel helix@adobe.com) som är konfigurerad för ditt projekt har redigera behörighet på bladet.
-
Öppna den skapade arbetsboken och ändra namn på standardbladet till
incoming
.
Obs! AEM skickar inga data till arbetsboken omincoming
bladet finns inte. -
Förhandsgranska bladet i sidosparken.
Obs! Även om ett blad har förhandsgranskats tidigare måste det förhandsgranskas igen när du har skapatincoming
första gången. -
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. -
När du har skickat
POST
till administratörstjänsten kommer du att se följande ändringar i arbetsboken.-
Ett blad med namnet
helix-default
skapas. Data i det här bladet är de som returneras när enGET
begäran görs i bladet. Här kan du sammanfatta data frånincoming
Blad för konsumtion någon annanstans.
Obs! Thehelix-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. -
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.- Om du vill konfigurera meddelanden från Slack anger du
teamId
på arbetsytan Slack ochchannel
namn eller ID. Du kan också fråga dig om en svart robot (meddebug
kommando)teamId
ochchannel
ID. Användachannel
ID i stället för namnet är att föredra eftersom kanalens namn ändras.
Obs! Äldre formulär hade inteteamId
kolumn. TheteamId
ingick ichannel
kolumn, avgränsad med en#
eller/
. - 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
).
- Om du vill konfigurera meddelanden från Slack anger du
-
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 toapplication/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.