DATIM4U is a collection of OpenHIE components and DATIM specific software that are installed and configured based on a set of workflows/use-cases. This process describes a release process that handles continuous development with packaging and testing happening simultaneously. Development refers to new features being released as packages into launchpad by the developers. Packaging refers to wrapping specific configurations, packages and steps into a script for an implementer/end-user to use to install and performing alpha testing of software and package. Testing refers to end to end testing to evaluate the software as well as packaging. 

DATIM4U Package Version - the version numbers refer to the whole packaging version.

The Sub-Package versions - the individual OHIE or DATIM specific component/package numbers that are installed with the specified version of the DATIM4U package.

Version Numbering

Our versions are numbered in a two part format. First part depicts the major version number and Second part depicts the minor version number. For example - 2.21-0ubuntu11.  2.21-0 is Major version number, 11 is the minor version number. Ubuntu represents the linux distribution it has been released for.

  • Major version number usually informs us of the version of the software that is packaged. 2.21-0 : the software is versioned at 2.21 and has been initially packaged by the software owner 0 times.
  • Minor version number usually informs us the different iterations the software has been packaged for the specific major version number. 11 : the software has been packaged for 11 times for 2.21-0 version of the software.

PreDeployment - Three versions of Packaging

 

Development launchpad Personal Package Archive(PPA) (folder):

This is where developers release the new versions of software/packages are released. Only a few from OpenHIE packages are selected for the DATIM workflows. Packaging team packages most of DATIM specific packages by taking the source code from GitHub.

Packaging Testing launchpad PPA (folder):

This is where packaging team moves the development packages to after deciding what package versions will go to the next packaging install. Alpha testing happens through these packages and script.

Formal Testing / Production launchpad PPA (folder):

This is where the packaging team moves the packages tested and confirmed to be functioning to for the testing team to perform end to end testing. Beta and further testing happens through these packages and script.

Pre-Deployment Packaging Release Cycle:

The development model is similar to agile workflow. The next set of features to be developed are discussed and documented. The features discussed are then intended for the next release of the package that usually occurs within the next couple of weeks. The following steps are how things happen consequently

  1. Necessary packages for the required features are developed and released to Development folder. (Also other regular developments and releases to packages continue )
  2. The selected packages for the next packaging release are selected and moved to testing launchpad. 
  3. Packaging scripts are updated with any required configuration changes. Most of the manual configurations required for the packages are automated through the scripts to reduce the load on end user.
  4. A new instance of DATIM4U node is setup using the new packaging scripts. This instance is alpha tested from end to end to ensure existing and new functionalities are available for the end user.
  5. A developer instance is setup for developers and a demo instance is setup for the community (one of these can be the alpha tested server used in the earlier system). This acts as a alpha user testing.
  6. If any issues are encountered through step 3-5 the process repeats from 1 through 6. followed by alpha testing and developer nodes completely rebuilt and demo nodes are patched.
  7. After successful alpha testing, the packages and the scripts are promoted to production and the testing team are notified to begin their end to end testing, considered beta testing. 
  8. If any issues are encountered by the testing team, most likely they are included in the consequent packaging release excepting minor modifications.

 

  • No labels