Formuläruppsättning i AEM Forms form-set-in-aem-forms

CAUTION
AEM 6.4 har nått slutet på den utökade supporten och denna dokumentation är inte längre uppdaterad. Mer information finns i teknisk supportperiod. Hitta de versioner som stöds här.

Översikt overview

Kunderna måste ofta skicka in flera formulär för att ansöka om en tjänst eller förmån. Det handlar om att hitta alla relevanta former. och fylla i, skicka och spåra dem separat. De måste också fylla i gemensamma uppgifter flera gånger i formulär. Hela processen blir krånglig och felbenägen om den innehåller ett stort antal formulär. Funktionen för formuläruppsättning i AEM Forms kan förenkla användarupplevelsen i sådana scenarier.

En formuläruppsättning är en samling HTML5-formulär som grupperats tillsammans och presenteras som en enda formuläruppsättning för slutanvändarna. När användarna börjar fylla i en formuläruppsättning, överförs de smidigt från ett formulär till ett annat. Till sist kan de skicka in alla blanketter med bara ett klick.

AEM Forms har ett intuitivt användargränssnitt för att skapa, konfigurera och hantera formuläruppsättningar. Som författare kan du beställa formulär i en viss sekvens som du vill att slutanvändarna ska följa. Du kan också använda villkor eller uttryck för behörighet i enskilda formulär för att kontrollera synligheten baserat på användarens indata. Du kan t.ex. konfigurera att informationsformuläret för make/maka endast ska visas när civilstånd anges som gifta.

Dessutom kan du konfigurera gemensamma fält i olika formulär för att dela gemensamma databindningar. Med rätt databindningar på plats behöver slutanvändarna bara fylla i vanlig information när de har fyllts i automatiskt i efterföljande formulär.

Formuläruppsättningar stöds också i AEM Forms-appen, vilket gör att fältarbetarna kan göra en formuläruppsättning offline, besöka kunder, lägga in data och synkronisera senare med AEM Forms-servern för att skicka formulärdata till affärsprocesserna.

Skapa och hantera formuläruppsättning creating-and-managing-form-set

Du kan koppla flera XDP-filer eller formulärmallar, som skapats med Designer, till en formuläruppsättning. Formuläruppsättningar kan sedan användas för att selektivt återge XDP:er baserat på värden som användarna angett i de ursprungliga formulären och deras profiler.

Använd AEM Forms användargränssnitt för att hantera alla formulär, formuläruppsättningar och relaterade resurser.

Skapa en formuläruppsättning create-a-form-set

Så här skapar du en formuläruppsättning:

  1. Välj Forms > Forms och Dokument.

  2. Välj Skapa > Formuläruppsättning.

  3. Lägg till följande information på sidan Lägg till egenskaper och klicka på Nästa.

    • Titel: Anger dokumentets titel. Titeln hjälper dig att identifiera formuläruppsättningen i AEM Forms användargränssnitt.
    • Beskrivning: Anger detaljerad information om dokumentet.
    • Taggar: Anger taggar som unikt identifierar formuläruppsättningen. Taggar hjälper dig att söka i formuläruppsättningen. Om du vill skapa taggar skriver du nya taggnamn i rutan Taggar.
    • Skicka URL: Anger den URL där skickade data publiceras för en fristående återgivning av formuläruppsättningen (gäller användning i andra program än AEM Forms). Data skickas till den här slutpunkten som multipart/formdata med följande request-parameter:
    • dataXML: Den här parametern innehåller en XML-representation av skickade formuläruppsättningsdata. Om alla formulär i formuläruppsättningen använder ett gemensamt schema, genereras XML enligt det schemat. Annars innehåller XML-rottaggen en underordnad tagg för varje ifyllt formulär i formuläruppsättningen som innehåller data för de bifogade formulärfilerna.
    • formsetPath: Sökvägen till den formuläruppsättning i CRXDE som har skickats in.
    • Återgivningsprofil för HTML: Du kan konfigurera vissa alternativ som flytande fält, bilagor och utkaststöd (för fristående formuläruppsättningsåtergivning) för att anpassa formuläruppsättningens utseende, beteende och interaktioner. Du kan anpassa eller utöka den befintliga profilen om du vill ändra inställningarna för en HTML-formulärprofil.

    Formuläruppsättning: lägg till egenskaper

  4. Skärmen Välj formulär visar tillgängliga XDP-formulär eller XDP-filer. Sök efter och markera formulären som ska ingå i formuläruppsättningen och klicka sedan på Lägg till i formuläruppsättningen. Om det behövs söker du efter formulär att lägga till igen. När du har lagt till alla formulär i formuläruppsättningen klickar du på Nästa.

    note note
    NOTE
    Se till att fältnamnen i XDP-formulär inte innehåller punkttecknet. I annat fall kan skript som försöker lösa fälten, som har punkttecken, inte matcha dem.
  5. På sidan Konfigurera formulär kan du göra följande:

    • Formulärordning: Dra och släpp formulären för att ordna om dem. Formulärordningen definierar den ordning i vilken formulären visas för slutanvändaren i AEM Forms-appen och i en fristående återgivning.
    • Formuläridentifierare: Anger en unik identitet för de formulär som ska användas i berättigandeuttryck.
    • Datarot: För varje formulär i formuläruppsättningen kan författaren konfigurera XPATH där data i det aktuella formuläret placeras i skickad XML. Som standard är värdet /. Om alla formulär i formuläruppsättningen är schemabundna och har samma XML-schema kan du ändra det här värdet. Vi rekommenderar att alla fält i formuläret har rätt databindning angiven i XDP. Om två fält i två olika formulär har samma gemensamma databindning, visar fältet i det andra formuläret förfyllda värden från det första formuläret. Bind inte två delformulär med samma interna innehåll till samma XML-nod. Mer information om XML-strukturen för formuläruppsättningar finns i Förifyll XML för formuläruppsättning.
    • Kvalifikationsuttryck: Anger ett JavaScript-uttryck som utvärderar ett booleskt värde och anger om ett formulär i formuläruppsättningen kan fyllas i. Om värdet är false tillfrågas inte användaren och visas inte heller formuläret för att fyllas i. Uttrycket baseras vanligtvis på värdena i de fält som har hämtats före det här formuläret. Uttrycken innehåller även anrop till formuläruppsättningens API fs.valueOf för att extrahera de värden som användaren fyller i i ett fält i ett formulär i formuläruppsättningen:

    fs.valueOf(<form identifier="">, <fieldsom expression="">) > <value>

    Om du till exempel har två formulär i formuläruppsättningen: rörelsekostnader och resekostnader kan du lägga till ett JavaScript-utdrag i fältet Kvalifikationsuttryck för båda dessa formulär för att kontrollera användarens indata för typen av utgift i ett formulär. Om användaren väljer Affärskostnad återges formuläret Affärskostnad för slutanvändaren. Eller om användaren väljer en resekostnad, återges ett annat formulär för slutanvändaren. Mer information finns i Kvalificeringsuttryck.

    Dessutom kan författaren välja att ta bort ett formulär från formuläruppsättningen med hjälp av ikonen Ta bort i det högra hörnet av varje rad eller lägga till ytterligare en uppsättning formulär med hjälp av + ikonen i verktygsfältet. Detta +' anger att användaren ska återgå till föregående steg i guiden som användes för att välja formulär. De befintliga markeringarna behålls och eventuella ytterligare markeringar som görs måste läggas till i formuläruppsättningen med hjälp av ikonen Lägg till i formuläruppsättning på den sidan.

    Formuläruppsättning: Konfigurera formulär

    note note
    NOTE
    Alla formulär som används i formuläruppsättningen hanteras av AEM Forms användargränssnitt.

Hantera en formuläruppsättning managing-a-form-set

När en formuläruppsättning har skapats kan du utföra följande åtgärder för den formuläruppsättningen:

  • Klicka en gång: När en formuläruppsättning skapas och visas på huvudresurssidan kan du visa den genom att klicka en gång på den. En formuläruppsättning öppnas och visar alla formulärmallar (XDP) i den formuläruppsättningen.
  • Redigera: När du klickar på Redigera efter att du har valt en formuläruppsättning öppnas skärmen Konfigurera formulär som visas ovan i steg för att skapa en formuläruppsättning. Du kan utföra alla funktioner som beskrivs där.
  • Kopiera och klistra in: På så sätt kan du kopiera hela formuläruppsättningen från en plats och klistra in den på samma eller någon annan plats eller mapp.
  • Ladda ned: Du kan hämta formuläruppsättningen med alla dess beroenden.
  • Starta/hantera granskning: När formuläruppsättningen har skapats kan du konfigurera granskningen genom att klicka på Starta granskning. När granskningen har startats för en formuläruppsättning visas alternativet Hantera granskning för användaren. På granskningsskärmen kan du uppdatera/avsluta granskningen. För de granskningar du har lagt till kan du kontrollera granskningen och lägga till kommentarer om det behövs.
  • Ta bort: Tar bort hela formuläruppsättningen. Formulären i den borttagna formuläruppsättningen finns kvar i databasen.
  • Publicera/avpublicera: Detta publicerar/återpublicerar formuläruppsättningen tillsammans med alla formulär som den innehåller och de relaterade resurserna i dessa formulär.
  • Förhandsgranska: Förhandsgranskning har två alternativ: Förhandsgranska som HTML (utan data) och anpassa förhandsvisningen med exempeldata.
  • Visa/redigera egenskaper: Du kan visa/redigera metadataegenskaperna för en markerad formuläruppsättning.

createformset3

Redigera en formuläruppsättning edit-a-form-set

Så här redigerar du en formuläruppsättning:

  1. Välj Forms > Forms och Dokument.

  2. Leta reda på den formuläruppsättning som du vill redigera. Håll pekaren över den och välj Redigera ( diticon ).

  3. På sidan Konfigurera formulär kan du redigera följande:

    • Formulärordning
    • Formuläridentifierare
    • Datarot
    • Kvalifikationsuttryck

    Du kan också klicka på motsvarande Ta bort-ikon för att ta bort formuläret från formuläruppsättningen.

Formuläret har angetts i processhantering form-set-in-process-management

När du har skapat en formuläruppsättning med användargränssnittet i AEM Forms Management kan du använda formuläruppsättningen i en startpunkt- eller tilldelningsaktivitet med Workbench.

Använda formuläruppsättning i Aktivitet eller Startpunkt using-form-set-in-task-or-start-point

  1. När du utformar en process väljer du under Presentation & Data under Tilldela uppgift/startpunkt använda en CRX-resurs. Webbläsaren CRX Asset visas.

    Utforma en process: använda en CRX-resurs

  2. Välj formuläruppsättning för att filtrera formuläruppsättningen i AEM (CRX).

    Utforma en process: Välj formulärresurs, dialogruta

  3. Markerar en formuläruppsättning och klickar på OK.

Kvalifikationsuttryck eligibility-expressions

Kvalifikationsuttryck i en formuläruppsättning används för att definiera och dynamiskt kontrollera formulär som visas för en användare. Om du till exempel bara vill visa ett visst formulär om användaren tillhör en viss åldersgrupp. Ange och redigera ett berättigandeuttryck med formulärhanteraren.

Ett kvalificeringsuttryck kan vara vilken giltig JavaScript-programsats som helst som returnerar ett booleskt värde. Den sista programsatsen i JavaScript-kodfragmentet behandlas som ett booleskt värde som avgör om formuläret är kvalificerat utifrån bearbetningen i resten (tidigare rader) av JavaScript-kodfragmentet. Om värdet för uttrycket är true kan formuläret visas för användaren. Sådana formulär kallas för bidragsberättigande formulär.

NOTE
Kvalifikationsuttrycket för det första formuläret i formuläruppsättningen körs inte. Det första formuläret visas alltid, oavsett vilket uttryck det gäller.

Förutom JavaScript-standardfunktionerna visar formuläruppsättningen även API:t fs.valueOf som ger åtkomst till värdet för ett fält i ett formulär i en formuläruppsättning. Använd detta API för att komma åt värdet i ett formulärfält i en formuläruppsättning. API-syntaxen är fs.valueOf (formUid, fieldSOM), där:

  • formUid (sträng): Ett unikt ID för ett formulär i formuläruppsättningen. Du kan ange det när du skapar formuläruppsättningen i användargränssnittet för formulärhanteraren. Som standard är det formulärets namn.
  • fieldSOM (string): A SOM expression of the field in the form specified by the formUid. SOM-uttryck eller skriptobjektmodelluttryck används för att referera till värden, egenskaper och metoder i en viss dokumentobjektmodell (DOM). Du kan visa den i Form Designer under fliken Skript när fältet är markerat.
NOTE
Både formUid- och fieldSOM-parametrar måste vara stränglitteraler.

Exempel examples

Giltig användning av API:

fs.valueOf("form1", "xfa.form.form1.subform1.field1")

Ogiltig användning av API:

var formUid = "form1";
 var fieldSOM = “xfa.form.form1.subform1.field1"; fs.valueOf(formUid, fieldSOM);

Förifyll XML för formuläruppsättning prefill-xml-for-form-set

Formuläruppsättningen är en samling med flera HTML5-formulär som har gemensamma eller olika scheman. Formuläruppsättningen har stöd för förifyllning av formulärfält med hjälp av en XML-fil. Du kan associera en XML-fil med en formuläruppsättning så att vissa fält i formuläret förpoleras när du öppnar ett formulär i formuläruppsättningen.

XML-filen för förifyllnad anges med parametern dataRef för formulärets URL. Parametern dataRef anger den absoluta sökvägen till XML-datafilen som sammanfogas med formuläruppsättningen.

Du har till exempel tre formulär (formulär1, formulär2 och formulär3) i formuläruppsättningen med följande struktur:

form1

fält
form1field

form2

fält
form2field

form3

fält
form3field

Varje formulär har ett gemensamt namngivet fält med namnet"field" och ett unikt namngivet fält med namnet"formfield".

Du kan förifylla den här formuläruppsättningen med en XML-kod med följande struktur:

<?xml version="1.0" encoding="UTF-8" ?>
<formSetRootTag>
 <field>common field value</field>
 <form1field>value1</form1field>
 <form2field>value2</form2field>
 <form3field>value3</form3field>
</formSetRootTag>
NOTE
XML-rottaggen kan ha vilket namn som helst, men elementtaggarna som motsvarar fälten måste ha samma namn som fältet. XML-hierarkin måste likna formulärets hierarki, vilket innebär att XML måste ha motsvarande taggar för att kapsla delformulär.

Ovanstående XML-kodutdrag visar att XML-förifyllnad för formuläruppsättningen är en förening av de individuella formulärens förifyllda XML-fragment. Om vissa fält i de olika formulären har en likartad datahierarki eller dataschema fylls fälten i förväg med samma värden. I det här exemplet är alla tre formulär förifyllda med samma värde för det gemensamma fältet, "field". Detta är ett enkelt sätt att föra data vidare från ett formulär till nästa. Detta kan också uppnås genom att binda fälten till samma schema eller datareferens. Om du vill dela upp formuläruppsättningsdata baserat på formulärets schema. Detta kan du uppnå genom att ange formulärets"datarotattribut" när formuläruppsättningen skapas (standardvärdet är"/", som mappar till formulärets rottagg).

Om du anger datarötter i föregående exempel: "/form1", "/form2" och "/form3" för de tre formulären måste du använda en förifylld XML med följande struktur:

<?xml version="1.0" encoding="UTF-8" ?>
<formSetRootTag>
 <form1>
  <field>field value1</field>
  <form1field>value1</form1field>
 </form1>
 <form2>
  <field>field value2</field>
  <form2field>value2</form2field>
 </form2>
 <form3>
  <field>field value3</field>
  <form3field>value3</form3field>
 </form3>
</formSetRootTag>

I en formuläruppsättning definierade XML-schemat med följande syntax:

<formset>
 <fs_data>
  <xdp:xdp xmlns:xdp="https://ns.adobe.com/xdp/">
  <xfa:datasets xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
   <xfa:data>
   <rootElement>
    ... data ....
   </rootElement>
   </xfa:data>
  </xfa:datasets>
  </xdp:xdp>
 </fs_data>
 <fs_draft>
  ... private data...
 </fs_draft>
</formset>
NOTE
Om det finns två formulär med överlappande datarötter, eller om elementhierarkin i ett formulär överlappar datarothierarkin i ett annat formulär, sammanfogas de överlappande elementens värden i XML-förinställningen. Skicka-XML har en struktur som liknar förifyll-XML, men skicka-XML har fler omslutningstaggar och några kontexttaggar för formulärets uppsättning tillagda i slutet.

Beskrivning av förifyllda XML-element prefill-xml-elements-description

Syntaxregler för att skapa en XML-fil för förifyllning:

  • överordnade element: -element som kan vara dess överordnade, där null anger att elementet kan vara roten i XML.
  • kardinalitet: visar hur många gånger elementet kan användas inuti det överordnade elementet.
  • submitXML: anger om elementet alltid finns (P) eller valfritt(O) i skicka-XML.
  • prefillXML: anger om elementet är obligatoriskt® eller valfritt(O) i XML för förifyllning.
  • barn: anger vilka element som kan vara underordnade.

FORMSET formset

parent elements:

null

cardinality: [0,1]

submitXML: P

prefillXML: O

children: fs_data

Rotelementet i XML för formuläruppsättningen. Du bör inte använda det här ordet som namn på rootSubform för något formulär i formuläruppsättningen.

FS_DATA fs-data

parent elements:

formset

kardinalitet: [1]

submitXML: P

prefillXML: O

children: xdp:xdp/rootElement

Underträdet visar data i formulären i formuläruppsättningen. Elementet är valfritt i förifylld XML bara om det inte finns något formulärelementet

XDP:XDP xdp-xdp

parent elements: fs_data/null

cardinality: [0,1]

submitXML: O

prefillXML: O

children: xfa:datasets

Det här märkordet anger början på formulär-XML för HTML5. Detta läggs till i XML-sändningsfilen om den finns i XML-förifyllningen eller om det inte finns någon XML-förifyllning. Det här märkordet kan tas bort från XML-koden för förifyllning.

XFA:DATASETS xfa-datasets

parent elements: xdp:xdp

cardinality: [1]

submitXML: O

prefillXML: O

children: xfa:data

XFA:DATA xfa-data

parent elements: xfa:datasets

cardinality: [1]

submitXML: O

prefillXML: O

children: rootElement

ROOTELEMENT rootelement

parent elements: xfa:datasets/fs_data/null

cardinality: [0,1]

submitXML: P

prefillXML: O

children: controlled by the Forms in Form set

Namnet rootElement är bara en platshållare. Det faktiska namnet hämtas från formulären som används i formuläruppsättningen. Det underträd som börjar med rootElement innehåller data från fälten och delformulären i Forms i formuläruppsättningen. Det finns flera faktorer som bestämmer strukturen för rootElement och dess underordnade element.

I förifylld XML är den här taggen valfri, men om den saknas ignoreras hela XML-koden.

NAMN PÅ ROTELEMENTTAGGEN

Om det finns ett rotelement i XML-förifyllningen används elementets namn även i XML-sändningsfilen. I de fall där det inte finns någon prefill xml är namnet på rootElement namnet på rotdelformuläret för det första formuläret i formuläruppsättningen som har egenskapen dataRoot inställd på /. Om det inte finns något sådant formulär är rootElement-namnet fs_dummy_root, som är ett reserverat nyckelord.

Formuläruppsättning i AEM Forms-appen formset-in-workspace-app

Med AEM Forms-appen kan fältarbetare synkronisera sina mobila enheter med en AEM Forms-server och arbeta med sina uppgifter. Programmet fungerar även när enheten är offline genom att spara data lokalt på enheten. Med annoteringsfunktioner som fotografier kan fältarbetare ge korrekt information som kan integreras i affärsprocesserna.

Mer information om AEM Forms finns i AEM Forms.

Kända begränsningar - mönster som inte stöds fullt ut i formuläruppsättningen known-limitations-patterns-not-fully-supported-in-form-set

Följande datamönster stöds inte fullt ut i formuläruppsättningen:

Mönstret stöds inte fullständigt i formuläruppsättningen
Exempel
Indatastorlek och mönsterstorlek matchar inte

When pattern= num{z,zzz}

And input=

12 345 eller

1,23

Bildpunktsmönster med hakparenteser "(" ")"
num{(zz,zzz)}
Flera datamönster
num{zz,zzz} | num{z,zzz,zzz}
Shorthand-mönster

num.integer{},

num.decimal{},

num.percent{}, eller

num.currency{}

recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da