web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Microsoft Dynamics CRM (Archived)

Customizing CRM Online: Best Practices for Developing Managed vs Unmanaged Solutions

(0) ShareShare
ReportReport
Posted on by 390

I am comfortable with the concept of the differences between managed and unmanaged solutions, but am a little fuzzy on the "layering" of these. I understand that to create a managed solution, you export it as a managed solution. When you import it, it becomes a layer on top of the Default Solution and applies the managed solution's customizations to that organization. Deleting the managed solution removes all the customizations (and data for custom entities).  However, from what I understand from my research, you cannot export an unmanaged solution from an organization as a managed solution and then import that managed solution into the same organization. Makes sense. However, I am confused as to the best practice for developing solutions for a single organization and implementing them with only a single CRM instance for an organization.

I am new to customizing Dynamics CRM but not new to programming or database dev. I have been asked to customize Dynamics CRM Online for a couple different organizations. The customizing part is very straightforward and understandable to me. I don't have any problem understanding entities, scripting, customizing forms, etc. My problem is this is a totally new environment for me and I'm wondering about the best practices for setting up a development environment. I am looking for ideas and best practices on how I should set this up.

I have 2 separate organizations that have asked me to customize their CRM Online 2013 for them. I do not have CRM on prem. nor do I have a trial version of CRM anymore. It's expired - twice, and apparently "that's all she wrote". Rather, I have an admin account for each of these organizations. So what I can do is log into each one and customize them. Although I understand it is available, these organizations cannot afford to purchase a subscription for aTest Environment (Sandbox) instance. Although cheaper than a Production instance,  $150/month is still too rich for them. These are small organizations.

As a developer, my habit is to backup stuff before I change it, so that I can revert back to it should I need to set it back to the way it was OOB. In my familiar environment, I would simply create a backup of the object, modify it, then if I didn't like the changes or it blew up on me, I delete the object and bring in the backup.

From what I read, if customizations are made in the Default Solution in CRM Online, the only way to revert back is to undo everything that was done. Or make a backup of the Default Solution so that it can be later imported?? If it's a managed solution that has been imported, you can simply delete the managed solution. That's the process that I want to get to - creating managed solutions and simply importing them. The question is, in whose environment do I create these solutions so that I can export them as managed solution and then import them into each organization?

Does this work the same way if I create my own solution in the organization's CRM Online instance, even if it is unmanaged? (I guess I'm wondering if I create my own solution and it's still unmanaged, how is that better than simply going in an changing the default solution if the net effect is still the same)?

I have created my company as a Publisher in each one with a prefix I selected for my customizations, and have created a new solution with me as the publisher. So I now have a named solution with me as the publisher where I can make my customizations, but of course it is Unmanaged. I originally thought I could export this solution as a managed solution and then reimport it. But alas I see that is not do-able. I suppose if I had my own copy of CRM online, I could create a solution there, make the customizations, export it as managed and then import it into the appropriate organization. But I don't. And even if I did, don't those customizations that I do in the Unmanaged solution become a part of the original solution when published anyways? I guess I still am unclear as to how an unmanaged solution is still a layer over the default solution if deleting it does not clear the customizations as would happen if I deleted a managed solution.

-. How best should I do these customizations for each company?

- How does creating a solution in an organization help when it remains "unmanaged" and cannot be exported as managed and re-imported?

- I'd also like to use managed solutions so that I could implement different versions, one at a time, and have the ability to roll back any of them by deleting the solution if there are issues (for example I edit the original Lead form and remove some stuff and then later they decide they want it back. Rather than rebuild, it would be better to bring back the original in. I don't know how I would do that).

- With a brand new instance of CRM Online, how do I make such a backup before doing any customizations? Is it the Default Solution that I am backing up? And if I do make a backup of the Default Solution before I start anything, can I later import that solution to wipe out any customizations I did in a the solution I create?

I think I did a backup because I went to Customize the System and from the Default Solution I selected Export Solution and then tucked that away. However, I was not sure of what to select in the Export System Settings. It also did not ask me if I want to export it as a managed solution. So I dunno. Just confused about the layering I guess and what wipes out what.

Any clarification or ideas on how others (without CRM on prem) are doing this and setting up their dev environment to do multiple customizations for different organizations would be greatly appreciated. I've heard of some folks creating multiple trial versions and doing them there, but that doesn't seem sustainable. Also if one creates an unmanaged solution and exports it, you don't have a clean OOB environment from which to create the next organization's customized solution.

Thanks!

*This post is locked for comments

I have the same question (0)
  • DonnaM Profile Picture
    390 on at

    Hi Guido

    Thanks for your response to my, yes, very long post. I have created a solution in each of their respective production instances and that is where I will make any modifications.  I will be adding a number of custom entities and relationships to each of these organizations. In addition, for one of them, I will be replacing the Quote form entirely and customizing it for how their (somewhat complicated) quoting works. In addition, I have already added some 3rd party managed solutions for each of these orgs (mapping, searching addons etc). I do understand that when a managed solution is uninstalled, associated data from that solution goes too. Not a problem because if I were removing it, I would want everything to go too.

    So my real question here, I guess, is that you mention that I "can always revert easily the changes". How would I do that if say, I made a large number of changes to one of the OOB forms (such as the Leads form) and wanted to reset it back to exactly how it was originally without having to remember how the original form was exactly laid out? I want to be able to freely change these forms around and then put them back to exactly the way they were OOB if they don't like the changes or if I totally mess them up and need to restart?

  • Community Member Profile Picture
    on at

    Hi Guido,

    What's you suggestion on using the Managed or UnManaged solution during the Development phase.  If UnManaged solution is the one to use during development phase, why is it  and  should we use the same unmanaged in Testing and production environment as well. I'm new to CRM and have started  working on a single organisation CRM 2015 Implmentation.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > 🔒一 Microsoft Dynamics CRM (Archived)

#1
SA-08121319-0 Profile Picture

SA-08121319-0 4

#1
Calum MacFarlane Profile Picture

Calum MacFarlane 4

#3
Alex Fun Wei Jie Profile Picture

Alex Fun Wei Jie 2

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans