Scenario: Creating Layouts and Fragment Layouts

A layout defines the graphical layout of a letter. 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 the Correspondence Management Solution. From there, you can select the layout when creating a correspondence template. Application Specialists map content such as text and images into the target areas, and bind form fields to data sources.

Application Specialists can use one layout to create many different correspondence templates. For example, the ClaimSubrogation layout shown below contains multiple target areas, some of which can be reused in other letter templates:

View full size graphic
ClaimSubrogation Layout

Implementation overview

Follow these steps to set create layouts for the Correspondence Management Solution:

  1. 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. (See Analyzing your existing correspondence.) For example, in the solution template, the Notice of Reinstatement and Notice of Cancellation both use the same layout. (See Correspondence Management Solution Walkthrough.)

  2. 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. Use the following guidelines to choose correct approach:
    • If section contains table, model the section as a fragment layout.

  3. 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 designing.

  4. Upload the layout and fragment layout using Manage Assets user interface.

Tools used

  • LiveCycle Designer to create layouts and layout fragments.

  • The Manage Assets user interface to upload the layout and layout fragments to the Correspondence Management system.

Team members

The Form Designer performs the tasks described in this scenario. The Forms Designer has in-depth knowledge of LiveCycle Designer.

Creating a layout for Correspondence Management

Target version

Use LiveCycle Designer to create layouts, and the layouts must target XFA 2.8 or later. To ensure that your layout is using the correct target version:

  1. In LiveCycle Designer, click File > Form Properties > Defaults, and set the Target Version to Acrobat/Reader 9.0.

  2. Go to the XML Source view and confirm that the template version is 2.8. For example:

    <template xmlns="http://www.xfa.org/schema/xfa-template/2.8/">

  3. In the template node, search for originalXFA node and if it is present, delete it. For example:

    <?originalXFAVersion http://www.xfa.org/schema/xfa-template/2.6/?>

  4. Apply any changes to the XML Source by switching to another view.

Creating target area subforms

By default, all subforms that are empty of content are considered target areas. If your layout contains an empty subform that is not considered a target area, name the subforms with an "_int" (internal) suffix; for example, subformWithScript_int. Use an empty subform as a fragment, containing only a series of script objects that are used in various forms. In this case, the subform appears empty, but is not considered a target area. Nodes that are considered to be content are: area, draw, exclGroup, exObject, field, subform, and subformSet.

A target area subform requires the following:

  • A name

  • A width (non-expandable)

  • A position (x, y)

  • Be flowable

A target area subform must not:

  • Have a binding (set binding as "none")

  • Contain content (child nodes of type area, draw, exclGroup, exObject, field, subform, or subformSet)

  • Include an "_int" suffix in its name

  • Be on a master page

Using Schema

You can use a schema in a layout or fragment layout, but it is not required. If you use a schema, ensure the following:
  • Layout and all the fragment layouts used in a letter use same schema as the letter.

  • All fields required to be populated with data are bound to the schema.

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

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 used as a header logo. For example, if it is set to constrain the image content to its content area, rather than display the image content at its original size. Otherwise, for a large image, the image is displayed beneath body page content.

This table provides more criteria for deciding when to use a subform or a field in a layout.

Use a subform when

Use a text field when

It contains a combination of elements, such as a Last Name and First Name

It contains a single element, such as a Policy Number.

It includes multiple paragraphs

Text is wrapped and justified

Repeating, optional, and conditional data groups are bound to subforms, to reduce the risk of design errors that could occur if scripts are used to achieve the same results

Elements such as your organization’s logo and address appear on all pages of a letter. In this case, create form fields for those elements and place them on the master page. If you set the field binding to "No Data Binding", the no fields appear as relatable fields in the Letter Editor. If you want to relate some type of content to these fields, they must have binding.

If your company address contains more than one line of data, use text field with the "Allow Multiple Lines" option to represent the address on the layout.

If a text field's data type is set to plain text, the plain text version of the module output is used instead of the rich text version (all formatting is discarded). To preserve the formatting, set the text field’s data type to rich text.

Text is flowed

Text fields and image fields are used on master pages. Master pages cannot use subforms as target areas.

Objects are grouped and organized without binding the subform to a data element

 

There is a text field inside the subform. The subform can grow and not overwrite other objects below it on the layout.

You need easy access to its data in the post process.

Setting up repetitive elements

When elements such as your organization’s logo and address appear on all pages of a letter, 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

Use the layout’s server render format to Dynamic XML Form; otherwise, any letters based on this layout cannot render correctly. By default, the server render format in LiveCycle Designer is set to Dynamic XML Form. To ensure that you are using the correct format:

 In LiveCycle Designer, click File > Form Properties > Defaults, and ensure that the PDF Render/Format setting is set to Dynamic XML Form.

Best practices/tips and tricks

Set the default subform binding

When creating target areas in LiveCycle Designer, it helps to set the default binding for all new subforms to "none". To set the default binding:

  1. In LiveCycle Designer, click Tools > Options > Data Bindings > Subform Binding.

  2. In the Default Binding for New Subforms list, select No Data Binding.

    This ensures that subforms inserted using the Insert > Subform command or by drag-and-drop from the Object Palette has a binding of "none" by default. This means that by default, any new subform is a target area unless you add content to it, change its binding setting, or name the subform with an "_int" suffix.

Section 508-compliance

If the finished letter created in the Create Correspondence user interface is used for filling in a later workflow. Follow these recommendations related to Section 508 when creating the layout. Otherwise, the letter PDF is for display, and you can disregard these recommendations:

  • All target area subforms and all fields in a layout have a tab order.

  • Fields with captions are 508-compliant by default. The field’s /field/assist/speak@priority attribute is set to "custom" by default, which means that, unless custom screen reader text is supplied, the screen reader reads the field’s caption.

  • Fields without captions specify a tool tip and indicate that screen readers read the tool tip by setting /field/assist/speak@priority="toolTip" and specifying tool tip text in /field/assist/toolTip.

Date formats in Designer and Asset Configuration Manager

While designing a layout in LiveCycle Designer, ensure that the formats for date fields match the date formats specified in the Asset Configuration Manager. For more information, see “Formatting field values and using patterns” in LiveCycle Designer Help.

Capturing date ranges

When dealing with a combination of dates, such as startDate - endDate, use a single subform to ensure correct alignment in the finished letter, and to minimize the number of fields.

Setting form-level binding

When a layout contains many fields and target areas that are mapped to single XML elements, use form-level binding and create a separate node for each element. Fields that are bound at the form level are ignored when mapping data in Correspondence Management.

Do not use subform target areas in a master page

Subform targets areas in a master page are not visible in the Manage Assets user interface and data cannot be mapped to them.

Choosing appropriate positions and types for target areas

When designing the layout, take care when choosing subforms. If the layout contains a single subform, it can be a flowed type. After you position fields in the subform, you can wrap it in another subform so that the wrapped subform is also flowed and the layout will not be disturbed.

Placing fields on master pages

Note the following when you place a field on a master page:

  • Set the binding of master page fields to Use global data

  • Do not place the field directly under the root PageArea of the master page.

  • Wrap the field in a named subform and ensure that the binding of the named subform is set to Use name.

// Ethnio survey code removed