Administer > Deploy > Overview: WebSphere Commerce Build and Deployment tool > Configure and run the build process
WebSphere Commerce Build and Deployment tool repository structure
Default repository structure
Directory path Description workspace Contains modules or projects that are part of the WebSphere Commerce Developer workspace. Refer to the next section for details on what should be included in this directory in the workspace. workspace/DataLoad The RAD simple project introduced by WCBD holds data files. Supported formats include SQL and XML files. These formats must conform to the WCS loading utilities...
The structure of the DataLoad project provides a way to separate different types of data files, and different target environments.
A template of the empty DataLoad project is provided in the directory...
WCBD_INSTALL/project-templates...which can be imported into the WebSphere Commerce Developer workspace and checked into the repository.
Use the following steps to populate and organize the project with the customization data:
- At the root of the DataLoad project, create the directory with the specified name for each type of data you customize:
SQL sql Massload XML xml User (access) group acug Access control policy acp NL access control policy acpnls
- In each of the following directories created in the preceding steps:
- If you have data that is common to all the target environment, create a directory called common, and place the common data files in the directory.
- If you have data that is specific to a target environment, create a directory specific to the target environment and place the target-specific data files in the directory. For example, prod for the production environment, and qa for the QA environment.
workspace/StaticWeb The RAD static Web project introduced by WCBD, holds static Web server assets.
A template of the empty StaticWeb project is provided in...
WCBD_INSTALL\project-template...which can be imported into the WebSphere Commerce Developer workspace and checked into the repository. The project can then be populated with the static Web server assets.
Consideration for structuring the repository
There are some implications to the functionality, performance, and configuration of the build and deployment process, as well as the development process of how the repository is structured. You must consider the following points when setting up the repository for use by WCBD:
- In WebSphere Commerce Developer 7, the default binary Java EE modules are included in the WC project.
These modules might contain binding and configuration information specific to the development environment. If you include such modules in the repository, it might be processed by the build process and included in the deployment packages. The server deployment process subsequently includes these modules as part of the partial application update, introduces major configuration issues on the deployed WCS application. It is therefore imperative to exclude such modules from the repository. If there is already an existing repository that employs a different structure than the default structure used by WCBD, and if it cannot be restructured, consider one of the following options:
- Customize the source extraction Ant script to exclude the out-of-the-box WCS Java EE modules from the checkout process, or delete them from the source after the checkout process.
- Use the ear.dir.excludes property in the build configuration file to exclude the out-of-the-box WCS Java EE modules from the deployment packages in the build process.
- For the WC module or project, you are recommended to check in only the changed files.
This will improve the build and deployment performance, and reduce the size of the deployment packages.
For example, if the customization adds or changes only some properties files and XML files, only these files should be checked into the repository. Many SCM supports a feature that excludes files from being checked into the repository and can be leveraged. Refer to the SCM documentation for details.
- For the WebSphereCommerceServerExtensionsData, WebSphereCommerceServerExtensionsLogic, or a new module or project that has been added or modified by the customization, check in the entire module or project into the repository.
This is required by the build process to resolve build dependencies, and to compile correctly.
- For any existing Web module or project that is modified by the customization, check in only the changed files if possible.
This will improve the build and deployment performance, and reduce the size of the deployment packages. For example, if the customization adds or changes only the Struts configuration file and some JSP files in the Stores project or module, only these files should be checked into the repository.
- For the LOBTools module or project, directories...
WebContent\config
WebContent\WEB-INF\.settings
WebContent\WEB-INF\src...are required to be checked into the repository. These assets are required by the build process to compile the OpenLaszlo source code.
- For any existing Web module or project that is modified by the customization, check in the changed files if possible.
This will improve the build and deployment performance, and reduce the size of the deployment packages. For example, if the customization adds or changes only the Struts configuration file and some JSP files in the Stores project or module, only these files should be checked into the repository.
- For any module or project in the workspace that has not been modified by the customization, do not check it into the repository.
This avoids unnecessary work in the build and deployment processes. For example, if the CommerceAccelerator module or project has not been modified, it is not necessary to include it in the repository.