Configuring Prefill Service in Adaptive Forms using Edge Delivery Services
Förifyllnad av formulär innebär att formulärfält automatiskt fylls i med relevanta data från externa källor så fort användaren öppnar formuläret. Genom att utnyttja information från användarprofiler, databaser, sparade utkast eller andra serverdelssystem effektiviserar förifyllningen processen och minskar behovet av manuell inmatning, minimerar antalet fel och snabbar upp ifyllandet. Detta förbättrar inte bara användarnöjdheten utan ökar också sannolikheten för att formuläret skickas in.
Fördelar med förifyllnad av formulär
Hur förifyllning fungerar
I följande diagram visas den automatiska förifyllningsprocessen som inträffar när en användare öppnar ett adaptivt formulär:
Förifyllningsprocessen omfattar fyra huvudsteg:
- Användaren öppnar formuläret: Användaren öppnar ett anpassat formulär via en URL eller navigering
- Identifiera data Source: Förifyll-tjänsten avgör den konfigurerade datakällan (formulärdatamodell eller utkasttjänst)
- Hämta data: Systemet hämtar relevanta användardata baserat på kontext, parametrar eller användaridentifiering
- Mappa och visa: Data mappas till formulärfält med
bindRef-egenskaper och det ifyllda formuläret visas för användaren
Denna automatiska process gör att användarna ser ett formulär som är förifyllt med relevant information, vilket avsevärt förbättrar användarupplevelsen och antalet ifyllda formulär.
Datastruktur för förifyllning
Adaptiv Forms har stöd för två typer av fält:
- Bundna fält: Fält som är kopplade till en datakälla med en
bindRef-egenskap som inte är tom - Obundna fält: Fristående fält med tomma
bindRef-värden
Datastrukturen för förifyllning omfattar:
- afBoundData: Innehåller data för bundna fält och paneler
- afUnBoundData: Innehåller data för obundna fält
Dataformatet måste överensstämma med formulärmodellen:
- XFA-formulär: XML-kompatibelt med XFA-mallschema
- XML-schemaformulär: XML matchar schemastrukturen
- JSON-schemaformulär: JSON-kompatibel med schemat
- FDM-formulär (Form Data Model): JSON matchar FDM-strukturen
- Schemafria formulär: Alla fält är obundna och använder obunden XML
Förutsättningar
Innan du konfigurerar förifyllda tjänster måste du se till att du har:
Nödvändig konfiguration
Åtkomstkrav
- Tillgång till AEM Forms as a Cloud Service
- Behörighet att skapa och redigera formulär
- Åtkomst till universell redigerare med obligatoriska tillägg aktiverat
Alternativ för förifyllningstjänst
Universal Editor har två alternativ för förifyllningstjänsten:
Detaljerad jämförelse
Konfigurera förifyllningstjänst för ett formulär
Steg 1: Skapa formulärdatamodell
-
Logga in på din AEM Forms as a Cloud Service-instans
-
Navigera till Adobe Experience Manager > Forms > Dataintegreringar
-
Välj Skapa > Formulärdatamodell
-
Välj din Data Source-konfiguration och välj den konfigurerade Data Source
note tip TIP Mer information om hur du skapar formulärdatamodeller finns i Skapa formulärdatamodell.
Steg 2: Konfigurera FDM-tjänster
-
Gå till Adobe Experience Manager > Forms > Dataintegreringar
-
Öppna formulärdatamodellen i redigeringsläge
-
Markera ett datamodellsobjekt och klicka på Redigera egenskaper
-
Konfigurera tjänsterna Läs och Skriv för de markerade datamodellsobjekten
-
Konfigurera tjänstargument:
- Klicka på redigeringsikonen för lästjänstargumentet
- Bind argumentet till ett användarprofilattribut, begärandeattribut eller litteralvärde
- Ange bindningsvärdet (t.ex.
petidför ett registreringsformulär för ett djur)
-
Klicka på Klar för att spara argumentet och Spara för att spara FDM-filen
note note NOTE Läs mer om hur du konfigurerar FDM-tjänster i Arbeta med FDM (Form Data Model).
Steg 3: Skapa ett adaptivt formulär
-
Navigera till Adobe Experience Manager > Forms > Forms & Documents
-
Välj Skapa > Adaptiv Forms
-
På fliken Source väljer du en Edge Delivery Services-mall:
-
Klicka på Skapa för att öppna guiden Skapa formulär
note note NOTE Du kan konfigurera datakällan på fliken Data eller senare genom att redigera formuläregenskaperna. -
Ange formulärinformationen:
- Namn: Ange ett beskrivande namn för formuläret
- Titel: Ange en användarvänlig titel
- GitHub-URL: Ange din databas-URL (t.ex.
https://github.com/wkndforms/edsforms)
-
Klicka på Skapa
Formuläret öppnas i den universella redigeraren för redigering.
Steg 4: Konfigurera Source för formulärdata
-
Markera formuläret och klicka på Egenskaper
-
Öppna fliken Formulärmodell
-
I listrutan Välj från väljer du FDM (Form Data Model)
-
Välj den formulärdatamodell (t.ex. PetFDM) du har skapat i listrutan
-
Klicka på Spara och stäng
-
Öppna formuläret för redigering i Universal Editor
Formulärelementen från din FDM visas på fliken Datakälla i Content Browser.
Steg 5: Lägg till databindning i formulärfält
-
Välj dataelement på fliken Datakälla
-
Klicka på Lägg till eller dra och släpp-element för att skapa formuläret
-
Lägg till databindning i formulärfält:
-
Markera ett formulärfält
-
Leta reda på egenskapen Bind Reference i panelen Egenskaper
-
Välj lämplig databindningsreferens
-
Steg 6: Aktivera nödvändiga tillägg
Se till att dessa tillägg är aktiverade i Universell redigerare:
-
AEM Form Properties Extension
- Öppna Extension Manager i Universal Editor
- Aktivera tillägget AEM-formuläregenskaper
-
Data Source Extension
- Aktivera tillägget Datakälla om du inte ser ikonen Datakällor
note tip TIP Detaljerade anvisningar om hur du hanterar tillägg finns i Extension Manager Feature Highlights.
Steg 7: Konfigurera förifyllningstjänsten
-
Öppna det adaptiva formuläret i den universella redigeraren
-
Klicka på tilläggsikonen AEM Form Properties
-
Klicka på fliken Förifyll
-
Välj Förfyllnadstjänst för formulärdatamodell
-
Klicka på Spara och stäng
Steg 8: Förhandsgranska och testa
-
Gå till Forms > Forms och dokument
-
Välj ditt adaptiva formulär
-
Välj Förhandsgranska som HTML
-
Testa förifyllning genom att lägga till parametrar till URL
https://your-preview-url.com?<bindreferencefield>=<value>Exempel:
https://your-preview-url.com?petid=12345
Formuläret ska automatiskt fyllas i med data baserat på den angivna parametern.
Exempel
Exempel på datastrukturer för förifyllning
JSON-exempel för FDM-baserat formulär:
{
"afBoundData": {
"user": {
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"phone": "+1-555-0123"
}
},
"afUnBoundData": {
"additionalInfo": "User preferences loaded"
}
}
XML-exempel för XFA-baserat formulär:
<?xml version="1.0" encoding="UTF-8"?>
<afData>
<afBoundData>
<user>
<firstName>John</firstName>
<lastName>Doe</lastName>
<email>john.doe@example.com</email>
</user>
</afBoundData>
</afData>
Exempel på förifyllda URL:er
URL-adresserna nedan är endast till för illustrationsändamål och fungerar inte som de är. Ersätt värden och parametrar med de som är relevanta för din egen miljö när du testar förifyllningsfunktioner.
Grundläggande prefill-test:
https://preview.example.com/form.html?userId=12345
Test av flera parametrar:
https://preview.example.com/form.html?userId=12345&category=premium
Felsökning
| table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 | ||
|---|---|---|
| Problem | Möjlig orsak | Lösning |
| Formulärfält är inte förifyllda | Fel bindRef-värden |
Verifiera att bindRef matchar FDM-fältnamn exakt |
| Dataformatfel | Felmatchad datastruktur | Kontrollera att förifyllda data överensstämmer med formulärmodellschemat |
| Tjänsten hittades inte | FDM-konfigurationsproblem | Kontrollera att FDM-tjänster är korrekt konfigurerade och sparade |
| Autentiseringsfel | Anslutning till datakälla | Verifiera autentiseringsuppgifter och anslutning för datakälla |
| Inläsning av partiella data | Fältkopplingar saknas | Se till att alla obligatoriska fält har rätt databindningar |
-
Verifiera FDM-konfiguration:
- Kontrollera om tjänsterna är korrekt konfigurerade
- Testa FDM-tjänsterna oberoende av varandra
- Validera anslutning till datakälla
-
Kontrollera formulärkonfiguration:
- Bekräfta att formuläret är kopplat till rätt FDM
- Verifiera värden för fält
bindRef - Testa formuläret utan förifyllning först
-
Testa dataflöde:
- Använd webbläsarutvecklarverktygen för att inspektera nätverksförfrågningar
- Kontrollera JavaScript-fel i konsolen
- Validera svarsdataformat
-
Vanliga felmeddelanden:
- "Det gick inte att hitta förifyllningstjänsten: Kontrollera tjänstkonfigurationen
- "Databindningen misslyckades": Verifiera noggrannheten för
bindRef - "Ogiltigt dataformat": Kontrollera att data matchar schema
Bästa praxis
- Använd beskrivande namn: Namnge dina FDM:er och tjänster tydligt
- Validera datamcheman: Kontrollera att datastrukturen matchar formulärkraven
- Testa inkrementellt: Konfigurera och testa ett fält i taget
- Dokumentmappningar: Håll reda på mappningar mellan fält och data
- Minimera datavolym: Fyll endast i nödvändiga fält i förväg
- Använd cachelagring: Konfigurera lämplig cachelagring för data som används ofta
- Optimera frågor: Se till att databasfrågorna är effektiva
- Bildskärmsprestanda: Spåra inläsningstider för formulär med förifyllning aktiverat
- Verifiera indataparametrar: Verifiera alltid URL-parametrar
- Sanera data: Rensa data innan du fyller i formulär i förväg
- Implementera åtkomstkontroller: Se till att användarna bara har tillgång till sina egna data
- Använd HTTPS: Använd alltid säkra anslutningar för dataöverföring
- Ge feedback: Visa inläsningsindikatorer under datahämtning
- Hantera fel smidigt: Visa användbara felmeddelanden
- Tillåt åsidosättningar: Låt användare ändra förfyllda data
- Bevara konsekvens: Använd konsekvent förifyllning i olika formulär
Vanliga frågor
?<bindreferencefield>=<value>. Kontrollera att fältet har en giltig bindRef som matchar din datastruktur. Använd utvecklingsverktygen i webbläsaren för att inspektera nätverksförfrågningar och verifiera att data hämtas på rätt sätt.Adaptiv Forms har stöd för flera olika format beroende på vilken formulärmodell du använder:
- XFA-formulär: XML matchar XFA-schemat
- JSON-schemaformulär: JSON-data kompatibla med schemat
- FDM-formulär: JSON som mappar till datamodellstrukturen
- XML-schemaformulär: XML matchar schemastrukturen
afBoundData och måste matcha ditt formulärmodellschema. Obundna fält använder avsnittet afUnBoundData och kan innehålla ytterligare data.bindRef-värden som matchar din FDM exakt. Kontrollera att datakällan innehåller alla obligatoriska fält och att datastrukturen matchar formulärmodellschemat.