Upgrade OutSystems platform
Question
Platform Version
11.11.1 (Build 28426)

Hi community,

Today our platform from version Version 11.7.2 (Build 5749) is updated to Version 11.11.1 (Build 28426) . Following the guide to upgrade the OutSystems platform. So I just made an all_components solution and republished all applications on the development environment. Next up is our testing environment. The following is written in the document:


"For all non-development environments (for example, Testing, Production, etc.), it’s recommended to stage the application modules from a previously upgraded environment. Using Service Center (https://YOUR_ENVIRONMENT/ServiceCenter), download the solution and publish it in the new environment, ensuring you don't overwrite the System Components. You can also use the LifeTime management console to stage upgraded applications, when the lifecycle of the applications is perfectly aligned with the upgrade."


Unfortunately, I am not entirely sure of the correct method. If I understand the text correctly, I can download and publish the all_components solution and upload it in the new environment as soon as the testing enviroment is updated to the new platform version. However, it is written that it is important not to overwrite system components. How do I get the solution from development to testing without overwriting system components? Do I have to manually remove all system components or is there another way to do this?

When the applications have been tested, our users start testing. If this does not cause any problems, we want to perform the update on production. Also about this I have a question about what is the best way. In principle, two methods are described in the document. One is through a solution and the other method is through LifeTime. What is a best practice? I can imagine that you want to roll out production applications one by one. If problems arise, this is more manageable than rolling everything out to production at once. I do wonder whether I can be 100% sure whether I will roll out all modules to production and not forget anything. Or is it more sensible to do this through a solution?

Thanks in advance!

Best regards,

Bart

mvp_badge
MVP
Solution

I should have said less :)

  • You should have a "All Components" (apparently you already do).
  • You need a "All Components (without System)" for the upgrade.

if you ever need to refresh DEV/QA, or wish to create a preproduction environment, you should use the "All Components".

Some people refresh DEV/QA before upgrades to be sure that all environments match, but this is not mandatory. If you have it under control, they are already equal.

mvp_badge
MVP

Hello, Bart.

Usually, an upgrade freezes developers so we get an All Components solution from Production to test current versions of the apps.
Yes, you should copy only your own applications, leaving the System Components from the upgraded platform (they are newer and adapted to the version you are installing). It is not mandatory, but considering the number of your versions, it is safer. I bet something changed in that time period. Also, this same solution can be reused in future upgrades so it is not that costly.

I see two extreme ways of doing this.
The hardest is to install in a new server and deploy one by one. (useful if you need to upgrade SQL, Windows, or anything besides OS).
The easier is to do an upgrade in place and do it all at once. They are both 11 so are probably compatible.
The middle ground you want is feasible if the factory is of small size. With 20 or 30 apps, it starts to be painful and time-consuming. Maybe do that couple of critical apps first and then the rest at once? Or do the critical half one by one and then the rest? It depends on your scenario and confidence. Again, maybe it seems time-consuming now, but if it goes well, next time you can do it all at once so you only spent time now.

To classify an app as critical, see: affects production/invoicing, has extensions or connects to external systems, and maybe the number of users.


And good luck.

Hi Nuno,

Thanks for your reply!

To make sure I understand you correctly, the All_Components solution also contains the system components, right? I have followed this guide for it and that way system components are also included. Does this mean that I have to create a new solution that only contains our applications and propogate that solution to the next environment?

Thanks!

mvp_badge
MVP

Yes, the * adds everything. You have to do it one by one, or add all and manually remove the system components.

I usually have several "All Components" custom-made.

You need one with everything to republish the environment or to clone to other environments. Having a second one without system components can be useful.

Hi Nuno,

With the answers you now give I get some additional questions. I do not understand what you say with: "You need one with everything to republish the environment or to clone to other environments. Having a second one without system components can be useful."

I just want to make sure I do it the good way and do not get problems along the way. So:

  1. I do make a all_components solution including everything (modules, system components etc.)
  2. Use the all_components solution to republish our development environment. I do not download this solution and upload into the next environment because it has system components.
  3. Make a custom solution with all of our application modules (without system components)
  4. Download that solution and import into our testing (QA) environment?

Thanks

mvp_badge
MVP
Solution

I should have said less :)

  • You should have a "All Components" (apparently you already do).
  • You need a "All Components (without System)" for the upgrade.

if you ever need to refresh DEV/QA, or wish to create a preproduction environment, you should use the "All Components".

Some people refresh DEV/QA before upgrades to be sure that all environments match, but this is not mandatory. If you have it under control, they are already equal.

Hi Nuno,

Thanks for your reply!

Yes I already have a "All Components" solution containing everything and already did republish the development environment with it. I was just not totally sure on how to go on from that. Now I do. I'll go and make another "All Components" solution without the system components and use that one to update our next environments.

Thanks!

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.