Hello,
We use Microsoft Dynamics CRM 2016 on-promise in our company. We have an organization and created multiple solutions ( which share common option-sets ) for each department (Sales, Service, Marketing, etc...).
The problem is that we work on the same organization which end-users are connected to and using. It has multiple drawbacks like performance issues while publishing and half-baked features (because we are developing and publishing on the same server)
My question is that is there a way to separate Develop and Production environments like Git branches ? ( Git the Source Control )
And by that I mean can we develop our customizations in a develop organization and then publish them on the main organization ( Be informed that we have multiple solutions )
I hope that I could describe the problem. I'll be glad if you share your opinions if you have any experience on this topic
Thanks.
Hi,
Yes, you can. It will take a bit of work and organisation though, to be disciplined in the way you work.
The key to this is to use the Solution Import/Export Functionality in Dynamics CRM.
(This documentation is for the next on-premise version but the principle is exactly the same)
In essence you have a source Development instance which is where you would make your customisation changes.
Then you can create a CRM solution containing just those changes.
You can export that CRM solution from your DEV environment and import it into your LIVE one.
That way you can happily work away on your development and not impact the LIVE users.
We go a stage further and have a UAT environment as well. This allows new functionality to be tested in UAT by the end users before it goes to production.
It also allows you to check whether your exported solution has everything you need.
For your development instance, your best bet would probably be to have a completely separate Dynamics CRM installation on another server.
Once that is installed. From what I remember there is a feature where you can take a backup of you live CRM SQL Server Database and you can then restore the database on the DEV Server.
In the Dynamics CRM Deployment manager, there is an option to create a CRM Organization instance from that backup.
So, at that point your DEV environment will be a "Clone" of your production system, so everything will be aligned at that point.
There are caveats to this approach of course. As essentially it is a "copy" of the live system.
You have to be very careful with things like workflows that might send e-mails and the like. There will be "real" customer data there.
You might want to change their e-mail addresses to dummy ones to prevent this.
You might have links defined to other systems, they'll have to be altered etc.
Sorry for the long essay but there are definitely ways you can make this work.
Hope this helps.