Help to build a new community for Microsoft Dynamics professionals

This proposal was not successful. I’ll keep this post online for historical reasons 😉

Perhaps you know already the great StackExchange trilogy, consisting of stackoverflow.com, serverfault.com and superuser.com. These are community-driven Q&A sites.

The community has the possibility to create new Q&A sites, based on the StackExchange ‚application‘ through proposals on Area 51

What makes these Q&A sites way better than normal discussion boards is the ability to use them like a big wiki.
Useful content is pushed by votes of the community and is bubbling up, crap gets filtered out. Already posted information is editable for improving the overall quality.

The SharePoint community already got it’s site. sharepoint.stackexchange.com is in public beta since a few months and at the moment it looks like it could become a regular site.

You may think: why do we need yet another site, there are the MSDN forums, or x, y and z.
I could not answer this question better than this question explains it already meta.sharepoint.stackexchange.com/q/199.

At least in my opinion, the MSDN forums evolved to an award hunting area. Many ‚experts‘ throw masses of answers on questions, without adding value to it (or even know the answer). Don’t get me wrong: this is not the majority, but it annoys me very much.  There is also no real way to promote valuable contributions, while devaluating the crap.

In addition the Creative Commons license guarantees that questions and answers are free to access, free to use and re-use (with attribution), and free to share… forever. So you will automatically create a knowledge base out of your contributions.

The more I use these sites, the more I miss a site which topic is the Microsoft Dynamics product range.

If you are a Microsoft Dynamics professional, I would kindly ask you to support the current proposal for a Microsoft Dynamics Q&A site

In order to support this proposal, the first step we have to achieve is to get it into the commitment stage. Therefore we need 60 followers and votes for sample questions (you can follow the proposal via the link above). If we reach this milestone, the proposal will proceed to the commitment step.

If you are interested please help to create a new opportunity for your community. You know a colleague, who’s interested? Great, tell him about the proposal. Spread the word!

Using HttpUtility.UrlEncode in a plugin leads to a SecurityException

In a recent project I had to develop a plugin which is executed in the plugin sandbox. The sandbox restricts the rights plugins to a ’safe‘ amount. See http://msdn.microsoft.com/en-us/library/gg334752.aspx for a description. According to the SDK, web request are allowed.

Part of my task was to send a request to a web service which expects data URL-encoded. Normally you would use following class (part of System.Web)

HttpUtility.UrlEncode("some data here");

I was surprised that this leads to a SecurityException if used in a sand-boxed plugin. The sandbox does not allow the use of this class.

Instead of rewriting the method (I hate reinventing the wheel…) I’ve searched for a replacement, and found

Uri.EscapeDataString("some data here");

which is usable in sand-boxed plugins. For my task the result was the same as with UrlEncode, however I am not sure I they are different in their results.

Do I need that SPN?

One important thing that is often forgotten during/after the installation of Dynamics CRM is to properly set the SPNs for your service accounts (if necessary 😉 ).
Here are three links which I often take as reference when we plan new deployments:

Howto: extend the maximum value for duration attributes

If you have ever tried to enter a duration of more than 10 days for a service activity you would have seen that the system won’t accept this value.

The duration of the appointment is invalid

If you need to change the maximum value you are able to do this directly in the database (which is officially supported – quote of a support ticket below).

  • There is no way to modify the limit for service duration via UI. We will read this value from a SQL table and there we can change the default setting.

    Database: [Organization]_MSCRM

    Table: OrganizationBase

    Field: MaxAppointmentDurationDays

    Default value: 10

  • If you overwrite this value with the needed one (for example 20) and after that perform an IISReset, the known error message („The duration of the appointment is invalid“) will no longer occur.

    This change is the recommended solution from Microsoft CRM Support and will be supported.

  • Background: This field does come originally from CRM 3.0, where customer already provided feedback that the maximum duration of 10 days does not meet their need. The solution for CRM 3.0 was a solution implementation via registry key: Navigate to the following registry hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM. Create a registry key of type DWORD and name it „SchedulingEngine.MaxAppointmentDurationDays“. Provide a reasonable digit greater than 10 representing the number of days the service activity would be kept open and insure that the value is set to Decimal and not Hexadecimal. Now you can schedule an appointment with a duration value of more than 10 days.
  • For CRM 4.0 you will need a manual change of the according OrganisationBase entry. Exception: If you upgrade your CRM installation from CRM 3.0 to CRM4.0, the value will be automatically carried over

Another possibility to adjust this setting is to change the organization.maxappointmentdurationdays Property via the sdk.