Dynamics CRM Goal Métric Native Subgrid - dynamics-crm-2011

I have a customer that has removed a out of box subgrid from Goal Metric entity.
Now I just wanted to add that grid again, but how?
I have tried importing that entity from another organization but it does not overwrite the entity.
I appreciate any suggestion.

The unmanaged solutions sit on top of the managed solutions. So if you've allowed the client to change it, making a managed change will not fix it. You potentially could create a workflow with a custom action that uses the SDK to put it back, but you will not be able to change it via just a solution import

Related

How to copy Notes and Activities while converting Contact to Lead in Microsoft Dynamics CRM 2011

I have a requirement to copy all Notes and Activities while converting Lead to Contact and vice versa.
When I Qualifying Lead to Contact I use my custom plugin which is triggered by QualifyLead event. There is no out of the box solution to convert Contact to Lead so I use my custom on-demand dialog. But this dialog unable to run my custom plugin (which will copy Notes and Activities from Contact to Lead).
Please help me to find a way to copy all this stuff from Contact to Lead.
You can create a Custom Workflow Activity with the code of your custom plugin and uses as step inside your on-demand dialog.
You can start from here:
http://msdn.microsoft.com/en-us/library/gg328515.aspx
Another way that you can do this is to simply reference the notes from the Lead in the Contact, Account, or Opportunity entities using an IFrame and some JavaScript as described in http://030bacf.netsolhost.com/WordPress/?cat=69 . Depending on how many records you have, potentially this could even be a better solution since you are only keeping one copy of the notes which will help keep the size of the database more manageable and performance better. Or you could use this solution for the notes and the solution recommended by Guido for the Activity records. I had to make a change to the URL used for CRM 2013 and have copied that part below.
//src="/"+context.getContext().getOrgUniqueName()+"/_controls/note/notesdata.aspx?id="+lookupItem[0].id+"&ParentEntity=3&EnableInlineEdit=false&EnableInsert=false";
// change to this for CRM 2013
src=serverUrl+"/"+Xrm.Page.context.prependOrgName("/_controls/notes/notesdata.aspx?id="+lookupItem[0].id+"&ParentEntity=3&EnableInlineEdit=false&EnableInsert=false");

How to overwrite managed solution in CRM?

I exported managed solution S1 from my dev CRM. Then imported it on 'clean' TEST CRM machine. Now I made some changes on dev CRM like deleting and adding some fields from Contact entity. After, I made new export of S1 (as managed).
Now I want to update solution on TEST CRM. I choose 'Overwrite customizations'. But after update solution it is merged. Deleted fields are still present in Contact entity and new ones are added.
How to completely override imported managed solution on CRM?
Thanx
CRM Solutions can't be used to delete invidual items
Check out this blog post - it walks through some steps to overcome that limitation: Deleting things from a deployed CRM 2011 managed solution package
Installing a solution will never delete fields. Managed or Unmanaged. Overwriting Customizations will overwrite forms, views, web resources etc. But the schema will always be an accumulation of before + solution.
You don't create a solution as managed or unmanaged, you export it as unmanaged or managed. My guess would be that you exported it from dev as unmanaged the first time, therefore when you are importing it, it isn't overwriting your customizations. You can test this by attempting to remove your fields in your test environment. If you are able, then those initial changes must have been imported as a managed solution.

Automatically create record while creating a entity record

I have a project entity and a projectStages entity. I want, when a project record will be created automatically projectStages entities will be created for each stages.Till now I was doing it using plugin.
Just wanted to know if there is any way I within the CRM to do this.
this is a screen shot of the customer security roll.
Thanks.
I would do that using plugins, is there any reason you don't want to use plugins? You could use workflows to create projectstages when a project is created too, that will be asynchronous though.

crm 2011 making changes to a managed solution entity

we are currently working on a specific CRM development. As part of this development we are working with a different supplier who have provided us with a 'core' managed solution, a toolkit of sorts. This toolkit contains a number of entities/web resources etc but crucially contains the case and contact (renamed to customer) entities. As part of our development we need to extend these entities by adding attributes/amending form layout etc for both these entities.
should i create a new unmanaged solution - select add existing - choose the customer entity.
I can then make my changes (new attributes, form layout changes etc)
I then publish my unmanaged solution as a managed solution to import into a UAT/Prod environment.
Would this approach work ok?
What if the supplier make changes to their core entity and provide us with an updated release? what happens then or what should i do?
There are a couple of attributes (title and ethnicity) that are part of their entity but i need to work of global option sets so i have create 2 new attributes and these are displayed on the form in place of their's. I have not removed theirs but could this cause issues?
any help appreciated
chris
You are right on in the first paragraph, you would need to create a new solution and amend their entities. When you import their changes it will add on any additions to those entities. Importing customizations should never remove anything, you have to do that manually. Although unlikely, it is possible that the vendor may release a new version that requires you to roll back your customizations and reinstall it. In this instance you would need to come up with an upgrade plan and take into account all of the dependencies of the system.
I would imagine that those attributes would be dependencies of their managed solution and suspect that CRM won't let you delete them. If you are able to delete the fields and recreate them using global option sets there should be no issues so long as you use the same picklist integer values and schema names for the fields. Microsoft CRM basically copies all of the global option set values to the entity that you put them on so externally there is no difference between the standard and global option sets. Obviously a future upgrade by the vendor may force you to delete it all and recreate everything again manually (or via code using the CRM web services), but that is something you would have to take into account.
What the disadvantage here is, is if you create an entity, attribute or relationship in Dev and deploy to forward facing entity, if you then remove that entity, attribute or relationship in Dev, you must "uninstall" that solution. Of course, if you have critical data in that forward facing environment, it is gone when that solution is removed. So, if you deploy from Dev to forward facing, if in the future you no longer need that entity, attribute or relationship, although you can remove it from forms, it will always remain an artifact in your system. This is a disadvantage when working with Managed solutions.

ms crm 2011 solutions

Assuming I received a managed solution from another developer which contains an amended contact entity. How should I best make changes to that entity without affecting theirs'?
The changes would be additions as opposed removing anything they have done but ultimately for the end user I want them to see a mix of their original contact entity plus my changes. Is it best I simply create a new unmanaged solution, add their existing contact entity and make changes that way? Or do I start afresh adding in the contact entity from the system layer.
If you are working with these solutions internally in your organization you should almost always use an unmanaged solution. Managed solutions are for the most part a way to box your CRM customizations in order to sell them and protect them from being changed. If this is the case you are dealing with you can probably still amend the entity but you would have to do it in the default solution or another solution - sounds like you are already going down this track. I haven't tested importing a managed solution and changing an entity customization but this is how I would expect it to work.
Yes, the best option is to create managed solutions will which will not override the existing customizations but it will add any extra customization without affecting the existing ones.
You should use managed solutions only when you want to have the feature to install or an uninstall changed you have imported.
Only if the 'Customization' field for the amended contact entity is set to true, you can directly modify the update and include your changes there. Otherwise, you can create your own managed solution that has the contact entity modifications and import it to your system. Dynamics CRM will then merge your changes with the other ones.

Resources