Difference between revisions of "Dual-write"

From Power Wiki
Jump to navigation Jump to search
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
Dual-write is an out-of-box infrastructure which can be setup to provide "near-real-time" integration between Dataverse/Dynamics 365 CE apps and Finance and Operations apps.
+
Dual-write is an out-of-box infrastructure which can be setup to provide "near-real-time" integration between Dataverse/Dynamics 365 CE apps and Finance and Operations (F&O) apps.
  
 +
== Good to know ==
 +
This section gathers some random good-to-know info which is correct on the 2022-04-25 but could be changed in the future. Take is "as-is", this is written from experience of using Dual-write.
 +
* There are different ways and approaches to link Dataverse and F&O. You can link two environments together in the F&O app or you can choose to create a Dataverse environment from F&O (LCS). Creating it from LCS is the Microsoft recommended approach and in the future it will be possible to link to an existing Dataverse environment also from LCS.
 +
* An environment which has been created from F&O can not be renamed in Admin Center
 +
* When taking a Copy from a set of Dataverse + F&O and restoring to another set of Dataverse + F&O, the initial link (linked F&O environment) shown in Admin Center under the Dataverse environment remains.
 +
* A guidance for when to do initial sync and not to can be found in MS Docs, [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/initial-sync-guidance#guidance-matrix Guidance Matrix]
 +
* There is an article describing the linking process, written by Faisal Fareed: [https://daxture.blogspot.com/2020/11/steps-to-follow-when-refresh-dual-write.html Steps to follow when refresh dual-write integrated environments (FO and CE)]. That is a good go-to article each time you need to re-link environments, see the section below.
 +
 +
== Re-link Dataverse-F&O ==
 +
The list below is available here all thanks to Faisal Fareed and his article which was the inspiration to the list. Source environments below means the environments which we want to copy from (e.g. Prod). Target environments means the environments we want to copy to (e.g. UAT/Test).
 +
 +
1. Go to F&O (target environment) Data Management -> Dual Write and stop all jobs.
 +
 +
2. Copy from F&O source environment to F&O target environment and Dataverse source environment to Dataverse target environment. (Note, we assume that the source environments are linked). 
 +
 +
3. Go to F&O (target environment) Data management > Dual write and Unlink environments.
 +
 +
4. Delete data from the following tables in F&O if data exists
 +
 +
* DualWriteProjectConfiguration e.g. use URL <Environemnt URL>/?mi=SysTableBrowser&prt=initial&limitednav=true&TableName=DualWriteProjectConfiguration&cmp=<CompanyId>
 +
 +
* DualWriteProjectFieldConfiguration e.g. use URL <Environemnt URL>/?mi=SysTableBrowser&prt=initial&limitednav=true&TableName=DualWriteProjectFieldConfiguration&cmp=<CompanyId>
 +
 +
5. Delete data from DualWriteRunTimeConfiguration Table in Dataverse, e.g. using Advanced Find.
 +
 +
6. Link the target environments
 +
 +
7. Apply Microsoft Dual-Write solutions and custom solution if any
 +
 +
8. Start jobs. No init sync needed if copied from both Dataverse and FnO environments which were linked. If copied only from one the two Dataverse or F&O, then also do an init sync.
 +
 +
== Reading list ==
 
Here follows some links which might be worth taking a look at when learning how to set-up dual-write.
 
Here follows some links which might be worth taking a look at when learning how to set-up dual-write.
  
* Step-by-step instructions for enabling Dual-write in Dataverse and FnO: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/requirements-and-prerequisites System requirements and prerequisites System requirements and prerequisites].
+
* Release info Dual-Write: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/whats-new-dual-write What's new or changed in dual-write]
 +
* Step-by-step instructions for enabling Dual-write in Dataverse and F&O: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/requirements-and-prerequisites System requirements and prerequisites System requirements and prerequisites].
 
* Application lifecycle management / Install the dual-write table maps solution: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/app-lifecycle-management Managing dual-write - ALM]
 
* Application lifecycle management / Install the dual-write table maps solution: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/app-lifecycle-management Managing dual-write - ALM]
 
* Unlink and relink dual-write environments: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/relink-environments Relink environments].
 
* Unlink and relink dual-write environments: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/relink-environments Relink environments].
Also have a look at this article by Faisal Fareed: [https://daxture.blogspot.com/2020/11/steps-to-follow-when-refresh-dual-write.html Steps to follow when refresh dual-write integrated environments (FO and CE)]
 
 
* Dual-write mapping reference: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/mapping-reference Mapping reference]
 
* Dual-write mapping reference: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/mapping-reference Mapping reference]
 
* FAQ: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/dual-write-faq Dual-write FAQ]
 
* FAQ: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/dual-write-faq Dual-write FAQ]
Line 13: Line 45:
 
* Unified Product experience: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/product-mapping Product Mapping]
 
* Unified Product experience: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/product-mapping Product Mapping]
 
* Prospect to cash in dual-write: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/dual-write-prospect-to-cash Dual-write Prospect to Cash]
 
* Prospect to cash in dual-write: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/dual-write-prospect-to-cash Dual-write Prospect to Cash]
 +
* Prerequisites for Prospect to Cash: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/dual-write-prospect-to-cash#prerequisites-and-mapping-setup Prerequisites and mapping setup]
 
* Changing the owning team for "global tables": [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/user-specified-team-owner User-specified team owner]
 
* Changing the owning team for "global tables": [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/user-specified-team-owner User-specified team owner]
 
* Setting default companies on records in CRM: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/company-data Company concept in Dataverse]
 
* Setting default companies on records in CRM: [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/company-data Company concept in Dataverse]
 +
* Troubleshooting initial sync issues [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/dual-write-troubleshooting-initial-sync Troubleshoot issues during initial synchronization]
 +
For instance, if customers have a self-references or circular references (like "Billing Account" or "Primary Contact") you might get errors, see [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/dual-write-troubleshooting-initial-sync#self-reference-or-circular-reference-failures-during-initial-synchronization Self-reference or circular reference failures during initial synchronization]
  
 
== Microsoft Resources ==
 
== Microsoft Resources ==
 +
* [https://www.youtube.com/watch?v=ajQv26QPeWM Microsoft Dynamics 365 FastTrack TechTalks: Dual Write Framework]
 +
* [https://community.dynamics.com/365/dynamics-365-fasttrack/b/techtalks/posts/dual-write-party-global-address-book-may-11-12-2022 Dual write | Party & Global Address Book | May 11-12, 2022] D365 FastTrack TechTalks
 +
* [https://learning.eventbuilder.com/Dynamics365CrossAppsWorkshop Dynamics 365 Cross Apps Workshops] (Register in order to see the recordings)
 
* [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/dual-write-home-page Dual-write home page]
 
* [https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/dual-write-home-page Dual-write home page]
 +
* [https://cloudblogs.microsoft.com/dynamics365/it/2020/03/27/dual-write-automates-data-flow-between-dynamics-365-applications-and-common-data-service/ Dual-write automates data flow between Dynamics 365 applications and Common Data Service] Blog post announcing Dual Write 2020-03-27
  
 
== Community Resources ==
 
== Community Resources ==
 +
* [https://ariste.info/en/2021/03/develop-custom-data-entities-dual-write/ Develop custom Data Entities for Dual-write] by Adrià Ariste 2021-03-29
 
* [https://daxture.blogspot.com/search/label/Dual%20Write Dual Write articles by Faisal Fareed]
 
* [https://daxture.blogspot.com/search/label/Dual%20Write Dual Write articles by Faisal Fareed]

Latest revision as of 14:42, 8 November 2022

Dual-write is an out-of-box infrastructure which can be setup to provide "near-real-time" integration between Dataverse/Dynamics 365 CE apps and Finance and Operations (F&O) apps.

Good to know

This section gathers some random good-to-know info which is correct on the 2022-04-25 but could be changed in the future. Take is "as-is", this is written from experience of using Dual-write.

  • There are different ways and approaches to link Dataverse and F&O. You can link two environments together in the F&O app or you can choose to create a Dataverse environment from F&O (LCS). Creating it from LCS is the Microsoft recommended approach and in the future it will be possible to link to an existing Dataverse environment also from LCS.
  • An environment which has been created from F&O can not be renamed in Admin Center
  • When taking a Copy from a set of Dataverse + F&O and restoring to another set of Dataverse + F&O, the initial link (linked F&O environment) shown in Admin Center under the Dataverse environment remains.
  • A guidance for when to do initial sync and not to can be found in MS Docs, Guidance Matrix
  • There is an article describing the linking process, written by Faisal Fareed: Steps to follow when refresh dual-write integrated environments (FO and CE). That is a good go-to article each time you need to re-link environments, see the section below.

Re-link Dataverse-F&O

The list below is available here all thanks to Faisal Fareed and his article which was the inspiration to the list. Source environments below means the environments which we want to copy from (e.g. Prod). Target environments means the environments we want to copy to (e.g. UAT/Test).

1. Go to F&O (target environment) Data Management -> Dual Write and stop all jobs.

2. Copy from F&O source environment to F&O target environment and Dataverse source environment to Dataverse target environment. (Note, we assume that the source environments are linked).

3. Go to F&O (target environment) Data management > Dual write and Unlink environments.

4. Delete data from the following tables in F&O if data exists

  • DualWriteProjectConfiguration e.g. use URL <Environemnt URL>/?mi=SysTableBrowser&prt=initial&limitednav=true&TableName=DualWriteProjectConfiguration&cmp=<CompanyId>
  • DualWriteProjectFieldConfiguration e.g. use URL <Environemnt URL>/?mi=SysTableBrowser&prt=initial&limitednav=true&TableName=DualWriteProjectFieldConfiguration&cmp=<CompanyId>

5. Delete data from DualWriteRunTimeConfiguration Table in Dataverse, e.g. using Advanced Find.

6. Link the target environments

7. Apply Microsoft Dual-Write solutions and custom solution if any

8. Start jobs. No init sync needed if copied from both Dataverse and FnO environments which were linked. If copied only from one the two Dataverse or F&O, then also do an init sync.

Reading list

Here follows some links which might be worth taking a look at when learning how to set-up dual-write.

For instance, if customers have a self-references or circular references (like "Billing Account" or "Primary Contact") you might get errors, see Self-reference or circular reference failures during initial synchronization

Microsoft Resources

Community Resources