Next weekend there is a community developer event in Denver. It is a half day event so it won’t take up your whole weekend. There are two tracks with a good mix of topics. It is a free event, but you need to register to make sure we don’t run out of space - https://denverdevday.eventday.com/
I’m a little belated in getting the news out, but I was on the road most of August. Early in August we launched a new book CRM 2013 Quick Start targeted at all of you moving from CRM 2011 or older to the current version of Microsoft Dynamics CRM.
I was joined by several other CRM MVPs to help get this out the door so you have insights included from Joel Lindstrom, David Berry, Richard Knudson, Dylan Haskins, Jukka Niiranen and Julie Yack.
You can order a PDF EBook or Print from our site at http://www.crm2013quickstart.com and use discount code DavidYackCRMQuickStartEBook at checkout for 20% off. Or you can use this link which already has the discount code pre-loaded – Discount Link
For those of you that are Amazon fans and can’t live without your Kindle, we also released a Kindle version of the book!
We would love to hear what you would like in the future for books, video training or otherwise – feel free to reach out with your ideas http://blog.davidyack.com/contact-me/
Chapter 1 - Hello I’m CRM 2013
Microsoft Dynamics CRM 2013 is a major release building on the strong foundation of CRM 2011. From the user experience to platform capabilities CRM 2013 has changes that are targeted for everyone as users, customizers, IT Pros, and developers. In this chapter we give you a 50,000 foot tour of what’s new.
Chapter 2 – The User Experience
Before you can build solutions in CRM 2013 you should learn how the new user experience works. In this chapter we will dive into the new experience and break down all the key changes so you are ready to start thinking about customizing it.
Chapter 3 – Customizing CRM Forms
The 2013 user experience requires rethinking how we customize forms. From the new layout options, new controls and even new form types we have a lot to talk about. We also can’t forget you might have CRM 2011 forms and want to know how to move them forward into this release.
Chapter 4 – Security Model Changes
Today’s global business challenges the traditional organization structure as people form dynamic teams to work on individual opportunities or other data in CRM. CRM 2013 addresses that with Access Teams which challenge past thinking of how to handle these types of needs. In this chapter we will explore the new feature and discuss how and when to use the different CRM security concepts.
Chapter 5 – Building Business Processes
To consistently bake good cookies people often times use their favorite recipe. The Business Process feature of CRM 2013 brings that to CRM allowing you to bake in a business process into the life cycle of a CRM record. In fact you can even blur the lines of multiple CRM entities and have a business process cross the entity boundaries reflecting more real-world business processes. In this chapter we look at the features and how to leverage them to improve user productivity and consistency.
Chapter 6 – No Code Business Rules
Portable Business Rules, or PBL for short, offer a declarative way to define business rules. This new feature represents the start of a journey to a common need of having simple rules like “This field is required”. In this chapter we will explore the capability of PBL and when to use it versus other concepts in CRM that can enforce business rules.
Chapter 7 – Real Time Workflows
Workflows offer an easy way to compose flexible business processes that can optionally include custom code created by a developer. Prior to CRM 2013 these had to run asynchronously in the background and never could happen in real time. This caused a lot of plug-ins to be built to handle the requirement. New in CRM 2013 is real time workflows that can allow processing of events real time. In this chapter we discuss when and how to use the new feature.
Chapter 8 – Upgrading to CRM 2013
Next, Next, Next…Done… If it was only that easy it would be an automated upgrade. In this chapter we explore what you should consider before you upgrade and how to prepare.
Chapter 9 – Solutions going forward
As the pace of CRM releases increases, understanding how to package and deploy solutions becomes increasingly important. In this chapter we will discuss changes to the Solution Framework and how to prepare for the bold new world of frequent CRM releases.
Chapter 10 – Taking CRM on the Road
There is no question Microsoft was behind in mobile applications for CRM but came back strong with the introduction of the new tablet application for IPad and Windows. Learn how this fits in with the customizations you are doing to CRM and limitations you should be aware of in this first generation release. This chapter will also cover Outlook enhancements and Server Sync that in many scenarios will free the deployment from having an E-mail router.
Chapter 11 – Developers, Developers, and Developers
This release doesn’t have huge new API changes but it does have a lot of small useful changes across the different parts of the developer features. In this chapter we will explore from oAuth authentication support to Custom Actions and all the little changes between them.
It started simple, with the idea of moving a site from Azure Cloud Services to Azure Websites since Azure Websites had all the things the site needed. Well, almost… The site used Azure Access Control Services to do authentication of users and one of the blockers we hit early in the conversation process was how WIF handled the default cookie protection using DPAPI. DPAPI isn’t available for Azure Websites so it throws some nice errors.
Vittorio has a great blog (as usual) here that talks about how you can swap out the security token handlers to ones that will work with Azure Websites. The only catch is they are only supported in .NET 4.5 and there isn’t an equivalent for .NET 4.0/WIF 1.0 without building it.
So that seemed like an easy choice as we wanted to move it to the current .NET release anyway so we made the move to .NET 4.5. The next catch is a lot of the WIF namespaces change to System.Identity* and so does all the configuration details. Some of the classes are no longer used or renamed. A good place to start in your journey is here http://msdn.microsoft.com/en-us/library/jj157089.aspx that describes the changes required for WIF 4.5.
Most of the code changes go pretty quick. Where it got tricky was the configuration file changes. I wasn’t able to find a great example showing the detail steps of migrating the configuration. Visual Studio 2013 has some great tooling for identity, but it doesn’t support ACS since ACS is being rolled into Azure AD in the future. In the mean time that leaves VS 2013 without tooling supporting ACS. VS 2012 has tooling via the Identity and Access Tool. Since we were already in VS2013 and still wanted to use the tool we created a empty ASP.NET application in VS2012 and ran the tool to setup the configuration file. The we copied that configuration back to the existing project. One thing to be aware of make sure the project you use with the tool in VS 2012 is .NET 4.5 and not .NET 4.51 or the tool won’t show on the context menu for the project.
Hopefully this might help someone else moving to the latest with WIF and ACS.
These days it seems like there are new top level domains for just about *.anything. So far adding them to Azure has been painless and no different than any other traditional domain. Office 365 still has some validation though in the portal that will tell you it’s an invalid domain. To save you a call to support – all you have to do is register the domain using PowerShell instead of via the portal.
Here’s the full details http://community.office365.com/en-us/wikis/domains/1577.aspx but basically you download the admin PowerShell scripts and then do the following two commands
new-msoldomain -name Your.DomainNameHere
I travel a fair amount and one of the things that surprised me was that Visual Studio 2013 using the default install options didn’t set the static license from MSDN it used a phone home to check for a valid license. After a couple times of almost getting locked out during trips, I found out that I could apply my MSDN key to solve the problem.
Fixing it takes about 30 seconds. First visit MSDN and get your key – you should be able to find that on your list of Product Keys.
Then in Visual Studio 2013 – visit Help –> Register Product
This is also where you can check to see if you are using a product key or the “Phone home” check. If it looks like the following you are not using a static key. Click on the Change my product license key to set the new key.
Once changed it should look like the following and say Product key applied. This is also how you will know if you have already done it!
We just got done publishing an application to the Windows store using Azure Mobile Services (more on the app later) and had to change Windows Store accounts mid stream. Don’t take this as an official how-to but just in case you end up in this situation just know it is possible and not that much of a pain.
We started building the application under Account A, but for business reasons decided to publish it under Account B. We had already setup to the application in the store, configured Azure Mobile Services including authentication within the application. There might be a step by step somewhere but I sure didn’t find it, and I was a little worried just winging it so close to releasing the application. Here’s roughly what we did to switch it over
- Setup the new Windows Store Account B, and went through verification
- Created the same application with slightly different name under Account B, it won’t let you use the same name because Account A is still using it, and I was afraid to delete from A prior to setting up Account B, it turned out we liked the name with “s” added better anyway
- In Visual Studio on the project right-click Store –> Associate and sign in to the new Account B, and choose the new application we just provisioned. This part went much smoother than I thought, after a few seconds and files updated it finished.
- Removed the application from the system (just to be on the safe side so nothing was confused)
- Ran the application – it fails trying to authenticate because the package ID doesn’t match for the authentication
- In Live developer center you must change the URL for the application – as it won’t let you use the URL on the new application.
- In Live Developer center update the application to have your Azure Mobile Services URL
- From Live Developer take the Client ID and Client Secret and update the Azure Mobile Services Authentication tab info with that info
- Run the application – all is good
I’m working on a Windows 8 application that also has a companion Azure Web site. These happen to be in the same Team Foundation Service project. So when I enabled the continuous builds and deploys it also tried to build the Windows 8 application and was failing because of other dependencies. To keep things simple I really just wanted the auto build to build the Azure website and not the rest of the items in the solution.
When you setup the deploy on the Azure site and connect it to your TFS project it doesn’t tell you a lot about the magic that happens to cause the build to run. Behind the scenes it creates a build definition for you. If you edit the build definition from Team Explorer in Visual Studio you can specify which configuration the build should run on the solution when the build executes. So if you want to limit what gets built, simply copy the Release configuration, uncheck Build/Deploy for the items that you don’t want built. Then modify the TFS Build definition to specify that specific project configuration to build.
So in Configuration Manager for the Solution I added an AzureDeploy with only one web site project enabled
Then on Team Explorer, Builds, I edited the build template – selected the Process section and choose the AzureDeploy project configuration