Overview

There are two parts in deploying Adxstudio portal: one is deploying the website to its host (unless you’re using hosted model), and the other is deploying website data to Dynamics CRM. In this blog, we’ll discuss deploying website data.

What data?

There are a number of entities and relationships that define a website including web pages, entity list, entity forms, web forms, web roles, and so on. These data need to be updated when you make changes via configuration (or even javascript).

With the normal ALM process developers would make changes in DEV environment, these changes then get deployed to TEST, UAT and finally PROD environment. This process requires means to deploy the changes to different environment efficiently.

What about tools?

Mostly, I have seen Website Copy by Adxstudio being used to deploy this data.

I have personally used it on some projects as well; however, there are some drawbacks to this tool:

  • It always creates new records instead of updating existing records.
  • It can also miss some records. (I have found it doesn’t deploy some form metadata records.)
  • You can’t configure what data is being exported.

All in all, it doesn’t make for a great deployment tool. In fact, this tool was never intended by its maker as such.

Then what?

Since it is effectively data migration, we can theoretically treat it as data migration, export the related data and import it into Dynamics CRM.

With this in mind, we have tried this method in our recent project with ConfigurationMigration tool provided in CRM SDK. We use the tool to create an export schema and use that to export the data from DEV and import it into target environment.

Advantages of using ConfigurationMigration tool:

  • It updates existing records.
  • Ability to configure what data being exported via schema (it is also reusable)
  • It won’t miss any records unless you forgot to include it in the schema.
  • You can use PackageDeployer to deploy.

However, it is far from being a perfect tool. Some drawbacks are:

  • It takes all the records in CRM for a given entity (no filter function).
  • It doesn’t update cleared (blank/null) fields.

In conclusion, we have had some success using ConfigurationMigration tool to deploy portal data. It has some drawbacks, however it proves to be a better way of deployment.

Have you tried this method? Please leave some comments if you have.

If you want to try, please get in touch and I can give you an example of the export schema.