Overview
The use of the Power Objects ALM tool with North52 requires a different deployment approach. This article outlines the deployment approaches and provides guidance on how to successfully deploy North52 when using the Power Objects ALM.
Power Objects ALM Deployment Behaviour
- Dev environment (unmanaged)
- Dev-Master environment (unmanaged)
- QA+ environments (managed)
In Dev there will usually be a 'Primary Solution' that is then patched repeatedly as changes are made.
These patches are then exported, imported and merged into the 'Primary Solution' in Dev-Master via the ALM tool / Deployment manager. This Primary Solution is then replicated out to higher environments, thereby ensuring that all higher environments are a mirror of Dev-Master.
North52 Deployment Behaviour
North52 components (Formulas, xCache, Data Packages, Tests) have a deployment solution specified, and deployment to higher environments is completed by exporting and importing the solution from the Dev environment to the higher environments.
During the deployment process, the N52 Publish All workflow will verify that the 'expected' solution exists (the solution the component references) and creates a web resource in this solution if required.
If the expected deployment solution does not exist, then the N52 Publish All workflow will raise an error saying the the North52 component does not exist.
The purpose of this safety check is to ensure users do not end up with multiple versions of the same web resource in their environment, possibly leading to inconsistent or unexpected behaviour.
Where the different techniques diverge
When using the Power Objects ALM, the usual aim is to have all the business rules in the 'Primary Solution'. However when you have multiple people working on patches in the Dev environment, this is not possible since, since you can't add North52 components directly to the solution currently being patched.
If you add a component (e.g. Formula) to a patch solution (via the North52 formula Deployment Solution field) then that component will expect to live there. Since the Patch will be automatically rolled up in the Dev-Master environment, this will cause the N52 Publish All workflow to fail (as the Patch solution is no longer present).
Steps to Carry out successful deployments
In order to ensure consistency and safe deployments with North52 and the Power Objects ALM, use manual exports and imports to keep the North52 components in Dev-Master in the 'Primary Solution' in a supported manner. This will ensure that all North52 components are propagated to the higher environments safely.
Dev Environment
- Create a Solution called North52 components
- When a Formula etc. is ready for deployment to the Dev-Master environment add it to this solution
- Export this Solution (unmanaged) from Dev
Dev-Master Environment
- Import the Solution (unmanaged) into Dev-Master
- Publish All Customisations
- This will trigger the N52 Publish All workflow
- Wait 1 minute while the workflow publishes any changes
- Verify that new or changed Formulas have been updated in Dev-Master
- Bulk Edit the formulas in Dev-Master and change the Deployment Solution to your Primary Solution
- Verify the North52 components solution is now empty in Dev-Master
This will replicate out the North52 logic to the higher environments and maintain stability and consistency.