AEM 6.4 ha raggiunto la fine del supporto esteso e questa documentazione non viene più aggiornata. Per maggiori dettagli, consulta la nostra periodi di assistenza tecnica. Trova le versioni supportate qui.
I moduli di Adobe Experience Manager (AEM) consentono di trasformare transazioni complesse in esperienze digitali semplici e accattivanti. Tuttavia, richiede uno sforzo concertato per implementare, costruire, eseguire e mantenere un ecosistema AEM Forms efficiente e produttivo.
Questo documento fornisce linee guida e consigli di cui possono trarre vantaggio gli amministratori, gli autori e gli sviluppatori di moduli quando si lavora con AEM Forms, in particolare il componente Moduli adattivi. Descrive le best practice, dalla configurazione di un progetto di sviluppo di moduli alla configurazione, personalizzazione, authoring e ottimizzazione di AEM Forms. Queste best practice contribuiscono collettivamente alle prestazioni complessive dell’ecosistema AEM Forms.
Inoltre, ecco alcune letture consigliate per le best practice generali AEM:
Una struttura di progetto semplificata e standardizzata può ridurre notevolmente gli sforzi di sviluppo e manutenzione. Apache Maven è uno strumento open source consigliato per la creazione di progetti AEM.
Usa Apache Maven aem-project-archetype
per creare e gestire la struttura del progetto AEM. Crea la struttura e i modelli consigliati per il progetto AEM. Inoltre, fornisce automazione della creazione e sistemi di controllo delle modifiche per aiutare a gestire il progetto.
archetype:generate
per generare la struttura iniziale.eclipse:eclipse
per generare i file del progetto eclipse e importare il progetto in eclipse.Per ulteriori informazioni, consulta Come creare progetti AEM utilizzando Apache Maven.
Lo strumento FileVault o VLT ti aiuta a mappare il contenuto di un'istanza CRX o AEM al tuo file system. Fornisce operazioni di gestione del controllo delle modifiche, ad esempio il check-in e il check-out del contenuto del progetto AEM. Vedi Come utilizzare lo strumento VLT.
Se utilizzi un ambiente di sviluppo integrato con Eclipse, puoi utilizzare AEM strumenti per sviluppatori per un’integrazione diretta di Eclipse IDE con istanze AEM per creare applicazioni AEM. Per maggiori dettagli, vedi AEM strumenti per sviluppatori per Eclipse.
Una volta impostato il progetto AEM, definisci la strategia per la creazione e la personalizzazione di modelli e componenti per moduli adattivi.
Un modello di modulo adattivo è una pagina AEM specializzata che definisce la struttura e le informazioni a piè di pagina dell’intestazione di un modulo adattivo. Un modello dispone di layout, stili e struttura di base preconfigurati per un modulo adattivo. AEM Forms fornisce modelli e componenti predefiniti che è possibile utilizzare per creare moduli adattivi. Tuttavia, puoi creare modelli e componenti personalizzati in base alle tue esigenze. È consigliabile raccogliere i requisiti per modelli e componenti aggiuntivi necessari nei moduli adattivi. Per maggiori dettagli, vedi Personalizzazione di moduli e componenti adattivi.
AEM Forms consente di creare moduli adattivi basati sui seguenti modelli di modulo. I modelli di modulo fungono da interfaccia per lo scambio di dati tra un modulo e un sistema AEM e forniscono una struttura basata su XML per lo scorrimento dei dati all’interno e all’esterno di un modulo adattivo. Inoltre, i modelli di modulo impongono regole e vincoli ai moduli adattivi sotto forma di vincoli di schema e XFA.
È importante scegliere attentamente il modello dati che non solo soddisfa le tue esigenze ma estende gli investimenti esistenti in risorse XFA e XSD, se presenti. Si consiglia di utilizzare il modello XSD per creare modelli di modulo, in quanto l’XML generato contiene dati in base a XPATH definito dallo schema. L’utilizzo di XSD Model come scelta predefinita per Form Data Model è utile anche perché consente di separare la struttura del modulo dal sistema back-end che elabora e consuma i dati e migliora le prestazioni del modulo a causa della mappatura da uno a un campo del modulo. Inoltre, BindRef del campo può essere reso XPATH del suo valore di dati in XML.
Per ulteriori informazioni, consulta Creare un modulo adattivo.
AEM Forms offre modelli di moduli adattivi pronti all’uso che è possibile utilizzare per creare moduli adattivi. Puoi anche creare modelli personalizzati. AEM fornisce modelli statici e modificabili.
Per creare lo stile di un campo o di un’istanza di pannello specifica, utilizza stile in linea. In alternativa, puoi definire una classe in un file CSS e specificare il nome della classe nella proprietà Classe CSS del componente.
Includi una libreria client in un componente per applicare in modo coerente gli stili nei moduli adattivi o nei frammenti che utilizzano tale componente. Per ulteriori informazioni, consulta Creare un componente per la pagina di un modulo adattivo.
Applica gli stili definiti in una libreria client per selezionare i moduli adattivi specificando il percorso della libreria client nel campo Percorso file CSS nelle proprietà del contenitore di moduli adattivi.
Per creare una libreria client degli stili, puoi configurare il file CSS personalizzato nella clientlib di base dell’Editor tema o nelle proprietà del contenitore modulo .
I moduli adattivi forniscono layout di pannelli, ad esempio reattivi, a schede, a soffietto e procedure guidate, per controllare il layout dei componenti modulo in un pannello. È possibile creare layout di pannelli personalizzati e renderli disponibili per l’uso da parte degli autori dei moduli. Per ulteriori informazioni, consulta Creazione di componenti di layout personalizzati per i moduli adattivi.
È inoltre possibile personalizzare specifici componenti per moduli adattivi, come campi e layout dei pannelli.
Vedi Trattamento di informazioni personali identificabili per raccomandazioni sulla gestione dei dati PII.
Utilizzare il browser Oggetti nella barra laterale per accedere rapidamente ai campi della gerarchia del modulo. È possibile utilizzare la casella di ricerca per cercare gli oggetti nel modulo o nella struttura degli oggetti per spostarsi da un oggetto all’altro.
Per visualizzare e modificare le proprietà di un componente nel browser Componenti nella barra laterale, selezionalo e fai clic su . Puoi anche fare doppio clic su un componente per visualizzarne le proprietà nel browser delle proprietà.
Utilizzare le scelte rapide da tastiera per eseguire azioni rapide sui moduli. Vedi Scelte rapide da tastiera di AEM Forms.
I componenti per moduli adattivi sono consigliati per l’uso unicamente nelle pagine dei moduli adattivi. I componenti dipendono dalla gerarchia padre. Pertanto, non utilizzarli in una pagina AEM.
Consulta anche le descrizioni dei componenti e le best practice in Introduzione alla creazione di moduli adattivi.
AEM Forms fornisce un editor di regole che consente di creare regole per aggiungere comportamenti dinamici ai componenti dei moduli adattivi. Utilizzando queste regole, puoi valutare le condizioni e attivare azioni sui componenti, ad esempio mostrare o nascondere campi, calcolare valori, modificare dinamicamente l’elenco a discesa e così via.
L’editor di regole fornisce un editor visivo e un editor di codice per la scrittura di regole. Quando scrivi regole utilizzando la modalità editor di codice , tieni presente quanto segue:
Utilizza nomi significativi e univoci per i campi e i componenti del modulo per evitare possibili conflitti durante la scrittura delle regole.
Utilizzo this
di un componente per fare riferimento a se stesso in un'espressione di una regola. La regola rimane valida anche se il nome del componente cambia. Esempio: field1.valueCommit script: this.value > 10
.
Utilizzare i nomi dei componenti quando si fa riferimento ad altri componenti del modulo. Utilizza la value
per recuperare il valore di un campo o di un componente. Esempio: field1.value
.
Per evitare conflitti, fai riferimento ai componenti in base a una gerarchia univoca relativa. Esempio: parentName.fieldName
.
Quando si gestiscono regole complesse o comunemente utilizzate, è consigliabile scrivere regole di business logic come funzioni in una libreria client separata che è possibile specificare e riutilizzare nei moduli adattivi. La libreria client deve essere una libreria indipendente e non deve avere dipendenze esterne, ad eccezione di jQuery e Underscore.js. Puoi inoltre utilizzare la libreria client per applicare riconvalida lato server dei dati del modulo inviati.
I moduli adattivi forniscono un set di API che è possibile utilizzare per comunicare ed eseguire azioni sui moduli adattivi. Alcune delle API chiave sono le seguenti. Per ulteriori informazioni, consulta Riferimento API della libreria JavaScript per Forms adattivo.
guideBridge.reset()
: Reimposta un modulo.
guideBridge.submit()
: Invia un modulo.
guideBridge.setFocus(somExp, focusOption, runCompletionExp)
: Imposta lo stato attivo su un campo.
guideBridge.validate(errorList, somExpression, focus)
: Convalida un modulo.
guideBridge.getDataXML(options)
: Ottiene i dati del modulo come XML.
guideBridge.resolveNode(somExpression)
: Ottiene un oggetto modulo.
guideBridge.setProperty(somList, propertyName, valueList)
: Imposta la proprietà di un oggetto modulo.
Inoltre, è possibile utilizzare le seguenti proprietà del campo:
field.value
per modificare il valore di un campo.ield.enabled
per abilitare/disabilitare un campo.field.visible
per modificare la visibilità di un campo.Gli autori di moduli adattivi potrebbero dover scrivere codice JavaScript per creare logica di business in un modulo. Anche se JavaScript è potente ed efficace, è probabile che possa compromettere le aspettative di sicurezza. Pertanto, è necessario assicurarsi che l’autore del modulo sia una persona affidabile e che siano disponibili processi per la revisione e l’approvazione del codice JavaScript prima che un modulo venga messo in produzione. L’amministratore può limitare l’accesso all’editor di regole ai gruppi di utenti in base al loro ruolo o funzione. Vedi Concedere l’accesso all’editor di regole a specifici gruppi di utenti.
È possibile utilizzare le espressioni nelle regole per rendere dinamici i moduli adattivi. Tutte le espressioni sono espressioni JavaScript valide e utilizzano API modello di script per moduli adattivi. Queste espressioni restituiscono valori di determinati tipi. Per ulteriori informazioni sulle espressioni e sulle best practice relative, consulta Espressioni di moduli adattivi.
L’opzione Adattivo per i temi consente di creare stili riutilizzabili che possono essere applicati ai diversi moduli per un aspetto e uno stile coerenti. Si consiglia di utilizzare i temi per definire lo stile dei componenti e dei pannelli dei moduli. Di seguito sono riportate alcune best practice relative ai temi:
Per ulteriori informazioni, consulta Temi.
Gli autori e gli utenti finali dei moduli in genere riscontrano problemi di prestazioni durante il caricamento di moduli di grandi dimensioni in modalità di authoring o in fase di runtime. Con l’aumentare del numero di oggetti (campi e pannelli) nel modulo, l’esperienza di authoring e runtime inizia a peggiorare. Inoltre, impedisce a più autori di collaborare e creare un modulo contemporaneamente.
Per risolvere i problemi di prestazioni con i moduli di grandi dimensioni, considera le seguenti best practice:
Si consiglia di creare moduli adattivi utilizzando il modello dati del modulo XSD anche durante la conversione di un XFA in modulo adattivo, se possibile.
Includi solo i campi e i pannelli nei moduli adattivi che acquisiscono informazioni dall’utente. Considera la possibilità di mantenere un contenuto statico minimo o di utilizzare URL per aprirlo in una finestra separata.
Sebbene ogni modulo sia progettato per uno scopo specifico, nella maggior parte dei moduli sono presenti alcuni segmenti comuni. Ad esempio, dati personali, indirizzo, dati sul lavoro e così via. Crea frammenti di modulo adattivi per gli elementi e le sezioni dei moduli comuni e per utilizzarli tra i vari moduli. È inoltre possibile salvare un pannello in un modulo esistente come frammento. Qualsiasi modifica apportata a un frammento si riflette in tutti i moduli adattivi associati. Promuove la creazione collaborativa in quanto più autori possono lavorare contemporaneamente su diversi frammenti che compongono un modulo.
Utilizza Salva e riprendi con salvataggio automatico per salvare periodicamente il modulo adattivo e consentire agli utenti di rivederlo in un secondo momento per completare il modulo.
Configura i frammenti da caricare in modo lento. In fase di runtime, il rendering dei frammenti contrassegnati per il caricamento lento viene eseguito solo quando sono richiesti. Riduce notevolmente il tempo di caricamento dei moduli di grandi dimensioni. È supportato anche nei frammenti con pannelli ripetibili. Per ulteriori informazioni, consulta Configurare il caricamento lento.
È possibile precompilare i campi del modulo adattivo con i dati recuperati dal backend per consentire agli utenti di compilare rapidamente il modulo ed evitare errori di digitazione.
AEM Forms fornisce un servizio di precompilazione per leggere i dati da un file XML di dati predefinito e precompilare i campi di un modulo adattivo con il contenuto del file XML di precompilazione.
L’XML dei dati di precompilazione deve essere conforme allo schema del modello di modulo associato al modulo adattivo.
Includi afBoundedData
e afUnBoundedData
le sezioni nel file XML di precompilazione consentono di precompilare i campi associati e non associati in un modulo adattivo.
Per i moduli adattivi basati sul modello di dati del modulo, AEM Forms fornisce il servizio di precompilazione del modello di dati del modulo predefinito. Il servizio di precompilazione esegue una query sulle origini dati per gli oggetti del modello dati nel modulo adattivo e precompila i valori dei campi durante il rendering del modulo.
È inoltre possibile utilizzare i moduli adattivi di precompilazione di file, crx, service o protocolli http.
AEM Forms supporta i servizi di precompilazione personalizzati che è possibile collegare come servizio OSGi per precompilare i moduli adattivi.
Per ulteriori informazioni, consulta Precompilare i campi del modulo adattivo.
I moduli adattivi richiedono azioni di invio per elaborare i dati specificati dall’utente. Un’azione Invia determina l’attività eseguita sui dati inviati utilizzando un modulo adattivo.
Puoi sfruttare l’esperienza con più firme di Acrobat Sign nei moduli adattivi. Quando configuri Acrobat Sign nei moduli adattivi, considera quanto segue. Per maggiori dettagli, vedi Utilizzo di Acrobat Sign in un modulo adattivo.
Un documento di record (DoR) è una versione PDF appiattita di un modulo adattivo che è possibile stampare, firmare o archiviare.
A seconda del modello dati del modulo su cui si basa un modulo adattivo, è possibile configurare un modello per DoR come segue:
Configura intestazione, piè di pagina, immagini, colore, font e così via direttamente dalla scheda Documento di record dell’editor di moduli adattivi.
Utilizzo DoRService
per generare il DoR a livello di programmazione.
Escludere i campi nascosti dal DoR.
Utilizzo afAcceptLang
richiedere il parametro per visualizzare DoR in un'altra impostazione internazionale.
Plug-in di AEM Chrome è un’estensione del browser per Google Chrome che fornisce strumenti per il debug dei moduli adattivi. Gli autori e gli sviluppatori di moduli possono utilizzare questi strumenti per:
Per ulteriori informazioni, consulta Plug-in di AEM Chrome - Modulo adattivo.
Calvin SDK è un'API di utilità per gli sviluppatori di Forms adattivi per testare Adaptive Forms. L’SDK di Calvin è basato su Framework di test di Hobbes.js. Puoi utilizzare il framework per testare quanto segue:
Per ulteriori informazioni, consulta Verifica automatica dei moduli adattivi.
Le convalide lato server sono necessarie per evitare qualsiasi tentativo di bypassare le convalide sul client e qualsiasi possibile compromesso tra l’invio di dati e le violazioni delle regole aziendali. Le convalide lato server vengono eseguite sul server caricando la libreria client richiesta.
AEM fornisce flussi di lavoro di traduzione che è possibile utilizzare per localizzare i moduli adattivi. Per informazioni, consulta Utilizzo AEM flusso di lavoro di traduzione per localizzare i moduli adattivi.
Di seguito sono riportate alcune best practice per la localizzazione di moduli adattivi:
Utilizzare frammenti di modulo adattivo per elementi comuni nei moduli e localizzare i frammenti. Il frammento viene localizzato una volta e viene riflesso in tutti i moduli in cui viene utilizzato il frammento localizzato.
Eventuali modifiche, ad esempio l’aggiunta di un nuovo componente o l’applicazione di uno script in un modulo localizzato, non vengono localizzate automaticamente. Pertanto, è necessario finalizzare un modulo prima di localizzarlo per evitare più cicli di localizzazione.
Utilizzo afAcceptLang
richiede un parametro per ignorare le impostazioni internazionali del browser ed eseguire il rendering del modulo nelle impostazioni internazionali specificate. Ad esempio, con il seguente URL verrà eseguito il rendering del modulo nelle impostazioni internazionali giapponesi, indipendentemente dalle impostazioni internazionali specificate nell’impostazione del browser:
https://[*server*]:[*port*]/<*contextPath*>/<*formFolder*>/<*formName*>.html?wcmmode=disabled&afAcceptLang=ja
AEM Forms supporta attualmente la localizzazione di contenuti di moduli adattivi nelle impostazioni internazionali: inglese (en), spagnolo (es), francese (fr), italiano (it), tedesco (de), giapponese (ja), portoghese-brasiliano (pt-BR), cinese- (zh-CN), cinese-Taiwan (zh-TW) e coreano (ko-KR). Tuttavia, è possibile aggiungere il supporto per nuove impostazioni internazionali per i moduli adattivi in fase di esecuzione. Per ulteriori informazioni, consulta Supporto di nuove impostazioni internazionali per la localizzazione di moduli adattivi.
È possibile configurare un'istanza aggiuntiva del server AEM Forms che si trova dietro il firewall in un'area protetta. Puoi utilizzare questa istanza per:
Spesso è necessario spostare i progetti AEM da un ambiente all’altro. Alcune delle cose chiave da ricordare quando ci si sposta sono le seguenti:
Di seguito sono riportate alcune best practice per configurare AEM per migliorare le prestazioni complessive:
Abilita la compressione della libreria client HTML per JavaScript e CSS dalla console Felix.
Memorizza in cache tutte le librerie client in /etc.clientlibs/fd
ed eventuali librerie client personalizzate aggiuntive sul dispatcher AEM per aumentare la reattività e la sicurezza dei moduli pubblicati. Per ulteriori informazioni, consulta Dispatcher.
Non memorizzare in cache /content/forms/af/
e /content/dam/formsanddocuments/*
percorsi. per informazioni dettagliate sulla configurazione della memorizzazione in cache dei moduli adattivi, consulta Memorizzazione in cache dei moduli adattivi.
Abilita HTML tramite il modulo di compressione del server web. Per ulteriori informazioni, consulta Ottimizzazione delle prestazioni del server AEM Forms.
Aumenta le chiamate per configurazione richiesta per i moduli di grandi dimensioni. Vedi Ottimizzazione delle prestazioni di moduli grandi e complessi.
Crea pagine di errore personalizzate visualizzate dal gestore di errori.
Server AEM Forms protetto.
nosamplecontent
modalità di esecuzione per garantire che non vi siano utenti di esempio e di esempio distribuiti sul server di produzione. Vedi Esecuzione di AEM in modalità pronta per la produzione.Mantenere la dimensione dell'heap ad un minimo di 8 GB. Per altre impostazioni, vedi Ottimizzazione delle prestazioni del server AEM Forms.
Utilizza le sessioni utente del servizio invece delle sessioni di amministrazione per eseguire attività a livello di servizio. Per ulteriori informazioni, consulta Autenticazione del servizio.
In un ambiente di produzione, si consiglia di non archiviare i dati del modulo inviati in AEM archivio. L’implementazione predefinita delle azioni di invio Forms Portal Store, Store Content e Store PDF memorizza i dati del modulo nell’archivio AEM. Queste azioni di invio sono intese solo a scopo dimostrativo. Inoltre, le funzioni Salva e Riprendi e Salva automaticamente utilizzano l'archiviazione del portale per impostazione predefinita. Considera pertanto le seguenti raccomandazioni:
Memorizzazione dei dati bozze: Se si utilizza la funzione Bozza di moduli adattivi, è necessario implementare un'interfaccia SPI (Service Provider Interface) personalizzata per memorizzare i dati bozza in un archivio più sicuro, come il database. Per ulteriori informazioni, consulta Esempio per l'integrazione del componente bozze e invii con il database.
Memorizzazione dei dati di invio: Se si utilizza Form Portal Submit Store, è necessario implementare un SPI personalizzato per memorizzare i dati di invio in un database. Vedi Esempio per l'integrazione del componente bozze e invii con il database per un’integrazione di esempio.
È inoltre possibile scrivere un’azione di invio personalizzata che memorizza i dati del modulo e l’allegato in un archivio protetto. Vedi Scrittura di un’azione di invio personalizzata per i moduli adattivi per ulteriori informazioni.
Una delle principali sfide per le organizzazioni è come gestire i dati personali identificabili (PII). Di seguito sono riportate alcune best practice per gestire questi dati: