I had been maintaining a list of Dynamics CRM-related blogs that I tried to read on a regular basis. I thought I’d make that list available to folks in the community as I’m sure others will find that interesting. I haven’t been maintaining this since I moved out of the Dynamics world a few months ago. These are primarily developer-focused. By that I mean they are mostly blogs that discuss developer CRM/xRM topics as opposed to end-user CRM topics.
I’ve divided these into the following categories:
Microsoft Employee Blogs
I’ve put this into an OPML file so that you can import it into pretty much any modern RSS feed reader. You can grab the OPML file here:
I had some fun and met some interesting folks last night at the SDForum Windows SIG meeting. I presented a trimmed down version of the Business Action World Tour content but still had to cut myself off at 9:00pm. Nobody seemed to mind though and I got some great feedback.
I also got a few requests for the slides so I’ve posted them (in various formats) up on my SkyDrive:
I had a blast as folks seemed engaged throughout the event. There were lots of great questions. Thanks to William Leong and David Korn for inviting me to speak.
If you have additional questions from the event please post them below or use the contact form to email me directly.
Ok; so maybe I got a little overexcited in the final installment to this 5-part series. <Jazz Hands!> This time around we spend time talking about how to use Silverlight to build experiences that will compel users to want to come back again and again while differentiating your application from those of your competitors.
In this episode we spend most of our time in the part of the demo related to the conference attendee portal. The portal is meant to be the place where returning attendees go to review information about the conference (maps, weather, schedule, travel ,etc). This would be similar to a SharePoint page but built with a consumer in mind so including animations, drag and drop and generally having more sizzle. <Jazz Hands!>
The information in the modules is coming directly from Dynamics CRM Online via web service calls. That information is data-bound to the Silverlight controls we used to allow users to display and manipulate that information. The ecosystem around Silverlight is exploding and as result there is a wide variety of controls that can be used to accelerate the design and development of solutions. In our case, much of the UI work on the attendee portal is based on a control built by a team led by Martin Grayson. Have a look at the various other controls available in the suite on the Blacklight showcase site. The full source code is available on CodePlex. Nice work on these, Martin! <Jazz Hands!> As we discussed in the last episode the separation of code and UI makes is easy for developers and designers to work together to build something cool really fast.
This episode is part of a 5-part series. In this series we’ve tried to explain how you can combine the Microsoft Web Platform with Dynamics CRM to quickly build and deploy self-service solutions. The full set of videos include:
Both Girish and I enjoyed recording this series. We hope you enjoyed them as well. If you have comments or suggestions for other topics, feel free to add comments below or email Girish or me (Ben) directly.
Sorry if I went a little over the top with all that Jazz Hands thing. <Jazz Hands!>
In this episode we talk about a variety of topics including using Silverlight for UI, composing using 3rd party web services and storing complex information in Dynamics CRM.
We spend most of our time on the flight booking page. This page was built using Silverlight to demonstrate some of the simple experiences that can be designed. In this case the UI was built in Expression Blend. Designers and developers work together closely on projects. In fact, developers and designers work on the exact same project files but stay in their own environments; Developers stay in Visual Studio, Designers stay in Expression. We’ll talk a lot more time about Silverlight in the final episode of this series tomorrow.
In our example we use a third party web service run by ezGDS to present the conference attendee with a list of flight options. ezGDS takes care behind the scenes to retrieve that flight fare information from various global distribution systems including Amadeus, Worldspan, Sabre and others. The attendee sees none of that complexity since we’ve built all of that directly into our system. Even though the information coming back can be very complex, including ticket information and various inbound and outbound flight segments, Dynamics CRM easily handles storing this information in a custom entity.
In this episode we dive into some of the real code behind Wide World Importers Conference site. Girish walks us through the code-behind for the contact/profile and conference registration options pages.
There’s not really a lot of magic here. In fact, I would say it’s quite simple to understand. If you’ve used ASP.NET before it’s not much different when you’re writing for Windows Azure as we are here.
The only difference is that here we’re sending the data to Dynamics CRM using the SDK. That’s infinitely more useful for your customers as the information becomes actionable immediately. We should mention that, in this case, we’re using a 3rd party toolkit by Microsoft Gold Partner, ADXSTUDIO. Shan McArthur and his team at ADXSTUDIO helped us to put this site together and their toolkit naturally uses the CRM SDK. It abstracts the SDK it out a little more to make writing and reading the code even simpler.
We use the Live ID token that we’re getting from the Live ID service, as we discussed in the previous episode, to allow the user to retrieve and update their profile information. It’s the unique key, of sorts, to their record in the CRM data store.
Girish promised in this episode to publish the code so expect to see that soon on his blog. We’ll have to hold him to that.
The good folks from the SDForum Windows SIG asked me to present at their meeting next week in Mountain View. If you’re in the area drop by:
Wednesday, June 24, 2009 – 6:30 PM – 9:00 PM
Microsoft Silicon Valley 1065 La Avenida Street Building 1 (SVC-1) Mountain View, CA 94043
Join us at the Windows SIG meeting on Wednesday, June 24, at the Microsoft Silicon Valley campus in Mountain View. Please note the date. This is a one-time change to accommodate a SDForum event on Thursday.
Food and drinks will be served starting at 6:30 PM. The meeting will begin at 7:00 PM. Please RSVP to [email protected] so we can order the appropriate amount.
Dynamics CRM provides the platform for getting your line-of-business applications to market fast. In this session, we’ll discuss how the Dynamics CRM platform (XRM) supports a wide range of business applications with the essentials required for building, delivering and maintaining them in multi-tenant Software+Services environments. We will also cover how solutions built on the XRM platform benefit from other Microsoft technologies to provide compelling experiences (using WPF or Silverlight), build on familiar skills (using Office or SharePoint) and give your customers the power of choice.
In yesterday’s episode we very briefly touched the identity and authentication part of the demo where, on the self-service site, the attendee registers using Windows Live ID. In this episode we go a lot deeper.
Identity and authentication is hard. Simple, scalable and secure login capabilities require a great deal of experience to build and a great deal of effort to maintain and keep running. Windows Live ID provides you a proven solution for building identity-aware applications and is used today by over 460 million users.
In our case, since we’ve integrated Live ID into the system, we let Microsoft manage all the details related to identity and authentication. Live ID assigns each of our users a token that is specific to our site. That means Microsoft lets us know that the person coming to the site is the same person that registered. That token is unique to our site so that from the perspective of the user their privacy is protected (e.g. they cannot be tracked across multiple web sites). In fact, the token is the only thing the site will see. So even though the user may use an email address and password to login to Live ID the site never sees that unless the user explicitly provides that information (as in our example by typing it into a profile page).
The simplicity of this is just amazing. As a developer I just have to register my site with Windows Live ID and then redirect my users to the Live ID login page whenever I need them to be authenticated. Live ID handles the authentication and then redirects back to a page that I’ve registered. You can even brand the Windows Live ID login page that your users will see so that it will appear as if it is your own login page. Nice!
While Windows Live ID does a great job of helping me as a conference organizer to identify and authenticate my conference attendees, we also need to authenticate the Windows Azure site to the Dynamics CRM site so that they can exchange information. We’re obviously not going to have CRM licenses for all our self-service users (the thousands of conference attendees in this case) so we use a certificate on the Windows Azure site to ensure that only that site has access to the CRM data. Once the certificate is on my Azure site, we use a Live ID service account to handle the authentication between the two servers.
Girish and I dropped in to the new Channel 9 Studio (formerly Monaco) to record a few Channel 9 episodes around some demo code we’ve been working on for a few months.
In this series we’ll focus on self-service and specifically on building self-service sites that use Dynamics CRM on the back-end to enable customers, employees, citizens, etc. to get the information or perform the tasks they want without having to interact with a representative.
We’ve talked previously about using Dynamics CRM as a platform to build general purpose line-of-business applications. Typically these are for users that are behind the firewall. When we’re talking about self-service we mean the wide range of users that are out on the internet that need access to that same information in the CRM data store.
In this episode we walk through the demo in some detail. The Wide World Importers Conference site we use here is the main site for a fictitious conference. The self-service part of this is entirely hosted on Windows Azure. As we walk through the registration process the information is retrieved and stored directly in Dynamics CRM Online. Naturally, as we’ve said in the past, Dynamics CRM is great at managing both contact and transactional information. We also look at how, by using 3rd party web services, we can compose new capabilities into our system. In this case we show how to integrate an internet flight booking service into the attendee registration process and then store that complex flight booking information in the Dynamics CRM data store. Finally we show how to use Silverlight to build a compelling user experience for a self-service portal. This one is pretty slick.
Dynamics CRM was customized here for the requirements of a conference organizer. In our case we used Dynamics CRM Online but it could easily have been CRM in an on-premises deployment (or hosted by any of the hundreds of Microsoft hosting partners) as long as CRM is set up in an internet facing deployment mode (IFD).
The self-service site is running on Windows Azure so we walked through the Windows Azure Portal for the site to show how Azure helps us to deploy, configure and manage the site. The interesting part comes when we talk about how to scale up or down a site to handle large or small numbers of end-users (depending on the need of the application). Here Girish and I got into a discussion of running a site like this from the perspective of capital expenditures (capex) versus operating expenditures (opex). There are many scenarios like the conference one where the site will go through peak periods of high demand but then drop back down to very low demand. In those cases buying the equipment to handle the peaks means you have a lot of expensive equipment running idle during the low periods. Azure solves that problem by giving the power you need when you need it for as long as you need it. Unlimited scale for rent, I guess you could say.
We’ll dive into each of the various pieces of the demo over the next few days so come back and have a look. Be sure to leave us your feedback below.
Jon White, a Technology Specialist over on the CRM Online team, has been playing with custom dashboards and recently posted his work to the CRM Online blog. He walks through how he pulls the data using CRM SDK web services and uses LINQ to manipulate the data. Finally he uses the free Microsoft Chart Controls to paint some pretty pictures. Nice post, Jon.
A few readers asked about getting access to the slides from the Business Action World and Virtual Tour events. I’ve also updated the individual blog posts but thought those that have already had a look at the recordings might miss the updates.