This documentation supports the 22.1 version of BMC Helix Innovation Studio.To view an earlier version, select the version from the Product version menu.

Developing collaborative Digital Service applications


In a development team, all developers have their own sandbox development environments, which include the BMC Helix Innovation Studio SDK and a cloud-based instance of the BMC Helix Innovation Studio. In a development environment, an option to install a master or single BMC Helix Innovation Studio is not available. Therefore, if multiple developers want to simultaneously work on a Digital Service application and access the updates, the developers must set up a collaborative development environment. 

A collaborative development environment enables multiple developers to perform the following tasks:

  • Easily work on a single environment from different locations
  • Participate in updating an application simultaneously
  • Maintain all project files in a source control system
  • Obtain the latest source code files easily

Process for setting up a collaborative development environment

In a collaborative development environment, you can do one of the following tasks:

For multiple developers to access and update the application bundles, you must set up a collaborative development environment as described in the following process:

Task

User

Action

1

A single developer

Creates a new bundle project by using the archetype.

For more information, see Creating-a-Project-using-Maven-and-the-Archetype.

2

A single developer

Optionally builds, deploys, and tests the bundle project. The developer is not required to export or deploy the project in BMC Helix Innovation Studio.

For information about building and deploying a project, see Creating-a-Project-using-Maven-and-the-Archetype and Deploying-the-custom-code-based-applications-to-development-environments.

3

A single developer

Checks in the bundle project source code and definition file to the source control system.

The following files are checked in:

  • Project folder, including the bundle and package folders

The following folders are not checked in:

  • bundle\node_modules
  • bundle\target and package\target

Process for multiple developers working on a single application bundle

The following table describes the tasks that multiple developers must perform to work on a single application bundle.

Task

User

Action

1

All developers

Coordinate to ensure that only a single dedicated developer works and updates individual definition files at any point of time.

2

Single dedicated developer who works on
and updates the definitions

Performs the following tasks to build the project and make it available to all developers in a team:

  1. Gets the latest code and definitions from the source control system.
  2. Builds and deploys the project in the environment.
  3. Uses BMC Helix Innovation Studio to create, modify, or delete the definitions.
  4. Tests the project.
  5. Exports the definitions.
  6. Commits the updated definition file and the modified project files into the source control system.
  7. Notifies other developers that a new definition file has been checked in and is now available for use.

For more information, see the following topics:

3

All developers

Perform the following tasks to access the latest application and update the definitions:

  1. Undeploy existing version of BMC Helix Innovation Studio from their individual sandbox instances of BMC Helix Innovation Studio.
  2. Get the latest source code and definitions from source control system.
  3. Build and deploy the project to individual sandbox instances of BMC Helix Innovation Studio.
  4. Use BMC Helix Innovation Studio to create, modify, or delete the definitions.
  5. Test the project.

For more information, see the following topics:

The following image describes different stages when multiple developers are working on a single application bundle:

Collaborative dev process.png

Best practice
To enable better collaboration, use libraries of small granularity to adhere to good modular design and to minimize conflict. After you reach the limit of 1000 objects in a module, avoid adding further objects. Critically examine objects before you add them to the module.

Limitation

In a collaborative environment, the following limitation is applicable when updating definitions of a single application:

  • Changes made by only one developer for a particular definition file can be committed to the source control system at a given point of time. If multiple developers update a single application bundle, then their changes are not checked in to the source control system. Only the single dedicated developer can save and check in the changes.

    A developer who is not the dedicated developer can save the project changes by performing the following tasks:

    1. Coordinate with other developers and become the single dedicated developer to work on the bundle project.
    2. Undeploy the existing project from the sandbox environment.
    3. Update the definitions and check in the updated files to the source control system.

Process for multiple developers working on individual application bundles

After the developer who built the bundle project has checked in the updated project files, all developers in the development team can obtain the bundle project and deploy it to their sandbox instances of BMC Helix Innovation Studio.

The developers must perform the following steps to deploy and update the application bundle in their sandbox environments:

Task

User

Action

1

All developers

Undeploy existing version of BMC Helix Innovation Studio from their individual sandbox instances.

For more information, see Deploying-the-custom-code-based-applications-to-development-environments.

2

All developers

Perform the following steps for deploying the application to the sandbox instances:

  1. Get the latest source code and definitions from source control system.
  2. Build and deploy the project in the environment.
  3. Use BMC Helix Innovation Studio to create, modify, or delete the definitions.
  4. Test the project.

For more information, see the following topics:

Where to go from here

To start working in BMC Helix Innovation Studio, deploy your Digital Service application for the first time.