Publish specific module or specific object (like Server Action or screen) only

Hi, 

Currently using 11 reactive with the following:

  • Environments (All are on-premise)
    • Development environment
    • Test (UAT) environment
    • Production environment
  • One Application with several modules

There's a need to apply fix (hotfix) to some object, say one Server Action in Production. However, I have several objects that are not yet subject to be deployed to Production. 

We normally apply a direct fix in Prod environment , w/c of course, and most folks would agree, that that is not the way to go.

I've seen a document with a "Pre-Production" environment w/c seems to be a reliable solution, with steps something like below. 

  • Step 1 - Implement Hotfix
  • 1.1 Connect Service Studio and connect to Pre-Production environment
  • 1.2 Download the module
  • 1.3 Fix the defect, deploy back to pre-prod, and test
  • Step 2 - Deploy to Prod from Pre-Prod

However, given the provided environments that we have, is there some alternative solution or document that I can read-on?

Thanking in advance for any assistance.

Cheers.

Elmer

Hi Arnold, 

Thanks for the link. However, as mentioned, I don't have any a pre-prod like environment that I can use. Is there any other work-around or document or some sort that I can still look into?

Hi Elmer,

If I am in your shoes, I will ask myself the following:

  1. Is the server action is inside a front-end module?
  2. Is the fix small and will not change signature of the action?
  3. Are you certain on the fix?

If the answer to these are all yes, you can do the following:

  1. Download the module
  2. Open it in Service Studio and don't refresh the dependency
  3. Apply the necessary fix and save it in your local
  4. Upload the modified module using the service center

If question 1 is no, please give more detail on your use case.

Hope this helps.

Hi Arnold, 

The Server Action is just one, but it could be, for other developer or modules or apps,  a widget in screen or client action or anything. I am very certain on my fix that it will work, but to some extent, I don't want my team to practice such approach (direct fix to Prod) especially without QA and user acceptance certificate. 

I'm now turning to upper management for the approval of the Pre-Prod environment, following best practice.

Thanks for the assist Arnold. 

mvp_badge
MVP

If you don't have a pre production environment, the next best is Test, but of course they only works if there is not yet done a deploy done to test that can not be promoted to prod.

Actually I believe the best setup is dev - regtest - uat - preprod - production. This set of environments is what you also need if you want to automate the ci/cd pipeline completely.

Preprod always had the same code base as production, and ideally production like data.

Hello Daniel

Yes, that dev-regtest-uat-preprod-prod is the best approach but that's not the case for our infra. Neither can I use the Test environment as there are several pieces in there that should not be push to Prod just yet. 

Is there other way or guidelines for the same scenario as mine. ? 


mvp_badge
MVP

Not a proper solution, but something that can mitigate the frequency in which you cannot do a hotfix in Test is to use feature toggles for new new user stories.

 https://www.outsystems.com/forge/component-overview/9664/feature-toggle-managementnt 

But basically with a DEV-TEST-PROD infrastructure it is hard to do hotfixing

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