Category: Customization
Dynamic content in Auto Numbers for Microsoft Dynamics 365 / CRM
As the creator of the Auto Number Manager tool in XrmToolBox, I get two questions more than any other questions:
How can I number existing records?
How can I add dynamic content to the numbers?
In a previous article I gave my solution to the first question. I will now dive into the second one and show a simple way of adding dynamic information from the numbered entity and related entities into the numbered attribute.
Continue reading “Dynamic content in Auto Numbers for Microsoft Dynamics 365 / CRM”Auto Numbering existing records in Microsoft Dynamics 365 / CRM
As the creator of the Auto Number Manager tool in XrmToolBox, I get two questions more than any other questions:
How can I number existing records?
How can I add dynamic content to the numbers?
To answer these questions once and for all, I will post my suggestions in two articles. I will step way outside my comfort zone of coding the solutions and give you strictly no-code alternatives.
Well, I do feel reasonably comfortable, since I wrote the code in the tools we need… ?
Managed or Unmanaged solutions – a hot case still slightly open
The case is obviously not entirely closed.
My recent article Case closed: Managed or Unmanaged solutions in Microsoft Dynamics 365 / CRM received a lot of attention, and sparked writers, podcasters, tweeters and commenters around the world to give feedback, yell at me, agree with me, or simply continue the discussion both publicly and privately.
I have received virtual hugs and probably lost quite a few followers.
I really enjoy following and participating in the discussion, and one comment I got today from Anthony Ellis (read it here) inspired me to write a follow-up article. So here it goes.
Continue reading “Managed or Unmanaged solutions – a hot case still slightly open”Case closed: Managed or Unmanaged solutions in Microsoft Dynamics 365 / CRM
If you have problems shifting gears in your car, you don’t call Volvo to say “Hey, I don’t like how this gear shifting thing works, so I’m just going to use reverse and drive backwards from now on.”
What you probably do is call them to say “I’m having trouble shifting, you need to fix the problems or show me how to use it properly.“
Ever since Microsoft introduced the Solution platform with Dynamics CRM 2011, there has been an ongoing and never ending discussion about whether to deploy managed or unmanaged solutions.
I can’t say I can end the discussions or solve all problems. But I will try to convince you – there is no discussion.
Continue reading “Case closed: Managed or Unmanaged solutions in Microsoft Dynamics 365 / CRM”
More Auto Numbering features
In my previous article I described the details of the new Auto Number attributes feature of Microsoft Dynamics 365, and how to manage them using Auto Number Manager for XrmToolBox.
Since this article, a few new possibilities have been verified to be supported.
Continue reading “More Auto Numbering features”Auto Number attributes in Microsoft Dynamics 365
With the release of Microsoft Dynamics 365 Customer Engagement October service update (v9.0), two of the most requested customization features were finally implemented in the platform:
- Multi-select optionsets
- Custom auto numbered attributes
Public Preview: Build and Deploy Microsoft Dynamics 365 projects using VSTS
Recently I posted a series of three articles describing our approach to DevOps for Microsoft Dynamics 365, and the technology behind it.
After giving a session on this topic at CRM Saturday in Madrid, Spain, it is now time to announce “public preview” of our tools.
If you want the full story – these are the articles describing the background and technology behind our tools:
Part I – Background and how our DevOps tools evolved before we knew about it
Part II – Automation of the build and deploy process using custom VSTS Build Tasks
Part III – Demo of complete build and release definitions taking you from A to Z
Build and Deploy Microsoft Dynamics 365 projects using VSTS – part III
This is the third and last article telling the tale of our own DevOps for Microsoft Dynamics 365, and the technology behind it.
Part I – Background and how our DevOps tools evolved before we knew about it
Part II – Automation of the build and deploy process using custom VSTS Build Tasks
Part III – Demo of complete build and release definitions taking you from A to Z
After the first two articles we have now got a handful custom VSTS Build Tasks to help us take the build and deployment automation all the way. This final article demonstrates how we do that with VSTS builds and releases. Finally raising the questions of why we did all this and where to go from here.
A complete VSTS Build for Microsoft Dynamics 365
Below is a sample of a full build process that not only builds and packs a new CRM solution, but updates the individual assemblies and webresources in DEV environment, exports solutions and data, and then publishes the files exported from DEV together with Shuffle Definitions and Package Definition, which is the resulting build artifact.
Continue reading “Build and Deploy Microsoft Dynamics 365 projects using VSTS – part III”
Build and Deploy Microsoft Dynamics 365 projects using VSTS – part II
This is the second article of three telling the tale of our own DevOps for Microsoft Dynamics 365, and the technology behind it.
Part I – Background and how our DevOps tools evolved before we knew about it
Part II – Automation of the build and deploy process using custom VSTS Build Tasks
Part III – Demo of complete build and release definitions taking you from A to Z In the previous article I described the background of our struggles with moving configuration data and later scripted export and import of solutions and the CRM Deployer tool. This article takes these features to the next level by packing those and some other missing features into custom VSTS Build Tasks.
Automating the Build Process
We now had the tools we needed to automate the central parts of the build/deploy process. But it still involved lots of manual or script based steps. To describe it simply, the following steps were required to produce a full deploy of a Customer Solution (CS) that has a prerequisite in one of our Product Solutions (PS), assuming we wanted the latest available code and customizations for both PS and CS.
- Build PS
- Define new PS version number
- Set version number for assemblies
- Compile assemblies
- Use Plugin Registration to update PS DEV assemblies
- Minify webresources (scripted post build event)
- Use Web Resource Utility to update webresources in PS DEV
(scripted post build event using modified version from SDK, that allows command line execution w/o user interaction) - Run Shuffle scripts that export PS solutions and data from PS DEV
- Build CS
- Run scripts that import PS to CS DEV
- Define new CS version number
- Set version number for assemblies
- Compile assemblies
- Use Plugin Registration to update CS DEV assemblies
- Minify webresources
- Use Web Resource Utility to update webresources in CS DEV
- Run Shuffle scripts that export CS solutions and data from CS DEV
- Create package (by running a script)
- Collect all required definitions, solutions and data files from PS and CS exports
- Execute CRM Deployer with cdpkg file and a flag to create cdzip archive
The missing pieces
Some of the steps above would be possible to encapsulate a bit more with scripting or tailored tools, and some of them possible to perform using Microsoft’s Developer Toolkit, Jason Lattimer’s CRM Developer Extensions or Wael Hamze’s CI FrameWork. But with the legacy of our Shuffle and later the CRM Deployer, that both have well proven technology and still save us literally hundreds of hours every month, we decided to add the few missing pieces in our puzzle ourselves. Continue reading “Build and Deploy Microsoft Dynamics 365 projects using VSTS – part II”