Category Archives: D365 General
How to delete components from managed solution in Dynamics CRM?
Introduction: There can be requirements to delete the components from the managed solution. Neither directly deleting the components from managed solution works nor deleting the field from unmanaged solution and migrating as managed solution to target environment works. We can make use of OOB feature of solution management. OOB feature used is Clone the solution. The version of the solution will be upgraded when we clone the solution. Steps: Steps to be followed are given below: Delete the components from your unmanaged solution that are not required or replaced. Make note of Version Number and click on Clone Solution. You can check the Version Number. It is increased by 1 count. Click on Save Version of the unmanaged solution will be changed Export the solution as managed and import on the target environment While importing this solution, make sure that you checked “Stage for Upgrade” When solution import completes, you can see “Apply Solution Upgrade” option. After applying solution upgrade, two difference can be seen in already installed managed solution on target environment. Version changed to 1.1.0.0 The component deleted in unmanaged solution will also be deleted in managed solution Conclusion: Thus, managed components can be deleted using OOB feature.
Share Story :
Themes in D365
Introduction: With themes in D365, organizations have the ability to uniquely brand the D365 System with supported way to apply organization’s logo and colour choices to the application. Themes: Themes in D365 can be incorporated in several simple steps, Step 1: Under Settings, select Customizations and then Themes. Step 2: By default, D365 default theme is present in the system. Now If we want to create theme for our organization, select New Theme. D365 default theme can be used as a reference to understand how themes work in D365. Step 3: Once New theme is selected the page layout is as follows: Let’s see how individual field works and what it means. Theme Name: Here user can specify the Theme Name. After a name is specified and record is saved then default values are set. Logo: Sets selected Logo replacing default Dynamics 365 logo. Click “New” in search option of Logo field. Logo Image recommended size is 400px in width and 50px in height also supported image file formats are .gif, .jpg and .png Enter details as required ,upload logo image and publish web resource. Click button in Ribbon “Publish Theme” and below are changes as highlighted. Logo Tooltip: Set Tooltip on Logo as highlighted below: Navigation Bar Color: Set Navigation Bar Color replacing default black Color. Navigation Bar Shelf Color: This field sets Navigation Bar Shelf Color of Navigation Bar Header Color: This setting sets Font Color of Header of Sub Area. Global Link Color: This field sets Color of link record. Selected Link Effect: This field sets Color of Selected Records. Process Control Color: This field changes Business Process Flow Header Color. Default Entity Color: This field sets default Entity Color for all Entities except Custom Entities. Default Custom Entity Color: This field sets default Color for all Custom Entities. Control Shade & Control Border: Above field settings set control border and shade. Step 4: Once theme is completed and we need to publish it by click Ribbon button “Publish Theme”. Note: Publish theme gets applied to all D365 users. Conclusion : Hoping this blog explains how to design theme for client.
Share Story :
XRM Toolbox – Important tools for Admins and Developers
What is XRM toolbox? XrmToolBox is a Windows application that connects to Microsoft Dynamics CRM, providing tools to ease customization and configuration tasks. It is shipped with more than 30 plugins to make administration, customization or configuration tasks easier and less time consuming. XRMToolBox is free of cost, but you can donate to support development. In this blog, I will list down the top 5 tools from XRM toolbox for both developers and CRM Administrators. How to Use it? Documentation is available through the wiki of XrmToolBox Github’s repository. You will find information about prerequisites, a list of known existing plugins, help on how to connect to your Microsoft Dynamics CRM deployment, and much much more.. Top Tools of XRM toolbox for Developers. 1. WebResources Manager Author- MscrmTools Description – Manage your webresources easily. This tool has saved me hours of time for creating, updating and managing the web resources for Dynamics CRM. This is a must have for all the Developers 2. SiteMap Editor Author – MscrmTools Description – Manage the SiteMap with no XML edition. Editing Sitemap XML is scary for any developer as any mistake in XML can make the Entire CRM unusable. This tool helps to edit your sitemap components. You can easily create areas and subareas, update the order and copy/ paste components from one area to another. You can also update all the sub area details like icon, titles for multiple languages etc. 3. Ribbon Workbench 2016 Author – Scott Durow Description – Edit the Dynamics CRM Ribbon or Command Bar from inside the XrmToolbox. By installing the Ribbon Workbench you’ll quickly be performing customisations that were previously only possible by time consuming and error-prone manual editing of RibbonDiff Xml. Learn More – https://www.develop1.net/public/rwb/ribbonworkbench.aspx 4. FetchXML Builder Author – Jonas Rapp Description – The tool will assist in three major areas: Constructing FetchXML in ways that Advanced Find cannot – aggregates – outer joins – “has no”-queries – attributes from multi-level linked entities Querying CRM for information not (easily) found in the CRM UI – system / internal entities – attributes hidden in CRM UI – join on other fields than relationships Developer assistance – Generate C# QueryExpression code from fetch xml – Generate OData query string from fetch xml – Easy to use UI to compose queries for reports in CRM The tool reads metadata from CRM to assist with selecting entities, attributes, relations and to perform validation of condition values. To make it more appealing, there is also the possibility to have it show “Friendly names”, which will replace the technical names of entities and attributes with their display names in the users’ currently selected language, much like Advanced Find does. 5. Metadata Document Generator Author – MscrmTools Description – A tool to generate excel and word document with entities and attributes information. You’ll no longer have to write “by hand” these awful tables full of metadata information. Top Tools of XRM toolbox for Developers: 1. Your User Security – Magnified Author – NORRIQ Belgium Description – Provides a detailed overview of a specified System User’s security. Very helpful to identify the exact permission a user has on entity based on all the roles assigned to him 2. Form related tools Author – MscrmTools Description – Set of tools for XrmToolBox regarding form management4 3. Solution Components Mover Author – MscrmTools Description – Transfer solution components across solutions. Again a big time saver for moving components from one solution to another. 4. User Settings and Utility Author – MscrmTools Description – Manage and update All user’s personal settings in Bulk 5. Attribute Usage Inspector Author – MscrmTools Description – Inspects the usage of attributes per entity. Admins can review which attributes are not used across all entities and which are used most.
Share Story :
Using JavaScript and where to write it in D365 CRM Portals
In this blog, we shall see how can a user can write a JavaScript Code and where exactly should the user place the code in order to customize the D365 CRM Portal for version 8.0+. Pre-Requisites: D365 CRM Portals D365 CRM Environment Scenario: The user is often confused as to where exactly should he write the Java Script Code to make the following customizations to the CRM Portals Web Page. We will write a simple JavaScript function to disable the fields in this case the user will disable the email and phone number input fields on the on the Contact Us Web Page of D365 CRM Portals as shown below. Fig 1: Image showing disabled email and phone number fields using custom JavaScript Process: Step 1: The user will have to go the CRM Main Menu to Portals> Web Pages and select the respective web page to which the user wants to implement the required changes as shown below. Fig2: Selecting the Web Page Step 2: On opening the Web Page the user will get a section called the Localized content. The user should select the option as shown below. Fig 3: Select the Localized Content Step 3: On selecting the option in the localized Content as shown in the previous step, the user will have to scroll down and expand the Advance tab where the user get two input sections which are ‘Custom JavaScript’ and ‘Custom CSS’ as shown below. The user has to put the custom JavaScript into the ‘Custom JavaScript’ input section. Fig 4: Writing the JavaScript into the ‘Custom JavaScript’ input section of the localized content Step 4: The user can also add the custom JavaScript Code to the front side editor of the Portal using the administrative tool as shown below. Fig 5: Writing the JavaScript Code on the Front End using administrative tool. Conclusion: Thus in this way we can implement a simple custom JavaScript Code to customize the D365 CRM Portal.
Share Story :
How to call a Web Service from Plugin in Dynamics CRM
In today’s world of more informed and aware customers, the most effective way of meeting the ever-increasing demands of the customers is to go for Microsoft Dynamics CRM Sales Process. The process not only gives you a crystal clear understanding of the customer needs but also gives you insights to engage more effectively with them to meet up their expectations. CloudFront has recently built up a Sales Methodology App for Dynamics 365 Sales for our Partner, Technical Sales Development (TSD). The App bolsters a perceived Sales Methodology which can assist you with expanding income and win-rate by appropriately qualifying and overseeing bargains, creating serious and partner techniques, making a monetarily stable offer, and arranging activities to settle the negotiation. Introduction: In this blog, we will have a look on how a web service can be call from Plugin in Dynamics CRM. Steps to be followed: 1) Create an entity “Product Configuration” which consists of 2 fields Key – Name of the Web Service Value – Web Service URL The basic purpose of this entity is to store the Web Service URL so that we don’t hard code the values in the code. Web Service URL- Where WorkOrder -> Controller Name and CreateWorkOrder -> Function Name 2) Call the below function to call the Web Service. Retrieve Product Configuration function basically retrieves the record from CRM. private void CallWebService(IPluginExecutionContext context, ITracingService tracer, IOrganizationService service) { string licenseResposeJSON = string.Empty; ////// Retrieve Product Configuration details: URL tracer.Trace(“Retrieve Product Configuration details: URL”); string value = string.Empty; value = this.RetrieveProductConfiguration(service); tracer.Trace(“Downloading the target URI from Product Configuration: ” + value); if (value != string.Empty) { try { using (WebClientEx client = new WebClientEx()) { tracer.Trace(“Call Web Service”); client.Timeout = 60000; client.Headers.Add(HttpRequestHeader.ContentType, “application/json”); licenseResposeJSON = client.UploadString(value.ToString(), “1”); } tracer.Trace(licenseResposeJSON); context.OutputParameters[“WebServieCall”] = licenseResposeJSON; tracer.Trace(“Output Parameter is set: ” + licenseResposeJSON); } catch (WebException exception) { string str = string.Empty; if (exception.Response != null) { using (StreamReader reader = new StreamReader(exception.Response.GetResponseStream())) { str = reader.ReadToEnd(); } exception.Response.Close(); } if (exception.Status == WebExceptionStatus.Timeout) { throw new InvalidPluginExecutionException( “The timeout elapsed while attempting to issue the request.”, exception); } throw new InvalidPluginExecutionException(string.Format(CultureInfo.InvariantCulture, “A Web exception occurred while attempting to issue the request. {0}: {1}”, exception.Message, str), exception); } } } public class WebClientEx : WebClient { public int Timeout { get; set; } protected override WebRequest GetWebRequest(Uri address) { var request = base.GetWebRequest(address); request.Timeout = Timeout; return request; } } 3) Web Service which calls Create WorkOrder function is given below: [HttpPost] public async Task CreateWorkOrder([FromBody]string value) { CRM_DataOperations operations = new CRM_DataOperations(); OperationResult result = await Task.Run(() => operations.CreateWorkOrder_Daily()); return Request.CreateResponse(HttpStatusCode.Created, “Message: ” + Enum.GetName(result.GetType(), result)); } Hope you find this helpful! Thank you.
Share Story :
Customizations of CRM Portal Entity Forms using Entity Form Metadata
In this blog, we shall see how can a user make simple modifications to the CRM Portal Entity Form using ‘Entity Form Metadata’. Pre-Requisites: D365 CRM Portals D365 CRM Environment Why Use Entity Form Metadata? Entity Form Metadata has a modification logic to arguments or has the ability to override the functionality of form fields which isn’t possible using the CRM’s native editing capabilities. Entity Form Metadata allows the user to configure specific pieces on the form like a sub-grid, the notes section or an entire Section or Tab on the form which cannot be modified at the top level configuration. Scenario: In the following scenario the user will see how to make simple customizations like converting a “Lookup” entity field to a “Dropdown” field on the Create Case Entity Form on CRM Portals using Entity Form Metadata. In the following image below we see that the ‘Product’ field on the Create Case Entity Form which is a look up field which we will be converting to a dropdown field using ‘Entity Form Metadata’. Fig 1. Image of the Create Case Form before making changes using Entity Form Metadata Process: In order to make the above changes to the attributes that are present on the Entity Form in CRM Portals the user will have to create a Entity Form Metadata which will convert the lookup attribute to a dropdown list. Step 1: The user will have to go on the CRM Main Menu to Portals> Entity Forms> Customer Service-Create Case Form as shown below. Fig 2. Selecting the Create Case Entity Form Step 2: On the Entity Form the user will have to scroll down to the form till Entity Metadata property doesn’t appear. The user will have to create a new Entity Form Metadata by clicking on the ‘+’ option to the right as shown below. Fig 3. To create a new Entity Form Metadata Step 3: In the New Entity Form Metadata use will have to select ‘Type’ as ‘Attribute’ and select the Entity from the drop down list in ‘Attribute Logical Name’ to which the following change is to be made in this case we will select the ‘Product’ field. Under ‘Control Style’ select the Control Style as ‘Render Lookup as Dropdown’. Fig 4. Entering Specific Details into the Entity Form Metadata Dialogue Box. Step 4: Click on ‘Save and Close’ once the details is entered. Now open the Portal Form Page to which the changes are made. The user will find that the ‘Lookup’ Product field is converted to a ‘Dropdown’ field. Conclusion: Thus, in this way user can make simple customizations to the Entity Form Page in CRM Portals using ‘Entity Form Metadata’ which isn’t possible to be achieved at top level configuration methods.
Share Story :
OneNote Integration with Dynamics 365
Introduction: Want to make a dedicated OneNote notebook per Dynamics 365 record? Dynamics 365 Integration is what you need. This integration provides you the ability to take notes in the notebook in context of Dynamics 365 record for selected entities. OneNote records can be directly accessed on the Activity wall of the record whether on web application or on the mobile apps. Pre-Requisites: Server based SharePoint integration needs to be enabled between D365 and SharePoint Online. OneNote integration is only supported for SharePoint Online. Document Management is enabled for the Entity and the same is setup in Document Management under Settings in Dynamics 365. Setting Up: Before we begin, look that OneNote Integration won’t appear yet in Document Management under Settings since we don’t have Server-based SharePoint Integration enabled yet. Once you’ve enabled Server-based SharePoint Integration, you’ll see OneNote Integration Note: By default, OneNote integration will be enabled for Account, Contact, Lead and Product. So, I’ll enable OneNote integration for one of my custom entities. Following are the steps to enable the same: I have an entity called Order Fulfilment. On this entity, I have the usual Activity Feed as below First, the entity needs to be Document Management enabled to be able to be listed for OneNote Integration as shown in the image below on entity level. I’ll navigate to Settings > Document Management > OneNote Integration. Because Document Management has been enabled on Order Fulfilment entity, I can see Order Fulfilment (I’ve ticked the same and clicked on Finish)3. And DONE! Accessing OneNote for a record Once I’ve configured this, I’ll open the Order Fulfilment record I was looking at. Once I click on it, I’ll see a Notebook has been created. And clicking on the Untitled Notebook will take me to OneNote Online for that record Hope this was quick and easy!
Share Story :
Using D365 App for Outlook for quick Lead capture
The purpose of this article is to help fellow entrepreneurs and sales managers leverage the power of Office 365 and Dynamics 365 to manage and build their sales pipeline with a few easy steps. I use the Outlook Web Application (OWA) for my O365 email access. I also have CRM open in another tab and usually toggle between CRM and email. There are several email conversations that happen with existing customers or partners that I would like to quickly track as a Lead in CRM. I might not know the timeline or even the budget, but I know since it is an existing customer/partner, this would be a good lead. The disadvantage of not tracking these potential opportunities is that after a while you tend to forget to follow up! In this article, we focus on leveraging the D365 App for Outlook to convert emails into Leads which then feeds into our Sales Pipeline. Step 1 – Hit that “D” hard D365 now has a cool new logo (not a logo, may be an icon?). Anyways, once you install D365 App for Outlook, you will see this logo next to any email you have received. Below is an email I received this morning from our partner, on a potential opportunity – Step 2 – Track the Email and Create a Lead! Once you ‘hit the D’. you get to this window, where you would ‘Track’ that email. I already have Andy Neal as a contact in my system, so the app gets me all that info right in my email window! Once you track the email, you will get an option to set the regarding option. On this screen, select New and select Lead – Finally, enter the details for your Lead and close the window or open that Lead right from your email! Step 3 – Just do it. Yes, this step is same as in my previous article. Get in the habit of doing this and you will see a good lead pipeline that you can work through daily and increase your conversion rates. Remember – ‘Sales cures all.’ Let’s take care of that sales pipeline! You can always email me at AShah@CloudFronts.com to discuss your sales processes and technology adoption. In the coming articles, I will continue to focus on efficient ways to build and manage your sales pipeline and how this ties into one of the most important KPIs for running your professional services business.
Share Story :
Add Notification method in Dynamics 365 forms
Introduction: In this blog, we are going to discuss the new feature of Dynamics 365 for form and field Notifications. The new method basically provides similar functionality like recommendation action in Business Rule. Method: addNotification This method displays an error or recommendation notification for a control. Based on the notification option selected specify actions. On Dynamics 365 mobile clients, tapping on the icon will display the messages you specified and two standard buttons: Apply and Dismiss. Clicking Apply executes the action you define; clicking Dismiss closes the notification message. Note: Setting an error notification on the control will block the saving of the form, setting a recommendation notification will not block the saving. By default, the notification level is set as ERROR if not specified. Arguments: Messages- (Array) The message that we want to display to user Notification Level- (String) Specifies if we want to display error or recommendation Unique ID- (String) Unique ID for notification Actions-(Array of Objects) Corresponding actions for the message Let’s implement a simple scenario. Based on the account type selected, the ticker symbol will be populated. If the account type is “Channel Partner User” than set the ticker symbol as “CPU” We can create a web resource and use following code: var AddTickerSymbolRecommendation = function () { var typeOfAccount = Xrm.Page.getControl(‘xcd_typeofaccount’); var typeOfAccountValue = Xrm.Page.getAttribute(‘xcd_typeofaccount’).getValue(); var tickerSymbol = Xrm.Page.data.entity.attributes.get(‘tickersymbol’); if (typeOfAccountValue == 1 && tickerSymbol.getValue() != “CPU”) { var actionsCol = { message: ‘Set the Ticker Symbol to CPU? ‘, actions: null }; actionsCol.actions = [function () { tickerSymbol.setValue(“CPU”); typeOfAccount.clearNotification(“2002”); }]; typeOfAccount.addNotification({ messages: [“Set Ticker Symbol”], notificationLevel: “RECOMMENDATION”, uniqueId: ‘2002’, actions: [actionsCol] }); } } Bind this code on change of Account type field. When user selects Channel Partner User it will show an information icon like following: When you click on the recommendation icon, you get a pop up to select Apply or Dismiss: When you click Apply respective actions are performed:
Share Story :
Add Custom Icons with tooltip for a column
Now, it’s possible to make your CRM views visually more informative. This is a cool new feature which is in preview for Dynamics 365 for December 2016 release. You can now add custom icon with tooltip text to display a column based on the column value. First thing need to be done to achieve this is – upload the custom icons as web resources in your Dynamics 365. Then, use these icons using JavaScript web resources. Adding JavaScript code The following 2 new attributes have been added to layoutxml of savedquery – imageproviderwebresource imageproviderfuntionname The JavaScript code gets executed when the page loads. Following is how you can add Icons to the columns: In this example, I will add 3 types of images to the Open Opportunity View and based on whether the Opportunity is Hot, Warm or Cold, I’ll display a different emoji representing each. 1. Take 16×16 images and upload them as Web Resource in Dynamics 365. In my example, I’m using a “happy” and “sad” emoji to represent if the Opportunity is Hot or Cold. 2. Create a new Web Resource of type JavaScript to handle these icons when the Opportunity is either Cold, Warm or Hot. In the above code, row object and the User’s LCID is passed as parameters. I’m selecting the image to be displayed (Web Resource names of the images in D365) based on the value in str.opportunityratingcode_Value. 3. Once I have this code ready, I’ll import this JS as a Web Resource in D365. 4. I’ll navigate to the view I want to add this functionality to and double click the column to edit the property of the column as shown below: 5. In the above example, I’m selecting my JS Web Resource new_IconInCols and the function as displayIconTooltip. 6. Once everything is set, I’ll publish all the changes and refresh my view with relevant data. 7. Finally, my data looks like this on the View: Hot = Happy Warm = Neutral Cold = Sad 8. Also, if you hover over the icon itself, you’ll see what tooltip it has – Hope this was helpful!