If you have created a patch solution and all custom and extension fields are empty on the frontend, then this article is for you.


Update: I wrote another article about the optimal Cloud Application Studio Development Landscape which relates to this document here in Chapter “Phase 3”.

In the lifecycle of a Cloud Applications Studio Solution, there is the time where the initial development has been reached a level where the solutions should get deployed to a test system. But there is this one button a lot of people do not know the consequences of pushing it.

Let’s look at the deployment process first to understand the technology.

Step 1-3

When you need to deploy a solution to another tenant, you can download and assemble it. This will close the solution forever. Starting from now on, the original solution can only be updated using patches.

/wp-content/uploads/2014/10/step1_574708.png

Step 4-5

In order to continue development or fix bugs, you need to create a patch. A patch is technically a solution copy. Lets think twice about the term solution copy. The solution is copied into a new namespace. So afterwards the same solution exists twice in the system. Everything is getting duplicated – the fields, the views, everything! Again, so you remember: everything got copied!

/wp-content/uploads/2014/10/step2_574739.png

Step 6-8


Now the patch solution got created. But when you look at the frontend, you don’t see everything twice, right? So what happend?

/wp-content/uploads/2014/10/step3_574740.png

Step 9-10

There is a mechanism in place, which hides the solution. After you have created the patch, nothing on the frontend changed, because the patch is disabled. Technically everything is there twice, but the patch solution is hidden per default (solution disabled).

/wp-content/uploads/2014/10/step4_574741.png

Step 11-12


So maybe someone or some documentation told you, that you can enable the patch solution, so everybody can test it. This is very true, but before clicking this button, you need to understand what the consequences are.


Now think about what we have here. Everything is in the system twice. With this button you hide the original solution and you unhide the patch solution.


How does this look for the customer?


  • All testdata in extension fields are gone
  • All custom defined finetuning activities are empty
  • All custom BO instances are gone
  • All personalization on custom screens are gone
  • Integration does work, but the values in ext fields do not show up
  • Custom inbound webservices are not working anymore
  • Reports are not showing new data


Technically nothing gets lost (except the finetuning data, because the solution got descoped), but the values are not visible, because they are in now invisible fields. Switching back to the original solution would also bring the data back (except finetuning).


/wp-content/uploads/2014/10/step5_574742.png

Conclusion

Enabling the patch solution solves a lot of problems for the developer. It makes a lot of sense to perform this step. But everybody in the project team must understand the consequences and the time when this happens needs to be part of the project plan.

Finetuning must be redone and also the integration part needs to be adapted. All the entities in the system are prefixed with the Y*** prefix. This is the only thing that changes between the original and the patch solution. So this must be adapted in integration.

This patch solution namespace is only used in the development tenant. All other environments are not affected by this.

I hope this helps to understand what happens on solution enable/disable and lessens the amount of incidents that are getting created by customers and consultants.

If you do not have a dedicated development environment, things are more complicated as you would have the additional consequence, that you’re not able anymore to test the deployed version before deploying to production.

Have a good day,
Stefan

To report this post you need to login first.

14 Comments

You must be Logged on to comment or reply to a post.

  1. Alessandro Iannacci

    Hi Stefan!

    Is the problem that was calling the events from the original solution and the patch solution together, even though one of the two solutions is not active, solved?

    (0) 
  2. Jacques-Antoine Ollier

    Hello Stefan,

    I do not understand everything.

    When you say ALL custom fine-tuning activities, all BO instances, etc. Is it for this specific solution you are enabling/disabling or it means for ALL of your custom solutions implemented on this tenant.

    I hope this is only for the solution you are disabling/enabling.

    Thank you for your attention.

    Great blog!

    JA

    (0) 
  3. Swapnil Borkar

    Hi Stefan

    I need clarification on this –

    The side effects of Enabling the patch solution which you mentioned (under How does this look for customer? ) – they are valid for the tenant in which the patch is created.

    If there are 2 test tenants (1 dedicated for development, other for testing) and  patch is created in 1st Test tenant and uploaded to the  2nd test tenant for testing – these side effects wont be visible in 2nd test tenant.

    Is this correct ?

    Regards

    Swapnil

    (0) 
    1. Stefan Hagen Post author

      Hi Swapnil,

      this is correct. The switch only effects the development tenant (1st tenant), assuming you’ve not created a patch on the test tenant (2nd tenant).

      Best Regards,
      Stefan

      (1) 
  4. Nidhi Sharma

    Hi Stefan,

    You mentioned that when we hide the original solution and unhide the patch solution – “All testdata in extension fields are gone”

    Does that mean if I have standard fields present along with extension fields in a BO, the data in standard fields will persist and data in extension fields will be gone?

    Kindly provide clarification.

    Regards,
    Nidhi

     

    (0) 
    1. Stefan Hagen Post author

      Hi Nidhi,

      Yes, this is exactly right. No standard fields is being changed. The extension of the original solution are being hidden and the extension fields from the patch solution are being set visible. Because they look like the same field (same label) on the front end, it looks like the data is gone (for the business user).

      (0) 

Leave a Reply