All Projects → abvogel → Microsoft.Xrm.DevOps.Data

abvogel / Microsoft.Xrm.DevOps.Data

Licence: MIT license
This library provides an easy way to generate filtered data compatible with the Configuration Data Migration Tool. These zip files can be used to push specific records between Dynamics 365 environments using the Dynamics 365 Package Deployer.

Programming Languages

C#
18002 projects
powershell
5483 projects

Projects that are alternatives of or similar to Microsoft.Xrm.DevOps.Data

development-hub
A continuous integration solution for Power Apps.
Stars: ✭ 21 (+5%)
Mutual labels:  dynamics, dynamics-crm, dynamics-365, dynamics-crm-online
DynamicsNode
Create simple scripts to interact with Dynamics CRM using Node.js
Stars: ✭ 27 (+35%)
Mutual labels:  dynamics, dynamics-crm, dynamics-365, dynamics-crm-online
Innofactor.Crm.CI
DevOps tools for Microsoft Dynamics 365
Stars: ✭ 23 (+15%)
Mutual labels:  dynamics-crm, dynamics-365, devops-tools
powerapps-packagedeployer-template
Enhanced deployment capabilities when deploying with the Power Apps Package Deployer.
Stars: ✭ 18 (-10%)
Mutual labels:  dynamics, dynamics-crm, package-deployer
powerapps-specflow-bindings
A SpecFlow bindings library for model-driven Power Apps.
Stars: ✭ 19 (-5%)
Mutual labels:  dynamics, dynamics-crm, dynamics-365
Advanced-MultiSelect-for-Dynamics
Advanced MultiSelect for Dynamics 365 / Dynamics CRM is a multi-select / multi-checkbox control on a form. It represents a set of related data items (based on N:N relations + FetchXml) and gives a user an ability to associate/disassociate records of related entities in a quick and convenient way.
Stars: ✭ 14 (-30%)
Mutual labels:  dynamics-crm, dynamics-365, dynamics-crm-online
cds-for-code
VSCode extension for working with Microsoft Common Data Service (CDS)
Stars: ✭ 22 (+10%)
Mutual labels:  dynamics-crm, dynamics-365, dynamics-crm-online
generator-nullfactory-xrm
Yeoman generator for Dynamics 365 Solutions. It generates a project structure that facilitates the quick creation builds and automated release strategies with minimal effort.
Stars: ✭ 15 (-25%)
Mutual labels:  dynamics, dynamics-crm, dynamics-365
PowerPlatformCICD
A Template and Provisioning process to create a fully automated Build and Deploy Project for the Microsoft Power Platform
Stars: ✭ 31 (+55%)
Mutual labels:  dynamics-365, devops-tools
xrm-mock
📚 A fake implementation of the Xrm object model. Written in TypeScript against @types/xrm definitions.
Stars: ✭ 64 (+220%)
Mutual labels:  dynamics-crm, dynamics-365
Xrm-Quick-Edit
A Dynamics CRM Add-In for speeding up tasks such as translating or toggling field security on or off
Stars: ✭ 13 (-35%)
Mutual labels:  dynamics-crm, dynamics-365
php-crm-toolkit
Dynamics CRM Toolkit for PHP
Stars: ✭ 94 (+370%)
Mutual labels:  dynamics-crm, dynamics-365
Daxif
A framework for automating a lot of xRM development processses. By using simple F# script commands/files one can save a lot of time and effort during this process by using Delegates DAXIF# library.
Stars: ✭ 37 (+85%)
Mutual labels:  dynamics-crm, dynamics-365
crm-powerbi-viewer
Embed tiles and reports from Power BI into Dynamics CRM Forms and Dashboards.
Stars: ✭ 24 (+20%)
Mutual labels:  dynamics-crm, dynamics-365
integration-dynamics
The easiest way to connect Dynamics 365 with WordPress.
Stars: ✭ 17 (-15%)
Mutual labels:  dynamics-crm, dynamics-365
xrm-mock-generator
📖  Generates a mock Xrm.Page object. Commonly used by xrm-mock to test Dynamics 365 client-side customisations.
Stars: ✭ 15 (-25%)
Mutual labels:  dynamics-crm, dynamics-365
Dynamics365BulkSolutionExporter
[Work In Progress] Take backup of whole D365 organization or export multiple solutions.
Stars: ✭ 30 (+50%)
Mutual labels:  dynamics-crm, dynamics-365
mongo-playground
Helps developers run mongo queries
Stars: ✭ 16 (-20%)
Mutual labels:  devops-tools
cli
The universal GraphQL API and CSPM tool for AWS, Azure, GCP, K8s, and tencent.
Stars: ✭ 811 (+3955%)
Mutual labels:  devops-tools
Dynamics-and-Control
Dynamics, MPC, LQR, etc. One repo to rule them all.
Stars: ✭ 64 (+220%)
Mutual labels:  dynamics

Build Status

Microsoft.Xrm.DevOps.Data

This library provides an easy way to generate filtered data compatible with the Configuration Data Migration Tool. These zip files can be used to push specific records between Dynamics 365 environments using the Dynamics 365 Package Deployer.

  • 118 unit tests providing 100% code coverage. Since launch, test driven development has resulted in 0 known bugs and allowed new features to be added with high confidence. Driven by FetchXML which supports all CRM importable field types, including many to many relationships and rarely used CRM types (e.g. double). Because it uses FetchXML, filtered queries can be generated using CRM Advanced Find, or XrmToolbox's Fetch Builder for easy setup and verification.
  • Native commands to generate, extend, merge, and subtract data packages from a saved file or live system. This provides the capability of comparing environments as well as generating delta packages which substantially reduces deployment risk and time.
  • Is 100% compatible with the Microsoft Configuration Migration Data Deployer generated XML files and import/export commands. Unit tests often compare library results against real Microsoft results verifying not just schema compatibility but format equivalence.
  • Extended capabilities by having default values set where users often experience problems. This means records will by default be compared against records of the same guid, not the name field, and that plugins will by default be disabled for releases. These can be changed as necessary, but substantially reduce testing and deployment issues.
  • Behind the scenes algorithms that keep your entities, fields, and values ordered the same between runs. Checking data changes into source control and comparing results now makes sense as the delta is an actual delta between environments, not output formats.

Microsoft.Xrm.DevOps.Data.PowerShell

This wrapper uses the Microsoft.Xrm.DevOps.Data library providing a simple PowerShell interface.

Installing

The PowerShell module has been posted to PowerShell Gallery. Install using their standard commands - https://www.powershellgallery.com/packages/Microsoft.Xrm.DevOps.Data.PowerShell/

Install-Module -Name Microsoft.Xrm.DevOps.Data.PowerShell

Example Code

$Conn = Get-CrmConnection -Interactive
$anotherPackage = Get-CrmDataPackage -Conn $Conn -Fetches @("<fetch><entity name='account'><all-attributes/></entity></fetch>");
Get-CrmDataPackage -Conn $Conn -Fetches `
    @("<fetch><entity name='contact'><all-attributes/></entity></fetch>", "<fetch><entity name='category'><all-attributes/></entity></fetch>") `
    | Add-FetchesToCrmDataPackage -Conn $Conn -Fetches @("<fetch><entity name='knowledgearticle'><all-attributes/></entity></fetch>") `
    | Merge-CrmDataPackage -AdditionalPackage $anotherPackage `
    | Remove-CrmDataPackage -RemovePackage $anotherPackage `
    | Export-CrmDataPackage -ZipPath $env:USERPROFILE\Downloads\testrun.zip

Get-CrmDataPackage -Conn $Conn -Fetches @("<fetch><entity name='contact'><all-attributes/></entity></fetch>") -Identifiers @{ "contact" = @("firstname", "lastname", "birthdate") } -DisablePluginsGlobally $true | Export-CrmDataPackage -ZipPath "$env:USERPROFILE\Desktop\contacts.zip";

Commands

Get-CrmDataPackage

Returns object CrmDataPackage used by this module
-Fetches takes an array of fetches 
    e.g. @($fetch1, $fetch2);
-Identifiers Dictionary<String, String[]>
    Default is the primarykey
    e.g. @{ "contact" = @("firstname", "lastname", "birthdate") };
-DisablePlugins Dictionary<String, Boolean>
    Default is false
    e.g. @{ "contact" = $false };
-DisablePluginsGlobally Boolean
    e.g. $false;

Add-FetchesCrmDataPackage

Returns object CrmDataPackage
Takes a CrmDataPackage input from pipeline or variable as well as the inputs Get-CrmDataPackage takes.

Merge-CrmDataPackage

Returns object CrmDataPackage
Takes two CrmDataPackages as inputs. Values in the second package override the first.

Export-CrmDataPackage

Returns nothing.
-Package takes a CrmDataPackage
-ZipPath takes a path to the zip file where data will be saved.

Import-CrmDataPackage

Returns object CrmDataPackage
-ZipPath takes a path to the zip file that will be imported.

Remove-CrmDataPackage

Returns object CrmDataPackage
-SourcePackage is the package data will be removed from.
-RemovePackage is the package that will be removed. Identical attributes are first removed, and if an entity is empty it will then also be removed.

CrmDataPackage

Contains three XmlDocuments representing the three XML files that go in a Configuration Migration Data Package.
-ContentTypes
-Data
-Schema
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].