Setting up your development environment

To perform many of the development tasks, such as customizing the user interfaces, set up your development environment.

Requirements

  1. Adobe LiveCycle Solution Quick Start

    Install the Adobe LiveCycle Solution Quick Start (SQS) ES3, which contains the Correspondence Management Solution. Then install the following packages from Package Share:

    File

    Description

    es-sdk-pkg.zip

    LiveCycle Platform SDK package

    bb-assetcomposer-skd-pkg.zip

    Asset Composer building block SDK package

    bb-datadictionary-sdk-pkg.zip

    Data Dictionary building block SDK package

    bb-expressionmanager-sdk-pkg.zip

    Expression Manager building block SDK package

  2. LiveCycle Workbench ES3

    The Correspondence Management Solution requires Adobe® LiveCycle® Workbench to author processes.

  3. Flex SDK 4.5.0

    The Correspondence Management Solution and its related building blocks are developed and tested with Flex SDK 4.5.0. It is recommended that you download and use the specified SDK version. The build scripts and projects need Flex SDK 4.5.0.

  4. Adobe Flash Builder 4.5

    The Correspondence Management Solution comes with several Flash Builder projects. Import these projects into Flash Builder to customize.

  5. Apache ANT

    Install Apache ANT version 1.7.0 or higher for building the individual projects or the Correspondence Management package.

  6. JDK

    For compiling the Solution Template Java project, install the Java JDK 1.6.0_14 or higher.

Downloading the SDKs

  1. From your development workstation, navigate to your Correspondence Management server: http://<host>:<port>/crx/zipper/index.jsp

  2. In the Root Path for export field, browse to /etc/aep/sdk.

  3. In download filename, enter sdks.zip.

  4. In format drop-down, select ZIP.

  5. Click Export and save the sdks.zip to your workstation.

  6. Unzip the sdks.zip to a new [SDK] folder.

Correspondence Management Solution Template

To download the Correspondence Management Solution Template zip file:
  1. In a browser, navigate to http://<hostname>:<port>/crx/index.jsp.

  2. Login using admin credentials and click Content Explorer.

  3. Browse to /etc/aep/deploy/solutions/correspondencemanagement/10.0.0.0/template-src/CorrespondenceManagementSolutionTemplate.zip location.

  4. On the right side, click the Node Path to launch a prompt in the browser to save the CorrespondenceManagementSolutionTemplate.zip

Structure of Correspondence Management Solution Template

The following diagram details the structure of the Correspondence Management Solution Template:

Correspondence Management Solution Template structure
  • build - This folder contains the top level build script which compiles entire solution template and creates a deployable CRX package template-correspondencemanagement-pkg.zip in the deploy folder.

  • Create Correspondence - This folder contains a Flex project containing the source code, flash builder files and build files for the Create Correspondence user interface.

  • deploy - The folder where the CRX package template-correspondencemanagement-pkg.zip is generated when the top-level build is fired.

  • Manage Assets - A Flex project containing the source code, flash builder files and build files for the Manage Assets user interface.

  • package-metadata - This folder contains the meta data files required to generate the solution template CRX package.

  • package-resources - This folder contains other useful resource files required to generate the solution template CRX package.

  • Services - A java project which contains the source code, eclipse project files and build files for the solution template OSGi bundle.

  • third party - The folder containing the build scripts lookups for the third-party JARs. This folder contains a readme.txt file which has the list of third-party files required by the Solution Template build scripts.

Locating the solution template and the building blocks

The Correspondence Management Solution Template uses following building blocks and LiveCycle Platform components:

Component

SDK Path

Asset Composer

[SDK]/riaservices/assetcomposer

Data Dictionary

[SDK]/riaservices/datadictionary

Expression Manager

[SDK]/riaservices/exm

Platform Content

[SDK]/riaservices/riacore

Platform Security

[SDK]/riaservices/riacore

Data Services

[SDK]/riaservices/dataservices

The following SWC libraries are deployed with the solution:

SWC path

Description

[SDK]/riaservices/assetcomposer/10.0.0.0/flex/xfalib.swc

This SWC contains the utility library to provide APIs related to XFA parsing and processing in ActionScript.

[SDK]/riaservices/assetcomposer/10.0.0.0/flex/adobe-acm-flex-utilities.swc

This SWC contains a set of utility classes used by various Asset Composer SWCs.

[SDK]/riaservices/assetcomposer/10.0.0.0/flex/adobe-acm-services-impl.swc

This SWC contains the infrastructure services for the Asset Composer building block. This SWC contains classes that provide client APIs for calling the backend server APIs encapsulating the creation of channels and remote objects.

[SDK]/riaservices/assetcomposer/10.0.0.0/flex/adobe-acm-services-mock.swc

This SWC contains the SWC library that contains mock representations for all the infrastructure services of the Asset Composer building block. This SWC can optionally be used for developing Flex views without actually running a server in the backend. The result is a much faster development.

[SDK]/riaservices/assetcomposer/10.0.0.0/flex/adobe-acm-authoring-rb.swc

This SWC contains the resource bundles for the authoring part of the Asset Composer building block. This SWC file contains bundles for all supported locales.

[SDK]/riaservices/assetcomposer/10.0.0.0/flex/adobe-acm-authoring-domain-impl.swc

This SWC contains the domain library for the authoring part of the Asset Composer building block. It contains various domain classes encapsulating business data and behavior, and can be leveraged to build Flex views atop with lesser effort.

[SDK]/riaservices/assetcomposer/10.0.0.0/flex/adobe-acm-authoring-presentation.swc

This SWC contains the presentation components for the authoring part of the Asset Composer building block. This SWC contains the Host Component and the Flex views that encompass various editors in the Asset Composer building block.

[SDK]/riaservices/assetcomposer/10.0.0.0/flex/adobe-acm-authoring-styles.swc

This SWC contains the styles and skins for authoring the Asset Composer building block. This SWC file contains the Skins, the style sheets and various assets (animations, icons, skins, and so on.) for Host Components available in adobe-acm-authoring-presentation.swc.

[SDK]/riaservices/assetcomposer/10.0.0.0/flex/adobe-acm-ccr-rb.swc

This SWC contains the resource bundles for the Create Correspondence part of the Asset Composer building block. This SWC file contains bundles for all supported locales.

[SDK]/riaservices/assetcomposer/10.0.0.0/flex/adobe-acm-ccr-domain-impl.swc

This SWC contains the domain library for the Create Correspondence part of the Asset Composer building block.

[SDK]/riaservices/assetcomposer/10.0.0.0/flex/adobe-acm-ccr-presentation.swc

This SWC contains the presentation for the Create Correspondence part of the Asset Composer building block. This SWC contains the Host Component and the Flex views that encompass CCR user interface in the Asset Composer building block.

[SDK]/riaservices/assetcomposer/10.0.0.0/flex/adobe-acm-ccr-styles.swc

This SWC contains the styles ans skins for Create Correspondence part of the Asset Composer building block. This SWC file contains the Skins, the style sheets and various assets (animations, icons, skins, and so on) for Host Components available in adobe-acm-ccr-presentation.swc.

[SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/lc-content-api-client.swc

This SWC contains the API related to File infrastructure provided by platform content

[SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/adobe-lcc-services.swc

This SWC contains the service interfaces exposed by platform content

[SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/adobe-lcc-services-impl.swc

This SWC contains the service implementations exposed by platform content

[SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/adobe-lcc-rb.swc

This SWC contains the Resource Bundles of platform content

[SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/adobe-lcc-domain.swc

This SWC contains the Domain interfaces and VOs exposed by platform content

[SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/adobe-lcc-domain-impl.swc

This SWC contains the Domain implementations exposed by platform content

[SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/adobe-lcc-presentation.swc

This SWC contains the Presentation Layer/Host components of platform content

[SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/adobe-lcc-styles.swc

This SWC contains the Skins and Styles Flex components present in adobe-lcc-presentation.swc

[SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/adobe-lcc-services-mock

This SWC contains the Mock Services Implementations exposed by platform content

[SDK]/riaservices/datadictionary/10.0.0.0/flex/adobe-dct-flex-services.swc

This SWC contains the infrastructure services for the Data Dictionary building block. This SWC contains classes that provide client APIs for calling the backend server APIs encapsulating the creation of channels and remote objects.

[SDK]/riaservices/datadictionary/10.0.0.0/flex/adobe-dct-widgets.swc

This SWC contains the Flex component library for the Data Dictionary building block. It contains various out-of-the-box complete Flex components which can be included in applications. These components include the editor, Data Elements Panel, and so on, for viewing or manipulating data dictionary artifacts.

[SDK]/riaservices/datadictionary/10.0.0.0/flex/adobe-dct-widgets-rb.swc

This SWC contains the resource bundles SWC for the Data Dictionary building block. This SWC file contains bundles for all supported locales.

[SDK]/riaservices/datadictionary/10.0.0.0/flex/adobe-dct-widgets-styles.swc

This SWC contains the styles for the Data Dictionary building block. This SWC file contains the skins, style sheets, and various assets (animations, icons, skins, and so on) Host components exposed in adobe-dct-widgets.swc.

[SDK]/riaservices/exm/10.0.0.0/flex/adobe-exm-authoring-domain.swc

This SWC contains the domain classes for variable, functions, and expression-specific operations class for expression authoring UX component.

[SDK]/riaservices/exm/10.0.0.0/flex/adobe-exm-authoring-domain-impl.swc

This SWC contains the implementation classes for the expression authoring domain interfaces.

[SDK]/riaservices/exm/10.0.0.0/flex/adobe-exm-authoring-presentation.swc

This SWC contains all HostComponent required for expression builder like toolbar, ExpressionsPanel, functionsPanel, and Variable Panel, and so on,

[SDK]/riaservices/exm/10.0.0.0/flex/adobe-exm-authoring-rb.swc

This SWC contains Resource Bundles for authoring UX components.

[SDK]/riaservices/exm/10.0.0.0/flex/adobe-exm-authoring-styles.swc

This SWC contains all Skin Class related to host component of Expression Builder

[SDK]/riaservices/exm/10.0.0.0/flex/adobe-exm-services-impl.swc

This SWC contains the implementation classes for the function-provider infrastructure service.

[SDK]/riaservices/exm/10.0.0.0/flex/adobe-exm-services.swc

This SWC contains the interfaces for the EXM infrastructure services.

[SDK]/riaservices/exm/10.0.0.0/flex/adobe-exm-services-mock.swc

This SWC contains mock implementations of the EXM infrastructure services and utility classes for defining lists of functions in mock XML.

[SDK]/riaservices/exm/10.0.0.0/flex/adobe-exm-runtime.swc

This SWC contains the interfaces, errors, and events for the Expression Manager client-side runtime.

[SDK]/riaservices/exm/10.0.0.0/flex/adobe-exm-runtime-impl.swc

This SWC contains the implementation of the Expression Manager client-side runtime.

[SDK]/riaservices/exm/10.0.0.0/flex/adobe-exm-expeval.swc

This SWC contains the server-side Expression Manager interfaces and implementation.

[SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/security_api.swc

This SWC contains interface classes to handle security. The classes allow applications to perform user authentication, determine user details and related operations with the ISecurityManager service.

[SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/security_domain_library.swc

This SWC contains the implementation for the ISecurityManager service.

[SDK]/riaservices/gravity/10.0.1.0/flex/core/libs/gravity_utility.swc

This SWC contains utility classes required by Security library.

[SDK]/riaservices/dataservices/4.6.1/FlexSDK4_5/frameworks/libs/fds.swc

This SWC contains the Data Services ActionScript library.

[SDK]/riaservices/dataservices/4.6.1/FlexSDK4_5/frameworks/libs/player/playerfds.swc

This SWC contains the Data Services classes specific for Flash Player.

[SDK]/riaservices/dataservices/4.6.1/FlexSDK4_5/frameworks/locale/en_US/fds_rb.swc

This SWC contains the resource bundle used by DataServices Flex components.

[SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/AXMLib.swc

This SWC contains AXM Flex Components.

[SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/AXMEnterpriseTheme.swc

This SWC contains the theme/styles for AXM components.

Each Building Block contains JAR files which can be found in the SDK\riaservices\<component>\client\java and SDK\riaservices\<component>\services directory:

JAR Path

Description

[SDK]/riaservices/assetcomposer/10.0.0.0/java/adobe-acm-client.jar

Client jar for Asset Composer building block

[SDK]/riaservices/assetcomposer/10.0.0.0/java/adobe-acm-extensions.jar

Extensions jar for Asset Composer building block

[SDK]/riaservices\assetcomposer/10.0.0.0/java/lc-content-activate-api.jar

Activation Service Client for Asset Composer building block

[SDK]/riaservices/assetcomposer/10.0.0.0/java/lc-content-package-mgr-api.jar

Package Manager Client for Asset Composer building block

[SDK]/riaservices/datadictionary/10.0.0.0/java/adobe-dct-client.jar

Client jar for Data Dictionary building block

[SDK]/riaservices/riacore/10.0.1.0/java/lc-content-api.jar

Client jar for platform-content server-side API

[SDK]/riaservices/exm/java/adobe-exm-expeval-client.jar

Client jar for Expression Manager building block

Understanding the Available Projects

Sources are shipped for the whole Solution Template and parts of some Building Blocks and Platform Components. The purpose of delivering source is to help you customize the solutions with relative ease:

Project Category

Description

Resource Bundles

The resource bundle projects contain the resource bundles for all the supported locales. These bundles include all the strings that are displayed on the Flex user interface. The following projects are under this category:
  • [SDK]/riaservices/assetcomposer/10.0.0.0/flex/src/adobe-acm-authoring-rb-src.zip (Authoring part of the Asset Composer Building Block)

  • [SDK]/riaservices/assetcomposer/10.0.0.0/flex/src/adobe-acm-ccr-rb-src.zip (Create Correspondence part of the Asset Composer Building Block)

  • [SDK]/riaservices/datadictionary/10.0.0.0/flex/src/adobe-dct-widgets-rb-src.zip (Data Dictionary Building Block)

  • [SDK]/riaservices/exm/10.0.0.0/flex/src/adobe-exm-authoring-rb-src.zip (Expression Manager Building Block)

  • [SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/src/adobe-lcc-rb-src.zip (Platform Content Components)

Styles and Skins

The style projects contain the MXML skin classes and style sheets as well as all the related assets including the icons, logos, skins, and so on. The following projects are under this category:
  • [SDK]/riaservices/assetcomposer/10.0.0.0/flex/src/adobe-acm-authoring-styles-src.zip (Authoring part of the Asset Composer Building Block)

  • [SDK]/riaservices/assetcomposer/10.0.0.0/flex/src/adobe-acm-ccr-styles-src.zip (Create Correspondence part of the Asset Composer Building Block)

  • [SDK]/riaservices/datadictionary/10.0.0.0/flex/src/adobe-dct-widgets-styles-src.zip (Data Dictionary Building Block)

  • [SDK]/riaservices/exm/10.0.0.0/flex/src/adobe-exm-authoring-styles-src.zip (Expression Manager Building Block)

  • [SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/src/adobe-lcc-styles-src.zip (Platform Content Components)

Setting up Flex projects in Flash Builder

Add the Flex SDK 4.5.0

Since all the projects are developed and tested against the Flex SDK 4.5.0, it is recommended that projects use the same version of the Flex SDK. The specified version of the Flex SDK is available in your Flash Builder 4.5 installation.

  1. If Flash Builder does not inlcude the Flex SDK 4.5.0, download the Flex SDK from http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4.5

  2. In Flash Builder, click Window > Preferences.

  3. In the Preferences Dialog, navigate to Flash Builder > Installed Flex SDKs.

  4. If the Flex 4.5.0 SDK is not listed, click Add.

  5. In the Add Flex SDK dialog, browse the Flex SDK by clicking the Browse button.

  6. The Flex SDK name text field gets automatically filled.

  7. Click OK and Select the newly added Flex SDK to make it the default.

  8. Click Apply and then OK to dismiss the dialog.

Add Workspace Variables

The projects need several SWCs to resolve compile-time dependencies. Most of the SWCs are available under the [SDK] folder and the projects reference the required SWCs via workspace variables. Define the following workspace variables:

Variable Name

Path

[SDK]

The [SDK] folder.

For setting the workspace variables, perform the following tasks:

  1. In Flash Builder, click Window > Preferences.

  2. In the Preferences Dialog, navigate to General > Workspace > Linked Resources.

  3. Click New. In the Name field enter SDK, and in the Location field enter the [SDK] folder.

  4. The Linked Resources dialog, verify that the defined path variables have been entered correctly.

  5. Click OK.

Unzip Source Archives

To import them in the Flash Builder workspace, first unzip them. It is recommended that you unzip the projects in the same directory as the zip archive. Choosing a different directory would require configuring the new path in all the build scripts.

You are required to unzip the following archives:

  1. CorrespondenceManagementSolutionTemplate.zip

  2. [SDK]/riaservices/assetcomposer/10.0.0.0/flex/src/adobe-acm-authoring-styles-src.zip to [SDK]/riaservices/assetcomposer/10.0.0.0/flex/src/adobe-acm-authoring-styles-src.

  3. [SDK]/riaservices/assetcomposer/10.0.0.0/flex/src/adobe-acm-ccr-styles-src.zip to [SDK]/riaservices/assetcomposer/10.0.0.0/flex/src/adobe-acm-ccr-styles-src.

  4. [SDK]/riaservices/datadictionary/10.0.0.0/flex/src/adobe-dct-widgets-styles-src.zip to [SDK]/riaservices/datadictionary/10.0.0.0/flex/src/adobe-dct-widgets-styles-src.

  5. [SDK]/riaservices/exm/10.0.0.0/flex/src/adobe-exm-authoring-styles-src.zip to [SDK]/riaservices/exm/10.0.0.0/flex/src/adobe-exm-authoring-styles-src.

  6. [SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/src/adobe-lcc-styles-src.zip to [SDK]/riaservices/riacore/10.0.1.0/flex/4.5.0/src/adobe-lcc-styles-src.

Importing Flex projects in to Flash Builder

  1. In Flash Builder, go to File menu and click Import to launch the Import wizard.

  2. In the Import wizard, choose General > Existing Projects into Workspace and click Next.

  3. In the Select root directory field, browse to ManageAssets source code folder and press Enter.

  4. The Projects view is populated with all of the building block projects.

  5. Click Finish to import the project into your workspace.

  6. Repeat steps 2 through 6 for the Create Correspondence project.

Setting up java projects in Eclipse

Add Classpath Variables

The projects need several JAR files to resolve compile-time dependencies. Most of the JARs are available under the [SDK] folder and the projects reference the required jars via workspace variables. Define the following workspace variables:

Variable Name

Path

SDK

The [SDK] folder.

CM_THIRDPARTY_LIBS

CorrespondenceManagementSolutionTemplate\thirdparty directory

For setting the workspace variables, perform the following tasks:

  1. In Eclipse, click Window > Preferences.

  2. In the Preferences Dialog, navigate to Java > Build Path > Classpath Variables.

  3. Click New. In the Name field enter SDK, and in the Path field enter the [SDK] folder.

  4. Click New. In the Name field enter CM_THIRDPARTY_LIBS, and in the Path field enter CorrespondenceManagement\FinancialServicesInsurance\thirdparty directory.

Unzip Java Source Archive

The project is available as zip archive CorrespondenceManagementSolutionTemplate.zip. To import it in the Eclipse, unzip this archive file.

Add third-party libraries

To successfully run the build scripts and setup a Services project in Eclipse, add the following third-party libraries to this folder:

The same information is also present in the readme.txt file present in the third-party folder.

Import Project

  1. In Eclipse, right click the Package Explorer view to bring up the context menu and select Import wizard.

  2. In the Import dialog, chooseGeneral > Existing Project into workspace and click Next.

  3. In the Select root directory field, enter the value CorrespondenceManagementSolutionTemplate\Services and press Enter.

  4. The Projects view populates with the Services.

  5. Click Finish to import the projects into your workspace.

Top level build script

The top level build script, by default, is located in under CorrespondenceManagementSolutionTemplate\build\build.xml. This build script creates template-correspondencemanagement-pkg.zip at CorrespondenceManagementSolutionTemplate\deploy with all the changes made to the three Solution Template projects: CreateCorrespondence, ManageTemplates, and Services. Remember to modify the accompanying properties file build.properties to configure the correct [SDK] and FLEX_HOME directories.

Solution Template build scripts

The solution template build scripts are available for all the three projects under the CorrespondenceManagementSolutionTemplate through CreateCorrespondence, ManageAssets, and Services. They select the ANT variables from the top-level build.properties file which is referenced by the relative path in the individual build.xml files.

CreateCorrespondence and ManageTemplates also have their own build.properties files which contain certain project-specific properties. These properties do not conflict with the top-level properties. Take care to avoid conflicts when adding extra properties to the project-specific build.properties file.

The top-level build that produces the template-correspondencemanagement-pkg.zip triggers the three Solution Template build and creates the template-correspondencemanagement-pkg.zip in the deploy directory.

Building and deploying the Solution Template

To build the Solution Template, perform the following tasks from the command prompt or terminal:
  1. Navigate to the CorrespondenceManagementSolutionTemplate\build folder.
    Note: The build folder has build.properties file which contains default entry for [SDK] and FLEX_HOME path variables. If your paths vary from the default ones, change the build.properties paths.
  2. Fire "ant" command. The default target builds all the underlying projects and creates the template-correspondencemanagement-pkg.zip (in CorrespondenceManagementSolutionTemplate\deploy folder)

To deploy the Solution Template, perform the following tasks from a browser window:
  1. Open the URL for the CRX Package Manager and upload template-correspondencemanagement-pkg.zip.

  2. Navigate to http://<host>:<port>/system/console/bundles view and search for the com.adobe.livecycle.cm bundle. Stop and delete this bundle.

  3. Upload and install the package.

  4. While you’re uploading the package, if the system prompts that the package already exists, uninstall the existing package and delete it from the system.

  5. After you’ve removed the existing package, continue with step 3 in this procedure.

// Ethnio survey code removed