Förbättra prestanda för stora formulär med lat inläsningsverktyg improve-performance-of-large-forms-with-lazy-loading
Adobe rekommenderar att du använder den moderna och utbyggbara datainhämtningen Core Componentsför att skapa nya adaptiva Formseller att lägga till adaptiva Forms på AEM Sites-sidor. De här komponenterna utgör ett betydande framsteg när det gäller att skapa adaptiva Forms-filer, vilket ger imponerande användarupplevelser. I den här artikeln beskrivs det äldre sättet att skapa Adaptiv Forms med baskomponenter.
Introduktion till lazy loading introduction-to-lazy-loading
När formuläret blir stort och komplext med hundratals och tusentals fält får slutanvändarna lång svarstid när de återger formulär vid körning. För att minimera svarstiden kan Adaptiv Forms dela upp formulär i logiska fragment och konfigurera så att initieringen eller inläsningen av fragment skjuts upp tills fragmentet är synligt. Det kallas för lat inläsningsarbete. Dessutom tas de fragment som konfigurerats för lazy loading bort när användaren navigerar till andra avsnitt i formuläret och fragmenten inte längre visas.
Låt oss först förstå kraven och de förberedande stegen innan du konfigurerar lazy loading.
Förbereder för att konfigurera lazy loading preparing-to-configure-lazy-loading
Innan du konfigurerar lazy loading av fragment i ditt adaptiva formulär är det viktigt att du definierar strategier för att skapa fragment, identifiera värden som används i skript eller som refereras i andra fragment samt definierar regler för att styra visningen av fält i lagerinlästa fragment.
-
Identifiera och skapa fragment
Du kan bara konfigurera adaptiva formulärfragment för lazy loading. Ett fragment är ett fristående segment som ligger utanför ett adaptivt formulär och kan återanvändas i olika formulär. Så det första steget mot att implementera lat inläsningsarbete är att identifiera logiska avsnitt i ett formulär och konvertera dem till fragment. Du kan skapa ett fragment från grunden eller spara en befintlig formulärpanel som fragment. -
Identifiera och markera globala värden
Forms-baserade transaktioner innefattar dynamiska element för att hämta in relevanta data från användarna och bearbeta dem för att förenkla ifyllandet av formulär. Formuläret har till exempel fält A i fragment X vars värde bestämmer giltigheten för fält B i ett annat fragment. Om fragment X i det här fallet har markerats för lazy loading måste värdet i fält A vara tillgängligt för att validera fält B även när fragment X inte har lästs in. För att uppnå detta kan du markera fält A som globalt, vilket garanterar att dess värde är tillgängligt för validering av fält B när fragment X inte har lästs in.Mer information om hur du gör ett fältvärde globalt finns i Konfigurera lazy loading.
-
Skriv regler för att kontrollera synlighet för fält
Forms innehåller fält och avsnitt som inte är tillämpliga för alla användare och under alla förhållanden. Forms författare och utvecklare använder synlighets- eller visningsregler för att styra synligheten baserat på användarindata. Fältet Kontorsadress visas t.ex. inte för användare som väljer Arbetslösa i fältet Anställningsstatus i ett formulär. Mer information om hur du skriver regler finns i Använda regelredigeraren.Du kan använda synlighetsregler i de lagerinlästa fragmenten så att villkorsfält bara visas när de är obligatoriska. Markera dessutom det villkorliga fältet globalt så att det refererar till det i synlighetsuttrycket för det lagerinlästa fragmentet.
Konfigurerar lazy loading configuring-lazy-loading
Utför följande steg för att aktivera lazy loading på ett adaptivt formulärfragment:
-
Öppna det adaptiva formuläret i det redigeringsläge som innehåller det fragment som du vill aktivera för lazy loading.
-
Markera det adaptiva formulärfragmentet och välj .
-
Aktivera Load fragment lazily i sidofältet och välj Klar.
Fragmentet är nu aktiverat för lazy loading.
Du kan markera objektvärden i det lagerinlästa fragmentet som globala så att de är tillgängliga för användning i skript när det innehållande fragmentet inte läses in. Gör följande:
-
Öppna det adaptiva formulärfragmentet i redigeringsläge.
-
Markera fältet vars värde du vill markera som globalt och välj sedan .
-
Aktivera Use value during lazy loading i sidofältet.
Värdet är nu markerat som globalt och är tillgängligt för användning i skript även när det innehållande fragmentet är inaktiverat.
Överväganden och bästa praxis för konfiguration av lat inläsningsarbete considerations-and-best-practices-for-configuring-lazy-loading
Vissa begränsningar, rekommendationer och viktiga punkter som du bör tänka på när du arbetar med lazy loading är följande:
- Adobe rekommenderar att man använder XSD-schemabaserad Adaptiv Forms över XFA-baserad Adaptiv Forms för att konfigurera lat inläsningsarbete i stora formulär. Prestandavinster på grund av lazy loading-implementering i XFA-baserad Adaptive Forms är relativt mindre än förstärkning i XSD-baserad Adaptive Forms.
- Konfigurera inte lazy loading på fragment i ett adaptivt formulär som använder layouten Responsive -everything on one page without navigation för rotpanelen. Som ett resultat av layoutkonfigurationen Responsiv läses alla fragment in samtidigt i en adaptiv form. Det kan också leda till försämrade prestanda.
- Vi rekommenderar att du inte konfigurerar lazy loading på fragment på den första panelen som återges när det adaptiva formuläret läses in.
- Lazy loading stöds upp till två nivåer i fragmenthierarkin.
- Se till att fält som markerats som globala är unika i ett adaptivt formulär.
- Överväg att skriva synlighetsregler för fragment som ska visas eller döljas baserat på ett villkor. Du kan till exempel visa eller dölja fragmentet med information om make/maka baserat på den civilstånd som anges av en användare.
- Komponenter för bifogade filer och villkor stöds inte i lagerinlästa fragment.
Bästa skriptpraxis för konfigurering av lazy loading scripting-best-practices-for-configuring-lazy-loading
Viktiga punkter att tänka på när du utvecklar skript för lazy loading-paneler är följande:
- Se till att initiera och beräkna skript som används på fälten i ett lazy loaded fragment är idempotenta till sin natur. Idempotenta skript är sådana som har samma effekt även efter flera exekveringar.
- Använd den globalt tillgängliga egenskapen för fält för att göra värden för fält som finns i en lat inläsningspanel tillgängliga för alla andra paneler i ett formulär.
- Vidarebefordra inte referensvärdet för ett fält i en lat panel oavsett om fältet markeras globalt över fragment eller inte.
- Använd panelåterställningsfunktionen för att återställa allt som visas på panelen med följande klickuttryck.
guideBridge.resolveNode(guideBridge.getFocus({"focusOption": "navigablePanel"})).resetData()
Se även see-also
- Skapa ett AEM anpassat formulär
- Lägg till ett AEM anpassat formulär på AEM Sites-sidan
- Använda teman i ett AEM anpassat formulär
- Lägg till komponenter i ett AEM anpassat formulär
- Använd CAPTCHA i en AEM anpassad form
- Generera en PDF-version (DoR) av ett AEM adaptivt formulär
- Översätt en AEM adaptiv form
- Aktivera Adobe Analytics för ett adaptivt formulär för att spåra formuläranvändning
- Ansluta anpassat formulär till Microsoft SharePoint
- Ansluta anpassat formulär till Microsoft Power Automate
- Ansluta anpassat formulär till Microsoft OneDrive
- Ansluta anpassat formulär till Microsoft Azure Blob Storage
- Ansluta anpassat formulär till Salesforce
- Använda Adobe Sign i en AEM anpassad form
- Lägga till en ny språkinställning för ett adaptivt formulär
- Skicka adaptiva formulärdata till en databas
- Skicka data för anpassat formulär till en REST-slutpunkt
- Skicka anpassade formulärdata till AEM arbetsflöde
- Använd Forms Portal för att lista AEM Adaptive Forms på en AEM webbplats
- Lägga till versioner, kommentarer och anteckningar i ett adaptivt formulär
- Jämför adaptiv Forms