This series is focused on helping .Net developers get up and running to be able to build CRM customisations quickly!
There are many developers who have been working with .Net for the last few years, that are now finding that their companies are either implementing CRM, or deciding to embrace the xRM phenomena and build applications on the xRM platform. This content is designed to help get you up and running as quickly as possible, using the tools that already exist to enhance your development turn around times.
In this series, we will start by building a single development environment to walk through the training. Although I will briefly mention the available enterprise tools, this series is not sufficient to cover the recommended development, test and production server requirements for a larger environment. If you need to assess your team development environment options, David Yack's book, CRM as a Rapid Development Platform has an amazing chapter that takes you through several options and gives you some great suggestions based on his extensive experience. I strongly suggest you follow his recommendations for using Visual Studio Team System as a way to protect your customisations through Source Control from development to release. His chapter on Developer and Team Workspace is available as a book excerpt here: http://rc.crm.dynamics.com/rc/regcont/en_us/op/articles/ch3_xrm_dev_sbsbook.aspx
MSDN also has a great article that discusses options for setting up your development environment. http://msdn.microsoft.com/en-us/library/ee294457.aspx in addition to the description of the development environment, it suggests a few other source control options such as Microsoft Visual SourceSafe, CVS, ClearCase, Vault, or alternatively a free, open-source tool call Subversion (SVN).
I have also decided NOT to use the readily available CRM Demo VPC for 2 reasons:
To build my development platform I followed Matt Witteman's great blog Post: Building a Self Contained Virtual CRM Development Server: http://blogs.msdn.com/crm/archive/2009/05/04/building-a-self-contained-virtual-crm-development-server.aspx.
If you have trouble getting your internet access set up on your VPC, check out this great blog post by Menno te Koppele: http://www.tekoppele.com/Blog/post/2009/06/10/4-Ways-of-Connecting-a-VPC-to-the-Internet.aspx
Note that I have installed Roll Up 7 instead of Rollup 3 as mentioned by Matt and also added Adobe PDF reader.
More Development Tools:
There are a few nice little additional development Utilities/tools that will assist with the development process and you should consider installing.
If you aren't using these tools already, even for your .Net development, make sure you take a look at them as they are sure to help improve your development quality and experience.
I have installed the freely available Fiddler and the IE Dev Toolbar on our Development VPC. Instead of FxCop, I have installed StyleCop as it is required to support the Developer Toolkit.
Next up, I have installed the highly undervalued and under utilised CRM developer toolkit which can be downloaded from here. I think the CRM Solution Framework is particularly amazing and will greatly increase your ramp up time to develop solutions for CRM. This is especially the case if you are working in a team environment. However, as I don’t have Team Foundation Server installed on this VPC and wont be deploying to multiple servers, I have decided to only install the CRM explorer components as per the following steps (copied from the installer instructions provided on the site above):
Installing the CRM Explorer
To install the CRM Explorer, perform the following steps:
Once the Explorer has been installed, within Visual Studio, navigate to the Tools, Connect to CRM Server option, enter your server details and credentials.
Go to View -> Other Windows -> CRM Explorer to show the CRM Explorer Window.
The downfall of not installing the additional solution framework is that we wont have access to some of the nifty project structure, built in deployment tools or ability to quickly create plugin classes. That said, the ease of navigating, viewing & editing the CRM entities with Visual Studio means that there is still more than enough handy features in the Explorer to justify installing it.
Before you start!
Before we start to build anything - always check to see what tools and functionality are already available on the http://crmaccelerators.codeplex.com site. The Product teams have built some great nuggets of functionality that may be very close to what you need to build. For example there are ones for Event Management, Sharepoint integration, Portal Integration, social Networking plus more! Each of the accelerators is provided free & open source, so take a look at the Codeplex site before you start building anything.
Coming Next: Build a Hello World!