Layout Design layout-design
XFA form templates or XDPs are the templates for:
-
Layout Fragments
An XDP is designed in Adobe Forms Designer. This article provides details about how to design your XDPs for creating effective correspondences/Interactive Communications such as where to use form fields or target areas and when to use layout fragments.
Creating a layout for letters or for Interactive Communications’ print channel creating-a-layout-for-letters-or-for-interactive-communications-print-channel
A layout defines the graphical layout of a letter/print channel of an Interactive Communication. The layout can contain typical form fields such as “Address” and “Reference Number”. It also contains empty subforms that denote target areas. Create the layout in form designer and when completed the Application Specialist uploads it to AEM server. From there, you can select the layout when creating a correspondence template or print channel of an Interactive Communication.
Follow these steps to create layouts for letters/print channel of Interactive Communications:
-
Analyze the layout and determine the content that is being repeated across all pages; usually page header and footer fit into this category. This content is placed on master pages of layout. The remaining content goes to body pages of the layout. In a policy jacket, the logo and company address can be added to master page header and footer. For example, Notice of Cancelation uses the same layout.
-
When designing body pages, divide page content into sections. Each section is designed as a subform embedded in layout itself or as a fragment layout. If section contains table, model the section as a layout fragment.
-
A Layout can be designed as follows:
- Make each section as a separate subform containing all elements of the section.
- Make each section subform child of same parent subform. Parent subform’s layout are set to flow to allow the sections to shift below in case of large data is merged in previous sections.
- Section Primary residence can be reused across other layouts as well. Create it as a fragment layout.
- Section Additional interest details contains only two elements placed one below another, can contain large data, and is designed as flowed.
- Other sections contain elements at specific positions so they are designed as positioned layout.
- Break a section into subforms if the section contains elements at specific positions, and these elements contain large amounts of data. Then arrange the subforms to achieve the desired behavior.
- For Primary residence section, add a placeholder target area. This placeholder is bound to fragment Primary residence at the time of letter/Interactive Communication designing.
- Upload the layout (and the fragment, if any, that uses the layout) into the AEM Forms server.
Using schema using-schema
You can use a schema in a layout or layout fragment , but it is not required. If you use a schema, ensure the following:
- Layout and all the fragment layouts used in a letter/Interactive Communication use same schema as the letter/Interactive Communication.
- All fields required to be populated with data are bound to the schema.
Creating relatable fields creating-relatable-fields
By default, all fields are considered relatable to various other data sources. If your layout contains any fields that are not relatable to a data source, name the field with an “_int” (internal) suffix; for example, pageCount_int.
A relatable field must:
- be an XFA <field> or <exclGroup>
- have an XFA binding reference
- if it is an <exclGroup>, it must have at least one child radio button field; otherwise, its value type cannot be determined
A relatable field must:
- have a name
A relatable field must not:
- Include an “_int” suffix in its name
- have binding set as “none”
- be a child of an <exclGroup> element
As long as a relatable field meets the criteria described above, it can be in any location and at any nesting depth in the layout. You can use relatable fields within master pages.
Fields are more flexible in their layout configuration than target area subforms; however they are tied to a single value type. You can make a field large, or set it to a fixed width and height, and so on. The resolved module or rule result is pushed into the field.
Deciding when to use subforms and text fields deciding-when-to-use-subforms-and-text-nbsp-fields
Use a subform if you want to capture multiple module content in a top-down vertical-flow layout (multiple paragraphs or images). Your layout must handle the fact that the subform grows in height to accommodate its contents. If you cannot be certain that the length of the content associated to the subform/target never exceeds the space reserved for the subform in the layout, create the subform as a child within a flowed subform container. This process ensures that layout objects below the subform flows downward as the subform grows.
Use a field if you want to capture module data or data dictionary element data into your layout’s schema (because fields are bound to data) or to display module content on a master page. Remember that content in a master page cannot flow with body page content, so you must ensure that the image field is used as a header logo. This table provides more criteria for deciding when to use a subform or a field in a layout.
Setting up repetitive elements setting-up-repetitive-elements
When elements such as your organization’s logo and address appear on all pages of a letter/Interactive Communication, create form fields for those elements and place them on the master page. Use Name (Field Name) binding for these fields.
Specify the server render format specify-the-server-nbsp-render-format
Use the layout’s server render format to Dynamic XML Form; otherwise, any letters/Interactive Communications based on this layout cannot render correctly. By default, the server render format in Forms Designer is set to Dynamic XML Form. To ensure that you are using the correct format:
- In Designer, click File > Form Properties > Default, and ensure that the PDF Render/Format setting is set to Dynamic XML Form.