This topic describes how to deploy an application that depends on other applications to work, thus requiring them to be also deployed on the same environment.

In this example the Customer Portal application is going to be deployed to Quality Assurance for testing, but it depends on the Cases and CRM Services applications, that are already deployed on that environment.

Develop and Deploy Cases and CRM Services

A new Customer Portal application was developed, and reuses business logic from both the Cases and CRM Services applications. To ensure the stability of all applications, Cases and CRM Services are deployed to Quality Assurance to be tested, even before developing the Customer Portal.

Deploy Customer Portal

After a development milestone is finished, the Customer Portal application is ready to be deployed to Quality Assurance for testing. The CRM Services application, also had to be changed to implement new business logic reused by Customer Portal.

The team starts creating the plan to deploy the application. However, when validating the plan, OutSystems Platform detects that Customer Portal cannot be deployed without also deploying the latest version of CRM Services. So both applications become red, and it’s not possible to continue with the deployment.

Understand the Dependencies

To understand the dependencies, click on the error message near Customer Portal.

In this example, OutSystems Platform warns that deploying this version of Customer Portal will make the application misbehave in Quality Assurance. This happens because, Customer Portal is not compatible with the CRM Services application that is deployed on Quality Assurance.

To understand what will cause Customer Portal to misbehave, click the 'Show Details' link.

Clicking on the error icon reveals that the problem is that the Customer Portal module depends on the Customers module from the CRM Services Application. The 'Customer_Details' action, that Customer Portal depends, is not available on the version deployed on Quality Assurance.

Resolve the Dependencies

Since the latest version of CRM Services, already exposes the 'Customer_Details' action as public, we just need to deploy that version to Quality Assurance.

In the list of applications, set the deployment option for the CRM Services. Click 'Tag & Deploy 1.4' on the CRM Services application, to deploy the latest version to Quality Assurance.

Then click on 'Validate Now' to validate the dependencies again. This time all is OK, so the deployment button changes to green.

Deploy to Quality Assurance

Click 'Continue' to review the deployment plan.

Since Cases, Mobile Sales, and Sales depend on the applications we are deploying to Quality Assurance, OutSystems Platform checks them to be re-deployed. No changes are made to these applications. They are just recompiled and deployed to start using the new versions of CRM Services and Customer Portal. You'll be allowed to redeploy only those applications to which you have permissions.

You can uncheck the applications listed on the right, so that they are not re-deployed. This makes the deployment faster, but those applications will continue using outdated references, and may cause unexpected behaviors.

Review the deployment plan, add some notes, and click on 'Deploy Now'.

The latest version of Customer Portal and CRM Services are deployed to Quality Assurance. The Cases, Mobile Sales, and Sales applications are redeployed in Quality Assurance, ensuring all applications work properly.

See Also

Deploy an Application

Plan a Deployment for the Operations Team