9 Working with Source Control

This chapter provides information to enable you to collaborate in teams by using a source control system to share projects and describes which files must be source controlled in Oracle Communications Design Studio.

About Source Control

Oracle recommends that you use a source control system to manage the quality of service fulfillment design solutions. With a source control system, you can share projects across development teams, submit changes to various projects, and import projects into Design Studio. Oracle recommends that you always use a source control system in your workflow, even if only one team member is working on a development project. Using source control, you can track changes to systematically correct mistakes, roll back to previous versions, and support quality control. Design Studio can integrate with source control software, such as Apache Subversion, GIT, and Concurrent Versions System (CVS).

For team development projects, you install the source control software on a server. A server installation enables multiple developers to remotely access the hosted repository. For development projects with one developer, you can install the source control software locally on the individual computer. A local installation enables a single user to access the repository on the computer's file system. Commands execute directly without the need for a server.

Source control systems are unique. Some integrate with Eclipse-based applications and others provide separate tooling. Some source control systems distribute integration plug-ins through Eclipse Marketplace, while others distribute plug-ins independently.

Configuration capabilities and procedures vary among source control systems. Oracle recommends that you consult your source control system documentation when setting up the Eclipse integration. You can integrate Design Studio with your source control feature after you configure the source control system feature for Eclipse.

About Source Control Strategies for Design Studio Files

Oracle recommends that developers work in a source control system when developing cartridges in Design Studio. Oracle Enterprise for Eclipse provides support for integrating with source control systems (plug-ins are available for most common source control systems). The behavior of Design Studio when used in an environment where the files are backed by a source control system depends on the source control system and the source control team plug-in being used. For more information about working in the team environment, see Eclipse Workbench User Guide. See the Eclipse Marketplace page for more information about supported source control solutions:

http://marketplace.eclipse.org/

Table 9-1 describes the structure of the directories and the files in a Design Studio and recommends a source control management strategy.

Table 9-1 Design Studio Source Control Management

Directory or File Description Source Control Management

ProjectDir/

Project's top level directory.

Source control all files directly under this directory.

ProjectDir/cartridgeBin/

Contains deployable archive files

Source control the directory but do not source control the contents.

ProjectDir/dataDictionary/

Contains Data Dictionary schema files and companion files.

Source control.

ProjectDir/doc/

Contains documentation files.

Source control.

ProjectDir/generated/

Contains generated artifacts of the build process.

Source control. However, do not source control the src folder or its contents.

ProjectDir/generated/src/

Contains generated artifacts of the build process.

Source control the directory but not its contents.

ProjectDir/integrityLib/

Contains Design Studio for Network Integrity JAR files that are included in the Network Integrity server Enterprise Archive (EAR). These JARS are in the project's classpath.

Source control the directory, but do not source control the files in this directory.

ProjectDir/integrityLib/packaged

Contains JAR files that are created by Design Studio for Network Integrity and which are packaged into the cartridge IAR file. The JAR files are added to the Network Integrity EAR when the cartridge is deployed. These JAR files are in the project's classpath.

Source control the directory, but do not source control the files in this directory.

ProjectDir/lib/

Contains JAR files.

Source control. The mds.mar file is output to this directory. Do not source control the mds.mar file.

ProjectDir/mdsArtifacts/

Contains files that contribute to the UI Hints infrastructure.

Source control the directory and the following files:

  • MDSAvailablePagePanels.xml

  • MDSAvailablePagePanels.xsd

  • MDSMetaData.xml

Do not source control the the remaining files in this directory.

ProjectDir/model/

Contains files that are used to persist the information about Cartridges, Actions, Processors, Model Collections, and Address Handlers.

Source control.

ProjectDir/out

Contains output classes.

Do not source control.

ProjectDir/src/

Contains the user-supplied code for the cartridge.

Source control.