Microsoft Technologies leveraged on projects

One of the reasons I persist with the Microsoft Technology stack is that having a huge box of legos to build business applications with is just hard to beat. 

Microsoft tends to change names, debate branding and overall try to communicate what a consultant can bring to the table, but in most of my projects now we tap into numerous different offerings.

Take for instance my last project. In my last project we delivered an integrated model that included 

  • Microsoft Dynamics 365 Customer Engagement (Model Driven Power App + Microsoft Canvas App)
  • Microsoft Dynamics 365 Finance and Operations (Supply Chain Management focused)
  • Power Automate (Flow) (Approvals and Standard)
  • Power Portal (now called Power Pages)
  • Microsoft Dual Write (connecting DYN365FO + DYN365CE)
  • Microsoft Azure Synapse
  • Microsoft Azure Function Apps
  • Microsoft Azure Logic Apps
  • Microsoft Azure Service Bus 
  • Microsoft Teams
  • Microsoft Azure Blob Storage
  • and Microsoft Office 365 

We also coordinated the team and the application lifecycle management using Microsoft Azure DevOps, Microsoft Azure CLI, Microsoft Visual Studio, Microsoft RSAT (Regression Suite Automation Tool) and Microsoft Teams. 

Now you would think that you would need a HUGE team to deliver the above, but we actually delivered using a very reasonably sized team with a mix of resources. 

One of the beauties of the Microsoft stack of applications and offerings is that there is so much that you can do! The ability to use a platform that grows organically (SaaS) and through phased projects aligned to key business needs, keeps companies current with the latest and greatest technology offerings. 

The world moves so fast. It is great to have structures in place that allow teams to move at the same speed. 

 


Infrastructure: Forests, Tenants, Orgs, Environments, Software as a Service, Infrastructure as a service .. the Vocabulary noise is high

In case the world wasn't confusing enough we have new vocabulary and technical terms expanding at an ever increasing pace in the world of the Cloud. 

This causes even more noise when you start talking about Software as a Service and empowering the business user with their own "environment" or offering them a shared environment or simply adding to the default environment. 

What is an Environment

"Each [Power Platform] environment is created under an Azure AD tenant, and its resources can only be accessed by users within that tenant. An environment is also bound to a geographic location, like the US. When you create an app in an environment, that app is routed to only data centers in that geographic location. Any items that you create in that environment (including connections, gateways, flows using Microsoft Power Automate, and more) are also bound to their environment’s location." https://docs.microsoft.com/en-us/power-platform/admin/environments-overview

Now come to the table with the perspective of Azure IaaS,  Infrastructure as a Service. A technical team that has numerous Azure VMs and an IaaS footprint. How do they add Software as a Service to their world and include connection between their new SaaS environment(s) and their existing IaaS environments?

In the world of IaaS on Azure you have access to the Azure Resource Manager and Administrator portal.

What is the Azure Resource Manager? "Azure Resource Manager is the deployment and management service for Azure. It provides a management layer that enables you to create, update, and delete resources in your Azure subscription. You use management features, like access control, locks, and tags, to secure and organize your resources after deployment." https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-overview

In the world of SaaS the resourcing of azure is managed by the SaaS offering. 

In the Power Platform world we access most of the Azure management through the new Administrator Portal on Azure found at https://admin.powerplatform.microsoft.com or through each of the individual component/module administrator centers (https://admin.powerapps.com/environments, https://admin.flow.microsoft.com/environments, etc.)

 What is an Azure Forest? 

"A forest contains domains, and domains contain other types of objects. This reference architecture creates an AD DS forest in Azure with a one-way outgoing trust relationship with an on-premises domain. The forest in Azure contains a domain that does not exist on-premises. Because of the trust relationship, logons made against on-premises domains can be trusted for access to resources in the separate Azure domain."

SO when working with IaaS and SaaS it is helpful if you get them configured in the same domain.

What is an Azure Domain?  

"Azure AD DS integrates with your existing Azure AD tenant, which makes it possible for users to sign in using their existing credentials. You can also use existing groups and user accounts to secure access to resources, which provides a smoother lift-and-shift of on-premises resources to Azure.

Azure AD DS replicates identity information from Azure AD, so works with Azure AD tenants that are cloud-only, or synchronized with an on-premises Active Directory Domain Services (AD DS) environment. The same set of Azure AD DS features exist for both environments.

  • If you have an existing on-premises AD DS environment, you can synchronize user account information to provide a consistent identity for users.
  • For cloud-only environments, you don't need a traditional on-premises AD DS environment to use the centralized identity services of Azure AD DS."

 

How about that! 

Software as a Service = An application or set of applications that is hosted (such as hosted on Azure) as a software offering. The infrastructure and hosting is mostly managed by the SaaS company. 

"Software as a service (SaaS /sæs/[1]) is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. It is sometimes referred to as "on-demand software", and was formerly referred to as "software plus services" by Microsoft.[2] "

Infrastructure as a Service = A hosted infrastructure (such as a domain in an Azure Data Center) where a company might have many services, virtual machines, and other functions, but most is managed by the purchasing company.

"Infrastructure as a service (IaaS) is an instant computing infrastructure, provisioned and managed over the internet. It’s one of the four types of cloud services, along with software as a service (SaaS), platform as a service (PaaS), and serverless.

IaaS quickly scales up and down with demand, letting you pay only for what you use. It helps you avoid the expense and complexity of buying and managing your own physical servers and other datacenter infrastructure. Each resource is offered as a separate service component, and you only need to rent a particular one for as long as you need it. A cloud computing service provider, such as Azure, manages the infrastructure, while you purchase, install, configure, and manage your own software—operating systems, middleware, and applications." https://azure.microsoft.com/en-us/overview/what-is-iaas/

Org or Organization = An individual instance of a Dynamics 365 for CE database


So much new! Doing a Sandbox Reset

There is so much new; although, there is huge value in deeply understanding all that is old. Something I really, really appreciate about the Microsoft Platform. 

Anyway, I decided with so much new that it was time to do a really clean rebuild of my CRMLady instance. I have long used this ORG for various experiments, testing, and knowledge reinforcement. I also use it to totally understand how Microsoft communicates to their CRM Online customers. I am a customer.

The ORG has been a bit beat up over the years and it was showing it's wear and tear. Data was not much of a challenge in this ORG so I decided to do a full replace and start fresh. I wanted to do this without having to create a support ticket so I did a bit of reach out and research.

Low and behold the team over at Power Objects actually have a great blog post on the subject, complete with the steps on how to reset an ORG. I love the CRM Community, so much knowledge share and empowerment!!

So the first step was I needed to switch my Production ORG to a Sandbox ORG.

I did this through the new Microsoft Online 365 Azure Administration Center (https://portal.microsoftonline.com) which now allows you to pick from a selection of administrator centers. I went to the Dynamics 365 Administrator Center, Picked Instances, picked my instance and set it to a Sandbox. Once this was done I had the ability to choose the RESET button.

 Isn't it great when you want to get something done and you can just do it without a lot of hassle? 


XRMTOOLBOX - A Microsoft Dynamics 365 resource must have!

I have recently been checking out some of the other tools in the XRMTOOLBOX. 

If you have not discovered these tools and you are a Microsoft Dynamics Consultant or Developer, you definitely want to check them out. They make many of the manually intensive configuration steps much more efficient. Take for instance the need to create a set of views. You can use the XRMTOOLBOX tools to create one view and then replicate it to the others within an entity.

The XRMToolbox also includes a very long list of cool. 

Here is a short list of some favorites:

  • Bulk Workflow Execution
  • Document Template Export
  • FetchXML Record Counter
  • Manage N:N Relationships
  • View Layout Replicator
  • Bulk Default Setting of Personal Options/User Settings
  • Duplicate Rules Mover

  


Successful Delivery

In the world of soccer you will find that although everyone on the team has scored goals over the course of their career, there are very few who are consistent finishers. A finisher has a special talent for always being able to move the soccer ball over the goal line. They have a skill for being in the right place at the right time. They have the mindset and the art form. In high school, my step daughter, Janna, was an incredible finisher. 

She was always in the right place, at the right time and when the time came she put the ball over the goal line. Unfortunately,  we don't often recognize the diversity and strengths in our teams. Janna for instance was constantly judged for not being a gazelle and because of this her interest and her motivation shifted from soccer to hockey. I always considered this a great loss for the school and for her long term ability to feel good about her gift. 

The same concept applies to CRM/AnyRM projects. It is actually very hard to successfully deliver across the goal line. As projects move to Agile Scrum methodology there is a delicate balance between moving as fast as the team needs to move, while also capturing all that was built (so future teams can understand the critical details) and delivering to production successfully every 2 to 4 weeks.

The business SME's need to be engaged and trained on process while the overall user audience needs to be well positioned for what's coming. They also need have proper expectations when it comes to what level of maturity and when their requests for changes are going to be incorporated. There are also very small balls that are juggled within the immediate project team. These include dealing with unforeseen problems, refactoring needs and managing expectations and there is a very real need to understand the time that something might take. On a Dynamics 365 for CE engagement the skills needed to successfully deliver are more than being able to write code or configure the system. 

An Agile project shifts responsibility to each developer to be more rounded. If this is not possible, then perhaps a different methodology is needed, but the team needs to understand what is being asked, they need to know what approach will be used and they need to be able to present what was built in a user friendly and articulate manner. They also must be honest, transparent and not distracted by the shear nature of human against human. 

I have been on many project teams and the ones where all of the above came together is a gift! 

 


Understanding the Maturity of a Feature

As Microsoft releases more and more features, modules and wonderful goodness into the Microsoft Dynamics 365 platform it is good to build out your understanding of the maturity of each feature. The maturity defines the number of layers of updates or changes that any given feature might have experienced as well as it's depth of functionality. You can also relate this to the version of a feature; although, the version is not always the deciding factor. It is possible to have a very mature version 1.0 feature. 

Why is this important? It helps to set the expectations of where the strengths and weaknesses are as you adopt the platform and extend the features. It also helps you understand and manage your expectations around what the speed of change will be with regards to a specific set of features. 

Extract from the people on your team who have worked with the platform for many, many years - You need to knowledge share around the age and growth of key features. It is also important to have these conversations so you can stretch all resources into considering alternative approaches including the experienced team members. Change is not only constant in this wild world of the Microsoft Stack, but it is also speeding up.

So how do we go about understanding maturity? 

As much as I would like to list every known feature in the system (I might save that for a future blog post), I think the key area to start with on each project is with a list of the features that are relevant. When working on a custom service/call center project you might not care as much about the sales automation processes or when working with an xRM or AnyRM project you might not need to be as concerned with cases and knowledge management.

So once you have a high level understanding of the areas of the platform that you want to leverage, make a quick chart of maturity.  There are a few items that you want to capture as follows:

1) When was the feature released? What version (your choices include version 1.2  all the way up to version 9.1.x.xxxx)

2) Understand how the feature or area of the platform fits within the Microsoft Roadmap. Is this a feature that is waning into deprecation or is it positioned for rapid growth? 

3) Acknowledge what the team knows about the strengths and weaknesses of the feature. A good brain sharing exercise. 

4) Understand the feature dependencies. Take for instance, Cases - Cases have a wide set of dependent entities and functionality that goes fairly deep from SLAs to Contracts to Knowledge Base(s) and Closures. 

5) Acknowledge what can and can't be configured. 

6) Understand which ISVs (third party vendors) have bundled offerings that extend the features so you know your choices. Take for instance Accounts - There are numerous offerings that validate addresses and that help with extracting data on accounts from the internet. There are also numerous social engagement offerings including Microsoft's own Microsoft Social Engagement (MSE) Offering.

7) Always keep an open mind for the way that you would solve a problem on your last project is not always the same way to solve the exact same problem on your current project. 

and lastly do a little deep diving into who on the product team or what group among the product team owns the feature set. This research is a key exercise for anyone attending one of the many conferences. Understanding or even meeting the product team who updates and extends features can help you better understand the vision and growth. 

 


SLAs. SLAs, SLAs - The simplicity and complexity of Service Level Agreements in #DYN365

Using SLA's with Cases

There are a number of features built into Microsoft Dynamics that support the configuration of an SLA associated with the Case Entity. When working with any of the features in Dynamics it is always a good idea to understand what the programming team has already created AND what the strengths, maturity and weaknesses of these features are. When it comes to SLA's and CASES there are layers on each.

Take for instance CASES. Cases are not just one simple entity, cases include both the case entity and the Case Resolution Entity. When a case is resolved, key information is captured in the case resolution entity. Each are interdependent. Additionally each offer SOME customization and SOME you can't change that. It is that "you can't change that" which generally trips people up.

SLA's also have layered complexity. An SLA has both FIRST RESPONSE and COMPLETION functionality. You will want to consider what rules you would like to use to indicate a first response and what rules you would like to consider for the completion. Technically these get applied as two separate line items within one SLA and when the system runs these line items they are two separate, but dependent system generated workflows.

I have tried configuring without using a first response and the system just doesn't like this configuration. At this time I always recommend a first response even if the first response doesn't mean much to the end user.

So to use SLA's with Cases

1) Setup your service Calendar

2) Setup your Holiday Calendar

3) Create your SLA and associate the calendars, Add your SLA Line items with both a First Response line item and a Final SLA Line Item.

Pretty Straight forward? Well not exactly for there are some tricks. The first trick is all about those working hours. The working hours in  the calendar can significantly impact the end date for your SLA. PowerObjects has a nice screen shot, by screen shot blog post on setting up the service calendar.  

Key items to consider.

  • Are your users working in different time zones?
  • Have your users configured their Personal Options?
  • Will there be different working times on different days?
  • Do you want to stick with the 24 hour clock? *most likely
  • What time zones are using the results of the SLAs?
  • Do you want your due date to be updated by the SLA?

The next item to consider is your holidays. You need to decide which holidays need to be applied to the Calendar used by the SLA and these need to be entered into the Holiday Calendar. If you have holidays from different countries a reconciliation will need to be decided upon or different SLAs for different countries.

One last trick on calendars: Both the Service Calendar and the Holiday Calendar do not deploy as part of your solutions so update your pre-deployment checklist to include creating these calendars before you deploy to any downstream environment.

3) SLA Line Items - SLA's do not like to stop on activity status = inactive and as such it is always better to find a different way to end your SLAs. On case they might be slightly happier, but on a number of different projects .. ending an SLA line item on activity status = inactive has tripped us up. Each SLA line item that is triggered against a case is reflected as a workflow on the case. The clauses that you defined based on trigger for success, warning and failure are converted in Wait and If conditions.

When it comes to out of the box configuration there are also decisions that need to be made around pausing an SLA. For instance if a CASE is put on HOLD, you can set system settings to pause the SLA. Take a look at Allan Mira's write up on how to pause an SLA on a case (again great screen shots and recreating screen shots seems a bit redundant) 

For more on using SLA's on CASE, here is a STEP by STEP by Vishal Grade.

Using SLA's with a Custom Entity

The Components that make up an SLA include

  •  Customer Service Calendar – defines the business hours to be used in the SLA calculation. A business can have multiple calendars to support different SLAs i.e. 24x7, 9-5 business days, Customer specific calendars
  • Entitlements – defines the agreed number of Cases or Time that has been contracted with the customer for support. Entitlements can only be associated to one SLA. An SLA can be associated to many Entitlements.
  • Service Configuration – define which statuses place an SLA on hold (shortcut to System Settings). Note that the pause and resume statuses apply to all SLAs and thus are not SLA specific.
  • Holiday Schedule – defines the dates that are considered holidays in a particular region. If you work in multiple regions then you may have multiple holiday schedules. Holiday schedules can be applied to the Customer Service Calendar to be observed.
  • Service Agreements – define the rules that apply to the agreement, when a SLA is triggered, when and what should occur if the SLA is successful, non-compliant or nearing non compliancy. (thanks to MVP Stephan for summarizing these in his insiders guide to SLAs post which is another great read)

BUT when configuring SLA's to work on CUSTOM Entities there are a number of other steps that also need to be configured.

1) The Custom Entity must be enabled for SLAs  (there is a checkbox on the Entity to enable SLAs) "A few words of caution! SLA needs a committed relationship. Once you have selected that checkbox and saved, (by the power vested in you by Dynamics CRM and the position of a configurator) SLA cannot be disabled for the entity."

2) The Custom Entity must have a relationships established with the SLA Entities (such as the SLAKPIInstance Entity)

3) You must use Enhanced SLA's with Custom Entities that need SLAs

 To configure the relationships for your Custom Entity with SLAs you can follow the Microsoft Customer Engagement Team's step by step. I have summarized it below, but there is more on the full post such as setting up timers and some key things to remember so I recommend you jump on other to the post.

  1. Enable the custom entity
  2. In the same Customization window, expand the SLA KPI Instance entity.
  3. Click 1: N Relationships.
  4. Click the New 1-to-Many Relationship button.
  5. Select custom <entity> in Related Entity dropdown. Here is a catch! As soon as you select custom entity in the Related Entity dropdown, the Name field gets auto populated to “new_ slakpiinstance_custom entity”. You can use it as it is, but you will face issues if you want to export the SLAs created in this org to an org that also has SLAs enabled for customentity. This is because while importing the SLAs, the system will attempt to create this relationship in the target org. Since there will be a relationship already existing in the target org, the import will fail. So it is strongly recommended to add a different name or change the name to a GUID (with underscores).
  6. Fill the Display Name to your taste
  7. Save and close

 

I have found that I still wish there was more documentation available on Microsoft Dynamics 365 SLAs. They are almost entire module unto themselves.

Happy SLA'ing!

 


Oh Internet Explore

If you have started having difficulty with Microsoft Dynamics CRM or Microsoft Dynamics 365 for Customer Engagement and you are using Internet Explore v11 then you want to make sure you have the latest KBs. The March 20th updates broke a few things, the March 27th updates fixed these.

For Windows 8.1 and 7 SP1 Users

KB4016446 - https://support.microsoft.com/en-us/help/4016446

KB4016446 Download Link - http://www.catalog.update.microsoft.com/search.aspx?q=KB4016446

For Windows 10 users search the catalog for

Windows 10

http://www.catalog.update.microsoft.com/search.aspx?q=KB4016635 

If you have other Internet Explorer Issues then you might want to walk through this set of Articles.

Compatibility Settings https://support.microsoft.com/en-us/help/3124955/compatibility-with-microsoft-dynamics-crm-2016

Internet Explorer: Web application requirements for Microsoft Dynamics 365 https://technet.microsoft.com/en-us/library/hh699710.aspx

Internet Explorer: FAQ for IT Pros https://technet.microsoft.com/itpro/internet-explorer/ie11-faq/faq-for-it-pros-ie11

Microsoft Edge Deployment Guide for IT Pros https://technet.microsoft.com/itpro/microsoft-edge/index

Compatibility Changes in IE 11 https://msdn.microsoft.com/library/bg182625(v=vs.85).aspx

 

 


Knowledge Management : KB Articles in Microsoft CRM

A few resources to ramp up on all that is new in Knowledge Management in Microsoft CRM 8.1.0.00xx (2016 Spring Release)

Dynamics CRM Knowledge Management by the Microsoft EMEA Support Team

New Knowledge Management Features Introduced by the Microsoft Product Team

New Customer Service Features in CRM 2016 discussed by MSDynamicsWorld

Tip of the Day Video (series): CRM Knowledge Articles

One Minute Overview Video on Knowledge Articles

Streamline Knowledge Management in Microsoft CRM Video

You will also want to ramp up on the new Interactive Service Hub (ISH) which offers even more access to the wealth of data in Microsoft CRM.

Tip of the Day : Interactive Service Hub

Overview of the Interactive Service Hub

Working with Cases in the Interactive Service Hub

 

 


Microsoft CRM Online : Moving Data, Migrating Data, Getting All Setup

It is true that you can import data into Microsoft Dynamics CRM Online.

It is true that you can setup complex integration with Microsoft Dynamics CRM Online.

It is true that you are not the first person to do this nor the first company or complex Enterprise or complex small business environment.

When you need to get started it is; however, helpful to have a service that supports getting you started. Needless to say Microsoft now offers the DATA LOADER SERVICE for CRM Online.

There are two great blog posts on this service written by the team!

Data Loader for Microsoft Dynamics CRM Post 1 of 2

Data Loader for Microsoft Dynamics CRM Post 2 of 2

 


Gold Nuggets for Microsoft Dynamics CRM Online Users

Microsoft offers so many choices that sometimes finding out about new choices is noise, noise, noise, but then there are the noises that are worth listening too. Take for instance that for CRM Online users there is a solution that is free and is tucked into your administration options and that makes users go "wow".

Start by going to your CRMOL Administration Portal (http://portal.office.com) and selecting Service Settings, Dynamics CRM

Service Settings Dynamics CRM

You then want to select Dynamics CRM Administration which will  list your instances and solutions

CRMOL Instances ManagementNOW choose the PENCIL: The tiny pencil on the right hand side of the screen under solutions. This represents EDIT and will allow you to step into a very interesting world.

Solutions

 

The world of CRM Online Offered Solutions

Solutions for CRMOL

 

and I started this post with InsideView's Microsoft Dynamics CRM Insights on my mind. It offers some very interesting Account and Contact updates for users who want "web" data options for updating of account and contact details. READ the readme to fully enable for there is some need to update your forms to take advantage for the solution feature offerings. It also requires that you have configured your system administration account correctly.

In addition to the free offering the company also has more extensions and some international features. Take a peek at their website. and reach out to their team for more support and more awesome.

 


Powershell and Microsoft Dynamics CRM (#msdyncrm)

So you think you are the ultimate master of Microsoft Dynamics CRM! This is totally awesome, because now you can empower your entire team with new PowerShell Awesomeness for Microsoft Dynamics CRM Organization Data!

AND don't forget to send some feedback and love to the developer!

Read More and Download Here

 


Visual Studio 2013 Tools and Dynamics CRM 2015

If you have not noticed there is an incredible Microsoft Dynamics CRM Software Developers Kit (SDK), but in previous versions of the SDK there were also a set of visual studio tools.

Working in Technology? As We Know Change is A Constant

So lets look at some changes

Visual Studio Tools for Microsoft Dynamics CRM are now available as part of Visual Studio. Check out these to get started

https://visualstudiogallery.msdn.microsoft.com/0f9ab063-acec-4c55-bd6c-5eb7c6cffec4

https://visualstudiogallery.msdn.microsoft.com/3570204a-352f-4b1d-808f-0d65182dfad0

and there are a ton more available and always more coming -> use SEARCH

You can also use the Microsoft Dynamics CRM 2013 SDK Visual Studio Tools with Microsoft Dynamics CRM 2015. You update your references to point to the new SDKdlls and update the framework version to 4.5.2.

There are a number of different blog posts buzzing on this, Such as these:

https://ramontebar.wordpress.com/2015/03/24/dynamics-crm-2015-sdk-developer-toolkit/

http://www.waynewalton.com/dynamics-crm-2015-sdk-notes-developers/

https://crmbusiness.wordpress.com/2015/06/03/where-is-the-developer-toolkit-for-crm-2015/

You also need to consider CRM Online and the reality that the current version of CRM Online is v7.1.x and the version of CRM On-Premise is v7.0.1 (although only a few months behind). One of the huge benefits of working with a CRM Online model is the drip feed to stay current. Huge Upgrades are a thing of the past when it comes to Software as a Service (SaaS). This also changes the development and extension model.

 


Managed vs. Unmanaged Solutions (MS Dynamics CRM v7.x.x)

Let us take a look at Managed and Unmanaged Solutions.

Unmanaged and managed solutions

There are two types of Microsoft Dynamics CRM solutions: managed and unmanaged. Managed solutions  require a clear depth of understanding of managed solutions. They are used by the Independent Software Vendors (ISV's) who sell a set of IP that is not expected to be changed or modified by the customer purchasing these solutions. They are positioned to be updated or upgraded only by the ISV that sells them.

This is an important point for customers (who purchase these solutions and then extend CRM) and for partners (who create solutions for customers that are designed to be given to the customer to maintain).

UNMANAGED solutions are the more historical, potentially more flexible and what I like to call more organic. Organically I can generally fix most issues found in unmanaged solutions whereas managed solutions I must go back to the ISV.

It is also worth mentioning the "System" Solution.

The system solution represents the solution components defined within Microsoft Dynamics CRM. Without any managed solutions or customizations, the system solution defines the default application behavior. Many of the components in the system solution are customizable and can be used in managed solutions or unmanaged customizations.

If you add customizations without using a unmanaged or managed solution you are modifying the system solution. If you create an unmanaged solution (so you can easily move your changes to other environments) you are merging your changes in with the system solution. Every component of an unmanaged solution is prefixed with the prefix you define in the publisher. Every component that you add to the system solution (without leveraging managed and unmanaged solutions) is prefixed with new_

The team doesn't let you add, without some indication that it was added. (smart team)

So some easy and hard questions to consider as we thinking about Managed and Unmanaged Solutions

1) How do you create a managed or unmanaged solution?

2) What is a CRM publisher?

3) What benefit does the publisher give the customizer?

4) What happens when you import an unmanaged solution?

5) Can you export a managed solution?

6) Who is the primary audience for managed solutions?

7) What are the disadvantages for the customer of using managed solutions?

 

 


Don't Forget about the SPN? What? Dynamics CRM On-Premise Installation

Dipping my toe into the world of Microsoft Dynamics CRM 2015 OnPremise installation and a couple of key tips to remember (posting them here so I can find them).

Thanks to the Microsoft Consulting Services CRM Consultants: Thymio and Salvador who shared their knowledge and continue to make incredible wonderful happen for clients working with Microsoft and clients working with Microsoft Partners and Microsoft Consulting Services. 

1) When you create your service accounts - create them in the SAME Organizational unit (OU)! If you create them some where else and copy them you are not going to be a happy camper and you will spend hours trying to figure out why you are getting issues.

2) Don't forget about the SPN's. To read more about the Service Principal Names and what SPN's mean, take a look at this great TechNet Article.

3) Do you host your own web page? Most likely not and Microsoft Dynamics CRM is a very powerful web application with numerous options and offerings. So before you decide you are going to do your own Microsoft Dynamics CRM On-Premise Install - Do some reading and get the help and buy in of the right people from your team. The guru network guys who are swamped (get on their calendar)

A few resources and there are more:

If this is not something you want to tackle there are many options.

1) CRM Online

2) CRM Hosted by a third party partner

3) A certified in Microsoft Dynamics CRM Infrastructure partner or MCS team who can work with your IT Department to get CRM Installed and running smoothly.

4) Leverage the incredible of your professional Field Engineering contract. The CRM PFE Team is so impressive! They really offer a huge amount of experience and lessons learned particularly when it comes to smooth operations, performance and getting this running right.

 


Microsoft PFE Team (Premeire Field Engineering) releases awesome ticklers as well

AND the PFE Team (Premeire Field Engineering)  releases awesome ticklers as well. Take a peek at this little tidbit enhancement to Quick Find !

and you can follow the CRM PFE Team Blog !


Are you ready for some Dynamics CRM v2013 Videos from YouTube?


Are you ready for some CRM v2013 reading?

 Microsoft Dynamics CRM v2013 Implementations Guide

Microsoft Dynamics CRM v2013 Software Developer Kit (SDK)

Microsoft Dynamics CRM v2013 Performance Counters

Microsoft Dynamics CRM v2013 Connectivity and Port Requirements

Microsoft Dynamics CRM v2013 Server

Scalable Security Modeling for Microsoft Dynamics CRM v2013

Using multi-tenancy in Microsoft Dynamics CRM 2013 to address challenges in enterprise business environments

 


Rollup 15 MS Dynamics CRM v2011

Microsoft has posted CRM v2011 Update Rollup 15.

Do you have a lot of other OutLook Integrations? CRM Outlook Client causing you grief on just one machine? 

This  rollup includes “process isolation” to split the Outlook Client out from the core Outlook process, an upgrade to SQL CE 4.0, and reductions in isolated performance issues with a large address books (among other things, it’s all in the KB)

 


Dynamics CRM v2011 Rollup 14 Released

General best practice for OnPremise users is to stay within two roll-ups. Just consider the large team of developers writing code, fixing any issues (reported by the millions of users) and continuing to make Dynamics CRM the absolute best CRM product on the market.

Microsoft Dynamics CRM v2011 Roll-up 14 has just been officially released. Learn more here.


A Wealth of Resources in the world of #msdyncrm

A little Monday morning wake up and refresh!

Have you found the Microsoft Dynamics CRM IT Pro Center on Technet?

There are a number of nice little goodies in this including the CRM Online Enterprise Planning Guide. CRMOnline is not just for SMB!


What the heck is ... CRM:53143123 in my e-mail subject line?

The famous Ben Hosk wrote up a great little post about the e-mail tracking token. I like to call it half of the locket or an automation puzzle piece. It clicks a responding e-mail into the e-mail that is being responded to. Offering incredibly reliable threading. On the other hand it is TOTALLY Optional and Dynamics CRM is sophisticated enough to have even more embedded algoritums of success.

If you would like to know more about the e-mail tracking token, take a peek at Ben's writeup which you can find here.


Reporting, Reporting and more reporting #msdyncrm

Time to think differently about this concept of reporting. In some systems your only choice to get the data out of the system is with a report, BUT it is not like that with Dynamics CRM.

In fact it has not been like that for quite sometime, but I find that we often forget to mention some of the "cool" that exists when everyone is buzzing about the latest or next greatest feature.

So thinking about slicing, dicing, analysing,  and looking at the data that is in Dynamics CRM you have a number of choices that do not contain the word "report"

1. Review Data in a Dynamic Excel Spreadsheet or Pivot Table or Chart

    The security on the user opening this in Excel drives the data that is displayed.

2. Review data in a Static Excel Spreadsheet or Pivot Table or Chart

    The data stays static, no matter the user.

3. Use Excel 2013 PowerPivot or PowerView on Dynamics CRM Data

4. Leverage Microsoft SQL Server Reporting Services

5. Leverage FetchXML to pull data into your choice of BI Tools.

6. Check out Microsoft's Business Intelligence Development Studio (BIDS)

7. Use Dynamics CRM Advanced Find to pull data from a relationship tree of entities

8. Leverage the built in Dynamics CRM Report Writer

9. Use Microsoft Word Mail Merge to pull Dynamics CRM data into a favorite Microsoft Word Template

10. Tab into the extensive power of the entire Microsoft Office Stack and the integration between the different applications within this stack from CRM -> Excel -> Word  -> Visio -> OneNote and more.

11. Leverage the power of Entity specific Charts and charts on related entities

12. Leverage the built in Dashboards and the dashboard building wizards for individuals or for the entire company

13.  Use the built in Report Wizard

14. And if the above isn't enough to think about you also have a huge MarketPlace of Reporting and Business Intelligence available addin options.

 


Dynamics CRM Testing: UI Tools

Are you diving into the world of automation testing for extended Microsoft Dynamics CRM projects?

 

Take a look at Visual Studio 2012!

 

There is a whole set of UI Automation testing just waiting to be found!

To get you started you can read about testing for continuous development.

You can also read about What's new in Test Manager 2012.

and then there is the Visual Studio Magazine article on Automating UI Testing and

the list goes on ...

 

 

 


Keep Learning

I am amazed at how I continue to learn more  and more about Dynamics CRM despite focusing on the platform for over eight years. The product team continues to release small and large updates and are amazing in how fast they manage to keep up with the pace of technology change.

Additionally the current product (even before any updates) has a ton of depth and a number of under utilized functionality. When was the last time you decided to add something new to your business processes? What about learning one small area of the software in full?

Consider Goals, or Connections - take a peek at subjects or perhaps you want to become a FetchXML guru

Did you know you can tie web sense into charts?

There is so much that can be done.

Given this I offer this link and suggestions: Go review the Microsoft Dynamics CRM v2011 IMPLEMENTATION GUIDE. You might not have looked at it for a few years, a few months or even ever and it is packed with great information. So take an hour for study, each day this week - shoot make it a team effort and start up a Dynamics CRM brown bag lunch or book group. You will be pleasantly surprised.

 


Dynamics CRM Integration Continued

Yesterday's post generated some nice feedback. As it turns out there is a nice list of Microsoft Dynamics CRM integration options on the Microsoft TechNet Wiki (A great totally under appreciated resource)

You can read more on Integrating to Microsoft Dynamics CRM here


Dynamics CRM Utilities, utilities, utilities

For anyone ramping up on Dynamics CRM development make note

There are a TON of utilities to make your life easier available in codeplex, Microsoft Downloads, and in the SDK. Some of these utilities are version specific and some are good for all verisons

Go check them out and to get you started here are just a few to wet the appetite

CRMDiag

– Diagnostics Tool for Microsoft Dynamics CRM 2011 or v4 which helps CRM developers and administrators to enable trace and devErrors on a CRM server.  It also generates an HTML report file with information about the CRM deployment.
 
–A small to tool which Generates CRM 4.0 Picklist Customization XML. This tool allows you to cut and paste a comma separated list of values and descriptions into a text box and then generate a set of XML picklist options which can be pasted into your Customization.xml file.
CRM Documentation - from Microsoft Dynamics CRM Documentation team’s famous Jim Daly
–Automatically generates technical documentation from a CRM Database Metadata
A large set of tools that includes a Sitemap editor, a tool for Dynamics CRM icon resizing (for custom entities), The ability to generate test data quickly and more
–Takes two customization.xml files and compares and reports on the differences
–For those projects where numerous similar views are requested within any entity. This tool offers replication of the Layers, columns and width increasing consistency.
–The tool allows you to display the list of all attributes and select if you want them to be searchable or not. In only one action, you can set all attributes searchable property for one entity. 
–With this tool, you can:
•Indicate which entity you want to inspect
•Enter the identifier of the object in question
•Searching for a user with its name or its unique identifier
•Click the “Retrieve rights” button and the program will tell you what rights the user with respect to the record
Support for all out of the box privileges - By default the export utility will export ALL privileges, including custom privileges.

Performance and Microsoft Dynamics CRM

Microsoft Dynamics CRM is built using a number of different techniques and tools from Microsoft. Given these various techniques performance is optimized, but that does not mean that each individual partner, customer and developer doesn't need to pay attention.

Performance of a multi-user, highly dynamic, many moving parts system is worth adding to your project plan. To make fine tuning performance even easier the Microsoft CRM Engineering for Enterprise team has continued to keep their "Optimizing and Maintaining the Performance of Microsoft Dynamics CRM Clients" and their testing documentation such as the "Microsoft Dynamics CRM 2011 Performance and Scalability with Intel" white paper current.

There are even more resources when it comes to performance and Dynamics CRM so if this is a hot point for you, take a look!


Fun with Dates

In this incredible world of both technology offering calculated date and people capturing data from all over the world the two concepts can sometimes collide!

Take for instance the world of dates.

Microsoft Dynamics CRM offers UTC adjustments, personal settings and Date and Time fields. What this means is that depending on how you have your computer configured and your Dynamics CRM Personal Options the dates that you enter are adjusted.

Microsoft Outlook does this as well. If  I was to setup a meeting with an associate in California for instance on my calendar for today the meeting would display as Eastern Time (2pm for instance), but for my associate (CRM Guru Marc Wolenik)  the date and time would display as (11am) and if we then added in another person such as a cool CRM Guru in Australia (Leon Tribe) the time would not only be different, the DAY would be different.   

So what happens when you start capturing these types of dates inside of Dynamics CRM for analysis or reporting?

If all the dates are entered by "humans" correctly configured for their local time zones then the software correctly handles all the adjustments. The only trick with regards to this set of considerations is that DATE Only fields are well not really date only so watch that!

If all the dates however are entered by other "Systems" then a bit more thought needs to go into the architecture. Take for instance a system that resides on a server in a data center that is capturing date information based on that servers date. If you then take that date and enter it via an integration, how would you expect Dynamics CRM to react?

How would that date be managed?

Do you want it to be fixed? or adjusted?

If you want it to be adjusted, how are you going to tell the system to adjust it?

What if you want it to be a date field BUT you want to lock it to a certain time zone?

These are the joys of the world of global!  


IE 8 and CRM - Something you might not know

PowerObjects had a great little blog post on Internet Explore 8 when it came out highlighting a few of the cool NEW features that are worth learning about if you are using Dynamics CRM.

Now that IE 8 is part of your everyday routine (and you are thinking about IE 9) take a look at this post on some of the features that might have slipped your notice in what you ALREADY have.

Oh and in terms of security (for those of you running other web browers)

"Testing conducted by the independent NSS Labs found that IE8 provided signifigantly better malware blocking capabilities than Mozilla Firefox, Opera, Google Chrome and Apple Safari."


Mobility v4 and v2011

The CRM development team at Microsoft slid in the Microsoft Dynamics CRM Mobility option called Mobile Express a while ago - (I could even say years ago -Check out Settings, Mobile Express) and as far as I can see they have been updating it little by little as the rollups and new versions come out.

What does this mean? It means that Mobile Express is an option worth checking out, BUT that it does not necessarily meet ALL your extensive mobility needs depending on what you need in a Mobile client and what and how many platforms you need it to run on as well as how many extra mobile specific features you want.

The mobile ISVs including TenDigits and CWR Mobility are totally focused on working with mobile teams to empower them and encourage them to get more from their Dynamics CRM Investment.  They also have additional features that are integrated so if you need those additional features get the teams at CWR and TenDigits to give you a demo, BUT if you just want to access Dynamics CRM from your cell phone once in a while then take a peek at Mobile Express.

Of note Mobile Express is a Free feature in Dynamics CRM and yes, there are a number of people who don't realize this. Pay to get it configured and to learn the best way to use it from your partner, but don't worry about  extra licensing fees. 

Articles on Mobility and Dynamics CRM are as follows:

Dynamo with Dynamics CRM on Mobility, Mobile Express and CRM v4

Customer Effective on Mobile Express (Oct, 2010)

The more Powerful Mobile Express in CRM 2011


CRM v4 as a Baby - Quick Reference

Back in the day, and well ok I admit it this is still on my bulletin board in the office, Tim Dutcher put together a Microsoft Dynamics CRM v4.0 Quick Reference Sheet. This was a GREAT resource for all things new and new back in October 2008 was Dynamics CRM v4.0!

Now before you roll your eyes you might want to take a peek. A similar reference page can be put together for all things Dynamics CRM 2011. It just needs to be done and to get started here is the model!

http://mscrmrocks.blogspot.com/2008/10/dynamics-crm-40-quick-reference.html 

OR

if you have yet to move to Dynamics CRM 2011 and you have people ramping up on Dynamics CRM v4.0 they might like it

OR

if you want to follow my style and always know what features came out with which version so you can know the version number of the features (see this lets you know if the feature is robust or maybe just a bit wet behind the years)

CRMQuickReference 

 


CRM Industry News and Cloud Debates

Lauren Carlson, a CRM Market analyst over at The Software Advice blog, recently shared a number of new videos that some of you might be interested in.

The first I watched is an up close and personal interview with Brad Wilson answering the question

"What percentage of [CRM] customers choose the Cloud?"

To watch the full video click here !

A few interesting points from the video and from my thoughts for debate.

1) The cloud offers smaller customers the option of an instantly available application without any of the server installation or support requirements.

2) The cloud offers larger customers the option of an instantly available application without being queued up in the often over loaded information services department list of tasks.

3) If you pick the cloud and want to switch to OnPremise, the Microsoft Dynamics CRM code base is the same for both environments, making a switch in the future an option.

4) .NET extensions and plugin options are not (easily) available in the cloud. If you want to extend Dynamics CRM beyond the power of Customization and simple workflows, you potentially need OnPremise.

5) Smaller customers often need as much power (or more) as larger customers when it comes to traditional CRM. Relationship building and management of prospects and support handling and management of customers. Why? Because they have fewer people with more titles and responsibilities. CRM can greatly supplement human resource time constraints.

6) Microsoft Dynamics CRM Online does offer a bit more out of the box marketing functionality (web lead capture, different analytics), but the OnPremise ISVs in this arena really kick some tail. If you need advanced marketing features, such as click through analytics, then there are additional variables to consider.

7) Data matters, Security matters:  but who has better security? A professional hosting company whose reputation and business is on the line every day when it comes to their business model or your computer room or data center where the network administrator (s) live? The debate and history shows an even 50/50.  There are weaknesses in both arenas

To summarize the perfect CRM environment is different for each customer as each comes with positives and negatives, so I have to give Microsoft kudos for choice.

Despite the overhead of keeping two offerings current and defined (and yes there are significant overhead costs), Microsoft made the right choice in giving customers options.

These include Microsoft's Dynamics CRM Online, partner hosted Dynamics CRM and the OnPremise "customer hosted" Dynamics CRM.

Not only did they give customers the option of choice, they also give customers the option of changing their mind.     


Bit by the Dynamics CRM 2011 Marketing Bug? Read this First

Microsoft Dynamics CRM 2011 has been released now both as an Online offering and as an OnPremise offering.

The buzz from the field is that the product is packed with 500+ new features and a ton of new options with regards to customization and after working with the product I have to agree. The team is offering some incredible power and flexibility while still maintaining all that is great in v4.0.

Power however comes with a price. As partners and customers across the world learned in Dynamics CRM v3.0 and v4.0 if you don't take the time to understand then it is easy to dig your own hole of frustration.

So how can this be avoided by those just getting interested? Particularly given that 2011 offers even more!!

Here are five key steps to getting off on the right foot!

1) Take baby steps and small bites, grow with the product 

2) At a minimum READ the installation guide twice (OnPremise)

3) Remember, just because it is easy to configure and customize doesn't mean you know the best way to configure and customize. Tap into experience.

4) Good "CRM" partners have already invested in the basics and offer those as part of every project (why pay to rebuild these, just for the learning exercise? There are better ways)

5) Senior .NET developers who don't know XRM/CRM still have a lot to learn when it comes to thinking XRM. Junior XRM/CRM developers still have a lot to learn when it comes to thinking .NET

           and as a little bit of extra - Item 6

6) Many of the features within Dynamics CRM are version 4.0! but some are v1.0 - set proper expectations when utilizing a specific feature set.


Microsoft Dynamics CRM and Excel 2007

Caution: You might want to think twice about this one, but it does take care of a user annoyance when exporting from Microsoft Dynamics CRM into Microsoft Excel 2007..

Thanks to Joel over at Customer Effective for summarizing!!

Click To Read - Getting Rid of the CRM Export to Excel WARNING message


A Little Bit More on ASYNC

Thanks to Matt Wittemann over at ICU MSCRM  

=================

Posted by Matt Wittemann

There have been several KB articles and updates published to help control the size of the AsyncOperationBase table, which can cause your CRM database to grow very large, very quickly. (See here and here.) But just what are all those records anyway?

I pulled the following lists together from the SDK and technet in order to put this info in one place, where it’s a little more user-friendly (at least for me!).

First, the list of AsyncOperationTypes:

READ MORE at

http://icu-mscrm.blogspot.com/2009/12/asyncoperationbase-table-what-are-all.html

Value

Field

Description

1 Event Specifies a system event.
2 BulkEmail Specifies a bulk e-mail operation.
3 Parse Specifies an import file parse operation.
4 Transform Specifies an operation to transform parse data.
5 Import Specifies an import operation.
6 ActivityPropagation Specifies a campaign activity propagation operation.
7 PublishDuplicateRule Specifies an operation to publish a duplicate detection rule.
8 BulkDetectDuplicates Specifies a bulk duplicate detection operation.
9 CollectSqmData Specifies an operation to collect SQM data.
10 Workflow Specifies a workflow operation.
11 QuickCampaign Specifies a quick campaign operation.
12 PersistMatchCode Specifies an operation to update the matchcode.
13 BulkDelete Specifies a bulk delete operation.
14 DeletionService Specifies a Deletion Service operation.
15 IndexManagement Specifies an index management operation.
16 CollectOrgStats Specifies an operation to collect an organization's statistics.
17 ImportingFile Specifies an import subprocess operation.
18 CalculateOrgStorageSize Specifies an operation to calculate an organization's storage size.
19 CollectOrgDBStats Specifies an operation to collect an organization's database statistics.
20 CollectOrgSizeStats Specifies an operation to collection an organization's size statistics.
21 DatabaseTuning Specifies an operation for database tuning.
22 CalculateOrgMaxStorageSize Specifies an operation to calculate an organization's maximum storage size.
23 BulkDeleteChild Specifies a bulk delete subprocess operation.
24 UpdateStatisticIntervals Specifies an operation to update statistic intervals.
25 FullTextCatalogIndex Specifies an operation to generate an organization full text catalog index.
26 DatabaseLogBackup  
27 UpdateContractStates Specifies an operation to update contract states.
28 ShrinkDatabase  
29 ShrinkLogFile  
30 ReindexAll Specifies an index management operation.
31 StorageLimitNotification  
32 CleanupInactiveWorkflowAssemblies  
38 ImportSampleData  

Next, here’s a list of the different state/statuscodes that each of these operation types can be in:

State Status Numeric status value
Ready WaitingForResources 0
Suspended Waiting 10
Locked InProgress 20
Locked Pausing 21
Locked Canceling 22
Completed Succeeded 30
Completed Failed 31
Completed Canceled 32

Hope this is useful to you! Have fun with it.

http://icu-mscrm.blogspot.com/2009/12/asyncoperationbase-table-what-are-all.html


SureStep Methodology

Over the years I have been keeping my eye on the Microsoft SureStep Project Methodology. It was originally very ERP centric and as many of the CRM Consultants in the field know - CRM and ERP are very different projects! The audience, the style of design and the rollout are a different mindset.

Consider for instance that an ERP project is focused on a small group of people in the financial department with some interaction from management. CRM on the other hand spreads far and wide and can impact ever department and every person within a firm.

Needless to say despite keeping on eye on SureStep I have yet to embrace it.

With my latest deep dive into the application I can say that it has matured to a point where it is definitely worth checking out. There are still documents that need updating (references to Payroll and AP), but there are also a number of documents that can make your CRM projects much more professional, more organized and more successful.

So if you have not taken a look at SureStep and you are "reinventing the wheel" with regards to project templates or you think it is time to update what you are using then I would suggest that you log into Microsoft PartnerSource and download SureStep.

 


IE Tabbed Browsing, Defaults from Shortcuts and CRM considerations

To set Internet Explorer  to open a NEW instance of IE in a NEW window do this:

  1. Open the Control Panel or from the Tools menu inside IE access the Internet Options
  2. Click on the Advanced tab.
  3. Look for the following question "Reuse Windows for Launching Shortcuts (when tabbed browsing is off)" under Browsing
  4. Uncheck the box

Note: You have to turn off tabs feature for this to matter (of note this also applies to those using older versions of IE that do not have tabbed browsing functionality)


Tabbed Browsing



CRM Multitenancy

There is a lot to learn about Microsoft Dynamics CRM; although many have been tripped up by the ease in which you can configure and customize the system and the general marketing buzz. Don't let this fool you into thinking you are not still working with a powerful machine!

Dan Blake offers a primer on Microsoft Dynamics CRM Infrastructure multi-tenancy options. His post on this is now a year and a half old, but it still packs a mean punch with some great tidbits so if Multi-Tenancy is within your radar take a look.


So Many Variables: Windows Server 2008, 64 Bit

One of the benefits of blogging is having a place to capture items that might be worth remembering when problems occur.

Recently Microsoft released a technical article on running Microsoft Dynamics CRM v4.0 in a Windows 2008 64 Bit Server environment.

Some of the Key Items include an

"Error message when you try to open the Microsoft Dynamics CRM 4.0 Web application"

but the article also includes work arounds to many of the issues discovered in the field.


The CRM Configuration Manager

A big shoutout thanks to Daniel Halan for creating this little toolkit (CRM Configuration Manager) and for sharing it!!! and thanks to Joel Lindstrom over at Customer Effective for point it out as something useful to have.


System Jobs: Follow-up

As a follow-up to my system jobs post earlier this week I was pleased to find and to have shared with me two other related posts.

Customer Effectives post titled "Bulk Deleting Waiting Workflow Instances from Microsoft Dynamics CRM"

and

Phil Adam's Blog post titled Performance is slow if the AsyncOperationBase table becomes too large in Microsoft Dynamics CRM 4.0

Both add additional insight on the subject matter that is well worth the read.


Databases

Back in the pre-Microsoft SQL days I spent a good amount of time thinking about databases. There were databases that needed constant tweaking and maintanence and there were databases that were like chunks of granite that rarely had trouble, but when they did have trouble they could be a monster to fix.

I am curious as to if anyone out in the community has run across any favorite Microsoft SQL Server database tools and Dynamics CRM database maintanence best practices.


The World of Dynamics CRM Help

Microsoft has a world of "XRM" within Dynamics CRM and as more and more of the framework matures we will see growth.

On my latest deep dive I have been looking at modifying Dynamics CRM Help and the general structure around how changes to Dynamics CRM help are supported in a multi-tenant world. In summary they are not (yet). The help files are stored with the application files.

But luckily there is some great reading material to get started with changes you might want to make to help in a single tenant world and customizing help is supported. You can read the complete Microsoft Dynamics CRM Configuration Guide on Technet and when talking HELP you can focus on this section.


Data Migration

Microsoft Dynamics CRM has the builtin tool to import data; however this is not always the right choice when consider your first initial data migration.

Data Migration is packed with risk, unknowns, data cleansing opportunities, layers and eye opening potential. Needless to say there are numerous tools on the market that make data migration that much less painful. Additionally Microsoft also offers a Data Migration toolkit to support the developer and database crowd in their efforts to create a custom experience.

How have your experiences with data migration been? Feel free to comment and share - Perhaps you will help someone else just getting started.


Are you a Service Provider considering hosting Dynamics CRM?

Download the Microsoft Dynamics CRM 4.0: Planning and Deployment Guidance for Service Providers

"Microsoft Dynamics CRM 4.0: Planning and Deployment Guidance for Service Providers contains the following documentations and tool:
1. Deployment Walkthrough Guide for Service Providers
2. Planning Guide for Service Providers
3. Development Guide for Service Providers
4. Microsoft Software License Terms
5. Deployment Configuration Tool"