I moduli Adobe Experience Manager (AEM) consentono di trasformare transazioni complesse in esperienze digitali semplici e coinvolgenti. Tuttavia, richiede uno sforzo concertato per implementare, costruire, eseguire e mantenere un ecosistema AEM Forms efficiente e produttivo .
Questo documento contiene le linee guida e le raccomandazioni che gli amministratori, gli autori e gli sviluppatori di moduli possono trarre vantaggio dall'utilizzo di AEM Forms, in particolare dei componenti per moduli adattivi. Vengono illustrate le procedure ottimali, dalla configurazione di un progetto di sviluppo di moduli alla configurazione, personalizzazione, authoring e ottimizzazione AEM Forms. Queste best practice collettivamente contribuiscono alle prestazioni complessive dell'ecosistema AEM Forms.
Inoltre, di seguito sono riportate 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 costruzione AEM progetti.
Utilizzate Apache Maven aem-project-archetype
per creare e gestire la struttura per AEM progetto. Crea struttura e modelli consigliati per il progetto AEM. Inoltre, fornisce l'automazione delle build e i 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 eclissi e importare il progetto in eclissi.Per ulteriori informazioni, vedere Come creare progetti AEM con Apache Maven.
Lo strumento FileVault o VLT consente di mappare il contenuto di un'istanza CRX o AEM al file system. Fornisce operazioni di gestione del controllo delle modifiche, ad esempio il check-in e il check-out del contenuto del progetto AEM. Vedere Come utilizzare lo strumento VLT.
Se si utilizza un ambiente di sviluppo integrato con Eclipse, è possibile utilizzare AEM strumenti per sviluppatori per integrare perfettamente Eclipse IDE con AEM istanze per creare AEM applicazioni. Per informazioni dettagliate, consultate AEM strumenti di sviluppo per Eclipse.
Non archiviate alcun contenuto o apportate modifiche nella cartella /libs. Create sovrapposizioni nelle cartelle /app per estendere o sovrascrivere le funzionalità predefinite.
Quando create pacchetti per spostare il contenuto, accertatevi che i percorsi dei filtri del pacchetto siano corretti e che vengano menzionati solo i percorsi richiesti.
Non archiviate alcun contenuto o apportate modifiche nella cartella /libs. Create sovrapposizioni nelle cartelle /app per estendere o sovrascrivere le funzionalità predefinite.
Definite le dipendenze corrette per i pacchetti per imporre un ordine/sequenza di installazione predeterminata.
Non creare alcun nodo di riferimento in /libs o /apps.
Una volta configurato il progetto AEM, definire 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 utilizzabili per la creazione di moduli adattivi. Tuttavia, potete creare modelli e componenti personalizzati in base alle vostre esigenze. È consigliabile raccogliere i requisiti per i modelli e i componenti aggiuntivi necessari nei moduli adattivi. Per informazioni dettagliate, vedere 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 il flusso di 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 con attenzione il modello di dati che non solo soddisfa le vostre esigenze ma che estenda gli investimenti esistenti in risorse XFA e XSD, se presenti. È consigliabile utilizzare il modello XSD per creare modelli di modulo, in quanto l'XML generato contiene dati in base al percorso XPATH definito dallo schema. L'utilizzo del modello XSD come scelta predefinita per il modello dati del modulo è 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 grazie a una mappatura da uno a un campo del modulo. Inoltre, BindRef del campo può essere impostato come XPATH del valore dei dati in XML.
Per ulteriori informazioni, vedere Creare un modulo adattivo.
AEM Forms offre modelli di modulo adattivo predefiniti che è possibile utilizzare per creare moduli adattivi. Potete anche creare dei modelli personalizzati. AEM fornisce modelli statici e modificabili.
Per creare lo stile di un'istanza di campo o pannello specifica, utilizzate lo stile in linea . In alternativa, potete definire una classe in un file CSS e specificare il nome della classe nella proprietà Classe CSS del componente.
Includere una libreria client in un componente per applicare in modo coerente gli stili ai moduli adattivi o ai frammenti che utilizzano tale componente. Per ulteriori informazioni, vedere Creare un componente per pagina di modulo adattivo.
Applicare gli stili definiti in una libreria client per selezionare i moduli adattivi specificando il percorso della libreria client nel campo del percorso del file CSS nelle proprietà del contenitore di moduli adattivi.
Per creare una libreria client degli stili, è possibile configurare il file CSS personalizzato nella clientlib di base dell'Editor tema o nelle proprietà del contenitore del modulo.
I moduli adattivi forniscono layout di pannelli, ad esempio reattivi, a schede, a soffietto e con 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 di moduli. Per ulteriori informazioni, vedere Creazione di componenti di layout personalizzati per i moduli adattivi.
È inoltre possibile personalizzare componenti per moduli adattivi specifici come campi e layout del pannello.
Per informazioni sulla gestione dei dati PII, vedere Gestione delle informazioni personali.
Utilizzare il browser Oggetti nella barra laterale per accedere rapidamente ai campi all'interno della gerarchia del modulo. È possibile utilizzare la casella di ricerca per cercare gli oggetti nel modulo o nella struttura ad albero degli oggetti per spostarsi da un oggetto all'altro.
Per visualizzare e modificare le proprietà di un componente nel browser Componenti nella barra laterale, selezionate il componente e fate clic su . È inoltre possibile 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. Vedere Scelte rapide da tastiera AEM Forms.
I componenti per moduli adattivi sono consigliati per essere utilizzati solo nelle pagine per moduli adattivi. I componenti dipendono dalla gerarchia padre. Non utilizzarli quindi in una pagina AEM.
Consultare inoltre le descrizioni dei componenti e le procedure ottimali 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 per moduli adattivi. Utilizzando queste regole, è possibile valutare le condizioni e attivare azioni sui componenti, come mostrare o nascondere campi, calcolare i valori, modificare l'elenco a discesa in modo dinamico e così via.
L'editor di regole fornisce un editor visivo e un editor di codice per la scrittura di regole. Quando si scrivono regole in modalità editor di codice, tenere in considerazione quanto segue:
Utilizzare nomi univoci e significativi per i campi e i componenti del modulo per evitare possibili conflitti durante la scrittura delle regole.
Utilizzare l'operatore this
per fare riferimento a se stesso in un'espressione di regola. La regola rimane valida anche se il nome del componente cambia. Esempio, field1.valueCommit script: this.value > 10
.
Utilizzare i nomi dei componenti per fare riferimento ad altri componenti del modulo. Utilizzare la proprietà 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 logica aziendale come funzioni in una libreria client separata che è possibile specificare e riutilizzare tra i moduli adattivi. La libreria client deve essere una libreria standalone e non deve avere dipendenze esterne, ad eccezione di jQuery e Underscore.js. È inoltre possibile utilizzare la libreria client per applicare la riconvalida lato server dei dati del modulo inviati.
I moduli adattivi forniscono una serie di API utilizzabili per comunicare con i moduli adattivi ed eseguire azioni su di essi. Alcune delle API chiave sono le seguenti. Per ulteriori informazioni, vedere Riferimento API della libreria JavaScript per Forms adattivo.
guideBridge.reset()
: Ripristina 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 aziendale in un modulo. JavaScript è potente ed efficace, ma potrebbe compromettere le aspettative di sicurezza. Pertanto, è necessario assicurarsi che l'autore del modulo sia una persona affidabile e che vi siano processi per rivedere e approvare il codice JavaScript prima che il modulo venga messo in produzione. L'amministratore può limitare l'accesso all'editor delle regole ai gruppi di utenti in base al loro ruolo o funzione. Consultate Concedere l'accesso all'editor di regole a gruppi di utenti selezionati.
È possibile utilizzare le espressioni nelle regole per rendere dinamici i moduli adattivi. Tutte le espressioni sono espressioni JavaScript valide e utilizzano API per modelli di script di moduli adattivi. Queste espressioni restituiscono valori di determinati tipi. Per ulteriori informazioni sulle espressioni e sulle best practice che le circondano, vedere Espressioni di moduli adattivi.
L'opzione Adattata per i temi consente di creare stili riutilizzabili che possono essere applicati ai diversi moduli per ottenere un aspetto e uno stile coerenti. È consigliabile utilizzare 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, vedere Temi.
Gli autori e gli utenti finali dei moduli in genere si trovano di fronte a problemi di prestazioni durante il caricamento di moduli di grandi dimensioni in modalità di creazione o in fase di esecuzione. Con l'aumento del numero di oggetti (campi e pannelli) nel modulo, l'esperienza di creazione e esecuzione inizia a diminuire. Consente inoltre a più autori di collaborare e creare contemporaneamente un modulo.
Per risolvere i problemi di prestazioni relativi ai moduli di grandi dimensioni, attenersi alle procedure ottimali riportate di seguito.
È consigliabile creare moduli adattivi utilizzando il modello dati del modulo XSD anche durante la conversione di un XFA in un modulo adattivo, se possibile.
Includere solo i campi e i pannelli nei moduli adattivi che acquisiscono informazioni dall'utente. Considerate la possibilità di mantenere minimi i contenuti statici oppure utilizzate gli URL per aprirli in una finestra separata.
Anche se ogni modulo è progettato per uno scopo specifico, nella maggior parte dei moduli sono presenti alcuni segmenti comuni. Ad esempio, dati personali, indirizzo, dati di lavoro e così via. Creare frammenti di modulo adattivo per elementi e sezioni di modulo comuni e 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 costituiscono un modulo.
Per salvare periodicamente il modulo adattivo e consentire agli utenti di rivederlo in un secondo momento per completare il modulo, utilizzare Salva e riprendi con salvataggio automatico.
Configurare i frammenti per il caricamento lento. In fase di esecuzione, i frammenti contrassegnati per il caricamento vengono sottoposti a rendering solo quando sono obbligatori. Riduce notevolmente il tempo di caricamento dei moduli di grandi dimensioni. È inoltre supportata nei frammenti con pannelli ripetibili. Per ulteriori informazioni, vedere Configurare il caricamento pigro.
È possibile precompilare i campi modulo adattivo con i dati recuperati dal back-end 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 predefiniti e precompilare i campi di un modulo adattivo con il contenuto nel file XML di precompilazione.
L'XML dei dati di precompilazione deve essere conforme allo schema del modello di modulo associato al modulo adattivo.
Includere le sezioni afBoundedData
e afUnBoundedData
nel file XML di precompilazione per 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 dei modelli di dati del modulo. Il servizio precompila le 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 per la precompilazione di file, crx, servizi o protocolli http.
AEM Forms supporta servizi di precompilazione personalizzati che è possibile collegare come servizio OSGi per precompilare i moduli adattivi.
Per ulteriori informazioni, vedere Precompila campi 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.
È possibile sfruttare l'esperienza con più firme di Adobe Sign nei moduli adattivi. Durante la configurazione Adobe Sign nei moduli adattivi, tenere presente quanto segue. Per informazioni dettagliate, vedere Utilizzo Adobe Sign in un modulo adattivo.
Un documento record (DoR) è una versione PDF appiattita di un modulo adattivo che può essere stampato, firmato o archiviato.
A seconda del modello di dati del modulo su cui si basa un modulo adattivo, è possibile configurare un modello per il DoR nel modo seguente:
È possibile configurare intestazione, piè di pagina, immagini, colore, font e così via direttamente dalla scheda Documento di registrazione dell’editor di moduli adattivi.
Utilizzare DoRService
per generare il DoR a livello di programmazione.
Escludere i campi nascosti dal DoR.
Utilizzare il parametro di richiesta afAcceptLang
per visualizzare il DoR in un'altra lingua.
AEM Chrome Plug- in è 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, vedere AEM plug-in Chrome - Modulo adattivo.
Calvin SDK è un'API di utilità per gli sviluppatori di Forms adattivi per testare l'Forms adattivo. Calvin SDK è basato sul framework di test di Hobbes.js. Potete utilizzare il framework per verificare quanto segue:
Per ulteriori informazioni, vedere Verificare automaticamente i 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, vedere Utilizzo AEM flusso di lavoro di traduzione per localizzare moduli adattivi.
Di seguito sono riportate alcune best practice per la localizzazione di moduli adattivi:
Utilizzare frammenti di modulo adattivi per elementi comuni all'interno dei moduli e localizzare i frammenti. In questo modo, è possibile localizzare un frammento una sola volta e lo si riflette in tutti i moduli in cui viene utilizzato il frammento localizzato.
Eventuali modifiche, come 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.
Utilizzare il parametro di richiesta afAcceptLang
per ignorare le impostazioni internazionali del browser ed eseguire il rendering del modulo nelle impostazioni internazionali specificate. Ad esempio, l'URL seguente imporrà il rendering del modulo in lingua giapponese, indipendentemente dalle impostazioni internazionali specificate nel browser:
https://'[server]:[port]'/<contextPath>/<formFolder>/<formName>.html?wcmmode=disabled&afAcceptLang=ja
AEM Forms supporta attualmente la localizzazione di contenuti di moduli adattivi in 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 le nuove impostazioni internazionali per i moduli adattivi in fase di esecuzione. Per ulteriori informazioni, vedere Supporto di nuove impostazioni internazionali per la localizzazione dei moduli adattivi.
È possibile configurare un'istanza aggiuntiva server AEM Forms che si trova dietro il firewall in un'area protetta. Potete utilizzare questa istanza per:
Spesso è necessario spostare i progetti AEM da un ambiente all'altro. Alcuni degli elementi chiave da ricordare durante lo spostamento sono i seguenti:
Di seguito sono riportate alcune best practice per configurare AEM per migliorare le prestazioni complessive:
Abilita la compressione libreria client HTML per JavaScript e CSS dalla console Flash. Vedere Clientlibs spiegato da esempio.
Memorizza nella cache tutte le librerie client in /etc.clientlibs/fd
e tutte le librerie client personalizzate aggiuntive nel dispatcher AEM per aumentare la capacità di risposta e la sicurezza dei moduli pubblicati. Per ulteriori informazioni, vedere Dispatcher.
Non memorizzare nella cache i percorsi /content/forms/af/
e /content/dam/formsanddocuments/*
. per informazioni dettagliate sulla configurazione del caching dei moduli adattivi, vedere Memorizzazione nella cache dei moduli adattivi.
Abilitare l'HTML tramite il modulo di compressione del server Web. Per ulteriori informazioni, vedere Ottimizzazione delle prestazioni di server AEM Forms.
Aumentare le chiamate per la configurazione delle richieste per i moduli di grandi dimensioni. Vedere Ottimizzazione delle prestazioni di moduli grandi e complessi.
Creare pagine di errore personalizzate visualizzate dal gestore di errori.
Server AEM Forms sicuro.
nosamplecontent
per garantire che non siano presenti contenuti di esempio e utenti di esempio distribuiti nel server di produzione. Vedere AEM in esecuzione in modalità pronta per la produzione.Le dimensioni dell'heap devono essere pari ad almeno 8 GB. Per altre impostazioni, vedere Ottimizzazione delle prestazioni di server AEM Forms.
Utilizzate le sessioni utente del servizio invece delle sessioni di amministrazione per eseguire le attività a livello di servizio. Per ulteriori informazioni, vedere Autenticazione dei servizi.
In un ambiente di produzione, si consiglia di non memorizzare i dati del modulo inviato AEM repository. L'implementazione predefinita delle azioni di invio Forms Portal Store, Store Content e Store PDF consente di archiviare i dati del modulo AEM archivio. Tali azioni di invio sono destinate solo a scopo dimostrativo. Inoltre, per impostazione predefinita, le funzioni Salva e Riprendi e Salva automaticamente utilizzano l'archiviazione del portale. Considerate pertanto le seguenti raccomandazioni:
Memorizzazione dei dati bozza: 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, vedere Esempio per l'integrazione del componente per bozze e invii con il database.
Memorizzazione dei dati di invio: Se si utilizza l'archivio di invio di Form Portal, è necessario implementare un SPI personalizzato per memorizzare i dati di invio in un database. Per un'integrazione di esempio, vedere Esempio per l'integrazione del componente bozze e invii con database.
È inoltre possibile scrivere un'azione di invio personalizzata per memorizzare i dati e gli allegati del modulo in un archivio protetto. Per ulteriori informazioni, vedere Scrittura di un'azione di invio personalizzata per i moduli adattivi.
Lunghezza dell'ID bozza: Quando si salva un modulo adattivo come bozza, viene generato un ID bozza per identificare in modo univoco la bozza. Il valore minimo per la lunghezza del campo ID bozza è 26 caratteri. Adobe consiglia di impostare la lunghezza dell'ID bozza su 26 o più caratteri.
Una delle sfide principali per le organizzazioni è come gestire i dati personali (PII). Di seguito sono riportate alcune best practice utili per gestire tali dati: