Skip to main content

Adxstudio Portal how to: Incremental (Sequential) Deployment and backup. Part I



Portal 365/Adxstudio portal deployment short review


WebsiteCopy tool

    The most common way to deploy crm portal is copy it with Adx WebsiteCopy tool that is delivered with the portal. Do not confuse the Adx WebsiteCopy tool with the same name tool from crm sdk bin folder. They are different. The tool located in the crm sdk  bin folder has a limited functionality. I cannot say what going to happen when the Adx portal will be a part of MS CRM License (will it be?) but keep using an original tool for now.

      There are few issues always happen to me with WebsiteCopy tool. As an example I found that grid metadata has to be manually restored after deployment etc. Nothing serious but uncomfortable and time consuming.

    Sequential Deployment with WebsiteCopy duplicates the portals and their components. To work with a new portal you can rename the old one or try to delete it. Delete is relatively easy in the version 7 but a time consuming option in the previous versions. Especially if you deal with multilingual portal.    

ALM Toolkit
    I’m not going to touch Adx ALM tool here. It’s not a free tool and looks like a  very specific beast for Power Shell gurus.


Portal deployment with Configuration Migration tool



      I’ve found the ConfigurationMigration tool aka DataMigrationUtility tool in crm sdk  while  searching a way to back up an Adx portal. You can find it here: SDK\Tools\ConfigurationMigration\DataMigrationUtility.exe

        The tool exports crm data by a given schema  to a zip package. The package could be kept as back up or imported to other crm instances. PackageDeployer tool from sdk “Tools” folder is  a deployment option as well and gives you a chance to deploy solution and portal together. All you need to use the tool is create an export schema once and update by new needs.

         To fast learn how to use the tool have a look at Configuration Migration tutorials: TechNet,  Youtube

        The beauty of this tool is keeping the same ids (guides) across different environments. If you set an “entityid” as criteria in Configuration Migration schema then you nullify the chance of duplication.

Bottom line:
Configuration Migration tool does the same job as WebsiteCopy tool plus keeps portal metadata updatable in different environment.  


Adxstudio Portal how to: Incremental (Sequential) Deployment

Reminder:
Do not use WebsiteCopy and Configuration Migration in the same deployment  

How to:

1.  Back up your crm instance first. 
2.  Run the Configuration Migration  tool as administrator. 
3.  Create schema with Configuration Migration tool. 



-   add all adx entities ("adx_*") to the schema

-   set adx entity's id ("adx_* id")  as criteria as shown in the screen shot

 








The schema can contain all adx entities and criteria must be defined per entity according to the portal type and environment requirements. Have a look on the example links of Basic Portal schema and list of adx entities those are attached to the post. 

  4.  Export portal metadata to a zip file.

    5.  If you use this method for the first time than you might to delete Adx portal in the target    environment.


How to delete Basic ADX portal version 7.0.0007+:


a.       Portals>Websites> select and delete portal

b.      Portals>Web Forms> select and delete web forms
 
6.  Use Configuration Migration tool or PackageDeployer to deploy the portal data zip file to the target environment. 

7.  Refresh cache in the target environment. 

! Important: 
If you missed a  criteria for an entity in the shema then the its guids in target crm will be different from source environment. It will affect future deployments.

Fastest way to fix it is delete portal and deploy again with correct schema.
 

!Notes:

      * Always run the tool as Administrator.
* Sometimes Configuration Migration tool has “Sql generic error” for one or more records. The best action here to re-run it. Newer had same errors on second run.

* It’s highly recommended do not include “Web Form Session” entity into schema at all.
 
Examples for download

Example: Configuration Migration export schema for Basic Portal
Example: Adx Entities List

Comments

Most popular

Dynamics 365 online and Adx portal on-premise. Are they compatible?

Custom plugin exception output for crm form