Packaging up a new release as 1.1 for install and upgrade



Let's say that our version 1.1 of the application has been fully tested and is ready for release. How should it be packaged now?

Considering that we may want to treat new customers (starting with 1.1) differently from existing ones (who have already consumed 1.0 and may already have configuration data, and so on) we need to create different packages for each case. Luckily, BMC Helix Innovation Studio has a concept of an Update Package, that contains just those definitions and data to be deployed to upgrade it to the new version. While not mandatory to be used (you can always ask customers to install the full Install Package instead), there is some efficiency in only updating those objects that have been modified, especially for very small "patch" releases.

Consider three releases and customers installing them at different times. The package names we ultimately will need could have the following suffixes:

New Customer as of:

To Consume 1.0

To Consume 1.1

To Consume 1.2

1.0

-1.0.0-INSTALL.zip


-1.0.0-1.1.0-UPDATE.zip

-1.1.0-1.2.0-UPDATE.zip

1.1


-1.1.0-INSTALL.zip

-1.1.0-1.2.0-UPDATE.zip

1.2



-1.2.0-INSTALL.zip

You can find out how to create an Update Package at Creating update packages to deploy incremental updates to applications.

For our Lunch Catering application you would use the Create Update Package command.

image-2024-4-15_11-57-11.png

When selecting definitions to include, think carefully about what is needed to implement your new features. For example, to implement the Prepare Custom Invoice customization point from the last tutorial topic, your selection of definitions might look like this:

image-2024-4-15_11-57-43.png

A few things to pay special attention to:

  • Get the version identifier correct
  • Take great care in picking out definitions that have been changed to support the release.
  • Be aware that you can see all the definitions that have been deleted, and can have this deletion propagate to customers when they install the Update Package. Be very careful with this.
  • Data can be ordered because sometimes there are dependencies between the data.

Note that you will need to use this same technique on both the codeless application, and coded library, in your solution. There is no command-line support at this time for creating an Update Package.

What have you Learned

  • BMC Helix Innovation Studio supports creating Update Packages as well as Install Packages.
  • You can choose to use Update Packages for existing customers, especially useful for very small "patch" releases. But care must be taken to deploy a consistent set of definitions. When in doubt, it is always possible to ask even existing customers to use the Install Package, and this will potentially update all the definitions.
  • The Update Package can be used as a way to clean up old definitions that should be removed. Again, great care must be taken that these are Application Scoped or otherwise Not Customizable, or else removing them could cause a serious problem after applying the upgrade.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC Helix Innovation Suite 25.1