bb c Correspondence Generation Building Block Technical Guide for

bc
Technical Guide for
Correspondence Generation Building Block
February 2010
© 2010 Adobe Systems Incorporated. All rights reserved.
Technical Guide for Correspondence Generation Building Block for Microsoft® Windows®, Mac OS, and UNIX®
Edition 2.0, February 2010
This getting started guide is licensed for use under the terms of the Creative Commons Attribution Non-Commercial 3.0 License. This
License allows users to copy, distribute, and transmit the guide for noncommercial purposes only so long as (1) proper attribution to Adobe
is given as the owner of the guide; and (2) any reuse or distribution of the guide contains a notice that use of the guide is governed by these
terms. The best way to provide notice is to include the following link. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/.
Adobe, Adobe logo, and LiveCycle are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States
and/or other countries. Mac OS is a trademark of Apple Inc., registered in the United States and other countries. Microsoft and Windows
are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. UNIX is a registered
trademark of The Open Group in the US and other countries. All other trademarks are the property of their respective owners.
Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA.
3
Contents
1. Getting started
........................................................................................................................... 4
2. Correspondence Generation basics
....................................................................................................... 6
3. What’s in the Correspondence Generation building block
................................................................................ 8
4. Building block deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Step 1. Configure the deployment environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Step 2. Deploy the building blocks
Uninstalling the building blocks
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5. How Correspondence Generation works
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6. Creating content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Defining repository structure and content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Customizing the tag library
Creating fragments
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7. Starting a new letter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Creating the letter content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Creating the letter template
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Creating the letter filling experience
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8. The Correspondence Generation samples
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Appendix - Manual deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Optional - Manual Uninstall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Appendix - Ant properties
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Appendix - Building Correspondence Generation components
Appendix - The installation framework
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4
1. Getting started
This documentation introduces the Correspondence Generation building block, and guides the reader through deployment of the components and assets. To learn more about the solution accelerator program, see Adobe Solution Accelerators.
Who should read this documentation
This documentation is intended for anyone developing a solution that implements the Correspondence Generation building block. After
reading this documentation, readers will know how to use the components, resources, and assets included in the building block.
The Correspondence Generation building block enables practice leads and architects to accelerate the design, development, and deployment
of Adobe LiveCycle ES2 solutions for correspondence generation. This documentation provides guidance on the best starting points and
the resources available as part of this building block.
After reading this documentation, a reader will know what is included in the building block, how to install (deploy) the contents of the kit,
and what steps to take to begin developing a solution based on this building block.
File path conventions
This documentation uses the following naming conventions for common file locations.
Name
Default value
Description
[LiveCycleES2
root]
Windows:
C:\Adobe\Adobe LiveCycle ES2\
The installation directory is used for all LiveCycle ES2 solution components. This directory contains subdirectories for LiveCycle Configuration
Manager, the LiveCycle ES2 SDK, and each installed LiveCycle ES2 solution component.
[appserver root]
This path is an example installation location; your install location may be
different.
The home location of the application server that runs the LiveCycle ES2
services.
[LiveCycleES2 root]\jboss
[sa_root]
This file path is an example installation location; your installation location The root location of the solution accelerators components and assets.
may be different.
C:\sa
Using this documentation
This guide describes best practices at the time of authoring. As improved ways to implement solutions with LiveCycle ES2 are discovered,
the assets that are associated with the building block will be updated to provide the most current information about solution implementation
with LiveCycle ES2.
Installation and deployment of this building block is described in “Building block deployment” on page 11.
CORRESPONDENCE GENERATION BUILDING BLOCK
Getting started
5
Technical Guide for Correspondence Generation
Overview documentation is available for architects and others who need to understand the entire solution and how it addresses real-world
business problems. Guides such as the Solution Guide for Adobe Solution Accelerators provide industry-specific use case examples, and
explain how to use building blocks to implement a solution.
Support and resources
Architects, designers, and developers have access to a range of support and resources through Adobe and its partner community.
LiveCycle ES2 training
Instructor-led training for LiveCycle ES2 is available from Adobe Authorized Training Partners. The courses include these LiveCycle ES2
topics:
•
•
•
Building Applications
Designing Forms
Developing Forms
Adobe system integrators
Adobe partners with leading companies in many industries. Maximize your technology investment by connecting with our partners who
provide product training, sell, or integrate complete Adobe solutions.
Customer support
Customer support programs are available for LiveCycle ES2. Enterprise Developer Support is designed to solve the needs for the individual
and collaborative developer. Adobe Customer Care can help your IT organization design, plan, deploy, and maintain itsLiveCycle ES2 installations in the midst of rapidly changing business environments, while reducing development costs and maximizing return on investment.
Developer community support
LiveCycle ES2 developers can exchange problems and ideas with other developers through sites posted and maintained by Adobe, and the
user community.
Adobe developer connection
Join the Adobe developer community at Adobe Developer Connection. The LiveCycle Developer Center includes Quick Start content,
tutorials, videos, downloads, sample, technical guides, blogs, and much more.
User forum
You can post questions and share ideas with other solution accelerator users and developers in the Adobe Prerelease Community user forum
for Adobe Solution Accelerators and building blocks.
Blog
The Solution Accelerator blog contains information, insight, and best practices relating to the Adobe Solution Accelerators.
6
2. Correspondence Generation basics
The main purpose of the Correspondence Generation building block is to provide the following capabilities:
• Authoring Correspondence Templates
• Defining Correspondence filling experiences
• Generating personalized correspondence
The Correspondence Generation building block is a set of components that work together to provide the ability to create interactive correspondence solutions, including the following components:
A correspondence management model Flex library Contains fragment and letter creation APIs, and LiveCycle ES2 repository persis-
tence and query APIs (source code included)
A correspondence management layout Flex library Aform guide library containing custom correspondence wrappers, layouts, and
controls used for creation of the letter-filling experience. All source code is included.
An XFO Object library A set of Designer XFOs used to control the inclusion of fragments in a letter
An Adobe AIR import application A tool used to import correspondence management files into the LiveCycle ES2 repository and illus-
trates usage of the correspondence management model repository API
A Correspondence Generation XFA library Contains a Flex XFA authoring API
A repository tree A sample tree layout used as a basis for storing correspondence management structured applications
Samples Simple samples that illustrate the elements of fragment and letter template design and also the letter filling experience based on
form guide user interfaces
The building block is provided as part of the Adobe Solution Accelerator program, and contributes to the implementation of specific
solutions. Solution accelerators include several resources:
Solution template An example implementation of a solution for the business problem addressed by the solution accelerator, built using
one or more building blocks. The solution template is customizable and can be used as either an example of a solution or a basis for customization.
Getting Started Guide An introduction to the solution accelerator, including installation and configuration instructions.
CORRESPONDENCE GENERATION BUILDING BLOCK
Correspondence Generation basics
7
Technical Guide for Correspondence Generation
Solution Guide Explores a business problem in detail and maps out a comprehensive implementation strategy.
Building blocks The reusable technical resources that are provided with Adobe Solution Accelerators. They include the resources that add
extended functionality to LiveCycle ES2.
A solution architect uses the solution accelerator, and its assets and guides to design a solution. A developer uses the building blocks to create
or customize the solution.
8
3. What’s in the Correspondence Generation
building block
Adobe Solution Accelerators are a combination of extensible code and best-practice methodologies that are created to help customers reduce
development time and increase the quality of their enterprise applications. Adobe Engineering, with input from Adobe Consulting and
Adobe enterprise partners, develop the solution accelerators. They are designed to be extended and customized by customers or partners.
Solution accelerators include a set of resources, which can be downloaded from Adobe Developer Connection. The solution accelerator
contains the following components:
Solution, Getting Started, and Technical Guides Created for project managers and technical architects, these guides help with requirements-gathering, technical integration, and project planning. They provide in-depth information and helpful resources, such as use cases,
diagrams, planning templates, and requirements’ checklists, that can be used in organizing and managing a project rollout.
Solution template An example implementation of a solution for the business problem solution accelerator addresses, built by using one or
more building blocks. The solution template is customizable and can be used as either an example of a solution or a basis for customization.
Building blocks Provide the technology assets that contribute to the creation of the solution that is defined in the solution accelerator.
Building blocks are predefined, developed, and tested assets that can be leveraged to perform specific business functions. They are not
vertical application specific, but horizontal in nature. This is supported by technical documentation that explain how assets can be
customized for developing proof of concepts.
CORRESPONDENCE GENERATION BUILDING BLOCK
What’s in the Correspondence Generation building block
9
Technical Guide for Correspondence Generation
Correspondence Generation building block directory structure
The Correspondence Generation building block includes all the components, assets, tools, and APIs that you require to build a human
capital solution by using LiveCycle ES2. The SDK structure is designed to make it easy to find files and assets when you need them.
Directory
Description
\sa
The root directory for solution accelerators, solution templates, and building blocks.
\sa\building_blocks
The root directory for building blocks. Building blocks include resources that can be shared among solution accelerators.
\sa\building_blocks\cgr_2_0
The root directory for the Correspondence Generation building block
\sa\building_blocks\cgr_2_0\cgrAsdoc
ASDocs build files
\sa\building_blocks\cgr_2_0\cgrImport
cgrImport build files
\sa\building_blocks\cgr_2_0\cgrLayouts
cgrLayout build files
\sa\building_blocks\cgr_2_0\cgrModel
cgrModel build files
\sa\building_blocks\cgr_2_0\cgrXfa
cgrXFA build files
\sa\building_blocks\cgr_2_0\dist
Installation components, including DSC, LCA, JAR, WAR, and EAR files
\sa\building_blocks\cgr_2_0\install
XML and properties files used during deployment and compilation
\sa\building_blocks\cgr_2_0\libs
SWC resources
\sa\building_blocks\cgr_2_0\objectLibrary
Object library for import into Designer ES2
\sa\building_blocks\cgr_2_0\repository
Repository content files
\sa\building_blocks\cgr_2_0\samples
Sample application and collateral
\sa\install
XML and properties files used during deployment and compilation
\sa\tools
Third-party libraries, build utilities, and other custom utilities
Correspondence Generation building block resources
The Correspondence Generation building block includes applications, processes, samples, and resources that support correspondence
generation activities. The following resources are included in the building block:
CMG Object Library This object library is imported into Workbench ES2 to provide tools that you use to add and qualify body content in
a letter template.
CGRImport Utility A utility for importing content into the LiveCycle ES2 repository. The tool automatically assigns a type to the content
that it imports, so that it is usable by CCRContentCreator. XDPs that contain what the API identifies as a paragraph fragment will be typed
as such so that you can edit them in CCRContentCreator.
Content Creator This utility is delivered with the Content creation building block, but is used by Correspondence Generation building
block, so is included in this list.
Customer communications Call Application A sample application that simulates a customer support desk, and the production of a custom
letter based on the data captured by the support representative.
Correspondence samples Templates, document fragments, and a customizable tag library.
CORRESPONDENCE GENERATION BUILDING BLOCK
What’s in the Correspondence Generation building block
•
•
•
•
Technical Guide for Correspondence Generation
CmStartingPoint
Custom Communications
Family Assist
Insuricorp
LiveCycle ES2 repository tree Provides base assets for generating correspondence using LiveCycle ES2. Contains framework directory
structure, and promotes re-use of assets.
•
•
•
/cm/baseline: The base correspondence template from which all correspondence templates should be built.
•
/cm/samples: Four small samples that show-case various capabilities of the Correspondence Generation building block tools
/cm/content: Empty folder ready for storing new correspondence templates and content.
/cm/share: Correspondence Generation components for templates (fragments) and form guides (specialized XFA, Model and form
guide libraries)
10
11
4. Building block deployment
Building blocks are included and deployed with the solution accelerators. If the building blocks are customized, or required for a new
solution accelerator, they can all be downloaded in a single archive file. From this archive, any or all of the building blocks can be deployed.
Configuration and deployment of the building blocks involves the following tasks:
Step 1. Configure the deployment environment
Step 2. Deploy the building blocks
To install, configure, and use the building blocks, have the appropriate developer tools installed and available, and follow the deployment
steps. These steps include installing prerequisite software and ensuring that the developer tools and LiveCycle ES2 services are available.
Step 1. Configure the deployment environment
Before engaging in a solution accelerator project, a developer should have done the following tasks:
•
•
Worked through, and understood the concepts in the LiveCycle ES2 Getting Started guides
Attended LiveCycle ES2 training
LiveCycle ES2 requirements
The building block assets requires a LiveCycle ES2 installation. It is recommended that you create separate development, test, pilot, and
production installations. Your environment should have at least the following LiveCycle ES2 solution components installed:
For Common building block:
•
Adobe LiveCycle Process Management ES2
For Content Creation building block:
•
No LiveCycle ES2 services required.
For Correspondence Generation building block:
•
•
•
Adobe LiveCycle Forms ES2
Adobe LiveCycle Output ES2 (only required for the Custom Communications sample.)
Adobe LiveCycle Process Management ES2
For On-Demand Assembly building block:
•
•
Adobe LiveCycle Forms ES2
Adobe LiveCycle Output ES2
For Review, Commenting, and Approval building block:
•
•
•
Adobe LiveCycle Forms ES2
Adobe LiveCycle PDF Generator ES2
Adobe LiveCycle Process Management ES2
CORRESPONDENCE GENERATION BUILDING BLOCK
Building block deployment
12
Technical Guide for Correspondence Generation
For Selection and Capture building block:
•
•
•
•
Adobe LiveCycle Content Services ES2
Adobe LiveCycle Digital Signatures ES2
Adobe LiveCycle Reader Extensions ES2
Optional:
•
•
Adobe LiveCycle PDF Generator ES2
Adobe LiveCycle Barcoded Forms ES2: Required to enable users to submit supporting document offline
Developer and installation tools
You must have the following tools installed and available in your development environment:
For all building blocks:
•
•
Adobe LiveCycle Workbench ES2 on a development computer with access to the LiveCycle ES2 repository.
Adobe Flash® Player - version 9.0.151.0 or later. Download from http://www.adobe.com/products/flashplayer/.
For Content Creation building block and Correspondence Generation building block:
•
•
•
Adobe AIR - version 1.5.0.7220 or later, available from http://get.adobe.com/air/
Adobe Acrobat® Professional version 9.0 or later
Adobe Designer ES (8.2.1.2) and Adobe Designer ES2
For On-Demand Assembly building block:
•
•
•
•
Adobe Flex® Builder™ 3.0.1 or later
Adobe Reader® version 8.1.3 or later. Download from http://www.adobe.com/products/reader/.
Adobe Designer ES2 on a development computer with access to the LiveCycle ES2 repository.
A JSP editor on a development computer to create the DXFA and CSC files
For Review, Commenting, and Approval building block:
•
•
Adobe Flex® Builder™ 3.0.1 or later
Adobe Reader® version 8.1.3 or later. Download from http://www.adobe.com/products/reader/.
For Selection and Capture building block:
•
•
Adobe Flex Builder™ 3.0.1or later
Adobe Reader® version 8.1.3 or later. Download from http://www.adobe.com/products/reader/.
Browsers
The building blocks have been designed to support the browsers supported by LiveCycle ES2.
Download and extract the building blocks
Download and extract the building block distribution file, building_blocks_2_0.zip, to a local folder. The folder where the files are extracted
could be on your LiveCycle ES2 server, as you need to deploy resources to the application server. If the files are extracted to a different
computer, such as a developer computer, you need access to the LiveCycle ES2 server to complete the deployment.
The solution accelerator root folder is identified in these instructions as [sa_root].
CORRESPONDENCE GENERATION BUILDING BLOCK
Building block deployment
13
Technical Guide for Correspondence Generation
Configure the application server
The following building blocks require application server configuration. Configure your application server as described here.
•
•
•
•
Common building block
On-Demand Assembly building block
Review, Commenting, and Approval building block
Selection and Capture building block
Configure JBoss application server
For Red Hat® JBoss® Application Server, no specific configuration is required.
Configure WebSphere application server, XA Data Source in WebSphere/DB2
For IBM® WebSphere® Application Server, create a data source with the name SA_DS that points to the database identified by IDP_DS data
source. Make sure that the SA_DS data source uses an XA data source provider that supports 2 Phase Transaction Commits.
WebSphere users require an XA data source to access the database tables in the LiveCycle ES2 database. They cannot use the default NonXA LiveCycle IDP_DS data source because of a known issue in WebSphere with Non-XA data source. The following instructions guide you
through creating the XA Data Source (the JNDI name SA_DS) in WebSphere for a DB2 database.
Configuring an XA data source involves creating a DB2 JDBC provider and then creating the XA data source using the new JDBC provider.
Both tasks are detailed in the two procedures that follow:
Create a DB2 JDBC provider:
1
Log in to WebSphere Integrated Solutions Console with your user ID.
2
In the WebSphere Administrative Console navigation tree, click Resources > JDBC > JDBC Providers.
3
In the drop-down list in the right pane, select Node=[appropriate node name] and then click New.
4
Click New, set the JDBC provider configuration, and then click Next.
Scope: cells:solutionstestNode01Cell:nodes:solutionstestNode01
Database type: DB2
Provider Type: DB2 Universal JDBC Driver Provider
Implementation Type: XA data source
Name: DB2 Universal JDBC Driver Provider (XA)
Description: Two-phase commit DB2 JCC provider that supports JDBC 3.0. Data sources that use this provider support the use of XA
to perform 2-phase commit processing. Use of driver type 2 on the application server for z/OS is not supported for data sources created
under this provider.
5
Enter the database class path information, and then click Next.
Class path: ${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc.jar ${UNIVERSAL_IDBC_DRIVER_PATH}/db2jcc_license_cu.jar
${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cisuz.jar
Directory location: On Windows, by default, this folder is at C:/Program Files/IBM/db2cmv8/lib/.
6
Verify the summary and click Finish.
7
In the Messages box at the top of the page, click Save directly to master configuration. The XA JDBC provider is now created.
Create the XA data source:
1
In the navigation tree, click Resources > JDBC > Data Sources.
CORRESPONDENCE GENERATION BUILDING BLOCK
Building block deployment
14
Technical Guide for Correspondence Generation
2
In the Data Sources pane, select the same scope similar to the scope of LiveCycle - db2 - IDP_DS data source,
Node=[appropriate node name], and then click New.
3
Enter the data source details, and then click Next.
Scope: cells:solutionstestNode01Cell:nodes:solutionstestNode01
Data source name: SA_DS
JNDI name: SA_DS
4
Select Select an existing JDBC provider and, from the list, select the XA JDBC Provider that you created.
5
Click Next, enter the database-specific properties, and then click Next again.
Database name: [name]
Driver type: 4
Server name: [server name]
Port number: 50000
Select Use this data source in container managed persistence (CMP).
6
Click Next, enter the Setup security aliases properties:
Authentication alias for XA recovery: IDP_DS/db2-db2admin
Component managed authentication alias: IDP_DS/db2-db2admin
Mapping-configuration alias: none
Container-managed authentication alias: IDP_DS/db2-db2admin
7
Click Next.
8
Verify the Summary of actions and click Finish.
9
Click Save to save the changes. The new data source, SA_DS is created.
10 Select SA_DS from the list of data sources and click Test Connection to test the data source.
Configure WebLogic application server
LiveCycle ES2 supports WebLogic Server® 10.3. Install a patch on the WebLogic Server, Patch ID: IQXV.
This is a private patch by Oracle. Use the smart updater utility bundled in the WebLogic installation, log in using their support credentials,
download, and apply this patch. The patch is not effective if the managed server’s classpath is overridden. In this case, prepend (not append)
the classpath with the patch jar. After the server’s classpath has the patch jar included, restart the server.
If you don’t install this patch, at the time of deploying adobe-bb-oda-app-weblogic.ear, the following exception is thrown:
An error occurred during activation of changes, please see the log for details.
weblogic.application.ModuleException:
com.ctc.wstx.stax.WstxInputFactory cannot be cast to javax.xml.stream.XMLInputFactory
Deployment by the installation framework requires exclusive access to the domain edit lock. If the domain edit lock is owned by another
session in non-exclusive mode, the deployment can fail. If you are using “Automatically Acquire Lock and Activate Changes” in the console,
then the lock will expire shortly so you may need to retry this operation. The best practice is to ensure that the domain edit lock is available
and exclusive. This is an issue with WebLogic and is a Deployer Subsystem Messages. It is mentioned in BEA WebLogic Server Documentation.
Step 2. Deploy the building blocks
Deploying any solution or building block involves several specific steps. These steps are categorized in three sections:
CORRESPONDENCE GENERATION BUILDING BLOCK
Building block deployment
1
15
Technical Guide for Correspondence Generation
Deployment
Deployment can be based on the installation framework that automatically deploys all of the assets of the solution. Alternatively, users
may choose to do a manual deployment. The deployment section has following steps categorized in following sections. Optional steps
are marked as optional:
The installation framework-based deployment has following steps:
•
•
•
Edit the Ant properties
Configure the building blocks
Run the install script
Manual deployment has the following steps:
2
• Install the components manually
Post-installation configuration
Acronym usage
The following acronyms identify the building blocks in many of the command-line commands:
•
•
•
•
•
•
cmn represents Common building block
ccr represents Content Creation building block
cgr represents Correspondence Generation building block
oda represents On-Demand Assembly building block
rca represents Review, Commenting, and Approval building block
snc represents Selection and Capture building block
Deployment
The building blocks are part of the Adobe Solution Accelerator program. All solution accelerators and building blocks share resources,
including deployment resources.
To successfully install the building blocks and the solution template, adjust the configuration settings as described in the following sections.
Configure the ant.properties
To prepare for deployment, configure the values of the installation properties by editing the file [sa_root]\install\ant.properties. Many of the
defaults can be left unchanged, but all values should be validated for your LiveCycle ES2 environment. Complete details about this file are
available in Appendix - Ant properties.
LiveCycle ES2 Turnkey installation properties
For a standard LiveCycle ES2 turnkey installation, the following properties in [sa_root]\install\ant.properties should be validated and edited
as required.
Property name
Description
Required
lc.sdk
Location of LiveCycle ES SDK. LiveCycle ES SDK is also Yes
located in the Workbench ES2 install folder.
Default value
C:/Adobe/Adobe LiveCycle
ES2/LiveCycle_ES_SDK
CORRESPONDENCE GENERATION BUILDING BLOCK
Building block deployment
Technical Guide for Correspondence Generation
LiveCycle ES2 server properties
The following LiveCycle ES2 properties in [sa_root]\install\ant.properties should be validated and edited as required.
Property name
Description
Required
Default value
lc.sdk
Location of LiveCycle ES SDK. LiveCycle ES SDK is also Yes
located in the Workbench ES2 install folder.
C:/Adobe/Adobe LiveCycle
ES2/LiveCycle_ES_SDK
server.type
Type of the application server. Only jboss, websphere, Yes
or weblogic are supported
jboss
server.hostname
LiveCycle ES2 server host name
Yes
localhost
server.http.port
LiveCycle ES2 server http listener port
Yes
8080
server.username
LiveCycle ES2 user name with administrative rights
Yes
administrator
server.password
Password for the user, specified using server.username parameter
Yes
password
WebLogic-specific properties
For a LiveCycle ES2 installation, on WebLogic application server, the following properties in [sa_root]\install\ant.properties should be
validated and edited as required.
Property name
Description
Required
Default value
weblogic.location
Location of the WebLogic application server. For
example ${env.WL_HOME}or C:/Weblogic_install
No
${env.WL_HOME}
WebLogic administrator user name
No
weblogic.user
Required only if
server.type is weblogic
weblogic
Required only if
server.type is weblogic
weblogic.password
WebLogic administrator password
No
weblogic
Required only if
server.type is weblogic
weblogic.adminurl
WebLogic admin url. The value is localhost, as remote No
deployment is not supported
Required only if
server.type is weblogic
t3://localhost:7001
weblogic.targets
WebLogic server instance
myserver
No
Required only if
server.type is weblogic
16
CORRESPONDENCE GENERATION BUILDING BLOCK
Building block deployment
17
Technical Guide for Correspondence Generation
WebSphere-specific properties
For a LiveCycle ES2 installation, on WebSphere application server, the following properties in [sa_root]\install\ant.properties should be
validated and edited as required.
Property name
Description
Required
Default value
websphere.location
Install location for WebSphere application server
No
${env.WAS_HOME}
Required only if
server.type is websphere
websphere.host
Hostname for WebSphere
No
localhost
Required only if
server.type is websphere
websphere.port
websphere.user
SOAP connector port for WebSphere. Please note
that it is not http port, it is a soap connector port
No
WebSphere administrator user name
No
8880
Required only if
server.type is websphere
system
Required only if
server.type is websphere
websphere.password
WebSphere administrator password
No
manager
Required only if
server.type is websphere
websphere.profile.name
Name of WebSphere server profile
No
AppSrv01
Required only if
server.type is websphere
Configure the email service
You can configure LiveCycle EmailService using Ant based install. To configure EmailService, set the configure.email.service flag to true in
[sa_root]\install\ant.properties. Modify other required properties based on the following table:
Property name
Description
Required
Default value
configure.email.service
If this flag is true, install configures the LiveCycle
EmailService. If EmailService configuration is not
required, set this value to false. If EmailService is
already configured, then also set it to false.
Yes
false
email.smtp.host
Host name for SMTP Server
Yes
email.smtp.port
SMTP port number for the server
Yes
email.smtp.authenticate
Set this flag to true, if SMTP server requires authenti- Yes
cation
email.smtp.user
The user name is used to authenticate to SMTP server. Required only if
email.smtp.authenticate
is true
email.smtp.password
The password is used to authenticate to SMTP server. Required only if
email.smtp.authenticate
is true
25
true
CORRESPONDENCE GENERATION BUILDING BLOCK
Building block deployment
18
Technical Guide for Correspondence Generation
Configure the database connection settings
Validate, and modify the database properties to match your environment, based on the following table:
Property name
Description
Required
Default value
database.driver.jar
Database driver location
Yes
C:/Adobe/Adobe LiveCycle
ES2/jboss/server/lc_turnkey/lib/mysqlconnector-java-5.1.6-bin.jar
database.driver.class
Database driver class
Yes
com.mysql.jdbc.Driver
database.connection.url
Database connection URL
Yes
jdbc:mysql://localhost/adobe
database.username
Database user name for authentication
Yes
adobe
database.password
Database password
Yes
password
Optional - Remote deployment properties
Remote deployment of enterprise applications is not supported for WebLogic and WebSphere application servers using Ant-based
deployment. For deployment to JBoss application server, the remote server must have access credentials to the path configured for ear
deployment.
To use Ant deployment on a remote server, set the flag export.ears.only=true in the file [sa_root]\install\ant.properties. This creates a folder
named “export” inside [sa_root]. All of the deployable ears are copied to this location. Users are expected to deploy them manually.
If deployment is run for a second time with the export.ears.only property set to true, delete the previous instance of the export folder (if one
exists) before running the deployment. The second deployment does not over-write the first instance of the export folder.
Import Reader Extensions
Ant-based installation downloads trial Reader Extensions ES2 credential from adobe.com and imports them to LiveCycle ES2 using the
RE_SA_ALIAS alias. The download requires an internet connection. If internet connection is not available, then set re.cert.source=none in
the file [sa_root]\install\ant.properties.
The user may also provide an existing Reader Extensions ES2 certificate in the trust store to create RE_SA_ALIAS. For more advanced
options, refer to Appendix - Ant properties.
Property name
Description
Required
Default value
re.cert.alias
Reader Extension Alias. This alias name is used to
import the Reader Extensions ES2 certificate.
No
RE_SA_ALIAS
re.cert.url
LiveCycle ES2 trial Reader Extensions ES2 certificate
will be downloaded from cert.url.
No
http://www.adobe.com/go/reader_ext_ce
rt
re.cert.source
Source of the Reader Extensions ES2 certificate.
No
Possible values are: file, url. If the value is url, then the
value of re.cert.url is used. If the value is set to file,
then re.cert.file and re.cert.password properties will
be used. Any other value means that a
Reader Extensions ES2 certificate is not imported.
re.cert.file
The cert file path. For example: C:/sa/cert.pfx or
C:/sa/cert.cer
Required only if
re.cert.source=file
re.cert.password
The password for the certificate in clear text. For
example: password
Required only if
re.cert.source=file
url
CORRESPONDENCE GENERATION BUILDING BLOCK
Building block deployment
19
Technical Guide for Correspondence Generation
Importing demo assets
By default, the install script installs demo assets, including demo user database, sample orchestrations, and other demo related artifacts. To
turn off demo assets deployment, set deploy.demo.assets=false in [sa_root]\install\ant.properties.
Optional - Configure Common building block
The file [sa_root]\install\CMNConfig.xml contains values for configuring the following Common building block services:
• Nonce Manager
• Configuration Manager
While many of the default values may be correct for your environment, modify the values of these properties to match your environment,
as needed.
Parameter Name
Module Name
Description
Default Value
dbSchemaOwner
NonceManager
Name of the database schema owner, in case, you have used a
username other than the schema owner while creating the
datasource.
None.
dbSchemaOwner
ConfigurationManager
Name of the database schema owner. If you have used a username other than the schema owner while creating the datasource, then set the schema owner.
None
configFileLocation
ConfigurationManager
Location of configuration files in LiveCycle ES2 repository. The /Applications/BBCommon Configuration service, stores all the db based config- Common/1.0/resources/config
uration files in the LiveCycle ES2 repository.
Do not change this value. It is given here for reference. In case
you want to change any db based configuration file, import
these files into a LiveCycle ES2 Application. Modify and redeploy the application to change the configuration. For more
details, refer to Technical Guide for Common Building Block.
Configure Content Creation building block
The Content Creation building block does not require any specific manual configuration.
Configure Correspondence Generation building block
While many of the default values may be correct for your environment, modify the values of these properties to match your environment,
as needed. See the full list of properties in Appendix - Ant properties.
Property name
Description
Required
Default
cgrImport.app.path
The path to the Adobe CGRImport.exe file, Yes
once the CGRImport.air application has
been installed
cgrImport.log.path
The path to the log file for the CGRImport
application
No
lc.designer.user.dir
The folder location for the default
Designer User Settings. If this property is
unset, empty, or invalid, the CGR Object
Library will not be installed
No
${env.APPDATA}/Adobe/Designer/8.2
flash.security.config.dir
Folder location for Flash Player Security
Configuration Files (required for Family
Assist sample)
No
${env.APPDATA}/Macromedia/Flash
Player/#Security/FlashPlayerTrust
C:/Program Files (x86)/Adobe/CGRImport/CGRImport.exe
CORRESPONDENCE GENERATION BUILDING BLOCK
Building block deployment
20
Technical Guide for Correspondence Generation
Optional - Configure On-Demand Assembly building block
On-Demand Assembly does not require any manual configuration. The configuration file, [sa_root]\install\ODAConfig.xml, is generated
and overwritten automatically at deployment time.
Configure Review, Commenting, and Approval building block
The file [sa_root]\install\RCAConfig.xml contains values for configuring the following Review, Commenting, and Approval building block
services:
• RCACore
• ReviewZoneProvider
• ExternalUserRegistration
• BB-ReviewCommentingAndApproval/processes/notification/SendNotification
While many of the default values may be correct for your environment, modify the values of these properties to match your environment,
as needed. See the full list of properties in Appendix - Ant properties.
Parameter Name
Module Name
Description
Default Value
useReaderExtension
RCACore
If set, the Review Document will be Reader Extended using the false
readerExtensionCredential (another configuration of RCACore)
as the Trust Store Alias.
readerExtensionCredential
RCACore
The Trust Store Alias of the Reader Extension Credential which
is used for Reader Extending the Review Document provided
useReaderExtension (another configuration of RCACore) is set
to true.
RE_SA_ALIAS
rzpWebDavLocation
ReviewZoneProvider
Used only when Content Services ES2 based ReviewZoneProvider is used. This configuration is the root webdav location of
ReviewZoneProvider.
http://localhost:8080/contentspace/webdav/RCA
emailTemplateLocation
BB-ReviewCommentingAndApproval/processes/notification/SendNotification
The repository location of templates used to send emails. This
location must be a repository location and contain Velocity
templates for emails.
/Applications/BB-ReviewCommentingAndApproval/1.0/resources/templates/email
/
fromAddress
BB-ReviewCommentingAndApproval/processes/notification/SendNotification
The from address used in the notification emails.
[email protected]
lcWorkspaceUrl
BB-ReviewCommentingAndApproval/processes/notification/SendNotification
URL of Workspace ES2. This is injected in the notification emails http://localhost:8080/workspace
when a new review or approval task is assigned to a participant.
Configure Selection and Capture building block
Selection and Capture-specific installation properties are listed in the file [sa_root]\install\snc.ant.properties. The following properties
should be validated and modified as required. See the full list of properties in Appendix - Ant properties.
Property name
Description
Required
Default
Invoker.DSC_DEFAULT_EJB_ENDPOINT
The endpoint of LiveCycle ES2 server to
which the Invoker communicates
Yes
jnp://localhost:1099
Invoker.DSC_TRANSPORT_PROTOCOL
The transport protocol used by Invoker to
communicate to LiveCycle ES2 server
Yes
EJB
Invoker.DSC_SERVER_TYPE
The type of LiveCycle ES2 server: JBoss,
WebSphere, or WebLogic
Yes
JBoss
CORRESPONDENCE GENERATION BUILDING BLOCK
Building block deployment
21
Technical Guide for Correspondence Generation
Property name
Description
Required
Default
Invoker.DSC_CREDENTIAL_USERNAME
LiveCycle ES2 user name with DSC Invoca- Yes
tion rights. Defaults to the user with
administrative privileges.
administrator
Invoker.DSC_CREDENTIAL_PASSWORD
Password for the user
Yes
password
snc.data.store.dir
The storage location at LiveCycle ES2
server
Yes
C:/Adobe/Adobe LiveCycle
ES2/jboss/server/lc_turnkey/svcnative/
Deploy the building blocks
Building blocks are deployed individually, but some building blocks have dependencies on other building blocks. Follow the instructions
that match your building block requirements.
Remote deployment of enterprise applications is not supported for WebLogic and WebSphere application servers using Ant-based
deployment. For deployment to JBoss application server, the remote server must have access credentials to the path configured for ear
deployment.
To use Ant deployment on a remote server, set the flag export.ears.only=true in the file [sa_root]\install\ant.properties. This creates a folder
named “export” inside [sa_root]. All of the deployable ears are copied to this location. Users are expected to deploy them manually.
Deploy all building blocks
Deploy all building blocks on the Windows operating system:
1
Open a Command Prompt window.
2
Change the current directory to [sa_root]\install
3
At the prompt, enter and run:
install
install
install
install
install
install
-Ddeploy.list=cmn
-Ddeploy.list=oda
-Ddeploy.list=rca
-Ddeploy.list=snc
-Ddeploy.list=ccr
-Ddeploy.list=cgr
Deploy all building blocks on the Unix or AIX operating systems:
1
Open a shell console
2
Change the current directory to [sa_root]/install
3
Run
chmod 777 install.sh
./install.sh -Ddeploy.list=cmn
./install.sh -Ddeploy.list=oda
./install.sh -Ddeploy.list=rca
./install.sh -Ddeploy.list=snc
Note: The Content Creation (ccr) and Correspondence Generation (cgr) building blocks must be deployed from a Windows operating system.
The building blocks are now deployed.
Deploy Common building block
Deploy Common building block on the Windows operating system:
1
Open a Command Prompt window.
CORRESPONDENCE GENERATION BUILDING BLOCK
Building block deployment
2
Change the current directory to [sa_root]\install
3
At the prompt, enter and run:
Technical Guide for Correspondence Generation
install -Ddeploy.list=cmn
Deploy Common building block on the Unix or AIX operating systems:
1
Open a shell console
2
Change the current directory to [sa_root]/install
3
Run
chmod 777 install.sh
./install.sh -Ddeploy.list=cmn
The Common building block is now deployed.
Deploy the Content Creation building block
Content Creation building block must be deployed done from a Windows operating system.
Note: Installing Content Creation building block will automatically install Correspondence Generation building block, so Correspondence
Generation does not need to be installed separately, if Content Creation building block is installed.
Deploy Content Creation on the Windows operating system:
1
Open a Command Prompt window.
2
Change the current directory to [sa_root]\install
3
At the prompt, enter and run:
install -Ddeploy.list=ccr
The Content Creation building block is now deployed.
Deploy the Correspondence Generation building block
Correspondence Generation building block must be deployed from a Windows operating system.
Note: Installing Content Creation building block will automatically install Correspondence Generation building block, so Correspondence
Generation does not need to be installed separately, if Content Creation building block is installed.
Deploy Correspondence Generation on the Windows operating system:
1
Open a Command Prompt window.
2
Change the current directory to [sa_root]\install
3
At the prompt, enter and run:
install -Ddeploy.list=cgr
The Correspondence Generation building block is now successfully deployed.
Deploy the On-Demand Assembly building block
Deploy On-Demand Assembly on the Windows operating system:
1
Open a Command Prompt window.
2
Change the current directory to [sa_root]\install
3
At the prompt, enter and run:
install -Ddeploy.list=cmn
install -Ddeploy.list=oda
22
CORRESPONDENCE GENERATION BUILDING BLOCK
Building block deployment
Deploy On-Demand Assembly on the Unix or AIX operating systems:
1
Open a shell console
2
Change the current directory to [sa_root]/install
3
Run
chmod 777 install.sh
./install.sh -Ddeploy.list=cmn
./install.sh -Ddeploy.list=oda
The On-Demand Assembly building block is now successfully deployed.
Deploy the Review, Commenting, and Approval building block
Deploy Review, Commenting, and Approval on the Windows operating system:
1
Open a Command Prompt window.
2
Change the current directory to [sa_root]\install
3
At the prompt, enter and run:
install -Ddeploy.list=cmn
install -Ddeploy.list=oda
install -Ddeploy.list=rca
Deploy Review, Commenting, and Approval on the Unix or AIX operating systems:
1
Open a shell console
2
Change the current directory to [sa_root]/install
3
Run
chmod 777 install.sh
./install.sh -Ddeploy.list=cmn
./install.sh -Ddeploy.list=oda
./install.sh -Ddeploy.list=rca
The Review, Commenting, and Approval building block is now successfully deployed.
Deploy the Selection and Capture building block
Deploy Selection and Capture on the Windows operating system:
1
Open a Command Prompt window.
2
Change the current directory to [sa_root]\install
3
At the prompt, enter and run:
install -Ddeploy.list=cmn
install -Ddeploy.list=oda
install -Ddeploy.list=snc
Deploy Selection and Capture on the Unix or AIX operating systems:
1
Open a shell console
2
Change the current directory to [sa_root]/install
3
Run
chmod 777 install.sh
./install.sh -Ddeploy.list=cmn
./install.sh -Ddeploy.list=oda
Technical Guide for Correspondence Generation
23
CORRESPONDENCE GENERATION BUILDING BLOCK
Building block deployment
24
Technical Guide for Correspondence Generation
./install.sh -Ddeploy.list=snc
Optional - Manual deployment
Deployment is typically done use the methods described in this section. However, if manual deployment is required, see Appendix - Manual
deployment.
Post-installation tasks
Handling solution accelerator updates
By default, the solution accelerator deployment process will not overwrite a previous installation, if the installed version and the incoming
version of the building blocks or solution accelerator are the same.
However, in the case of a version conflict, or if you want to force an overwrite of a previous installation, you can always undeploy and
redeploy the building block or solution accelerator.
Alternatively, you can change ant.properties value for force.asset.redeployment to true and deploy the solution accelerator again. It will now
overwrite any previous installation of the building blocks or solution accelerator.
Uninstalling the building blocks
To uninstall the building blocks and their resources, follow these instructions. These steps uninstall all building blocks. Remove the building
blocks that you do not want to uninstall from the deploy.list.
Uninstall the building blocks from Windows:
1
Open a command prompt.
2
Change the current directory to [sa_root]\install
3
Run
install undeploy -Ddeploy.list="rca,snc,ccr,cgr,oda,cmn"
Uninstall the building blocks from Unix or AIX:
1
Open shell console
2
Change the current directory to [sa_root]/install
3
Run
chmod 777 install.sh
./install.sh undeploy -Ddeploy.list="rca,snc,oda,cmn"
The building blocks are now uninstalled.
25
5. How Correspondence Generation works
Correspondence Generation is a building block built with a combination of various out-of-the-box LiveCycle ES2 components
(Designer ES2, Workbench ES2, Guide Builder, Workspace ES2, Forms ES2, and others), a Flex-based API for creating XFA content directly
in the LiveCycle ES2 repository. A Flex application called Content Creator is provided with the Content Creation building block for creating
paragraphs (XFA fragments containing rich text) that can be re-used in various letters.
The building block provides LiveCycle ES2 customers with an SDK that includes all of the tools they need to quickly get started in creating
paragraph content, and the letters that use them. Paragraph content can be hooked-up to live data in the letter using XFA’s floating field
technology, and letters can have data connections to schemas, databases, or web services. Since data is bound to fields in the letter and not
in the paragraph content, paragraphs can easily be re-used in multiple letters even if those letters use different data connections and data
bindings.
Solution developers can make use of Correspondence Generation queries. A query is defined in a letter and is executed during letter filling,
using a Form Guide designed to fill the letter with content. The result is a dynamic list of paragraphs (fragments from the Repository) based
on criteria such as tags assigned to the content using Content Creator. The major advantage over traditional fragments is that the letter does
not need to be modified to include new paragraphs or remove old ones that are no longer applicable.
Define the letterhead
Think of “letterhead” as a physical preprinted letter stock on which the letter contents are printed.
Define the letter template
The letter template is a form that defines the general layout of the letter and the letter content. This step also includes the definition of the
rules to decide whether a content piece should be included in any specific instance of a letter.
A standard Correspondence Generation base template is provided with this kit. The template is an XDP file that provides for standard
header and footer processing, fragment inclusion samples, and applicable scripting utilities.
By starting with a copy of the base template and replacing placeholder content within that base template with previously created content
fragments, you can create a “letter template”. This letter template is also an XDP file. The letter template contains control fields that allow for
the creation of a letter filling experience from which letters are created as PDFs or printed.
Define the letter filling experience
The next step is to define the letter filling experience. The target audience for the result is clerks or analysts who do not have any
LiveCycle ES2 expertise. The author of the “letter filling experience” must have that target audience in mind.
Given the Letter Template complete with control fields, the Guide Builder facility in Designer ES2 is used to create the letter filling
experience. That experience takes the shape of a form guide. Form guides are highly customizable so the variations possible in the letter
filling experience are quite wide. The submit operation of a form guide results in sending the captured data to a LiveCycle ES2 process.
Select a letter type to create
The next step is the letter filling experience that enables a user to select create a letter to create. The actual initiation of the letter filling
experience can be done using an external application that is part of your existing system (for example, a Customer Service Representative
System), a link on a web page, or as a “Start Process” task in Workspace ES2. Using Data Services ES2, it is easy to initiate a LiveCycle ES2
process, a process that might begin with a letter filling experience.
CORRESPONDENCE GENERATION BUILDING BLOCK
How Correspondence Generation works
26
Technical Guide for Correspondence Generation
Define the process
The seventh and final step is to create a process in Workbench ES2. What happens when a letter is filled? That is, some data was entered and
the appropriate letter content piece selections have been made? The letter is meant to go to its recipient but the corporation may have many
more things to do than just print the letter. The end operation of the letter filling experience is to submit the letter (its data) to a
LiveCycle ES2 process. The result is usually a printed or e-mailed, and possibly archived letter.
This is where the flexibility of the LiveCycle ES2 architecture really comes into play. As a developer, you can define a LiveCycle ES2 process
that does just about anything, for example:
•
•
•
•
•
•
Recreate the letter in flat (non-interactive) PDFs or print the letter using Output ES2.
Bundle the letter with other materials using Assembler.
Certify the letter using Digital Signatures ES2.
Add or extract metadata using the XMP Utilities service.
Create your own document services to update corporate databases.
Forward the letter to other users for approvals with a LiveCycle ES2 user-centric process.
The Correspondence Generation model
The runtime portion of correspondence management is the letter filling experience, which is an interactive process of filling in a letter to
create a piece of correspondence. This is all based on the layering of the following components.
CmBaseTemplate A reference template upon which a letter should be based
Designer CMG Object Library Includes CM Content and CM Query XFOs. Specially designed XFOs that are inserted into your letter to
define how and where the various correspondence fragments are incorporated into the letter
Custom Form Guide Users incorporate CmList and CmQuery controls that map to the XFOs
These are built using the following SDK libraries:
Flex XFA Authoring Library: Low-level Flex library that provides methods to create various XFA objects. Located in
[cgr root]\cgrXfa.
CmModel Library: Higher level library that provides methods to create correspondence generation-specific objects, such as letters and
fragments using the XFA library. Located in [cgr root]\cgrModel.
Layout Library: Higher level library, that uses CmModel library to build Guide controls that are used as part of the letter filling
experience. Located in [cgr root]\cgrLayouts.
CORRESPONDENCE GENERATION BUILDING BLOCK
How Correspondence Generation works
27
Technical Guide for Correspondence Generation
Flex XFA Authoring Library
The Flex XFA Authoring Library provides a standard subset of recognizable, tangible XFA objects implemented in Flex, including low-level
XFA authoring capabilities.
The library provides an XfaRichTextEditor control (extending the Flex RichTextEditor) which is used to convert between Flex and XFA Rich
Text. This library is used in the Content Creator tool, which is included in the Content Creation building block, to create new, and edit
existing paragraph fragments. It is used by the CmList and CmQuery control in correspondence filling experience form guides to edit
paragraph content in real time.
CORRESPONDENCE GENERATION BUILDING BLOCK
How Correspondence Generation works
28
Technical Guide for Correspondence Generation
CmModel Model Library
This library contains an object model best suited to creating fragments and letters to be combined into correspondence stored in the
LiveCycle ES2 repository.
Create new or load existing content fragments from the LiveCycle ES2 repository (com.adobe.solutions.cgr.model.frag)
• Paragraph (CmParaFrag)
• Image (CmImageFrag)
• Script Object (CmScriptObjFrag)
Tag and query content fragments and other assets directly in the LiveCycle ES2 repository. Create new or load existing assets from the
LiveCycle ES2 repository using the ICmRepository interface and the CmRepositoryFactory object (com.adobe.solutions.cgr.model.repository)
LiveCycle Designer CMG Object Library
This shared library contains a set of objects (XFOs) used to control the inclusion of content in a correspondence template.
CM Content Subform containing static content fragment references and special control fields to dictate how content is included in the
section (mandatory, optional, conditional, editable).
CM Query Subform containing dynamic content fragment references (determined at runtime based on query results rather than fragment
location paths) and special control fields to dictate how query results are included in the section (mandatory, optional, conditional, editable,
numbered/bulleted).
CORRESPONDENCE GENERATION BUILDING BLOCK
How Correspondence Generation works
29
Technical Guide for Correspondence Generation
The objects work in tandem with CmList and CmQuery controls in the correspondence filling experience form guide.
CmList The control manages content from CM Content objects in the correspondence template.
CmQuery The control manages content from CM Query objects in the correspondence template.
Flex Correspondence Filling Experience Library
This library contains enhanced controls and wrappers for creating correspondence filling experiences based on LiveCycle ES2 form guides.
CmAdjacentView wrapper Optional side-by-side view of the form guide and the PDF (WYSIWYG correspondence preview).
CmList control List view of content fragments (paragraphs, images, complex) to be included in the final correspondence (one for each CM
Content template object).
CmQuery control List view of results retrieved by a query on paragraph content fragments stored in the LiveCycle ES2 repository for
inclusion in the final correspondence (one for each CM Query template object).
30
6. Creating content
To create content for use in letters, complete the following tasks:
“Defining repository structure and content” on page 30
“Customizing the tag library” on page 30
“Creating fragments” on page 32
Defining repository structure and content
Content is stored in a folder structure within LiveCycle ES2 repository. A consistent folder structure helps keep projects organized, but you
can use whatever structure makes sense for your projects.
Set up the folder structure:
1
In Workbench ES2, set up a category folder in the Resources view for the new letter. Right-click the root folder in the Resources view,
and click New Folder. Provide a meaningful Folder Name such as myProjects. Click OK.
2
In the new category folder, create a folder for the new letter. Right-click the new category folder that you just created, and click New
Folder. Provide a meaningful Folder Name such as myLetter1. Click OK.
3
Under the new letter folder, create these subfolders:
•
•
•
•
data
doc
frag
res
Collect content for the letter:
1
Copy the text provided as input to the letter project into the doc folder.
2
Gather or establish some sample data files that you can use during development and testing. You can put the schema for the data files in
the data folder you just created for your new letter. It is possible to use a higher level corporate master schema. That is, you can store the
master schema in a higher level 'share' folder in the repository hierarchy. You can add a note to this effect in the doc folder you created
for your letter.
3
Copy images such as company logos into the res (resource) folder.
Customizing the tag library
Think of every letter as a project. Keep the collateral for a project in the LiveCycle ES2 repository as a record of the project and potentially
for review if updates are required. Many letters are related. It is worth the initial effort to come up with a categorization scheme for the letters.
This scheme can be hierarchical and represented as a folder structure in the repository.
Create tags to categorize fragments. Tags are persisted in the LiveCycle ES2 repository as custom properties that are saved with the asset.
Define tags in the file cm/system/cm_default_tags.xml, in the repository. The tags you define in this file appear in Content Creator and
enable the user to apply them to any fragment. It is also possible to use tags to search for fragments and filter fragments in Content Creator.
CORRESPONDENCE GENERATION BUILDING BLOCK
Creating content
31
Technical Guide for Correspondence Generation
This is the initial cm_default_tags.xml file provided with Correspondence Generation, after the samples have been imported. CGRImport
updates this file as it find tag files in the tree.
<cm>
<category id="t0" text="Region">
<category id="t1" text="North America">
<tag id="t2" text="Canada"/>
<tag id="t3" text="US"/>
</category>
<tag id="t4" text="Europe"/>
<tag id="t5" text="Asia"/>
</category>
<category id="cc_sample" text="Custom Communications">
<tag id="cc_common" text="Common"/>
</category>
<category id="g0" text="Government State Policy">
<tag id="g7" text="Decision"/>
<tag id="g2" text="Finding of Fact"/>
<tag id="g3" text="Analysis"/>
<tag id="g4" text="Issue"/>
<tag id="g5" text="Exhibit"/>
<tag id="g1" text="Conclusion of Policy"/>
<tag id="g6" text="Recommendation"/>
</category>
<category id="auto-0" text="Automobile Insurance">
<category id="auto-policy" text="Policy Coverages">
<tag id="auto-10" text="Liability"/>
<tag id="auto-13" text="Medical"/>
<tag id="auto-14" text="Equipment"/>
<tag id="auto-12" text="Comprehensive"/>
<tag id="auto-11" text="Collision"/>
<tag id="auto-15" text="Towing"/>
</category>
</category>
<category id="auto-discount" text="Policy Discounts">
<tag id="auto-20" text="Good Driver"/>
<tag id="auto-21" text="Multiple Auto"/>
</category>
</cm>
CORRESPONDENCE GENERATION BUILDING BLOCK
Creating content
32
Technical Guide for Correspondence Generation
Note: The id attribute must be unique and can contain alphanumeric, '.', or '_' characters.
Creating fragments
Create the fragments for the various content pieces of the letter and place the fragments in the frag folder. Some of the fragments may apply
to an entire category of letters, so you may store those fragments in a higher level 'share' folder in the repository category folder structure.
You can create textual fragments in Content Creator (provided with the Content Creation building block) or Designer ES2, but you can only
assign tags to those fragments through Content Creator.
For graphical fragments, use Designer ES2 and make sure that you embed the image (instead of linking to it) when you create the image
object. In addition, when using Designer ES2 to create fragments, you must access it from Workbench ES2 so that you can store the
fragments in the repository.
Whether you use Content Creator or Designer ES2, it is recommended that you give each fragment the same name as specified in your letter
project's source collateral. For example, for paragraphs, use the paragraph name as the fragment name. If you do not have names provided
to you, it is helpful to do some up front planning so you can use meaningful, recognizable, but systematic names.
Also make sure that you provide an appropriate description for each fragment. This enables users in Content Creator to perform full text
searching of the descriptions.
CORRESPONDENCE GENERATION BUILDING BLOCK
Creating content
33
Technical Guide for Correspondence Generation
When adding a fragment in Designer ES2, do not modify the minimum, maximum, and initial occurrence settings. Ensure that the
fragment is set to min=1 and max=1 which is the default setting.
For consistency, it is also recommended that the filename be the same as the fragment name (with an .xdp extension).
Creating simple text fragments
It is expected that the majority of fragments that you will create are text fragments that are essentially “clauses” for printout to the recipient.
If a source text document exists for the pre-approved paragraphs, you can copy and paste them in Content Creator. For multiple paragraphs
that are always grouped in a letter, you can copy and paste all the paragraphs to create a single text fragment.
Ensure that you to save the fragments in their proper category (folder) in the repository.
Create a simple text fragment with Content Creator:
1
Open a web browser to http://[server]:8080/ContentCreator/ (if this is a JBoss implementation).
2
Log in to Content Creator with the following credentials (or use any other valid credentials):
User: administrator
Password: password
3
Click Login.
4
Click New to create a new fragment.
5
Enter and format the text for the fragment.
6
Select the tags that categorize this fragment.
7
Enter a Title.
8
Save the fragment.
Creating text fragments with embedded fields
Paragraphs can contain text that derives from data. For example, the data is specific to the recipient, such as their account, and the service
offering. The recipient’s name appears in the salutation of a letter, such as Dear <firstname>, and the recipient’s account information “You
owe <amount>”, appears in the body of the letter.
When you create the fragment for the paragraph, you can insert a floating field into the text object for the paragraph. A floating field is an
object that supports the merging of text, numeric values, run-time properties, and scripting within a text object when the form is rendered.
You can bind a floating field to a data source to display specific text or numeric values.
Insert a field into a fragment:
1
Open or create a fragment in Content Creator.
2
Click inside the fragment, where you want to place the field.
3
Click Insert Field.
4
Enter a Field Name. The optional Default Value is not currently used.
The field may be bound to a variety of data sources, and may be used in a variety of letters. The field is bound to the data source within the
letter itself.
When creating the letter template, create fields in the cmDataFields subform (inside the cmControlPage subform) for each of the floating
field references you inserted into the paragraphs in Content Creator. These cmDataFields fields must have names that match the names
specified for the floating field references in Content Creator. For example, if you inserted a field named Amount into a paragraph such as
“You owe {Amount}”, create a numeric field inside the cmDataFields subform and bind it to the amount data. When the letter template is
rendered into a letter, the data bound into this field is displayed inside the “You own {Amount}” paragraph, if it is included in the letter.
CORRESPONDENCE GENERATION BUILDING BLOCK
Creating content
34
Technical Guide for Correspondence Generation
Search for fragments
Once you customize the cm_default_tags.xml to hold your tags, you can use Content Creator to verify that your tag is visible in the tag list.
Then, you can use it to tag a fragment. And, you can use its search feature to verify you can locate that fragment using your tag.
Once that works, you can edit your template to incorporate that tag id as part of a CM Query definition. You can verify this by once you get
to the form guide definition and preview step.
After fragments are created and tagged, searches can be conducted by identifying any of the following attributes:
• Description text
• Category or tag
• Dates
Content Creator search returns a list of documents that match the search criteria that you provide.
Alternatively, you can use the Browse panel in the lower-left corner to navigate through the repository directory structure.
35
7. Starting a new letter
Use the Correspondence Generation building block to create paragraph content, and the letters that use them.
•
•
•
A sample letter is located in the repository at /cm/samples/CustomCommunications/resellerInfo/resellerInfo.xdp.
Fragments for the letter are in the repository at /cm/samples/CustomCommunications/resellerInfo/frag/.
Common paragraphs included as part of a dynamic content section (CM Query) are in the repository at /cm/samples/CustomCommunications/share/frag/.
Assume that a project is begun to issue a new letter from your corporation that addresses a certain service offering. It is expected that procedures are in place for relevant departments, for example, Marketing and Legal, to draft the content that may go into the letter. The textual
portions are typically created using a rich text word-processing application such as Microsoft Word. The text and graphics then undergo a
review and approval process.
During this phase, it is also expected that the rules for when to include a paragraph in the letter are defined. Beyond the paragraph content,
it is also important to understand the variable data content that you may want to insert into each letter as it is generated. For example, the
variable data content can consist of personalized data or account-specific details that are to flow into the letter’s paragraphs.
Text, graphics, rules definitions, and sample data files are necessary inputs to the project. It is recommended that you store all the collateral
in the repository at the beginning of the project.
Creation of a sample project involves the following steps:
“Creating the letter content” on page 35
“Creating the letter template” on page 36
“Creating the letter filling experience” on page 41
Creating the letter content
Before starting a new project, tags are defined and fragments are categorized with those tags. Edit the cm_default_tags.xml file to add a
category for the company, and define an acceptance paragraph (plus others as needed). See “Customizing the tag library” on page 30.
Create the letter content, using Content Creator. See “Creating fragments” on page 32.
•
•
Create header and footer content.
•
Create fragments that represent the paragraphs of the letter. Where appropriate, insert fields that contain data from a data capture
form, database, or other data source.
Create the address block with fields for first name, last name, company, street, city, state, and zip. Give these fields a meaningful title,
such as “Address Block”. This becomes the id or name of the subform. Save to the logical location in the repository.
CORRESPONDENCE GENERATION BUILDING BLOCK
Starting a new letter
36
Technical Guide for Correspondence Generation
Creating the letter template
The letter template for the Custom Communications, resellerInfo.xdp, is a collection of CM Content XFOs and one CM Query XFO. A letter
can contain many XFOs, as shown in the following model.
CORRESPONDENCE GENERATION BUILDING BLOCK
Starting a new letter
37
Technical Guide for Correspondence Generation
Headers and footers
There are various parts to the letter template XDP. The XDP has two master pages, one for the first page, and one for other pages. This allows
us to apply different headers and footers, depending on how many pages are required. Headers are applied on a master page inside a
cmHeaders subform. Footers are applied inside a cmFooters subform. Headers are static sets of graphics and text. Footers are a little bit more
complicated, as they can change, based on context. There are two subforms inside the cmFooters subform, one for a single page document
and one for a multiple page document. These headers and footers are all provided with the base letter template. All of these header and footer
objects are important because there are scripts on them that contain the logic to determine which headers and footers to display, based on
the number of pages in the document.
The first major step in creating the letter template is to add the headers and footers. The base template provides different headers and footers
depending on whether the letter is a single page or multiple pages.
Letter template body content
All of the flowable content of the letter is contained within cmBodyContent. To populate the cmBodyContent, use the Correspondence
Generation XFOs, CM Content, and CM Query.
CM Content
CM Content XFO is used to include static fragment references to existing paragraphs. Each CM Content can contain a specific fragment,
such as a salutation, an address block, an opening paragraph, and so on. The object can also contain a control field which sets whether the
content is editable. This determines whether during the letter filling experience, the user has the ability to edit the content of this paragraph.
A CM Content XFO can contain more than one fragment. In this case a selection list is provided. The selection list can be designed to
provide several selection options: choose all, choose any, or choose one.
CM Query
CM Query XFO is used when there is a need to provide a query capability. This subform contains dynamic content fragment references
(determined at runtime based on query results rather than fragment location paths), and special control fields to dictate how query results
are included in the section (mandatory, optional, conditional, editable, numbered, or bulleted). The query is specified in script as handcoded XML, using the script editor. This is the script from the cmQuerySpec of the Cnt_Common object:
cc.cmBodyContent.Cnt_Common.cmQuerySpec::initialize - (JavaScript, client)
// Enter the query specification here. This example is based on a query by tag ID value.
// Replace 'TAG_ID_HERE' with a tag ID that corresponds to one found in the cm_default_tags.xml file.
this.rawValue =
"<cmQuery>" +
"<cmQueryByProperty>" +
"<selection property='tag' operator='equals' value='cc_common'/>" +
"</cmQueryByProperty>" +
"</cmQuery>"
In this example, we query by property, and the property is a tag identified by cc_common, the ID of the common tag that we choose in
Content Creator.
CM Content and CM Query compared
XFO
Pros
Cons
CM Content
Well defined up-front, and easier to work with in Designer ES2 preview
PDF size is increased as all fragments are included
Faster
Need to maintain set of fragments that are potentially displayed
Easier to include (fewer dependencies)
Can include custom fragments that include form-fields
CORRESPONDENCE GENERATION BUILDING BLOCK
Starting a new letter
38
Technical Guide for Correspondence Generation
XFO
Pros
Cons
CM Query
Resulting PDF contains only those fragments selected, so smaller output
More ambiguous since fragments are defined by a query, and are not
placed inside the template at design-time
Dynamic, can pick up changes without changing definition
Slower
Can only be paragraph fragments
Requires that cm_default_tags.xml contains the tag definition, and the
query be defined in cmQuerySpec
Letter template control page
The recommended approach for providing data to the letter is to put all of the real data in an invisible letter filling controls page. Real data
means that it is the fields in the letter filling controls page that bind to supplied data. The contents of those data fields can be used throughout
the letter using floating fields.
By going through the letter filling controls page, the fragment’s floating field can bind to the correct data item name in the letter filling
controls page. The floating field-to-data item binding serves as a layer of indirection. The critical piece of documentation (or metadata)
about a fragment is the name of the field that the fragment references for field embedding purposes.
Many of the fragments added to a letter contain floating field references, such as a salutation name, or address block elements. The cmControlPage is where the data fields are stored in a cmDataFields subform, and the data sources are merged into the letter template. The data
fields are referenced by various paragraphs. In this sample paragraph, the blue text is a Scripting Model Object (SOM) expression for a
floating field named Product.
The SOM expression replaces the data placeholder, Product, that was inserted into the paragraph in Content Creator. When you create the
letter template, you go to the hidden cmControlPage subform, where the cmDataFields subform contains the data field values. In this case,
this is where the field Product is actually bound to the source value.
Batch letter production
It is also expected that a corporation can have a requirement to produce letters in batch, in addition to having a letter filling person produce
letters. Producing letters in batch does not require human interaction. Therefore, the selection of the fragments that appear in a letter is
defined in the data. If data items exist in any file that the corporation uses, then it is assumed that those data items belong in the corporation’s
master schema. It is assumed that these fragment selection fields are real fields. These fields, in the letter filling controls page, are bound to
the data source. This means that the data alone can cause complete reconstitution of the letter as previewed by the letter filler. It also means
that batch production of letters can have full control over the content selection for each letter.
CORRESPONDENCE GENERATION BUILDING BLOCK
Starting a new letter
39
Technical Guide for Correspondence Generation
Text Fields
Text Field objects are added from the Standard Object Library to the cmDataFields subform. A Text Field is added for each data element
that appears in the letter. Each Text Field is named to match the floating field that it will fill.
After the Text Fields are created and renamed, they are bound to the data node, so the data can come into them, and then be pushed to the
fragment floating fields. Specify the binding in the object palette on the Binding tab.
Letter template submit button
The cmSubmitButton subform in the base template is a subform that contains two buttons in the hierarchy: cmGuideSubmitButton and
cmPdfSubmitButton. Only the cmGuideSubmitButton is visible on the canvas (the other one is hidden) in Designer ES2. The cmGuideSubmitButton is never visible in the letter at runtime.
The user is expected to set the cmGuideSubmitButton as the letter filling experience form guide's submit button in the panel where you
configure overall guide options. This button provides an indirection to the cmPdfSubmitButton, which should be used to configure how
data is submitted from the letter filling experience. By default, XDP data is submitted. XDP format is recommended over plain XML data if
the data will contain XHTML (rich text) from editable paragraph overrides, or from other means. PDF should be the submitted format,
when submitting signed documents.
At run-time, the cmGuideSubmitButton automatically displays a submit button in the last panel of the form guide for the letter filling
experience. When a user runs the letter filling experience in Workspace ES2, Workspace ES2 automatically removes the guide submit button
and replaces it with a “Complete” button that appears in the Workspace ES2 frame in the lower-right corner. The button's click event will be
triggered by Workspace ES2's “Complete” button.
Guide Builder and the form guide
Use Guide Builder to create the form guide that represents the letter filling experience.
The CM Content or CM Query subforms that have been designed in the letter template, in a previous step, are incorporated as part of the
form guide design. To do this, select a field from each of the CM Content or CM Query subforms, found in the template shown in the Form
objects panel, and drag them into the current form guide panel.
In the field properties window, the 'display field' for this object must be changed to either a cmList or CM Query.
CORRESPONDENCE GENERATION BUILDING BLOCK
Starting a new letter
40
Technical Guide for Correspondence Generation
Once these fields are added, you can preview the form guide. If any CM Query objects have been included, ensure that the fragments are in
place in the repository where the query can find them. Since the query must operate on the LiveCycle ES2 repository, it will request a login,
to collect credentials to allow access the repository. When the form is moved to LiveCycle ES2, and accessed through Workspace ES2, the
credentials will be detected and used without prompting. There is a custom login panel design included in the adobe-bb-cgr-layouts library
that can be used if required.
The form guide defined on this XDP is defined by Guide Builder. The XDP includes four custom libraries, three of which are mandatory
and provided as part of the Correspondence Generation building block:
• adobe-bb-cgr-layouts.swc
• adobe-bb-cgr-model.swc
• adobe-bb-cgr-xfa.swc
Other libraries that might be included are any custom form guide style libraries, or custom application-specific libraries.
Debug assistance
Debug variables are provided with the letter template that are useful for debugging purposes. The following variables are available:
•
•
•
cmShowControlFieldsInPdf: Displays the control fields in the PDF output. Possible values are 0 (disabled) and 1 (enabled).
cmShowLetterControlPage: Displays the control page in the PDF output. Possible values are 0 (disabled) and 1 (enabled).
cmDebugOutputLevel: Levels 1-3 Generate output in the Acrobat console at runtime. Possible values are 0, 1, 2, and 3, with each
increasing value increasing the level of verbosity.
CORRESPONDENCE GENERATION BUILDING BLOCK
Starting a new letter
Technical Guide for Correspondence Generation
The variables are enabled on the Form Properties Panel. Open Edit > Form Properties > Variables tab to add the variables to the form.
Creating the letter filling experience
In summary, creation of the letter filling experience includes the following steps:
•
Define any custom tags required to support planned queries in the repository file cm/system/cm_default_tags.xml. See “Customizing
the tag library” on page 30.
•
Create the paragraphs using Content Creator either from scratch, or by copying text and paragraphs from an existing document or
source. See “Creating fragments” on page 32.
•
Create a new letter template by making a copy of the cmBaseTemplate or the startingPoint templates., or modify a sample from the
repository.
•
•
Add header and footer content. See “Headers and footers” on page 37.
Add paragraph fragments to the letter. If the paragraphs are static, add them as CM Content objects. If the paragraphs are dynamic,
based on content, add them as CM Query objects. See “Letter template body content” on page 37.
41
CORRESPONDENCE GENERATION BUILDING BLOCK
Starting a new letter
42
Technical Guide for Correspondence Generation
•
Add a query as needed for content that is dependent on query results. Set the value of the Select Type and List Type to allow the correct
selection model.
•
Each CM Content and CM Query section should be bound to a unique data group node. This binding is direct and doesn't go through
the cmDataFields subform. By default, a CM Content section (subform) is bound to a cmData.content data group node, and a CM Query
section (subform) is bound to a cmData.query data group node. These bindings are relative to the enclosing container, which by default
should be the root subform (since cmBodyContent is not bound to data). If there are any CM Content or CM Query sections that don't
have unique data group node bindings, they will be highlighted with a red rectangle. An error message output to the JavaScript Console
(if the cmDebugOutputLevel debug form variable is 1 or higher) when the letter is rendered as PDF, either through form rendering in
LiveCycle ES2 or through Designer Preview.
•
Add the custom libraries to the form guide. See “Guide Builder and the form guide” on page 39.
43
8. The Correspondence Generation samples
The Correspondence Generation building block includes samples to show a range of features, and possibilities when implementing a correspondence generation solution. The building block includes the following samples:
“Custom Communications” on page 43
“CmStartingPoint” on page 45
“Insuracorp” on page 45
“Family Assist” on page 46
Custom Communications
The Custom Communications sample uses a Flex AIR application to represent the external Customer Service Representative's (CSR)
corporate application. The CSR uses this application to collect customer call information and initiate a LiveCycle ES2 process to conduct
the letter-filling processing.
ArchiveLetter process
A LiveCycle ES2 process is provided to support the Custom Communications sample. It includes a set of operations:
•
•
•
•
Configure form URL
Fill in follow-up letter
Generate PDF/A Document
Save the PDF document
These resources work together to provide a sample of a correspondence generation application, and to provide you with customizable and
extendable resources and templates.
Open the sample Call Application:
1
Open a browser and enter the URL http://[server-name]:8080/CustomCommunications/
2
Enter data for a customer call including the server name, or localhost, and a task is created for the administrator.
CORRESPONDENCE GENERATION BUILDING BLOCK
The Correspondence Generation samples
3
44
Technical Guide for Correspondence Generation
Open Workspace ES2 to see the administrator task. Log in to Workspace ES2 as administrator at http://[server name]:8080/workspace/
(for a JBoss implementation).
4
On the main screen, click To Do.
5
Complete the customer correspondence, by editing or accepting the letter paragraphs.
6
When you finish modifying the letter, click Complete.
Workbench ES2 creates the final outbound customer letter (FollowUpLetter.pdf) in the root directory of the [server name] server.
CORRESPONDENCE GENERATION BUILDING BLOCK
The Correspondence Generation samples
45
Technical Guide for Correspondence Generation
The application provides form fields to collect the pertinent customer data. The data is defined as XML, where the format is compliant with
the Correspondence Generation example form’s expected schema.
This is what the sample data looks like:
<cc>
<customer>
<firstName>Kel</firstName>
<lastName>Varsen</lastName>
<company>Digital Phones Inc.</company>
<street>125 New Haven Ave.</street>
<city>Portsmouth</city>
<state>ME</state>
<zip>01144-8292</zip>
<budget>50000</budget>
</customer>
<conversationType>phone</conversationType>
<product>Tel-X 100</product>
<bonusProduct>Mob-B 100</bonusProduct>
<policy>NMAP</policy>
<accountExec>
<execName>Rye Woodward</execName>
</accountExec>
</cc>
The CSR application uses the Flex RemoteObject class that provides access to classes on the LiveCycle ES2 server. The RemoteObject destination’s attribute name maps to the LiveCycle ES2 process name. Credentials are provided to the RemoteObject class so that it can authenticate and log into LiveCycle ES2 to invoke the process. Since the LiveCycle ES2 process type is a long-lived process, the operation that is
exposed using its remoting endpoint is invoke_Async, reflecting the asynchronous nature of the process. The process is designed with a
single input parameter of type “xml” to hold the CSR customer data. This is passed as an argument via the invoke_Async operation
invocation:
Remoting_Endpoint.invoke_Async({inXMLData:getData()});
The jobId returned by this invocation can be used to get the status and results of the asynchronous operation. LiveCycle Remoting provides
the JobManager class for this purpose. The CSR application must link to the adobe-remoting-provider.swc and adobe-remotingprovider_rb.swc to use LiveCycle Remoting.
The source code for this application is available at [cgr root]\samples\applications\CustomCommunications\src.
CmStartingPoint
The CmStartingPoint example is a basic template used as a starting point for creating other samples. It contains content and a form guide,
unlike the cmBaseTemplate, which has no content at all.
Insuracorp
The Insuracorp example displays summary insurance information for vehicles, and then reveals details on each vehicle's policy. It uses a
repeating subform into which CM Content and CM Query XFOs are placed.
CORRESPONDENCE GENERATION BUILDING BLOCK
The Correspondence Generation samples
Technical Guide for Correspondence Generation
Family Assist
The FamilyAssist example displays a legal hearing decision that collects information pertaining to the decision. It uses a collection of CM
Content and CM Query XFOs, and uses conditions to include fragments.
46
47
Appendix - Manual deployment
Note: The installation of the Correspondence Generation building block must be done through a Microsoft Windows computer. This has no
bearing on which platform is being used for the LiveCycle ES2 server.
All components of the solution accelerator are optimized for ANT deployment. However, if you customize a service, an application, or a
resource, you may want to deploy just the customized files. The following procedures describe the manual deployment process.
Manual deployment does not provide a complete installation. Some tasks, such as setting up and populating the database, can only be
accomplished by using an ANT deployment.
Pre-installation for manual deployment
For manual deployment, the pre-installation task must be completed before following these instructions.
Import the Reader Extensions credentials:
1
Download the Reader Extensions file from http://www.adobe.com/go/reader_ext_cert, which provides a ZIP file with a certificate (.pfx)
and a password (.txt).
2
Log in to LiveCycle Administration Console with administrator privileges, and navigate to Settings >Trust Store Management > Local
Credentials. (If an ARES Credential is already present on the server, re-import the same credential and define the alias as
RE_SA_ALIAS.)
3
Click Import.
4
Select the option Reader Extensions Credential.
5
Enter the Alias as RE_SA_ALIAS
6
To enter the Credential, browse to the downloaded PFX file.
7
Enter Password as provided in the downloaded password (.txt) file.
Manually deploy Common building block
Deploy the Common building block service:
1
Log in to Workbench ES2.
2
In the Components view, right-click the Components folder and click Install Component.
If the Components view is not displayed, click Window > Show View > Components.
3
Navigate to [sa_root]\ building_blocks\cmn_2_0\dist\dsc\adobe-bb-cmn-service-dsc.jar and click Open.
4
Right-click SolutionAcceleratorCommon and click Start Component.
Use the LiveCycle Administration Console to import the LiveCycle ES2 archive file that contains the processes used by the Common
building block.
Import the Common building block archive for LiveCycle ES2:
1
Log in to the LiveCycle Administration Console with administrator privileges.
2
Navigate to Services > Applications and Services > Application Management.
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Manual deployment
48
Technical Guide for Correspondence Generation
3
Click Import, and browse to and open [sa_root]\ building_blocks\cmn_2_0\dist\lca\adobe-bb-cmn.lca.
4
Click Preview.
5
Select the checkbox “Deploy assets to runtime when import is complete”.
6
Click Import.
Optional - Import the Common building block test archive for LiveCycle ES2:
1
Log in to the LiveCycle Administration Console with administrator privileges.
2
Navigate to Services > Applications and Services > Application Management.
3
Click Import, and browse to and open [sa_root]\ building_blocks\cmn_2_0\dist\lca\ adobe-bb-cmn-test.lca.
4
Click Preview.
5
Select the checkbox “Deploy assets to runtime when import is complete”.
6
Click Import.
The Common building block is now manually deployed.
Manually deploy Correspondence Generation building block
Regardless of which operating system server platform is used, install Correspondence Generation resources on a Windows computer. This
is ideally the computer on which you run Workbench ES2 and Designer ES (8.2). LiveCycle ES2 server can be running on any platform. You
must install CGRImport Utility on the same Windows computer. You can deploy the cm repository content to a AIX or Solaris server by
specifying the remote hostname and port.
Installation of the Correspondence Generation building block requires the following steps:
•
•
•
•
Install the CGRImport Utility
Import repository assets
Optional - Import the CMG Object Library
Optional - Deploy the samples
Install CGRImport Utility:
Install CGRImport Utility to deploy the building block data. Use this tool rather than drag-and-drop the contents into the
LiveCycle ES2 repository.
1
Navigate to [sa_root]\building_blocks\cgr_2_0\dist\flex-sdk-3.4.x or [sa_root]\building_blocks\cgr_2_0\dist\flex-sdk-3.0.x
(depending on your Flex SDK version).
2
Double-click CGRImport.air and follow the installation wizard. Upon successful installation, if you left the relevant options selected,
CGRImport Utility automatically opens, and the Adobe CGRImport shortcut appears on your desktop.
Import repository assets using CGRImport Utility:
1
Launch CGRImport Utility from desktop shortcut or Start > Programs > Adobe > CGRImport.
2
Change any server or user settings as necessary, such as the server name, port, and user credentials.
•
•
•
•
•
Server: The URL to your LiveCycle ES2 server
Server Port: Port number (usually 8080)
User: User to use for importing collateral (usually 'administrator')
Password: Password for the User
Content Root: Leave this as '/cm'
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Manual deployment
3
4
5
49
Technical Guide for Correspondence Generation
• Content type: Leave this as '[all files]'
• Overwrite: Leave unchecked
Click Import folder and navigate to [sa_root]\building_blocks\cgr_2_0\dist\repository\cm.
Click OK.
After the folder is imported, click OK, and Close.
Optional - Import the CMG Object Library into Designer ES:
1
Launch Designer ES 8.2.1.x.
2
Click the Object Library palette menu at the upper-right hand corner of the palette.
3
Click Shared Library Location from the Object Library palette menu.
4
Browse to the file [sa_root]\building_blocks\cgr_2_0\objectLibrary\cmObjectLibrary.xml, click Open and click OK. You should now
have a CMG 2.0 Object Library panel in the Object Library palette.
5
Close Designer ES.
Optional - Deploy the samples:
1
Deploy the Custom Communications sample EAR to your LiveCycle ES2 server. The EAR is located at
[sa_root]\building_blocks\cgr_2_0\dist\flex-sdk-3.4.x\adobe-bb-cgr-customcommunications.ear
2
Import the Custom Communications sample archive. Log into LiveCycle Administration Console as an administrator.
3
Navigate to Home > Services > Applications and Services > Application Management and click Import.
4
Locate the archive at [sa_root]\building_blocks\cgr_2_0\dist\repository\lca\adobe-bb-cgr-customcommunications.lca. Click Preview.
5
Check the Deploy assets to runtime when import is complete option.
6
Click Import.
7
Add a Flash Security Configuration file to enable the Family Assist sample.
8
a
Using Windows Explorer, locate the Documents and Settings\[user]\Application Data\Macromedia\Flash Player directory. If
there is no "#Security" directory within it, create one and open it. Otherwise, just open the directory. If there is no "FlashPlayerTrust"
directory within it, create one and open it. Otherwise, just open it.
b
In the Documents and Settings\[user]\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust directory,
create a new file called cgr-family-assist.cfg. In that file, enter the location (full path) of the Family Assist sample located at
[sa_root]\sa\building_blocks\cgr_2_0\samples\samplesCollateral\FamilyAssist.
Save your changes. If there were any browser windows open at the time, close and re-open them.
The Correspondence Generation building block is now manually deployed.
Manually deploy Content Creation building block
Note: The installation of the Content Creation building block must be done through a Microsoft Windows computer. This has no bearing on
which platform is being used for the LiveCycle ES2 server.
Deploying the Content Creation building block requires that you deploy Content Creator and install the CGRImport Utility. Deploying the
Content Creator data is optional.
Manually deploy the Content Creator building block:
❖ To deploy manually, copy the file [sa_root]\building_blocks\ccr_2_0\dist\adobe-bb-ccr-contentcreator.ear to [LiveCycle ES2
root]\jboss\server\all\deploy\ (assuming a JBoss implementation).
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Manual deployment
50
Technical Guide for Correspondence Generation
For WebSphere and WebLogic, deployment of the EAR is done through their respective administrative consoles.
The Content Creation building block is now manually deployed.
Manually deploy On-Demand Assembly building block
Deploy the On-Demand Assembly building block service:
1
Log in to Workbench ES2.
2
In the Components view, right-click the Components folder and click Install Component.
If the Components view is not displayed, click Window > Show View > Components.
3
Navigate to [sa_root]\ building_blocks\oda_2_0\dist\adobe-bb-oda-dsc.jar and click Open.
4
Right-click ODAService and click Start Component.
5
Right-click ODAService. Select Edit Service Configuration. Specify the value of ODA WebApp URL.
•
•
•
For JBoss application server, use a URL such as http://localhost:8080/adobe-bb-oda-webapp.
For WebLogic, the URL should be http://localhost:8001/adobe-bb-oda-webapp.
For WebSphere, the URL should be http://localhost:9080/adobe-bb-oda-webapp.
The server name is localhost, as both the service and the EAR are deployed on the same application server.
6
Click OK.
Deploy the On-Demand Assembly building block web application:
❖ Deploy the adobe-bb-oda-app-[application server].ear file to the application server. The procedure varies depending on the application
server you are using. The following versions are included:
adobe-bb-oda-app-jboss.ear: for JBoss
adobe-bb-oda-app-weblogic.ear: for WebLogic
adobe-bb-oda-app-websphere.ear: for Websphere
For a JBoss Turnkey installation, copy [sa_root]\building_blocks\oda_2_0\dist\adobe-bb-oda-app-jboss.ear to [LiveCycleES
root]\jboss\server\lc_turnkey\deploy.
For WebSphere or WebLogic application servers, deploy this file using the application server's administration console.
Optional - Deploy the On-Demand Assembly building block sample:
1
Browse to [sa_root]\ building_blocks\oda_2_0\dist\samples\odaWebSample\adobe-bb-oda-sample.ear
2
Deploy adobe-bb-oda-sample.ear to your application server.
Optional - Import the On Demand Assembly building block sample archive for LiveCycle ES2:
1
Log in to the LiveCycle Administration Consolewith administrator privileges.
2
Navigate to Services > Applications and Services > Application Management.
3
Click Import, and browse to and open [sa_root]\ building_blocks\oda_2_0\samples\odaServiceSample\adobe-bb-oda-sample.lca.
4
Click Preview.
5
Select the checkbox “Deploy assets to runtime when import is complete”.
6
Click Import.
The On-Demand Assembly building block is now manually deployed.
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Manual deployment
51
Technical Guide for Correspondence Generation
Manually deploy Review, Commenting, and Approval building
block
Review, Commenting, and Approval uses following building blocks to work. Before we install Review, Commenting, and Approval
manually, install Common and On-Demand Assembly building blocks (in order).
•
•
Common building block.
On-Demand Assembly building block.
Create the user domain:
1
Open LiveCycle Administration Console.
2
Navigate to Home > Settings > User Management > Domain Management.
3
Create a New Local Domain: external-users.
4
Navigate to Home > Settings > User Management > Role Management.
5
Assign the role 'RCA User' to All Principals in domain external-users.
Install the Review, Commenting, and Approval building block:
1
Install [sa_root]\building_blocks\rca_2_0\dist\adobe-bb-rca-core-dsc.jar, with Workbench ES2.
2
Install [sa_root]\building_blocks\rca_2_0\dist\adobe-bb-rca-externalUser-dsc.jar., with Workbench ES2.
3
If LiveCycle ES2 ContentSpace-based storage is required (as the backend storage for Review, Commenting, and Approval building
block) install [sa_root]\building_blocks\rca_2_0\dist\dsc\adobe-bb-rca-rzp-cs-dsc.jar. ContentSpace ES2 should already be installed
on the LiveCycle ES2 server.
4
If a file system based storage is required (as the backend storage for Review, Commenting, and Approval building block) install
[sa_root]\building_blocks\rca_2_0\dist\dsc\adobe-bb-rca-rzp-dsc.jar.
5
Deploy the enterprise application [sa_root]\building_blocks\rca_2_0\dist\ear\adobe-bb-rca.ear to the application server which is
running LiveCycle ES2.
6
Install [sa_root]\building_blocks\rca_2_0\dist\lca\adobe-bb-rca.lca through LiveCycle Administration Console.
7
Optionally, you can also install Review, Commenting, and Approval samples. To install the samples, install
[sa_root]\building_blocks\rca_2_0\dist\lca\adobe-bb-rca-sample.lca through LiveCycle Administration Console.
The Review, Commenting, and Approval building blockis now deployed.
Configure Review, Commenting, and Approval building block
1
Open LiveCycle Administration Console.
2
Navigate to Home > Services > Applications and Services > Service Management.
3
Search for RCACore and modify the following configurations:
a
Check Use Reader Extension checkbox if Reader Extension is required.
b
If Use Reader Extension is checked, specify the trust store alias for Reader Extension credential in the field Trust Store Alias for
Reader Extension Credential.
4
Search for the service EmailService, and configure it to send email. Define an SMTP server and its credentials. Review, Commenting,
and Approval uses LiveCycle ES2's EmailService to send email notifications.
5
If the ContentSpace based ReviewZoneProvider is installed, search for the service ReviewZoneProvider and define the following configuration:
a
ContentSpace Store Name: Set its value as SpacesStore
b
Root Node of Review Zone: Set its value as /Company Home/RCA
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Manual deployment
c
6
52
Technical Guide for Correspondence Generation
Root Node WebDav Location: Set its value as http://[server:port]/contentspace/webdav/RCA with [server:port] replaced with the
server name and web port, for example for JBoss: http://localhost:8080/contentspace/webdav/RCA.
If the file system-based ReviewZoneProvider is installed, search for the service ReviewZoneProvider and define the following configuration:
a
Root directory of Review Zone: This is the root directory or space where all documents and comments are stored by Review,
Commenting, and Approval services. If file system based storage is used, this property should point to the directory path, for
example: C:/RCA/storage.
b
Share name of Review Zone: This is the network share or webdav URL of the location where documents and comments are stored
by Review, Commenting, and Approval services. For file system based storage, it is a network shared folder, for example
\\machinename\RCA.
For file system-based storage, the folder selected as the root of ReviewZone should be shared with Write privilege for all.
Certificate Installation
The VerifyCertifyAndArchive process, which is called by the ReviewDocumentManager process, uses a certificate to certify the document
in the Digital Signatures > SignatureService > Certify PDF operation called Certify Review Document. This certificate must be imported
through LiveCycle Administration Console.
Import the Digital Signatures certificate:
1
Get the trial certificate at http://www.adobe.com/go/reader_ext_cert and extract the .zip file.
2
Log in to LiveCycle Administration Console as an administrator.
3
Navigate to Settings > Trust Store Management > Local Credentials and click Import.
4
Under Trust Store Type, select Document Signing Credential.
5
Enter the Alias. If you are using the trial certificate, enter LCRE_ES_CERTIFICATE_TRIAL.
6
Click Browse to locate the credential .pfx file.
7
Enter the Password of the credential. If you are using the trial certificate, enter the password that is located in the downloaded .txt file.
8
Click OK. If the error message “Failed to import credential due to either incorrect file format, or incorrect password?” appears, verify
that the password is valid.
If you change this credential in the future, update the Certify Review Document operation in the VerifyCertifyAndArchiveDocument
process.
Export a credential:
1
In LiveCycle Administration Console, navigate to Settings >Trust Store Management > Local Credentials.
2
Click the alias name of the credential to export and then click Export.
3
In the Credential Password box, type the password. This password is new and is used to encrypt the exported credential.
4
Click Export, follow the directions to export the credential, and then click OK.
5
Alias is what you provide in the Trust Store Alias for Reader Extension Credential configuration parameter.
Register external users:
1
Log in to the ReviewPortal as an administrator.
2
Navigate to and click the External Users tab.
3
Provide the first name, last name, and email of the invited users.
Mail is sent to all the invited users and includes a link. Invited users can click the link to go to the registration page.
4
On the registration page, provide the required details.
The system creates a user with the user ID (the user’s email address) as provided by the administrator in step 3.
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Manual deployment
5
53
Technical Guide for Correspondence Generation
Add the new external users to the domain as configured in Domain name for external user.
Invited users can log on to Workspace ES2 and Contentspace ES2.
Add an Administrator account to all reviews
When using the review portal, users can only see reviews to which they have been assigned (as a reviewer, approver, or moderator). No user
can view a review to which they have not been assigned. By adding an administrator as a moderator for all reviews, the administrator has
they capacity to look at any review, if there is a problem with any review.
To add an administrator account to view all reviews, assign the 'RCA Administrator' role to the user/group that would act as the administrator account. This user and group is able to view all reviews
Assign document upload permissions
Any user who needs to upload a document as part of a review requires upload permissions. Use the LiveCycle Administration Console to
assign the Document Upload permission or Document Upload Application User role to any user who needs this capability.
The Review, Commenting, and Approval building block is now manually deployed.
Manual deployment of Selection and Capture building block
Selection and Capture uses following building blocks to work. Before we install Selection and Capture manually, install Common and OnDemand Assembly building blocks (in order).
•
•
Common building block.
On-Demand Assembly building block.
Deploy the Selection and Capture building block service:
1
Log in to Workbench ES2.
2
In the Components view, right-click the Components folder and click Install Component.
If the Components view is not open, click Window > Show View > Components.
3
Navigate to [sa_root]\building_blocks\snc_2_0\dist\dsc\adobe-bb-snc-service-dsc.jar and click Open.
4
Right-click SelectionAndCapture and click Start Component.
Import the Selection and Capture building block archive for LiveCycle ES2:
1
Log in to LiveCycle Administration Console with administrator privileges.
2
Navigate to Services > Applications and Services > Archive Management.
3
Click Import, and browse to and open [sa_root]\building_blocks\snc_2_0\dist\lca\adobe-bb-snc.lca.
4
Click Preview.
5
Click Import.
6
Click Deploy.
Create the Selection and Capture database tables:
1
Open a Command Prompt window.
2
Change the current directory to [sa_root]\building_blocks\snc_2_0\
3
On a Windows operating system, at the prompt, enter and run:
schema-update.bat
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Manual deployment
54
Technical Guide for Correspondence Generation
On a non-Windows operating system, at the prompt, enter and run:
schema-update.sh
Deploy adobe-bb-snc-invoker.ear:
Deploy the adobe-bb-snc-invoker.ear file to the application server. The procedure varies depending on the application server you are using.
❖ For a JBoss Turnkey installation, copy [sa_root]\building_blocks\snc_2_0\dist\webapp\adobe-bb-snc-invoker.ear to
[LiveCycleES root]\jboss\server\lc_turnkey\deploy.
The invoker war includes default values for a JBoss turnkey installation. For any other configurations or platforms, this will need to be built
again.
Use the Selection and Capture deployer to (Ant) build a version for other application servers.
1
Open the file [sa_root]\building_blocks\snc_2_0\install\ant.properties
2
Edit the following properties to match your configuration:
3
4
5
• Invoker.DSC_DEFAULT_EJB_ENDPOINT
• Invoker.DSC_TRANSPORT_PROTOCOL
• Invoker.DSC_SERVER_TYPE
• Invoker.DSC_CREDENTIAL_USERNAME
• Invoker.DSC_CREDENTIAL_PASSWORD
Open a Command Prompt window.
Change the current directory to [snc_root]\install
At the prompt, enter and run:
ant pre-deploy-invoker
6
Deploy the adobe-bb-snc-invoker.ear located at [sa_root]\building_blocks\snc_2_0\dist\webapp\adobe-bb-sncinvoker.ear to your
application server.
Optional - Deploy the Selection and Capture Sample Portal:
SNC Sample Portal is a sample application that showcases Selection and Capture functionality. The application contains all the required
artifacts like config bean, forms, and a web application. This sample can be used by the user to understand Selection and Capture functionality.
1
Deploy the config bean, located at [sa_root]\building_blocks\snc_2_0\snc_portal\resources\snc-portal\adobe-bb-snc-sample-configbeans.xml. Open a Command Prompt window.
2
Change the current directory to [sa_root]\building_blocks\snc_2_0\install
3
For the Windows operating system, at the prompt, enter and run:
ant call-deployer -Ddeployer.targets=import-data.bat
-Dconfig.beans.path=[sa_root]\building_blocks\snc_2_0\resources\snc-portal\adobe-bb-snc-sample-configbeans.xml Dbundle.dir=[sa_root]\building_blocks\snc_2_0\resources\snc_portal\bundles
For a non-windows operating system, at the prompt, enter and run:
import-data.sh -Dconfig.beans.path=[sa_root]\building_blocks\snc_2_0\resources\snc-portal\adobe-bb-sncsample-configbeans.xml Dbundle.dir=[sa_root]\building_blocks\snc_2_0\resources\snc_portal\bundles
4
To deploy the archive, log in to LiveCycle Administration Console with administrator privileges.
5
Navigate to Services > Applications and Services > Application Management.
6
Click Import, and browse to and open [sa_root]\building_blocks\snc_2_0\dist\snc_portal\lca\adobe-bb-snc-sample.lca.
7
Click Preview.
8
Click Import.
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Manual deployment
9
Technical Guide for Correspondence Generation
Click Deploy.
10 Deploy the [sa_root]\building_blocks\snc_2_0\snc_portal\dist\snc_portal\adobe-bb-snc-portal.ear file to the application server. The
procedure varies depending on the application server you are using.
For a JBoss Turnkey installation, copy [sa_root]\building_blocks\snc_2_0\snc_portal\dist\snc_portal\adobe-bb-snc-portal.ear to
[LiveCycleES root]\jboss\server\lc_turnkey\deploy.
For WebSphere or WebLogic application servers, deploy this file using the application server's administration console.
11 Access the installed web application using the URL http://[server:port]/adobe-bb-snc-portal.
The Selection and Capture building block is now manually deployed.
Post-installation tasks
Optional - Assign user permissions:
This change to permissions allows users to upload non-PDF documents.
1
2
Assign the following permissions to the 'SNC User' Role:
• PDFGUser (Optional. Only required if PDF Generator ES2 is used.)
Permission assignment can be done through the following procedure:
• Log in to LiveCycle Administration Console with administrator privileges and navigate to Settings > User Management > Role
Management.
• Search for 'SNC User'. Click on the role and go to the Permissions tab. Click Find Permissions and assign the permissions listed
above.
Optional - Manual Uninstall
The building blocks would typically be uninstalled using the “install undeploy” command. However, uninstallation can also be done
manually.
Manually uninstall Common building block
Undeploy the Common building block service:
1
Log in to Workbench ES2.
2
If the Components view is not displayed, click Window > Show View > Components.
3
Right-click SolutionAcceleratorCommon.
4
Click Stop Component and then Uninstall.
Remove the Common building block archive for LiveCycle ES2:
1
Log in to LiveCycle Administration Console with administrator privileges.
2
Navigate to Services > Applications and Services > Application Management.
3
Select the checkbox for BB-Common.
4
Click Undeploy
5
Select the checkbox for BB-Common.
6
Click Remove
55
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Manual deployment
Technical Guide for Correspondence Generation
Remove the Common building block test archive for LiveCycle ES2:
1
Log in to LiveCycle Administration Console with administrator privileges.
2
Navigate to Services > Applications and Services > Application Management.
3
Select the checkbox for BB-Common-Test
4
Click Undeploy
5
Select the checkbox for BB-Common-Test.
6
Click Remove
The Common building block is now manually uninstalled.
Manually uninstall On-Demand Assembly building block
Undeploy the On-Demand Assembly building block service:
1
Log in to Workbench ES2.
2
If the Components view is not displayed, click Window > Show View > Components.
3
Navigate to ODAService.
4
Right-click and click Stop Component and then Uninstall.
Remove the On-Demand Assembly building block sample archive for LiveCycle ES2:
1
Log in to LiveCycle Administration Console with administrator privileges.
2
Navigate to Services > Applications and Services > Application Management.
3
Select the checkbox for BB-OnDemandAssembly-Sample
4
Click Undeploy.
5
Select the checkbox for BB-OnDemandAssembly-Sample.
6
Click Remove.
Undeploy the On-Demand Assembly web application:
❖ For JBoss application server, delete the file [LiveCycle ES2 root]\jboss\server\lc_turnkey\deploy\adobe-bb-oda-app-[server.type].ear.
For WebSphere and WebLogic, uninstall the EAR through their respective administrative consoles.
The On-Demand Assembly building block is now manually uninstalled.
Manually uninstall Review, Commenting, and Approval building block
Undeploy the Review, Commenting, and Approval building block service:
1
Log in to Workbench ES2.
2
In the Components view, right-click the Components folder.
If the Components view is not displayed, click Window > Show View > Components.
3
Navigate to, and right-click RCAService.
4
Click Stop Component and then Uninstall.
5
Navigateto, and right-click ReviewZoneProvider.
6
Click Stop Component and then Uninstall.
56
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Manual deployment
Technical Guide for Correspondence Generation
Remove the Review, Commenting, and Approval building block archive for LiveCycle ES2:
1
Log in to LiveCycle Administration Console with administrator privileges.
2
Navigate to Services > Applications and Services > Application Management.
3
Select the checkbox for BB-ReviewCommentingAndApproval.
4
Click Undeploy.
5
Select the checkbox for BB-ReviewCommentingAndApproval.
6
Click Remove.
Remove the Review, Commenting, and Approval building block sample archive for LiveCycle ES2:
1
Log in to LiveCycle Administration Console with administrator privileges.
2
Navigate to Services > Applications and Services > Application Management.
3
Select the checkbox for BB-ReviewCommentingAndApproval -Sample
4
Click Undeploy.
5
Select the checkbox for BB-ReviewCommentingAndApproval -Sample.
6
Click Remove.
The Review, Commenting, and Approval building block is now manually uninstalled.
Manually uninstall Selection and Capture building block
Undeploy the Selection and Capture building block service:
1
Log in to Workbench ES2.
2
If the Components view is not displayed, click Window > Show View > Components.
3
Right-click SelectionAndCapture.
4
Click Stop Component and then Uninstall.
Delete the Selection and Capture building block archive for LiveCycle ES2:
1
Log in to LiveCycle Administration Console with administrator privileges.
2
Navigate to Services > Applications and Services > Application Management.
3
Select the checkbox for BB-SelectionAndCapture.
4
Click Undeploy.
5
Select the checkbox for BB-SelectionAndCapture.
6
Click Remove.
Undeploy adobe-bb-snc-invoker.ear:
For JBoss application server, delete the file [LiveCycle ES2 root]\jboss\server\lc_turnkey\deploy\adobe-bb-snc-invoker.ear
For WebSphere and WebLogic, uninstall the EAR through their respective administrative consoles.
Optional - UnDeploy the Selection and Capture Sample Portal:
1
Open a Command Prompt window.
2
Change the current directory to [sa_root]\building_blocks\snc_2_0\install
3
For the Windows operating system, at the prompt, enter and run:
delete-wizard.bat -Dwizard.name=SNC-sampleWizard
57
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Manual deployment
4
Technical Guide for Correspondence Generation
For a non-windows operating system, at the prompt, enter and run:
Chmod 777 delete-wizard.sh
delete-wizard.sh -Dwizard.name=SNC-sampleWizard
Optional-Delete the Selection and Capture sample archive for LiveCycle ES2:
1
Log in to LiveCycle Administration Console with administrator privileges.
2
Navigate to Services > Applications and Services > Application Management.
3
Select the checkbox for BB-SelectionAndCapture-Sample.
4
Click Undeploy.
5
Select the checkbox for BB-SelectionAndCapture-Sample.
6
Click Remove.
Optional-Undeploy adobe-bb-snc-portal.ear:
For JBoss application server, delete the file [LiveCycle ES2 root]\jboss\server\lc_turnkey\deploy\ adobe-bb-snc-portal.ear
For WebSphere and WebLogic, uninstall the EAR through their respective administrative consoles.
The Selection and Capture building block is now manually uninstalled.
58
59
Appendix - Ant properties
Solution accelerators and building blocks can be deployed easily using the ANT scripts provided in the [sa_root]\install folder. Before
running the installation script, validate the values of the properties in ant.properties, and edit them to match your deployment environment.
This table lists all of the deploy-time configurable properties. The property defaults are values appropriate for a LiveCycle ES2 turnkey
installation. If you have LiveCycle turnkey installed, then you may skip this section. But, it is recommended that you verify and edit as
needed the properties in the table.
Note: Remote deployment of enterprise applications is not supported for WebLogic and WebSphere application servers using Ant-based
deployment. For deployment to JBoss application server, the remote server must have access credentials to the path configured for ear
deployment. To use Ant deployment on a remote server, set the flag export.ear.only=true in the file ant.properties.This creates a folder named
"export" inside [sa_root]. All of the deployable ears are copied to this location. Users are expected to deploy them manually.
Note: You can configure LiveCycle EmailService using Ant based install. To configure EmailService, set the configure.email.service flag to true
in ant.properties. As well, set the values of the email.smtp properties.
Configure [sa_root]\install\ant.properties
To prepare for deployment, configure the values of the installation properties by editing the file [sa_root]\install\ant.properties. The
following table shows all of the properties of the ant.properties file, and their default values.
Property name
Description
lc.sdk
Location of LiveCycle ES SDK. LiveCycle ES SDK is also Yes
located in the Workbench ES2 install folder.
C:/Adobe/Adobe LiveCycle
ES2/LiveCycle_ES_SDK
server.type
Type of the application server. Only jboss, websphere, Yes
or weblogic are supported
jboss
server.hostname
LiveCycle ES2 server host name
Yes
localhost
server.http.port
LiveCycle ES2 server http listener port
Yes
8080
server.username
LiveCycle ES2 user name with administrative rights
Yes
administrator
server.password
Password for the user, specified using server.username parameter
Yes
password
server.https.port
The port number used when SSL support is required No
8443
deploy.sa.demo.assets
Demo assets like users, domains, and groups are
created if this value is set to true. And any samples
would only be deployed if this flag is true.
Yes
true
deploy.test.assets
Test assets are the assets required for unit test runs.
Yes
Setting this flag to true deploys test assets. For use on
development machines.
true
force.asset.redeployment
By default, if a particular version of building block or Yes
solution template is already installed, it is not reinstalled. Setting this flag to true, allows you to override that behavior.
false
This is used if you want to overwrite any previous
installation, or in case of any other conflict.
Required
Default value
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Ant properties
Technical Guide for Correspondence Generation
Property name
Description
Required
Default value
export.ears.only
If set to true, EARs are exported to [sa_root]\export
folder. Set this value to true if your application server
is on a remote machine and automated EAR deployment is not feasible.
Yes
false
No
C:/Adobe/Adobe LiveCycle ES2/jboss
When the value is set to true, deployment will pause
after deploy stage, allowing you to deploy the
exported ears.
jboss.location
Location for JBoss application server
Required only if
server.type is jboss
jboss.server.name
JBoss server name
No
lc_turnkey
Required only if
server.type is jboss
weblogic.location
weblogic.user
Location of the WebLogic application server. For
example ${env.WL_HOME}or C:/Weblogic_install
No
WebLogic administrator user name
No
${env.WL_HOME}
Required only if
server.type is weblogic
weblogic
Required only if
server.type is weblogic
weblogic.password
WebLogic administrator password
No
weblogic
Required only if
server.type is weblogic
weblogic.adminurl
WebLogic admin url. It is localhost, as remote deploy- No
ment is not supported
Required only if
server.type is weblogic
t3://localhost:7001
weblogic.targets
WebLogic server instance
myserver
No
Required only if
server.type is weblogic
websphere.location
Install location for WebSphere application server
No
${env.WAS_HOME}
Required only if
server.type is websphere
websphere.host
Hostname for WebSphere
No
localhost
Required only if
server.type is websphere
websphere.port
websphere.user
SOAP connector port for WebSphere. Please note
that it is not http port, it is a soap connector port
No
WebSphere administrator user name
No
8880
Required only if
server.type is websphere
system
Required only if
server.type is websphere
websphere.password
WebSphere administrator password
No
Required only if
server.type is websphere
manager
60
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Ant properties
Technical Guide for Correspondence Generation
Property name
Description
Required
Default value
websphere.profile.name
Name of WebSphere server profile
No
AppSrv01
Required only if
server.type is websphere
configure.email.service
If this flag is true, install configures the LiveCycle
EmailService. If EmailService configuration is not
required, set this value to false. If EmailService is
already configured, then also set it to false.
Yes
false
email.smtp.host
Host name for SMTP Server
Yes
email.smtp.port
SMTP port number for the server
Yes
email.smtp.authenticate
Set this flag to true, if SMTP server requires authenti- Yes
cation
email.smtp.user
The user name is used to authenticate to SMTP server. Required only if
email.smtp.authenticate
is true
email.smtp.password
The password is used to authenticate to SMTP server. Required only if
email.smtp.authenticate
is true
database.driver.jar
Database driver location
Yes
C:/Adobe/Adobe LiveCycle
ES2/jboss/server/lc_turnkey/lib/mysqlconnector-java-5.1.6-bin.jar
database.driver.class
Database driver class
Yes
com.mysql.jdbc.Driver
database.connection.url
Database connection URL
Yes
jdbc:mysql://localhost/adobe
database.username
Database user name for authentication
Yes
adobe
database.password
Database password
Yes
password
re.cert.alias
Reader Extension Alias. This alias name is used to
import the Reader Extensions ES2 certificate.
No
RE_SA_ALIAS
re.cert.url
LiveCycle ES2 trial Reader Extensions ES2 certificate
is downloaded from cert.url.
No
http://www.adobe.com/go/reader_ext_cert
re.cert.source
Source of the Reader Extensions ES2 certificate.
No
Possible values are: file, url. If the value is url, then the
value of re.cert.url is used. If the value is set to "file",
then re.cert.file and re.cert.password properties are
used. Any other value means that a
Reader Extensions ES2 certificate is not imported.
re.cert.file
The cert file path
Required only if
re.cert.source=file
re.cert.password
Reader Extensions ES2 password
Required only if
re.cert.source=file
25
true
url
61
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Ant properties
Technical Guide for Correspondence Generation
Configure [sa_root]\install\cgr.ant.properties
While many of the default values may be correct for your environment, modify the values of these properties to match your environment,
as needed.
Property name
Description
Required
Default
cgrImport.auto.install
If yes, the CGRImport AIR application is
automatically installed and uninstalled
during the deployment and undeployment of the CGR Building Block
Yes
yes
cgrImport.app.path
The path to the Adobe CGRImport.exe file, Yes
once the CGRImport.air application has
been installed
C:/Program Files (x86)/Adobe/CGRImport/CGRImport.exe
cgrImport.overwrite
Overwrite existing collateral when
deploying the building block. By default,
CGRImport doesn't overwrite content in
the LiveCycle Repository when importing
collateral. Set to yes to overwrite existing
collateral
Yes
no
cgrImport.log.path
The path to the log file for the CGRImport
application
No
lc.designer.user.dir
The folder location for the default
Designer User Settings. If this property is
unset, empty, or invalid, the CGR Object
Library will not be installed
No
${env.APPDATA}/Adobe/Designer/8.2
lc.designer.user.locale
Locale code for Designer User Settings
No
EN
deploy.cgr.samples
Set to yes to deploy Correspondence
Generation building block samples
No
no
samples.lca.file
Correspondence Generation Samples
archive file name to deploy or undeploy
No
adobe-bb-cgr-customcommunications.lca
samples.lca.id
Correspondence Generation Samples
archive ID to deploy or undeploy
No
BB-CorrespondenceGeneration
flash.security.config.dir
Folder location for Flash Player Security
Configuration Files (required for Family
Assist sample)
No
${env.APPDATA}/Macromedia/Flash
Player/#Security/FlashPlayerTrust
Configure [sa_root]\install\snc.ant.properties
Selection and Capture-specific installation properties are listed in the file [sa_root]\install\snc.ant.properties. The following properties
should be validated and modified as required.
Property name
Description
Required
Default
Invoker.DSC_DEFAULT_EJB_ENDPOINT
The endpoint of LiveCycle ES2 server to
which the Invoker communicates
Yes
jnp://localhost:1099
Invoker.DSC_TRANSPORT_PROTOCOL
The transport protocol used by Invoker to
communicate to LiveCycle ES2 server
Yes
EJB
Invoker.DSC_SERVER_TYPE
The type of LiveCycle ES2 server: JBoss,
WebSphere, or WebLogic
Yes
JBoss
62
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Ant properties
Technical Guide for Correspondence Generation
Property name
Description
Required
Default
Invoker.DSC_CREDENTIAL_USERNAME
LiveCycle ES2 user name with DSC Invoca- Yes
tion rights. Defaults to the user with
administrative privileges.
administrator
Invoker.DSC_CREDENTIAL_PASSWORD
Password for the user
Yes
password
snc.data.store.dir
The storage location at LiveCycle ES2
server
Yes
C:/Adobe/Adobe LiveCycle
ES2/jboss/server/lc_turnkey/svcnative/
snc.save.location.session
The session storage location. Defaulted
with respect to snc.data.store.dir
Yes
${snc.data.store.dir}/SNCSession/
snc.save.location.context
The context data storage location.
Defaulted with respect to
snc.data.store.dir
Yes
${snc.data.store.dir}/SNCContext/
snc.save.location.case
Yes
The storage location where case files are
persisted. Defaulted with respect to
snc.data.store.dir. This location has to be
changed to a Content Services path in case
the Content Services Implementation for
case storage is used in the corresponding
config-beans.xml
${snc.data.store.dir}/SNCCase/
63
64
Appendix - Building Correspondence Generation
components
The Correspondence Generation building block includes prebuilt components that are located in [cgr_root]\dist. Build Correspondence
Generation only when the source code is changed or customized.
The variable [sa_root] represents the root directory for the solution accelerators. The variable [cgr_root] represents the root direct for the
Correspondence Generation building block.
Note: When using Ant to build solution accelerators or building blocks, be sure to use the version of Ant that is provided in [sa_root}\tools\thirdparty\ant_tp\apache-ant-1.7.1.
Building Correspondence Generation building block
To build the Correspondence Generation building block, configure the cgr.properties file, and run ant.
Ant property configuration for Content Creation building block
Edit the following ant properties in [cgr_root]\install\cgr.properties before building the Correspondence Generation building block.
Property
Default Value
Description
lc.home
C:/Adobe/Adobe LiveCycle ES2/LiveCycle_ES_SDK
The location where you have installed or copied the LiveCycle ES2 SDK
ant.home
C:/apache-ant-1.7.1
The Apache Ant home location
flex.sdk
C:/Program Files/Adobe/Flex Builder 3 Plug-in/sdks/3.0.0
The path to the Flex SDK root directory
flex.sdk.home
${flex.sdk}
The path to the Flex SDK root directory, as set with flex.sdk
flex.debug
true
Enable debugging output (true, or false)
appserver.name
jboss
Specify the application server name:
•
jboss
•
weblogic
•
websphere
appserver.hostname
localhost
The LiveCycle ES2 server
appserver.username
administrator
LiveCycle ES2 server user name for authentication
appserver.password
password
LiveCycle ES2 server password for authentication. The password should
match the password set in
[LiveCycleES root]\jboss\server\all\deploy\adobe-ds.xml.
appserver.http.port
8080
Port at which LiveCycle ES2 server is running
appserver_home_dir C:/Adobe/Adobe LiveCycle ES2/jboss
The home directory of the application server
Ant targets for Content Creation building block
To build the Correspondence Generation building block, navigate to [cgr_root]\install, and run
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - Building Correspondence Generation components
ant dist
Technical Guide for Correspondence Generation
65
66
Appendix - The installation framework
This information is provided to explain the automated installation process used for building blocks and solution accelerators.
The solution accelerator installation framework provides utilities to support automated Ant-based deployment of solution accelerators,
solution templates, and building blocks. By using the installation framework, a customer can deploy a solution accelerator, and all of its
related resources, quickly and reliably.
Objective
The installation framework has several core objectives:
•
•
•
•
•
Provide a unified installation experience for solution accelerator customers
Reduce the overall time taken for installation
Reduce the number of configuration steps
Provide better error reporting and validation at install time to avoid installation cycles
Provide a single-step installer, similar to LiveCycle ES2 turn key
Install Experience
At a high level, following diagram represents the installation experience.
As the diagram shows, the installation experience can be broken into the following simple steps:
•
•
Download and unzip the solution accelerator to a local file system.
•
Modify or override the default properties for the solution accelerator. This step is optional, and the users require a table that details the
properties and their default values.
•
Execute the batch file to deploy the solution accelerator. The user is able to install all available solution accelerators in a single command.
Complete the pre-installation Steps. Pre-installation steps include prerequisite and other steps that could not be automated using an
Ant-based installation.
During the execution of the batch file, the process first assesses that all the dependencies are successfully resolved, and that the key
configuration entries are correct. For example, the reference to the J2EE Jar location is validated, so that deployment does not fail. Errors
are shown immediately after running the verification, rather than later in the deployment cycle, when the actual error occurs.
•
View the installation summary and validation report on the console.
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - The installation framework
•
Technical Guide for Correspondence Generation
Perform any post-installation steps that are required.
Deploy flow
Ant-based deploy has been divided into various stages, so that it is able to do timely error reporting, validate input, and do checkpoint
validation. Deployment goes though following stages:
1
Deploy sequence and dependency resolution
2
Ant properties validation
3
Deploy
4
Load configuration
5
Deploy validation
6
Validate configuration
67
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - The installation framework
68
Technical Guide for Correspondence Generation
The following diagram illustrates the installation framework deployment flow:
Deploy sequence and dependency resolution
The customer runs the install script and provided deploy.list. This list can contain a comma-separated list of three-letter acronyms (TLA).
Each TLA corresponds to a building block or solution accelerator.
For each TLA in the list:
•
•
bb.list is read from Manifest.properties. Order of deployment of these building blocks is read from left to right.
bb.list is added to deploy.list.
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - The installation framework
69
Technical Guide for Correspondence Generation
• The dependency tree is traversed for every dependent TLA.
• While traversing the dependency tree, the script builds the list in the order of deployment.
The output of this stage is the list of building blocks and solution accelerators to be deployed. These lists are bb.install.list and sa.install.list.
Ant properties validation
The purpose of this stage is to try and validate ant.properties for all building blocks and solution accelerators, before calling any other ant
target. This stage should prevent the build failing at a later stage because of an incorrect property.
In this stage,
•
For each building block in bb.install.list:
• Invoke validate_build_properties target on the building block’s build.xml
For each solution accelerator in sa.install.list:
• Invoke validate_build_properties target on Solution accelerator’s build.xml
• Once all the validation targets are fired:
• Check if there are any errors
• If there are errors, collect the error messages, and generate the validation report
• If there are no errors, go to next stage
If there are errors in this stage, check the validation report on the console and correct or provide the missing or wrong property values.
•
Deploy
In this stage, the actual deployment happens.
•
For each building block in bb.install.list:
• Invoke deploy target on the building block's build.xml
• For each solution accelerator in sa.install.list:
• Invoke deploy target on the solution accelerator's build.xml
It is the responsibility of each building block or solution accelerator's deploy target to check the installed version of the building block or
solution accelerator, and compare it with incoming version. Any deploy target should not overwrite a newer installed version, unless the
property force.asset.redeployment is set to true. This flag can be set in [sa_root]/install/ant.properties.
If there is any error thrown during this stage, contact the solution accelerator development team.
Load configuration
The installation framework Configuration Loader lets you configure a LiveCycle ES2 service using Ant script, rather opening LiveCycle
Administration Console and settingthe configuration parameters.
In this stage:
•
For each building block in bb.install.list:
•
• load_config is called with [TLA]Config.xml
For each solution accelerator in sa.install.list:
• load_config is called with [TLA]Config.xml
Deploy validation
In this stage, deployment is validated. During deployment validation, a specific building block or solution accelerator can check whether the
LiveCycle ES2 component has been installed, archive import was successful or not, and web applications have been successfully deployed.
In this stage:
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - The installation framework
•
70
Technical Guide for Correspondence Generation
For each building block in bb.install.list:
• Invoke validate_install target on the building block's build.xml
For each solution accelerator in sa.install.list:
• Invoke validate_install target on the solution accelerator's build.xml
• Once all the validation targets are fired:
• Check if there are is any error
• In case of an error, collect the error messages and generate the validation report
• If there is no error, go to next stage
If there is any validation error, verify if all pre-installation steps were performed.
•
Validate configuration
At this stage, each building block or solution accelerator can verify if the particular component is properly configured. Building block or
solution accelerator scripts can also execute unit tests to verify the installed component.
In this stage:
•
For each building block in bb.install.list:
• Invoke validate_config_params target on the building block's build.xml
For each solution accelerator in sa.install.list:
• Invoke validate_config_params target on the solution accelerator's build.xml
• Once, all the validation targets are fired
• Check if there are is any error
• In case of error, collect the error messages and generate the validation report
• If there is no error, go to next stage
If there is any validation error, verify if all pre-installation steps were performed and all configuration values are correctly specified.
•
Targets exposed by the installation framework install script
Overview
The installation framework install script acts as the controller for the install process. It is passed in the list of TLAs of the solution accelerators
and building blocks to install and validate, and acts on the list accordingly. It passes to all called scripts a property, inside.global.sa.deploy,
with the value true, to allow them to check if they are being invoked by the installation framework.
Syntax
The general syntax to call the installation framework is:
install -D<arguments> <target>
The installation framework install script accepts various arguments through the -D flag.
Argument
Purpose
Default Value
deploy.list
List of building block or solution accelerators to act upon. Multiple solution accelerators or
building blocks can be deployed together. A comma-separated three-letter acronym (TLA) list
can be passed. For example: Install -Ddeploy.list="esm/aen" deploy
Must be manually specified
CORRESPONDENCE GENERATION BUILDING BLOCK
Appendix - The installation framework
Technical Guide for Correspondence Generation
Targets
The installation framework exposes various targets:
Target
Purpose
deploy
This is the default target. Deploys the listed TLAs and dependencies to the server .
undeploy
Undeploys the specified list of TLAs without traversing to the dependencies. Invoke target undeploy to undeploy a building
block or solution accelerator. This target takes TLA names as deploy.list.
Undeploy does not undeploy dependencies.
load_config
Reloads configuration based on the passed in list of TLAs. This does not load dependencies.
This target uses [TLA]Config.xml in base directory for the TLA list passed as deploy.list to reload. Update corresponding
[TLA]Config.xml before calling this target.
validate_config_params
Validates configuration of passed in list of TLAs and dependencies
Validate_build_properties
Invoke validate_build_properties to validate the Ant build properties.
Validate_install
Invoke validate_install to validate the installation of building blocks or solution accelerators.
71