Friday, March 17, 2023

Template migrations have a big hole that most are not aware of...


On a current project I stumbled onto an issue that is causing a great amount of manual work. 

The issue at hand is that not all things migrate in EDM using Templates to migrate applications and dimensions from one EDM instance to another. 

This week while testing and documenting the migration process for a project I am working on, I found what I thought was a HUGE bug in the EDM migration. As I have many times in the past, I completed my code development, ran a small amount of unit testing and felt it was time to test the migration of my code against a current version of production. I had the client provide a snapshot LCM from production, so that I could simulate the migration process in another test instance outside of the instance I had been developing in. I did the typical steps of importing the snapshot into the test instance and exporting my "templates" from my development instance. Since the work involved was a full new EDM application (actually 2), I used the option of exporting the templates at the application level to ensure all objects I created were included.

Now that I had my simulated production target and my source templates I was ready to test out the migration. This should just be a simple import of the template and a quick look around to see that there were no unexpected results and all the objects appeared as they should on the target. I loaded the template into the preview option to see that EDM was reading the file correctly... All looked good.

Once I spent a few minutes looking at each of the items in the preview, it was time to run the import and see the results.

I was surprised that I received some warning messages on the import. Something I had not seen before. With the release of 23.03 EDM in test just a couple weeks ago, there was a new feature for compares that allowed you to define and save a compare definition. I had played some with this in my development application and even did a demo for the client on how they worked. I left several of the compare definitions in the application so the client had some samples to look at as they moved forward post production.

From Node and To Node will need to be updated.

It took me a second to realize why I was getting this warning message. Then it came to me, since I was loading this template for the first time, the target nodes would not be in the application yet as i had not imported data. I was ok with this warning thinking that if I load the data then come back and re-run the template import, the warning would go away and the missing top node information would migrate. So with that I took a note to do these steps later and moved on.

Then came the big head knocker... I started to navigate through the freshly imported applications to see that all of the objects appeared as they should. Thinking in my mind that since there was an issue with top nodes in the compare import but no other warnings for any place else top nodes were defined... I should look in common locations where top nodes would be defined to ensure they imported correctly. I presumed they would have since there were no other warnings on the import.

I got to the subscriptions thinking these are objects that use top node filters all the time and in these applications I had imported there were dozens of subscriptions with top node filters. 

Side note - I had opened an Ideas Lab post on subscription top node filter maintenance while I was developing these applications since there were so many top nodes that had to be defined and the UX in EDM was less than user friendly to do this setup.

Now that I am in the subscriptions and navigate to the filter tab... To my surprise, of of the top nodes I had painfully defined and tested are missing. I was in shock. I first thought what happened in my source app, why were these gone. I quickly logged into the source instance and found that the top nodes were all there as I had set them up... Huge relief.

Not sure what was going on, I thought I should reset the test target and try the import again. Maybe there was an error or warning that I didn't notice the first time. So, I re-imported the production snapshot into my test instance and went through the steps again to preview then import the template. Again, only the warning on the compares... nothing for the subscriptions.

First thing I thought... This is a big bug and I need to open an SR with Oracle ASAP. Not noticing this before when doing migrations, I thought this must be a bug with the 23.03 release. Shortly after opening the SR, I was contacted by Oracle support where they pointed me to the user guide, where it was clearly documented that subscription top nodes do not migrate with templates; as the top node information is considered "data" and the templates do not migrate data.

OK, that all makes sense... but does it?

First, for data we have a method to migrate. We can export the data from each dimension on the source and import it directly to the dimension on the target... But this will not do anything for the "data" in the top node section of subscriptions. 

So how do we get the top nodes into the target without redoing all the setup of the top nodes? Keep in mind from above that there is not a user friendly interface to do this setup in EDM.

Also, why did the import not give me a warning, like it had for the top nodes on the compares?

In doing a quick search in documentation on how I might be able to migrate this, I found nothing... with the exception of a recent post on the ideas lab that made me think I was not the only one with this issue.

CA_User has recently posted this idea: 

Ability to upload subscription from report generated by the source system


In this post he asked to have an enhancement to EDM to allow the importing of subscriptions based on the report that can be exported. Great idea... but again, this just left me with the gap in my migration process and a big hole to fill.

If you have experienced this issue or have thoughts / comments on the subject, please comment here or more importantly, comment and give thumbs up to these ideas on the Ideas Lab so Oracle gets the feedback it needs to fill in this hole ASAP.

EDM Ideas Lab - Related Cloud Customer Connect posts:


Back soon with more ... SP