Training Kit for CRM 4.0 Now on MSDN

You can now download an updated version of the CRM 4.0 training kit from MSDN (here).   This is an updated version of the training materials that I did a bunch of training events with during the beta of CRM 4.0.  Girish has a blog post with more details on the kit here.

Posted on Monday, July 7, 2008 at 12:11AM by Registered CommenterDavid Yack | CommentsPost a Comment | EmailEmail

CRM ISVs Featured at WPC

Tomorrow is the first day of the Microsoft Partner conference in Houston - it runs from the 7th through the 9th.   I know a popular question I've been asked in the last month was "Are you going?".  Not this year, just did too much travel in June and still getting caught up!  I am planning on catching a few of the sessions via the webcasts and I would love to hear from others that are there what was cool!

Last week I had the privilege of previewing a couple of the sessions that will be given and I wanted to highlight them in case you are heading to WPC.

I blogged in more details about this on my main blog including the session details - you can read that here.

Posted on Sunday, July 6, 2008 at 01:20PM by Registered CommenterDavid Yack | CommentsPost a Comment | EmailEmail

Easy API Export of All Customizations

Did you know that you can easily export all the customizations using the API with just a few lines of code?  This is similar to using the export all from the client interface only you can do this form your install, provisioning application or on a regular schedule.  For example, we have a windows service that can point to any number of CRM organizations and just pull down a copy on a regular schedule.

This is great for  having a regular backup of a development or other high change system.  Sure you can backup the database, but sometimes you just want to have a copy of the customizations.

Here's a code example for calling the ExportCompressedAllXmlRequest

image

 

Using this method you get back a compressed versions of the customizations - you can also retrieve them in string format using the other export all method.
Posted on Friday, June 27, 2008 at 10:13PM by Registered CommenterDavid Yack | CommentsPost a Comment | EmailEmail

Plug-in Registration Tool Updated

There's a new version(2.1) of the plug-in registration tool up on code gallery - you can find it here http://code.msdn.com/crmplugin

This version has a few new features such as supporting https.  If you haven't looked at the tool in a while, you should download and give it a try as it has changed a lot from some of the early beta versions!

Posted on Friday, June 27, 2008 at 10:07PM by Registered CommenterDavid Yack | CommentsPost a Comment | EmailEmail

New CRM SDK 4.05 - Check out the readme!

In case you missed it on the CRM team blog (post here) there's a new SDK that just got published at the end of the month.  (I've been out of the country so just now catching up on what I've been missing! )  There's a number of new things in the SDK including they now added a bunch of VB.NET samples  - I'd love to know how important that is to you,  drop me an e-mail  and let me know!

One of the things that I recommend looking at is the readme that comes in the root folder of the SDK - Scroll past the Contents of the SDK and you will find the "Known Issues" section.  Keeping this list in the back of your head can save you a few hours of research when you hit one of the problems.  The following are a few that I have hit and I would recommend keeping fresh in your mind!

- 64-bit version of IDCRL assembly is missing - this effects if you are trying to connect to CRM Online from a 64 bit server - workaround now that I have used is just forcing it to run 32 bit - that seems to work fine.

- New Role created from web client does not contain many necessary privileges -  This one will get you scratching your head for a while - the easiest thing to do for now is copy an existing role and then dumb it down as needed.  The readme also suggests another work around of calling the AddPrilvledgeRole to add the missing ones. I'd personally recommend just copying an existing role for now.

- Web Exception (Http 401 ) thrown in plug-in - Oh this is a fun one - if you have a space in your org name you can hit this one - SDK has two work around's -  change the org name to not have spaces or don't use the CreateCrmService - I typically prefer the change the org name approach but I keep hoping a hotfix will get created for this one.

There are a number of other ones on the list so you should take a look each time the SDK is published it will definitely save you a few hours in return!

Posted on Tuesday, June 10, 2008 at 05:57AM by Registered CommenterDavid Yack | CommentsPost a Comment | EmailEmail

Query Builder Error after Import

I had fun today tracking down a error that I created by importing an entity that had a lookup field on a form that was from another entity that the target system didn't have.  The result was after publish of the imported entity I could no longer bring up the entity form without getting a simple page that said "Query Builder error".

Using a platform trace I was able to figure out the name of the field having the problem.  Since it was from a lookup the field missing was something like ctc_myfieldID  which was the Id for the lookup field to be stored in.  On a suggestion from Mark Harrington from the CRM team, I added a dummy attribute with the same name.  Once that was done, I was able to publish the form without the lookup and then I was able to finally remove my dummy attribute.

The other obvious way you can fix this problem is to import the missing entity - but in some cases like this one I didn't want the missing entity in the target system.

And for those of you that happened to notice that my blog posts slowed down in May - that didn't mean I wasn't busy working but I've been working on trying to wrap up a project that I started about a year ago and it involves close to 600 pages.  Stay tuned to this space for an announcement with tons of more details on my mystery project!

Posted on Tuesday, June 10, 2008 at 04:29AM by Registered CommenterDavid Yack | Comments1 Comment | EmailEmail

Replacing Built-in Entities / Offline Client

Last week I ran into a bug with the offline client when you rename and replace one of the built-in entities with your own custom one. 

To keep this simple, imagine if you wanted to replace the built-in Order entity with your own custom Order entity (new_order).  If you try to create a custom entity and give it a display name of an existing entity you will get an error and it won't let you save it.  Why you ask, isn't the custom entity prefixed with your own schema name so this wont happen?  Yes, but CRM also wants to make sure the Display Names are unique. 

So to get this to work, you must first rename the existing Order entity - let's call it "Built-In Order" and then you MUST publish that entity.  If you don't publish, it still will give you an error creating the new entity.

Once the old entity is renamed and published, you can now create your new Order entity which will really have a schema name of new_order or whatever your prefix is.  Publish it and all will work well from the web client.

Where the fun starts is if you have any offline users that had synchronized and gone offline with the original built-in Order entity before we renamed it.  If you do they will fail with an error "An Entity with the specified name already exists"  when they try to go offline after you publish your new entity.

The reason for this is simple, there's a bug in update of the metadata on the client - I have opened a support ticket to request a fix.  The complex thing is how to get out of this situation.  As best I can tell there's no 100% supported way to do it, the problem is the local database table  LocalizedLabel has rows with the old name.  Once those rows are updated, the client will update the metadata ok, and allow the client offline - Remember this is a local database issue so each offline client that had the issue would need to be fixed.

To avoid this till fixed about all you can do is if you need to rename a built-in entity like this, make sure to rename it and try to force all offline users to go offline once before you create the new entity.

Posted on Thursday, May 1, 2008 at 11:04PM by Registered CommenterDavid Yack | CommentsPost a Comment | EmailEmail

Virtualization of CRM 4.0 Supported

Microsoft recently published a KB article that explains that CRM 4.0 will be supported to run under Virtual Server.  Read the details here.

The key points of the KB are as follows:

  • CRM 4.0 will be supported to run on Virtual Server 2005
  • Future versions will continue supporting virtualization so it's not a dead end...

The KB has a number of good links to virtualization resources and some good Performance and scalability considerations section.

The one thing that probably isn't highlighted enough is around SQL Server.  If you virtualize your CRM Server I would highly consider keeping your SQL server still on a physical server.  SQL on a VM is good for test and development but current VM technology doesn't  do well with real I/O intense applications like SQL Server.

Posted on Monday, April 21, 2008 at 08:10PM by Registered CommenterDavid Yack | CommentsPost a Comment | EmailEmail
displaying entries 1-8 of 122    previous page | next page