While we're posting the Channel9 videos, I thought it'd be good to get back to basics and show how we built some of the components in the demo. With CRM's entity/relationship system under the hood, it is very easy to create "xRM" applications that looks completely different. For example in the screenshot below, to the left is the out-of-box UI and on the right is how you can modify it with simple customizations.
We did a few things to the navigation here
Let us look at how a developer can go about to do these changes. There are couple of ways you can do that.
All of CRM's main navigation is stored in this single file. The way you edit is you goto Settings -> Customization -> Export Customizations and export "Site Map". The sitemap will download as a compressed file and you can modify the .xml within to change the navigation as you like. The tool I commonly use is either Visual Studio 2008 or one of the advanced notepad editors like Notepad++. Details on the SiteMap schema can be found here within the SDK. Most importantly, if you screw up the navigation, check out this section on how to recover from errors. You have got to bookmark this. Trust me, I've panicked number of times without realizing I could recover.
All of CRM's main navigation is stored in this single file. The way you edit is you goto Settings -> Customization -> Export Customizations and export "Site Map". The sitemap will download as a compressed file and you can modify the .xml within to change the navigation as you like. The tool I commonly use is either Visual Studio 2008 or one of the advanced notepad editors like Notepad++.
Details on the SiteMap schema can be found here within the SDK. Most importantly, if you screw up the navigation, check out this section on how to recover from errors. You have got to bookmark this. Trust me, I've panicked number of times without realizing I could recover.
However editing Plain Old XML (POX) is not a favorite thing to do. In the next part, let me show you a tool that simplifies this into a much easier process.
Windows Presentation Foundation (not Framework!) allows you to create rich interactive user experiences. If you've watched the channel9 video on using WPF with CRM, below code sample and screencast will help you to hit the ground running on WPF development for CRM.
Download the code
Creating a CRM WPF Offline Application
Download the video
If you have tried editing CRM Navigation as described in part1, you'll be more than relieved to know that there is a tool that'll act as a GUI editor for the navigation.
It is called Demo Tools and it is available for download here:
Microsoft Dynamics CRM Demonstration Tools (for Microsoft Dynamics CRM 4.0)
As the name states, it is a great set of tools for CRM mainly targeted for delivering a demo. But hey, nothing stops us from using it is for development! I'll have to plug-in the standard disclaimer that it is not supported through Microsoft Technical Support.
The tool has a bunch of features besides Sitemap editing like string replacement, dependant picklists, etc.
The major takeaway here is that it makes editing Sitemap a breeze. You can open existing Sitemap XML files and visually edit them. Once you've made the changes, you can save it back to the XML file.
The tool also takes it one step further so that you can directly open the Sitemap from CRM, make all your changes and publish back to CRM without downloading any intermediate (.xml,...) files. See those buttons "Open from CRM" and "Publish to CRM" in the above screenshot, that's what they do.
It's Office time folks. If you you've watched the channel9 video on CRM-OBA, here is some sample code and screencast that'll get you going.
Creating an OBA - Word Add-in for CRM
WPF code and screencast are coming right out. Keep coding folks!
Continuing the back to basics series, I thought I'd write a simple SharePoint webpart that pulls data from the CRM 4.0 VPC. If you've watched the Dynamics Duo talk on SharePoint, this should help you get to the next step and dig into some code.
After a little bit of challenge, I was able to get the sample code published in Code Gallery for download.
Download the Code
I also captured the process of creating a CRM-SharePoint custom webpart as a screencast and you can view it below.
Creating a custom SharePoint webpart for CRM
Download the Video
The example shows how you can build it from the group up. You can obviously use SharePoint project template and deployment packages to automate some of the steps.
In part 1 and part 2 of the navigation series, we saw how to customize CRM's navigation. Custom navigation along with custom entities, allows you to start creating Line of Business (LOB) applications in a variety of vertical industries. In the final part of the navigation series, we'll see how we can take the end result of simple customizations and deploy it on the server.
I've posted the sample customization files (entities and sitemap) for a simple professional services scenario as referred in the channel9 video here. You can download these file below
Download Entity customizations
Download Sitemap customizations
Please note that this is a sample only and NOT a real application for professional services.
To assist you in the process to getting started, below is a screencast that shows how you can import the entity and sitemap customizations into your CRM system.
Ben has posted the first video in a series of videos we shot at Platform Adoption Center (PAC) reg. the demo we built at DPE. You can check out the video here
You can watch the video on the built-in Silverlight player, but at a low resolution, it smudges some of the screens that we try to show. So I recommend viewing this in WMV (high) quality. You can do this by clicking on "Downloads" area underneath the post and opening it as pointed in the screenshot below.
Ben is sort of a Ninja style interviewer. As Erik of CWR mobility says, he'll ask the questions you never thought he'd ask and when you least expect it :-) It still was a lot of fun doing those videos.
And of course, more cool stuff and visualizations are on their way. So stay tuned.
I just got an autographed copy of the xRM Developer book that David Yack has published. I must say that this is a great resource for Developers and David has packed every ounce of his CRM knowledge into this book.
After you get the book, don't just read the book. If you glance through the pages you'll realize that this is a Developer book with plenty of code snippets. So get the jumpstart framework and code samples from the book website, sit in front of Visual Studio and work with the samples.
I'm sure David would have loved to embed video into many places within the book but unfortunately publishing technology hasn't caught up yet! For that lone reason, it is worth checking out the screencast videos that David is creating for out of the book experiences.
MVP tips within the book are equally valuable. Also remember to follow the blogs of the MVPs to get more tips and tricks.
I'm planning to read from cover to cover and I'd suggest the same for any developer aspiring to work on CRM. I only wish I had the time to do that right away :-)
Many thanks to Dave and Julie for bringing this book to the community.
<marketing> If you're still thinking whether to attend PDC this year, remember that Early Bird Discount of $200 is ending in another 10 days. So hurry up and register. </marketing>
BTW, if you are really wondering what PDC is going to be all about and not sure if my marketing bling (yeah right!) is convincing enough, you have got to check out the new show "Countdown to PDC2008".
Mike and Jennifer stick to the clock (analog buzzer!) and get it done in 10 minutes. No exceptions! Actually there are a series of videos on channel9 regarding PDC and you can view them all here http://channel9.msdn.com/tags/PDC08/
Truly any conference that Microsoft conducts is enormous and you'd be amazed at the amount of planning that goes on internally. I mean think about the fact that a geek like Mike Swanson's fulltime job now is to plan events like PDC!
BTW if you work for Microsoft, there is an internal countdown video series as well by Mike and Jennifer. Do check them out. Hold on, there is a lot of non-Microsoft people reading this post. Am I going off limits and crossing the corporate boundary out into the open clouds? Oh well, if my applications can do that, why not me ... Oops, I seem to have slipped a clue by accident.