Page load slow on each publish

I am working at a Outsystems 10 environment with 7 other colleagues. Apparently, each time someone published the web screen, it will affect all other colleagues in the same module.

It goes like this, 

At 12:13pm, I published my web screen and wanted to do some interaction testing of the widget in my page. 

At 12:14pm, colleague A is doing publishing. My page/widget takes longer than usual to load. 

At 12:15pm, colleague B is doing publishing. (same thing...) My page/widget takes longer than usual to load. 

And the list goes on. 

So a simple web screen test that can be completed in 5 minutes, took me about 15 minutes to run. 

Is there anyway to get around this issue? It affects everyone in the team and we lost much time. 


PS: 3 out of 8 of us are publish-spammer... as we publish very frequently. 

Hi EnthusiaticNewbie,

Actually when we publish the application in outsystems deployment controller updates all the front end servers with changes committed  in the espace, If a team of people are publishing continuously then that will be lot of burden to the deployment controller. And on each call of the screen the application server tries to provide the new view state of the screen but in background the deployment server keeps updating with the new escape version. That will cause in increasing the load time of the screen.

So the solution for the issue, could be publish the espace in personal area. go through the link for more info.https://success.outsystems.com/Documentation/11/Developing_an_Application/Troubleshooting_Applications/Debugging_Applications/Public_and_Personal_Areas

Hope this will helps you.

Regrads,

Koushik

if you have a big team working on the same module ("end user layer or orchestration layer "), everyone should pubish on personal area (F6) instead of (F5). With that noone will be in the way of the other and then when you have a big change then you can F5 and publish that to the main module.

Hi,

Beside using personal area. Consider divide your modules in smaller blocks to prevent having multiple person working on the same place. Instruct those developers to stop spam publishing by explaining them the consequences of their actions. I personally use another module that only I use when testing some components or algorithms that way I don't impact the main code. Since you need to publish the end user layers every time you do some change on core or lib module consider having a micro service architecture in a way of need less publishing (this can impact performance a bit)

Regards,

Marcelo

Marcelo Ferreira wrote:

Hi,

Beside using personal area. Consider divide your modules in smaller blocks to prevent having multiple person working on the same place. Instruct those developers to stop spam publishing by explaining them the consequences of their actions. I personally use another module that only I use when testing some components or algorithms that way I don't impact the main code. Since you need to publish the end user layers every time you do some change on core or lib module consider having a micro service architecture in a way of need less publishing (this can impact performance a bit)

Regards,

Marcelo


Rightly said  Marcelo Ferreira . Microservice architecture helps to divide application into different layers . Each team member can create sandbox( temporary module) which will be used for development/testing these layers individually . Add test pages in this sandbox to complete development without needing to publish main module. Once developement is complete with sandbox , integrate changes with main module. This sandbox need not to be deployed to next environment as it is consumer module.