Forms
AEM biedt een formulierservice aan waarmee verzonden gegevens worden ingevoerd in een Microsoft Excel- of Google-werkbladdocument.
Gegevens die via formulieren op uw website zijn verzonden, worden direct in spreadsheets geplaatst, zodat ze gemakkelijk toegankelijk zijn voor zakelijke gebruikers. Dergelijke gegevens kunnen ook communiceren met complexere geautomatiseerde workflows, aangezien zowel Google Sheets als Microsoft Excel en Sharepoint toegang bieden tot een levendig ecosysteem en robuuste API's.
Een blad voorbereiden voor gegevensinname
-
Creeer overal een werkboek van Excel of een blad van Google onder uw projectfolder. Dit document gebruikt een werkblad in OneDrive genaamd
email-form.xlsx
in de basis van een AEM project. -
Zorg ervoor dat de AEM gebruiker (bijvoorbeeld helix@adobe.com) die is geconfigureerd voor uw project machtiging bewerken op het blad.
-
Open het gemaakte werkboek en wijzig de naam van het standaardwerkblad in
incoming
.
Opmerking: AEM zal geen gegevens naar dit werkboek verzenden alsincoming
blad bestaat niet. -
Geef een voorvertoning van het blad weer in het zijpaneel.
Opmerking: Zelfs als een blad eerder is voorvertoond, moet het opnieuw worden bekeken nadat het is gemaaktincoming
blad voor het eerst. -
Stel het werkblad in met de koppen die overeenkomen met de gegevens die worden ingevoerd. U kunt dit handmatig doen of door een aanvraag van een POST naar de formulierroute te sturen in de AEM Admin-service. De admindienst zal de gegevens in het lichaam van de POST bekijken en zal de noodzakelijke kopballen/lijsten en bladen creëren die worden vereist om gegevens in te voeren en het meeste van de vormendienst te krijgen.
Zie voor meer informatie over de indeling van het verzoek van de POST om het formulier in te stellen de Admin-API documentatie en het volgende voorbeeld:
Verzoek:code language-none POST /form/{owner}/{repo}/{ref}/en/email-form.json HTTP/1.1 {"data":{"firstName":"test"}}
Reactie:
code language-none HTTP/1.1 200 OK {"rowCount":2,"columns":["firstName"]}
U kunt een gereedschap zoals krullen of Postman gebruiken om deze POST aan te vragen. Bijvoorbeeld:
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"}}'
Aan de hand van het bovenstaande verzoek om POST verstrekken we voorbeeldgegevens, d.w.z. de formuliervelden en voorbeeldwaarden die door de beheerservice worden gebruikt voor het instellen van het formulier.
De beheerservice wordt aanbevolen om uw blad in te stellen, maar als u de koppen handmatig wilt maken, raadpleegt u het document Handmatige Forms-bladinstellingen. -
Na het verzenden van de
POST
verzoek aan de admin dienst u de volgende veranderingen in uw werkboek zult zien.-
Een blad met de naam
helix-default
wordt gemaakt. De gegevens in dit blad zijn de gegevens die worden geretourneerd wanneer eenGET
op het blad wordt een verzoek ingediend. Dit is een goede plaats om spreadsheetformules te gebruiken om de gegevens van samen te vattenincoming
blad voor consumptie elders.
Opmerking: Dehelix-default
Het blad mag nooit identificeerbare gegevens of andere gegevens bevatten die u niet zo leuk vindt om openbaar toegankelijk te zijn. -
Een blad met de naam
slack
is gemaakt. Hier kunt u automatische meldingen instellen voor een Slack-kanaal wanneer gegevens aan uw werkblad worden toegevoegd. AEM ondersteunt momenteel alleen meldingen aan de AEM Engineering slack org en de Adobe Enterprise Support org.- Als u meldingen voor Slacks wilt instellen, voert u de
teamId
van de werkruimte Slack en dechannel
naam of id. U kunt ook vragen aan de slack-bot (met dedebug
(opdracht) voor deteamId
en dechannel
ID. Met dechannel
Id in plaats van de naam verdient de voorkeur, aangezien deze de kanaalnamen overleeft.
Opmerking: Oudere formulieren hadden geenteamId
kolom. DeteamId
is opgenomen in dechannel
kolom, gescheiden door een#
of/
. - Voer een titel wilt u en onder velden Voer de namen in van de velden die u wilt weergeven in het bericht Slack. Elke rubriek moet worden gescheiden door een komma (bijv.
name, email
).
- Als u meldingen voor Slacks wilt instellen, voert u de
-
Gegevens naar uw werkblad verzenden
Het blad is nu klaar voor gegevensinvoer en u kunt het verzenden POST
verzoeken rechtstreeks aan het blad op hlx.page
, hlx.live
of uw productiedomein.
POST https://ref–repo–owner.hlx.(page|live)/email-form
POST https://my-domain.com/email-form
Opmerking: De URL mag geen .json
extensie. Het blad moet worden gepubliceerd voor POST
bewerkingen waaraan moet worden gewerkt .live
of op het productiegebied.
U kunt de formuliergegevens op een aantal verschillende manieren opmaken in het dialoogvenster POST
lichaam.
- Als een array van naam-/waardeparen
https://gist.github.com/dylandepass/9ba6b83700dfce1fa90a47bde62c2e9 - Als een object met sleutel-/waardeparen
<script src=“https://gist.github.com/dylandepass/2b5f694723dfdb3d304fcafc613d6595.js”></script> - Als
x-www-form-urlencoded
body (content-type
header moet worden ingesteld opapplication/x-www-form-urlencoded
)
<script src=“https://gist.github.com/dylandepass/b72b2e30313bc80beb02e12b1d7201ff.js”></script>
Dat is het! De formulierservice wordt elke minuut uitgevoerd, zodat u snel de gegevens ziet die u in het werkblad hebt ingevoerd.
Door auteur gemaakte Forms
In veel gevallen is het wenselijk dat auteurs formulieren maken en bepalen welke formuliervelden moeten worden weergegeven aan de bezoeker van uw website. Het is gebruikelijk om de helix-default
Een blad van hetzelfde spreadsheet dat wordt gebruikt voor het verzenden van het formulier als de plaats waar de auteur zijn formulieren kan definiëren.
Doorgaans is er een formulierblok dat een verwijzing naar het werkblad bevat en het formulier genereert en de gebruikersstroom door verzending afhandelt.
Een eenvoudig voorbeeld van een dergelijke form
blok kan worden gevonden hier en het Adaptive Forms Block is beschikbaar hier.
Als u formulieren nodig hebt met functies zoals reCAPTCHA, toegankelijkheid, het uploaden van bestanden, veldvalidaties, elektronisch ondertekenen, prestatiebewaking, op spreadsheets gebaseerde regels, het document of record (DoR) en meer, gebruikt u de opdracht 🔗 Adaptief Forms-blok. Het ondersteunt een groot aantal formulieren, variërend van eenvoudige formulieren die basisinformatie verzamelen (zoals contactformulieren of serviceaanvragen) tot complexe formulieren met meerdere secties, regels en integratie met Adobe Sign, Adobe Workfront en externe systemen. U kunt het zelfs gebruiken om gegevens naar spreadsheets te verzenden of verbinding te maken met externe systemen voor formulieren op bedrijfsniveau. Kijk uit voor meer informatie 🔗 AEM Forms Edge Delivery Services-documentatie.
Zie het volgende voorbeeld van hoe de spreadsheet voor de formulierdefinitie eruit zou kunnen zien.
De ondersteunde formuliervelden zijn uitbreidbaar en de form
moet u zien als een voorbeeld dat u een beginpunt geeft.
Als voorbeeld werd een volledig-functionele vorm toegevoegd aan deze pagina, gebruikend de eerder vermelde codebasis door het volgende blok in de Doc van Google eenvoudig toe te voegen:
Voel u vrij om het uit te proberen en de stroom van de formuliergegevens in de binnenkomend blad. Het kan een minuut duren om van de formulierservice naar het spreadsheet te gaan.