D365 Solutions – some key notes

In my earlier posts, I have written about solution types, solution deployment etc . When we talk about solutions , we might need to go the real practical aspects of it when we start using it or suddenly face some issues about solutions or solution deployment

Suppose you are designing a managed solution that will be deployed to another part of the business. Users may want to customize specific parts of the solution after the solution is installed. Which capability represents a managed property that users can configure. Below are the only properties which can set for the entity

and when we look at OOB entities, nothing can be changed

Hence it does not have the ability to change the display name of a system entity, or reassign a system dashboard or to rename a web resource, but can have the ability to add forms to a custom entity

You create a Publisher and add entities to a solution.
What are two outcomes of this action?
then there would not be any change to the name for existing custom entities that you add to a solution, however option sets that you create as part of the solution use the prefix that indicates the publisher and the name for custom entities that you create as part of the solution use the prefix that indicates the publisher

When we try to delete an entity we can delete the entity only when the entity is part of an unmanaged solution and another unmanaged entity has a lookup field to the entity on one form, or the entity is part of a managed solution and no other items are dependent upon the entity., or the entity is system-defined and no other items are dependent upon the entity. In short the custom entity can be deleted if its part of un managed solution and does not have any dependency on it like the entity is custom and uses a system-defined global option set. Here the option set has dependency on the entity but entity does not have dependency on the option set

Again you plan to delete a custom entity from an unmanaged solution. there is not no need to you must delete the solution that contains the entity or you can only delete the entity from managed solutions or you must delete all records related to the entity from the database. You must remove any dependencies with other objects.

Below are exclusive two statements are for managed solutions and not unmanaged solutions. You cannot export the solution and When you remove the solution, all components items included in the solution are removed.

You export five modified system security roles from a development environment as an unmanaged solution. You solution into a production environment. then the system security roles in production will be overwritten with the settings imported from the solution.

You install a unmanaged solution named SolutionA that has a dependency on another unmanaged solution named SolutionB. In this case I do not think SolutionB and all components that are not dependencies of SolutionA are removed as well as the system prevents you from deleting Solution B and SolutionB and all related components are removed. But the container for SolutionB is removed, but all its components remain.

You can not add following objects to solution – Goals, Queues, Subjects, Duplicate detection rules, system settings

You are a system administrator for an organization that relies solely on an ISV solution for Microsoft Dynamics 365. Your instances are scheduled to be updated. I think two approaches for this would be test the update in your sandbox environments prior to updating production and contact your ISV provider, and follow their recommendation for this update

You have a sandbox instance being used for development purposes at your organization. The URL for this instance https://contosoSBXDEV.crm.dynamics.com. The instance will now be used to test third-party ISV Solutions. You need to ensure that the instance URL will be https://contosoISVtesting.crm.dynamics.com.. Then  you need to edit the URL on the instance properties.

Entity Relations and its behaviors with scenarios

Entity relationship plays a major role in any data and same is with D365 as well. I have tried to consolidate various scenarios which will be relevant in current Power platform as well. Hope this would help to get more clarity on how to decide when, what and how entity relationships can be used in dynamics CRM implementations.

We can definitely go through the Microsoft Docs for the detailed information

Opportunity has parental relationship with account and opportunity has line items. If account is assigned to another user, will that user see opportunity line items? Yes , Opportunity line items are automatically assigned to the same user as its has cascade all

User 1 belongs to BU1. User 2 belongs to BU2. Account is owned by User 1 Opportunity has parental relationship with Account. If Account is assigned to User2, what will happen? User 2 will be able to see the opportunity. It has CascadeAll for assign in opportunity – account as well as Opportunity- opportunity line item

You plan to entity mapping to replicate data from a text field between two related entities. This scenario has nothing to do with N:N relationship, only the length of the source field is smaller than the destination field

Your company rents tools and machines to customers. You create a custom entity named Equipment to track the tools and machines. You need to show the hierarchical relationships between various pieces of equipment. Here its only talking about customers, however the relationship is required for Equipment’s and its pieces , hence we should create a self-referential relationship and configure hierarchy settings.

You configure a 1:N relationship between two entities and set the cascade rule for deletion to Referential. Since this is referential cascade rule, the nothing will be cascaded down to child records. If we delete the parent record, the child records remain but the link to the parent record is removed.as the parent is deleted

Ref link Neil Parkhurst’ blog

On an Opportunity. you need to show Stakeholder, Products. Competition, and Sales Teams related to the Opportunity. The relationship between the related record and the Opportunity is automatically set when selecting a related record from within the Opportunity form

You are setting up a Product Catalog in Microsoft Dynamics 365 for a company selling laptops and accessories. When a laptop is added to an Opportunity, a travel case should be suggested as an accessory, but a laptop should not be suggested as an accessory to the travel case. We should set up on the product record for the laptop, add a uni-directional relationship of the type accessory to the travel case product record.

You are creating Word Templates for a customer using Microsoft Dynamics 365. The customer needs a Word Template for the account entity and wants to merge data records related to the account. We can include records related in 1:N. N:1. and N:N relationships in the Word Templates

You need to model a relationship between the account entity and the contact entity to track the advisory board members of accounts. You need to use connections to model the relationship between the account and contact entities. We should use two connection roles to represent each side of the relationship.

You plan to create a country entity that contains one record for each country in the world. You need to track which countries a contact visited. No additional data will be tracked. We should create relationship like a many-to-many (N:N) relationship from the contact to the country as a contact can visit multiple countries and a country can be visited by more than one contact.

You are configuring a many-to-many (N:N) relationship. You are evaluating whether to use the native N:N relationship or the manual N:N design pattern. You need to identity the benefits of using the manual N:N design pattern instead of the native N:N relationship. Manual N:N provides the ability to report on the intersect data and Manual N:N provides the ability to store Felds that describe the relationship.

You need to model a relationship between the account entity and the contact entity to track the advisory board members of accounts. You need to use connections to model the relationship between the account and contact entities. In this case the connection roles would be solution. We should use two connection roles to represent each side of the relationship.