Organization Insights for Dynamics 365 is a new solution that provides insights into the usage, activity and quality of service for your Dynamics 365 (online) instance. It has been available in preview since a couple of months and is currently compatible with December 2016 Update for Microsoft Dynamics 365 (online) 8.2 – to use the Organization Insights solution, download it from AppSource and install it in the instance you want to monitor using this download link https://appsource.microsoft.com/en-us/product/dynamics-365/mscrm.04931187-431c-415d-8777-f7f482ba8095?tab=Overview Although the documentation still marks it as preview - Preview feature: Use the Organization Insights dashboard to view metrics about your instance – the Office 365 message center states that it has been released on the 8th of February.
Wednesday, February 22, 2017
Getting started with Microsoft Flow and Dynamics 365
Microsoft Flow provides building blocks for integrating with external services and systems both from Microsoft such as SharePoint, OneDrive for Business, SQL Server, Azure components (Blob storage, Queues) but also from external vendors such as Salesforce, GoToMeeting, Instagram, etc … – there are currently 90+ different services available and new services are added on a weekly basis. Some of these services are only available in a premium plan such as Salesforce, Common Data Service, Citrix Gotowebinar and Citrix Gotomeeting, etc … whereas other services are also available in the free version of Flow.
Microsoft Flow provides a visual design surface within a browser (but mobile clients are also available for iOS and Android) where power users can add multiple actions which interact with services/applications, triggers (events that start a flow), conditions (allow for branching), loops, and more … I strongly recommend you to browse through the documentation Get started with Microsoft Flow or use the Microsoft Flow – Guided learning to get started.
You can either build a flow from scratch or you can start from one of the templates – each template flow is designed for a specific purpose and is ready to be used, you just have to configure the template. It is however also possible to add additional processing logic within flows created based on these templates. Microsoft Flow allows you to configure a number of interesting scenarios – you should definitely check out Dive into Microsoft Flow, create automated workflows between your favorite apps and services (Ignite 2016 recording) which shows you examples such as:
- Auto archive e-mail attachments to a SharePoint document library
- Sent follow up reminders when new leads are created in Dynamics 365
- Send mobile notification when a service goes down
- Collect social media mentions (e.g. twitter) of your company or its products
An important thing to understand is that Microsoft flows always run with the connection details that you provided when configuring the flow. So flows will always have the same permissions as the credentials that you use to create e.g. when you create a connection to Dynamics 365 for Sales and use your own login and password, it is your credentials which are used to execute the actions against CRM Online. A flow can never have escalated permissions.
Microsoft Flow is powered by Azure Logic Apps – every flow is actually a Azure Logic App which runs in a subscription which is managed and maintained by Microsoft. So you can basically use the same APIs, functions and designer in Microsoft Flow as in Azure Logic Apps. Microsoft Flow however provides a more-business oriented user experience. An interesting scenario is where you call Azure Logic Apps from Microsoft Flow or vice versa using HTTP cards, but also one Flow call another Flow as well as one Azure Logic App calling into another Azure logic App. I will look at some examples of Azure Logic Apps in future blog posts. Both Flow and Azure Logic Apps often allow you to solve the same problem but they are targeted at a different audience and sometimes subtle differences will determine your choice as outlined in Considerations on using Microsoft Flow or Logic Apps to sync documents
Microsoft Flow is available in a number of different plans going from a free version with 750 runs per month up to a Flow Plan 2 with 15.000 runs. The paying version also allows access to a number of premium connectors such as Salesforce, Common Data Service, Citrix Gotowebinar and Citrix Gotomeeting, etc … For up to date pricing as well as the difference between the different versions check out https://flow.microsoft.com/en-us/pricing/
To conclude, some points of attention, Microsoft Flow is fairly new and the product still has its occasional hiccups – both within the design surface as well as in execution of flows. Another thing to remember is that while the number of Flow executions might seem quite large I would recommend to define specific governance around the usage of it since currently no flow usage across your company is not available (but on the roadmap)
References:
- Announcing Microsoft Flow General Availability
- Executing Dynamics 365 workflows from Microsoft Flow
- Flow of the week : Get notified about posts to Yammer, Twitter or Disqus with negative sentiment
- Codeless integration in Dynamics CRM using Microsoft Flow
- Microsoft is taking on IFTT with even more supported services in Microsoft Flow
- Flow of the week: Use a button to track your work hours and work location
- Office 365 Partner Community: Microsoft PowerApps and Microsoft Flow
- Setting regarding field in Microsoft Flow
- Pushing data to Power BI streaming datasets without writing any code using Microsoft Flow
Thursday, February 02, 2017
Dynamics 365 monthly reading list 02/02/2017
- CRM for Dynamics 365 Top 10 New Features
- PowerObjects’ Top 10 most popular blog posts of 2016
- Why Dynamics 365 changes the CRM conversation
- [Overview] Dynamics 365 App Model
- CRM for Dynamics 365 Relationship Insights
- Microsoft Dynamics 365 – What’s included?
- Step by step guide to setting up your Dynamics 365 Portal trial
- Inviting existing contact to Portal in Dynamics 365
- Dynamics 365 Portals: a brief introduction to a a brave new world
- Search enhancements in Portal capabilities for Microsoft Dynamics 365
- Enable Portal capabilities for Microsoft Dynamics 365 to support multiple languages
- Portal capabilities for Microsoft Dynamics 365 releases
- Dynamics 365 SDK Backwards compatibility
- Can Microsoft AppSource disrupt and dominate the SAAS Business Apps Market?
- 5 things we love about Dynamics 365 App for Outlook
- Understanding your Microsoft Dynamics 365 Licensing Options
- CRM for Dynamics 365 Relationship Insights
- Updating to Dynamics 365 for existing CRM Online customers
- 4 steps to properly score your website leads
- Using hierarchy visualizations to capture org charts in Dynamics 365
- How to delete component from managed solution in Dynamics CRM 2016
- Gotchas on Dynamics 365 Outlook App Deployment
- What server logs are useful for troubleshooting Dynamics CRM
Thursday, January 19, 2017
Power BI and Microsoft Dynamics 365 one year later
- Using Microsoft Power BI Desktop to build Dynamics CRM Online reports – Part 1 – Introduction
- Using Microsoft Power BI Desktop to build Dynamics CRM Online reports – Part 2 – Using option sets in reports
- Using Microsoft Power BI Desktop to build Dynamics CRM Online reports – Part 3 - Relationships and the map control
- Using Microsoft Power BI Desktop to build Dynamics CRM Online reports – Part 4 – Sharing and collaborating
- Using Microsoft Power BI Desktop to build Dynamics CRM Online reports - Part 5 - Refreshing data and custom visuals
Another interesting update was the release of support for R in June 2016 – see R for the masses with Power BI. To get started with R in Power BI – you can download the Power BI sample with correlation plot in R which uses the rrplot package. Power BI Desktop does not include, deploy or install the R engine. I installed RStudio, the sample Power BI project uses the corrplot package, so you will first need to install this package using the R console prompt in RStudio.
Definitely check out the Create Power BI visuals using R guide (Don’t forget to take at the current limitations in R at the end of the post) and Getting started with R Visuals in Power BI to get started – afterwards you definitely need to take a look at the Welcome to the R script showcase Power BI Gallery to see some interesting examples that you can use.
Listed below is an example of how you can use decision trees in Power BI with R to visualize the probability of something you want to estimate, based on historical data – the sample project uses data about the survival statistics of passengers of the Titanic. The decision tree classifier automatically finds the important decision criteria (or features) to consider which can help you can in making decisions. Decision trees are a form of multiple variable (or multiple effect) analyses. An example of a multiple variable analysis is a probability of sale or likelihood to respond to a marketing campaign as a result of the combined effects of multiple input variables, factors or dimensions.
In July 2016, Power BI Embedded also reached general availability – Power BI embedded allows ISVs to provide the richness of Power BI to customers within their specific multi-tenant applications. This can for example be an Azure hosted web application in which an ISV wants to embed fully, interactive reports built using Power BI. For more information check out Your data. Your visualizations. Your way – with Power BI – which explains the difference between Power BI Embedded and standard Power BI – as well as What is Microsoft Power BI Embedded? Power BI also allows you to embed Power BI tiles in Dynamics 365 dashboards – see Display Power BI visualizations in Dynamics 365 dashboards or Add or Edit Power BI visualizations on your dashboard for some walkthroughs.
Another important change is the endpoint that you need to use when connecting Power BI directly to Dynamics CRM 365 – from Dynamics CRM version 8.1 onwards (so also for Dynamics 365) you should use the OData endpoint URL and not the OrganizationService SOAP service even though the dialog still shows it as an example – the documentation Use Power BI with Microsoft Dynamics 365 (Technet) has already been updated for this change.
To get an overview of what has been released and what is under development around Power BI for Dynamics 365 - you can also take a look at the roadmap for the updates which have been recently released or which are under development - https://roadmap.dynamics.com/
References:
- Power BI Desktop – 2016 Year in Review
- Announcing the sales management solution template for Dynamics 365 with Data Export – Data Export is a free add-on service which allows you to replicate Dynamics 365 data to a Microsoft Azure SQL database store. The new Power BI template allows you to connect to the Azure SQL.
- Quickly create infographics with the infographic designer custom visual for Power BI
- Pareto charts in Power BI
- Using Power BI to make stunning Twitter campaign dashboards
- Microsoft Power BI webinars overview
- Explore and analyze your Infer data with Power BI
- Power BI and AzureML better together
- Power BI Insights and Analytics for Everyone: Natural Language Search, Quick Insights and Cortana
- Example reports for Power BI in insurance
- Gap Analysis visual for Power BI
- KPI indicator custom visual for Power BI Explained
- Free e-book: Introducing Microsoft Power BI
- Power BI Architecture Diagram V2
- Visual awesomeness unlocked – waffle chart
- Gather intelligence in Dynamics CRM with Power BI and Cortana Intelligence (Ignite session recording)
Wednesday, January 11, 2017
Organization Insights for Dynamics 365
One of the new interesting dashboards which is part of this soltuion is the storage dashboard which provides information about the storage used by your tenant and the different CRM instances (or organizations). This dashboard displays total storage and storage per tenant, a breakdown of the top 10 largest tables by size and row count in the current instance and information about common tables - tables which contain records which can be linked to different types of records such as attachments, audit logs (auditbase) and asyncoperationbase (this table tracks your asynchronous processing job execution (system jobs, workflows, plug-ins, etc).
A Dynamics 365 Plan 1 application subscription includes by default 10 GB database storage and additional storage is added at a rate of 5GB for every 20 full users – storage is accrued but there is a technical limit of 5TB (For more details see the Dynamics 365 Licensing Guide). It also is possible to purchase additional storage at a price per GB/month. For those of you who are still using Dynamics CRM Online licenses, will have 5 GB standard storage and 2.5 GB extra per 20 professional users (capped at 50 GB - for more details see the Dynamics CRM Online Licensing Guide)
So it is important to analyze and clear space in Dynamics 365 as outlined in this post – which also suggests a free Dynamics CRM Online & Dynamics 365 storage space analyzer solution that you can install.
Reference:
Sunday, January 08, 2017
Using Azure Service Bus and Dynamics 365
As of CRM Online Update 1 (Spring release – see KB 2925359 Microsoft Dynamics CRM Online releases for an overview of the different release) – the recommended way of integrating Dynamics CRM Online and Azure Service Bus is using Shared Access Signature authentication.This blog post still uses ACS(Access Control Service) authentication – in a next post I will outline the differences when using SAS (Shared Access Signature) authentication.
Dynamics CRM Online is by default pre-configured for Microsoft Azure integration. You will however still need to proceed with the following steps:
- Make sure that you have the Microsoft Azure PowerShell module installed – if you have multiple subscriptions linked to your login – check out Quick tip – using Azure PowerShell with multiple subscriptions
- Create a Service Bus Namespace as outlined in Walkthrough: Configure Microsoft Azure ACS for integration with Dynamics CRM (https://msdn.microsoft.com/en-us/library/jj863635.aspx )
- Add extra configuration settings on Azure Service Bus :
- Create a service identity (issuer)
- Create a rule group and rules
- Configure the scope
- These settings can be configured in two different ways
- Follow the steps outlined in
- Use the plugin registration tool to add the extra required configuration using the (Save & Configure ACS) screen when you register a new endpoint. I will use this option since this is the simplest from a developer perspective – before you can use this screen make sure that you perform the next two steps. First you will need to download the certificate from Dynamics CRM Online – it can be found underneath Settings>Customizations>Developer resources screen Next you will need to open Azure Portal (I will be using the classic portal https://manage.windowsazure.com since Azure Service Bus management is still in preview on the new portal) and select the connection information from the Azure Service Bus namespace that you created in the first step. Copy the default key.
In this example we are going to integrate CRM with a persistent queue and we are going to leverage the built-in Azure plugin in Dynamics CRM. Open the plugin registration tool and select Register New Service EndPoint.
You should see the screen below for registering a new service endpoint – if you get another screen you are most likely using a newer version of the CRM SDK – and you switch to the CRM 2015 SDK or the first build of the CRM 2016 SDK (December 2015 release).
Before Dynamics CRM Online can post on the queue you will need to create the queue which was specified in the path “jopx/demo”. You can write code for this or you can simply use a tool such Service Bus Explorer - https://code.msdn.microsoft.com/windowsapps/Service-Bus-Explorer-f2abca5a to create the queue (or you can create the queue from within the Azure Management Portal)
Click on Save & Configure ACS to add the necessary configuration data as outlined before. Here you will need to enter the following information:
- Fill in the management key that you copied over from the Azure Service Bus connection information
- Select the certificate file that you downloaded from your CRM Online instance
- Fill in the issuer name – crm4.dynamics.com (This information is also copied over from the Developer resources screen in Dynamics CRM)
Finally, you will need to define for which CRM entity you want to couple the event execution pipeline to the Microsoft Azure Service Bus. The native CRM Azure-aware plugin allows you to post the data that is being processed as part of the current CRM operation to the queue. It does this by transferring the information in the form of a serializable RemoteExecutionContext object. Registering the Azure-aware plugin is the same as registering any plugin for CRM. Use the plug-in registration tool and right-click on the service endpoint that you just created, then select Register New step to select the “Create” message and the “Contact” entity.
To test it out you simply create a new contact record and you should see that a new entry appears in the CRM System Jobs. After creating a new contact you should have an entry in the CRM System Jobs: Settings > System Jobs, indicating that the asynchronous plugin posting the create to Azure has been executed. You can also see the message posted on the queue in the Azure Portal.
Monday, January 02, 2017
Dynamics 365 monthly reading list 12/31/2016
- Dynamics 365 – Needs more cowbell – InsideView, Customer Insights, Relationship Insights, Organization Insights, Application Insights …
- Dynamics 365 – Get started top links (Microsoft)
- Dynamics CRM Exceptions – common CRM developer exceptions
- CRM 2016 – ActivityParty and ActivityParty Lists
- Dynamics 365- When will it finally be finished?
- What is Microsoft Flow and how to use it?
- Dynamics 365 – Updates to business rules and actions
- Building an emergency response solution in Dynamics CRM, SharePoint and the Microsoft Cloud
- Now in preview: Relationship insights for Dynamics 365
- Preview feature: View metrics about your instance with Organization Insights solution (TechNet)
- Connected Field Service architecture (MSDN)
- CRM On-premise to CRM Online conversion using Dynamics Lifecycle Services (LCS)
- CRM Javascript code editor
- Deliver projects on time and on budget with Dynamics 365 (Youtube 00:02:08)
- Self-service web portals in Dynamics 365 (Youtube 00:02:25)
- OneNote integration in Dynamics 365 (Youtube 00:02:01)
- What’s new in Dynamics 365 Portals
- Microsoft Dynamics CRM Online 2016 Update 1 New Features – Portals: Theming and Liquid Templating
- Dynamics 365 Data Export Service (Youtube 00:23:28)
- Dynamics 365 Data Export Service
- Dynamics 365 Social Pane – Roll up Activities (CRM)
- Relevance search is now available in Dynamics 365 (online) !
- Dynamics 365 & Flow – 3 simple steps to email sentiment tracking
Wednesday, November 23, 2016
Dynamics 365 weekly reading list 11/23/2016
The big storm of announcements about Dynamics 365 has passed but still some interesting tidbits of information and new tools were released in the previous weeks:
- Dynamics 365 (CRM) scheduled workflows using Microsoft Flow
- Choose between Flow, Logic Apps, Functions and WebJobs in Azure
- Reflecting on Dynamics 365
- AngularJS demo solution for Dynamics CRM
- Getting started with Dynamics 365 PowerApps
- White Paper: Microsoft Dynamics CRM 2016 Service Pack 1 Performance Benchmark on Azure Infrastructure as a Service (Iaas)
- Dynamics 365 Site Map Designer
- Monitor your Dynamics 365 (online) instance with Organization Insights (Youtube – 00:02:20)
- Activity Management Enhancements in Dynamics 365 (v 8.2)
- PowerApps and Microsoft Flow: Is Microsoft putting traditional software developers out of business
- No, Common Data Service is not the new XRM
- Common Data Model (CDM) Entity Reference document
- Bot framework – solving business problems with the Microsoft Bot Framework – describing an interesting scenario using Microsoft Flow, Dynamics 365, Office 365 and other Azure components.
- Why my action is not available through the Web API
- 3 benefits of Knowledge Articles in Dynamics 365
- Microsoft Dynamics 365 Developer Toolkit (public beta 1)
- Calling Microsoft Flow from Power Query and Power BI
- Project Service Automation in Dynamics 365 – what are your options?
- Moving Dynamics CRM Business Process Flows with multiple branches
- What does Adobe Marketing mean for Dynamics
- Role of PowerApps, Flow and Common Data Model in Dynamics 365
- Creating a PowerApps Mobile Application with Dynamics CRM in 1 hour
Previous edition – Dynamics 365 weekly reading list 11/05/2016
Tuesday, November 22, 2016
Ignite 2016 slidedeck and video downloader
Microsoft Ignite is one of the biggest Microsoft conferences in the year with over 700 different sessions over the course of 5 days so it is quite impossible to attend all sessions. Luckily Microsoft provides a recording of most of the sessions on Channel 9 | Microsoft Ignite 2016 and for those of you who would like to get an offline copy of all the different sessions as well as the PowerPoint decks – take a look at the Powershell script – Ignite 2016 slidedeck and video downloader - if you want to download only the powerpoint decks you can use the command - .\Ignite2016Downloader.ps1 -NoVideos -DownloadFolder d:\Ignite2016 , this is already 12,5 GB.
Here’s my watchlist for the next couple of weeks:
- Business application platform roadmap, strategy and packaging(BRK2271)
- Evolve with Microsoft Dynamics CRM platform and online (BRK2161)
- Review CRM Implementations best practices (BRK3243)
- Integrate with Microsoft Exchange Future Strategies (BRK3308)
- Achieve productivity excellence with Microsoft Dynamics CRM and Office 365 (BRK3265)
- Optimize connectivity to Microsoft Dynamics CRM Online(BRK3310)
- Dive Into the Microsoft Common Data Model (BRK3315)
- Enable agile enterprise connectivity anywhere using Microsoft integration (BRK2308-TS)
- Dive into Microsoft Flow, create automated workflows between your favorite apps (BRK3311)
- Dive into PowerApps, building apps that mean business without writing code (BRK3326)
- Build cloud-first enterprise integration solutions with logic apps (BRK3342)
- Gather intelligence in Dynamics CRM with Power BI and Cortana Intelligence (BRK2163)
- Essentials of Application Lifecycle Manager for CRM (BRK2168)
Saturday, November 05, 2016
Dynamics 365 weekly reading list
Welcome to the first edition of the Dynamics 365 weekly reading list – with the official “release” of Dynamics 365, Microsoft took an important step in providing an integrated cloud platform which combines CRM and ERP. Follow this blog for your weekly reading list about the Dynamics 365 platform.
- Microsoft Dynamics 365 – Now generally available
- Dynamics 365 – What’s new – information about the upcoming December 2016 release
- Microsoft Dynamics 365 editions and licensing
- Microsoft Dynamics 365 home
- Dynamics 365 app for Outlook is coming soon!
- Helping customers accelerate their digital transformation with intelligent business applications
- Dynamics 365 – Purpose-built for you and your business (Youtube)
- Common Data Service is now generally available! – CDS encompasses the CDM (Common Data Model) which provides a mechanism to unlock data which is used in the different Dynamics 365 apps and which will allow for easier integration – see Announcing the general availability of the PowerApps Common Data Service. Although GA there are still some things which need to be clarified as outlined in CDM: New data model for the common good?
- Project Service Automation for Dynamics 365 (Youtube)
- Tap the power of Dynamics 365 directly from Microsoft Outlook (Youtube)
- Sell effectively with Microsoft Dynamics 365 (Youtube 00:02:17)
- Microsoft Dynamics 365 First Look Highlights (Youtube 00:02:03) and all other recordings – Microsoft Dynamics 365 First Look
- Highlights and reactions: Microsoft Dynamics 365
- Dynamics 365 - Acquisitions that made the cut, or didn’t
- Dynamics 365 – getting into the flow of things
- Microsoft Dynamics 365 : the what, when and why
Monday, October 31, 2016
Fixing Visual Studio projects created with CRM Developer Toolkit
If you try to open a Visual Studio 2012 CRM plug-in or workflow activity project which was created with the CRM Developer Toolkit in Visual Studio 2013 or Visual Studio 2013 you will notice that it does not open and that it states – “This project is incompatible with the current edition of Visual Studio”. Unfortunately the CRM Developer Toolkit has not been updated to work with the newer versions of Visual Studio. There is however an easy fix for this - open the csproj file of the Visual Studio project in Notepad++ – look for the ProjectTypeGuids line and simply delete it. This fixed it for me with Visual Studio 2015 – if you encounter other errors – take a look at How to remove dependencies to CRM Developer Toolkit
Tags van Technorati: msdyncrm,Dynamics+CRM,Visual+studio,Microsoft,CRM,development,c#,csharp
Thursday, October 13, 2016
Creating a new Documents view in CRM to display SharePoint documents
In Showing SharePoint document properties in Dynamics CRM views I already explained how you can adapt the standard Associated Documents view to show extra document properties from documents stored in SharePoint document libraries. In this post, I will explain how you can create new views for the SharePointDocument entity.
If you just create a new view and try to make it work out of the box you will see that this not works. You will need to export your CRM solution. You will notice that the exported zip file contains three XML files.
- solution.xml : Contains the details of the solution package including publisher information and a listing of any missing or key dependencies
- [Content_Types].xml : standard Microsoft export file that identifies the content of the solution. The [Content_Types].xml file type is part of the Open Packaging Conventions (OPC) standard. For more information, see OPC: A New Standard For Packaging Your Data on the MSDN Web site.
- customizations.xml: this file contains all of the content and mark-up that you will need to change.
Now if you look at the SavedQuery XML from the custom view which I configured in the view editor (left side of the image below), you will notice that it is quite different from the Associated Documents view that I customized previously (See Showing SharePoint document properties in Dynamics CRM views )
For a description of the different XML nodes and attributes used you can take a look at the Saved Query XML Reference but the most notable differences in the Associated Documents grid are the following – and these are also the changes that you need to make in the XML for your custom view.
SharePointDocument.RetrieveDocument – the official documentation only states that a string value is expected but not really what value is needed. For integration with SharePoint you need to specify SharePointDocument.RetrieveDocument… – defines a set of columns to return in a saved query, it seems that it is necessary to also take over a number of SharePoint specific columns. (Reference: Saved query XML reference columnsetxml )… (Reference: Saved query XML reference layoutxml )0 - 0 is for a normal main application view, 2 is for an associated view (Reference: Saved query XML reference querytype )… – here you need to specify the additional SharePoint document metadata columns that you want to show in the grid
Related posts:
- Using SharePoint Online to store Dynamics CRM Online Documents
- Showing SharePoint document properties in Dynamics CRM views
Wednesday, September 14, 2016
So you want to become a data scientist?
For those of you out there who have never heard of data science, check out Data science for the rest of us. It has also become easier to get started given the abundance of resources available on the web and MOOC platforms such as Coursera and Edx offer quite a few data science and machine learning courses. Listed below are a number of links to get you started. However keep in mind that if you want to make a profession of this, you will need to put a lot of effort in it – check out this excellent post Stop saying learning to code is easy and just replace “Programming” with “Data Science” and you will get the picture.
- How to become a data scientist (Quora)?
- 16 analytic disciplines compared to data science
- Are you ready for data science?
- Data science as a profession – time is now
- Data science – an introduction (Wikibook)
- Pandas ebook – Pandas is a python package which provides the fundamental high-level building blocks for doing practical, real world data analysis in Python.
- R for Machine Learning (MIT lecture notes)
- Data Science Cheat Sheet
- Brussels Data Science Community (Parleys video channel)
- This is why your data scientist sucks
- What makes a data scientist – finding unicorns in the midwest
- Data science and machine learning essentials (Edx MOOC)
Friday, September 09, 2016
Showing SharePoint document properties in Dynamics CRM views
The preferred method for integration is using Server-to-server integration (See Integrate Microsoft Dynamics CRM CRM with SharePoint) but there are some noticeable differences between the Dynamics CRM List component and server-based SharePoint integration as outlined in Important considerations for server-based SharePoint integration as well as SharePoint Integration Reloaded Part 1 from Scott Durow. From Dynamics CRM
One of the great features which is enabled using server-based SharePoint integration is the fact that you are also able to show fields (or site columns) which are added in SharePoint within the Documents view in Dynamics CRM. Site columns or library columns (also referred to as fields or attributes) are used to organize documents so that people can find back the documents they need more easily. Document libraries in SharePoint are like real libraries where you can borrow books, a library has a system in place to search for the books by publication year, author, language, genre, age category, etc… In a SharePoint document library you would use site columns or library columns which would contain this information. This is also called metadata – “data (information) that provides information about other data”. So if you enable document management on the Account entity in CRM using server-based-integration it would look like the screenshot below. Dynamics CRM uses a number of entities to enable the integration with SharePoint :
- SharePoint site (schema: SharePointSite): represents a location record in Microsoft Dynamics CRM that points to a site collection or a site on a server that is running SharePoint Server (See SharePointSite entity messages and methods )
- SharePointDocumentLocation : represents a location record in Microsoft Dynamics CRM that points to a document folder on a server that is running SharePoint Server. You can associate the SharePoint document location records in Microsoft Dynamics CRM with the entity records for the entities for which the SharePoint Server integration or document management feature is enabled. (See SharePointDocumentLocation entity messages and methods)
- UserMapping : represents a custom claim mapping record in Microsoft Dynamics CRM to use a value other than the default value used by CRM Online for authenticating and authorizing CRM users in SharePoint (See UserMapping entity messages and methods)
If you look at the SharePoint Document entity in CRM and check out the list of fields you’ll see there are quite a few fields (such as Title, version, etc..) that you can display. These fields will display the corresponding values from columns in a SharePoint document library if you add them to the SharePoint Document Associated View. So for example you can quite easily make the title of a document in SharePoint appear in the CRM view.
This is great for the out of the box fields but if you have modified the library in SharePoint to add additional attributes you’ll notice they are not displayed. So let’s image that you have added a custom field called DocType (of type text) in a SharePoint document library as shown below and you want to show the values of this SharePoint column in Dynamics CRM (I suppose that you already setup with document management integration already setup). You will need to perform a number of steps to accomplish this:
- Create a new solution in Dynamics CRM (you can also use the Customize the system option but this is not really the recommended way)
- Add the SharePointDocument entity and the Document Associated Grid to your CRM solution
- Navigate to the SharePoint document library that is used to store the documents linked to your CRM record and add a column of type text with name “DocType”.
- Add a field on the SharePointDocument entity with exactly the same display name “DocType” of type single line of text. Dynamics CRM will use the display name of the fields to do the mapping with the query which is send to SharePoint. All values returned from SharePoint will be of type text except for a date field in SharePoint. So you need to create fields of the corresponding type in CRM.
- Modify the “Document Associated Grid” view that you added to your CRM solution and add the newly created CRM field to this view. (This will only work with the “Document Associated Grid” view – to make this work with new views you will need some extra steps that I will outline in a next blog post)

Once you fill in the values of the SharePoint fields for the different documents you will notice that they appear in the CRM “Document Associated Grid” as well. This seems to work for the following types of SharePoint fields: text, number,date,choice, boolean,currency and person. I currently only tested the scenario in Dynamics CRM Online (8.1.0.452) in combination with SharePoint Online as well as for Dynamics CRM 2016 (Update 0.1) on premise in combination with SharePoint Server 2013 but I guess it should also work in other setups which are using server-based-integration.
References:
- SharePoint integration reloaded – Part 1
- SharePoint Integration reloaded – Part 2 – How authentication works and how CRM retrieves the SharePoint documents
- SharePoint integration reloaded – Part 3 – Code sample for a CRM workflow which allows to store the documents in a different location in SharePoint
Monday, August 22, 2016
SQL Server Management Studio available as separate download
I just finished my first installation of SQL Server 2016 and I noticed that SQL Server Management Studio was available as a completely separate install option and not a part of the main installation. Microsoft decided to make SQL Server Management Studio (SSMS) available as a separate download . This also means that SSMS does not require a license anymore. The current release (13.0.15700.28) works with all supported versions of SQL Server (2008 to 2016) as well as SQL Azure. The rationale behind is that Microsoft will be able to update the tooling at a swifter pace than the releases of SQL Server itself.
Sunday, June 19, 2016
Quick tip - using Azure Powershell with multiple subscriptions
If you have multiple Azure subscriptions linked to the account that you use to login – the operations in Azure PowerShell are executed against the “current subscription”. You can use the Get-AzureSubscription PowerShell cmdlet to see all of the subscriptions and also which is the “current” subscription. During a PowerShell session, you will need to use the Select-AzureSubscription cmdlet to choose which subscription data set is used by other Azure cmdlets with the following syntax "Select-AzureSubscription -name "NameOfYourSubscription".
Friday, April 08, 2016
Software boundaries and limits for Dynamics CRM 2015/2016/Online Part 1
But let’s first take a look at why such a resource might be needed more than ever. I think that massive Dynamics CRM deployments – in number of users - are still quite rare especially if you compare it with SharePoint. This is however quite normal given that both products are covering completely different functional domains and where SharePoint might be used by everyone in a company, Dynamics CRM users are typically still found in customer facing departments (service management and sales & marketing) . This might be one of the reasons why there hasn’t been any need to compile such an extensive list of boundaries and limits for Dynamics CRM. But in an era where winning the customers heart and mind is getting harder and harder – it becomes imperative that companies transform from ‘product-focused’ to ‘customer-focused’ which will put CRM more at the center of your enterprise architecture and which might also trigger larger deployments of CRM both in terms of number of users, transactions and records.
But in the enterprise market we are currently already encountering at what you might describe as “High Volume” systems. A “High Volume” system might have one or more of the following characteristics:
- High volume data: more than 1 mio records in the base tables (Contacts,Accounts, …) or more than 5000 activities/day or more than 1 mio/year
- High volume transactions
- High volume users/security: more than 300 concurrent users or more than 1000 teams and business units
I also got feedback from another CRM architect stating that there are no real hard limits in Dynamics CRM for on-premise deployments but only scalability guidelines that you should follow. But still when you are doing a large CRM deployment chances are that you might call in Microsoft consultancy to assist you or audit your design they will point you to some specific boundaries and limits that you should adhere to. These guidelines and boundaries and are defined in the Microsoft Product Line Architecture for Dynamics CRM which unfortunately is not publicly available (See Introducing the Microsoft Product Line Architecture if you are unfamiliar with PLA) and although these are indeed no hard limits –if you don’t comply you will be asked to provide mitigating or corrective actions.
To get started you should definitely take a look at the Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM 2016 Performance and scalability documentation. This download contains the Dynamics CRM Scalable Customizations white paper which describes how SQL Server platform-level issues can occur that create slow Microsoft Dynamics CRM application performance or error messages returned to the end-user. It also provides information about how to optimize a custom implementation and enable better performance that results in better end-user experience. It also contains the Scalable security modeling with Microsoft Dynamics CRM 2015 white paper which describes how security modeling features in Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM 2016 related to authorization work at scale, the associated implications, and guidance on common and recommended usage patterns for modeling Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM 2016 security at scale, incorporating teams as appropriate. Both white papers are updated versions of the papers which were initially written for CRM 2011 and CRM 2013 because in essence the core architecture as described in Microsoft Dynamics CRM Reference Architecture has not changed significantly in the later versions.
Given the focus of Microsoft on Dynamics CRM Online you might also be faced with a large deployment of Dynamics CRM Online and you have to keep in mind that Dynamics CRM Online does contain some hard limits. I will cover these in a next blog post. But the Microsoft Dynamics CRM Online patterns & principles for solution builders white paper download provides already some solid guidance specifically about building solutions using Microsoft Dynamics CRM Online. Also keep in mind that Dynamics CRM Online deeply integrates into Office 365 (Yammer, SharePoint Online, Exchange Online and Office 365 Groups) and you might also need to the integrate some Microsoft Azure components so you should also have a solid grasp of these components as well as a solution architect.
Last but not least - it is a sad truth that in most deployments bad performance is not due to the number of users, transactions or records stored in Dynamics CRM but mainly caused by bad code – so also take a look at Best practices for developing with Microsoft Dynamics CRM.
References:
- Software requirements for Microsoft Dynamics CRM 2015
- Microsoft Dynamics CRM Server 2015 hardware requirements
- Introducing the Microsoft Product Line Architecture
- Microsoft Dynamics CRM Reference Architecture
- Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM 2016 Performance and scalability documentation


























