22
Views
3
Comments
Deployment Tips - Studio/Lifetime
Application Type
Reactive

Hi guys,

I'm on a project, and I'm responsible for the Lifetime Deployment of our tasks to the Test Environment.

The flow will be Development Environment -> Test Environment -> Customer Homologation Environments -> Production.


We have defined that all the tasks already carried out will be in an item in the Main Menu.


Then we create 2 roles, Developer and Test, so that in the Development Environment only we (Developers) have access to them, and when we go up to the Test environment only the QA have that role and can see it for testing.


However, the client questioned the fact that this way, when we get to Production, there is a group of people who manage these permissions and may end up giving this Role to the wrong people.


I would like suggestions on how you would do this scenario in Outsystems so that when you get to Production no one can manipulate these roles, thank you!


Translated with DeepL.com (free version)

2024-12-27 06-34-00
Suryanarayana Vundru

Hi @Gustavo Mor ,

I suggest creating a Boolean Site Property called IsLowerEnvironment, with the default value set to False. We can set it to True in Development, Test, and Homologation environments. In the UI, we use this property to control the visibility of the 'Completed Tasks' menu item. This way, there's no need to rely on roles for environment-specific visibility — the feature will remain hidden in Production even if someone is mistakenly assigned a role. 


Regards,

Surya

2016-04-22 00-29-45
Nuno Reis
 
MVP

Hello.

I agree with this idea. Complementing some details:

First you have a site property or an action to check in which environment you are.

Then your screen and your server action use that information to prevent the execution is specific environments.

Also, you can do logs to track any change and who did it, and send email notifications to the admin every time a change occurs.

2024-10-12 12-11-20
Kerollos Adel
Champion

hallo @Gustavo Mor 

you can Use the Environment to Control Visibility

Instead of relying only on roles, we can use a built-in function in OutSystems called GetCurrentEnvironment(). This lets us check where the app is running — Development, Test, or Production.

So we can write something like:

“Only show this feature if we’re in Dev and the user is a Developer. Or if we’re in Test and the user is a Tester.”

In Production, we simply don’t show it at all — even if someone accidentally has the role.

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