Finally there: CRM EAP Beta!

Update: You can download the Beta now yourself, if you are a registered partner.

Good luck!!

I do know that the and the partner portal have not yet changed, but the private betaplace website has. It's only a matter of seconds before you can download the beta yourself. Keep watching and the partner portal!!!

Remember, it's a beta product and is not ment to be used for production used. The license key provided with the beta provides 10,000 Microsoft CRM Professional licenses on a trial basis and will expire after 90 days.

Note! Don't forget to send the bugs you find to the product team. Your feedback on ANY aspect of the Microsoft CRM aV3.0 application is important whether the feedback is "friendly" or not. Honest Feedback above all is critical!

New blog in MSCRM world

Kevin Nazemi, Lead US Product Manager for Microsoft CRM, started a blog regarding MSCRM as well. He'll be able to give inside information, so I do expect lots and lots of good information here:

Kevin, welcome in the MSCRM blog world!

Welcome visitor nr 1000!

A short look on the statistics shows us that some seconds ago somebody from Austria has been the 1000th visitor on the blog. Since I do get a lot of feedback on my posts and the amount of visitors is raising day by day, I'll continue this way of providing interesting MS CRM information to the community.

Stay tuned for more information!

Cme @ VS 2005 Product Launch Event

The 7th of November. This day there is the product launch of VS 2005, MSSQL 2005 and BizTalk 2006. A new era of product development will start this day. The Dutch developers can still sign in for this event.

I'll be around there as well. Drop me a line if you want to drink a beer (heineken ofcourse!) or just for a chat.

See you there!

SDK CRM v3.0 (Preliminary) public!

Via Arne Janning I received this link.
You can download the priliminary SDK for MSCRM v3.0 here. There's a lot of interesting information in here.

One of the most interesting images available is:

(dont pay too much attention to the CRM 2005 sign :) )

The orange area's are locations where you can insert own customizations. Here's a detailed list of features which are in line with the integration points as shown in this image:

Add Entity

You can add new entities to the system:
• Define the schema for the new entity.
• Automatically creates the user interface, for example, forms or views, to show the new entities in the application.
• Define relationships to other system or custom entities.
• Define delete behavior for linked entity instances.
• Custom entities are secure according to the security model.
• Option to take new entities offline.
• You can export and import custom entities to another system.
• Special privileges are needed for entity customization to ensure system integrity.

Entity Rename

You can change the name of system entities to better suit your business:
• Any customizable entity can be renamed.

Activity Customization

Activities can be customized to better suit your business:
• Activities are customized entities. You can change the schema, forms & views as needed.
• Each activity type, such as Task or Fax, can be customized independently of the others.
• Create custom activity views that can aggregate the different activity types. For example, you can create a view that show all open activities assigned to a user regardless of activity type.

Client Side SDK

The client side SDK exposes an expanded forms architecture for application customization:
• Support for read-only fields. Protect fields from user update by setting them to read-only.
• Support for IFrames. Embed other Web pages as links within Microsoft CRM forms. Includes programmatic access to the other data attributes on the parent form.
• Enhanced control over form layout. You can specify the field height on forms and there is greater flexibility in tab and section sizing.
• Improved form editor is larger, resizable, preserves formatting, and uses correct escaping.
• Form debugging: Form editor has previews for onLoad and onChange events, and simulates the onSave event.

Features in the Client Side SDK

Form Events
• OnLoad – Executes custom code when the form has loaded.
• OnSave – Executes custom code when the user saves an entity.
Field Events
• OnChange – Executes custom code when the data in a form field has changed and focus is lost.
Form Object Model
• Attributes – FormType, ObjectId, and ObjectTypeCode.
• Methods – IsOutlookClient, Save, and SaveAndClose.
• Able to address a specific field on the form, set, and read its value.
• Referencing field: crmForm.all.{field schema name}.
• Common field properties and methods - DataValue, Disabled, ForceSubmit, and SetFocus.
IFrame on Forms
• Ability to embed other Web pages as links within Microsoft CRM forms HTML Iframe object.
• Tab and Section configurable.
• Ability to set width and scrolling.
• Cross-frame scripting can be restricted.

UI customization features in Web client

Customize the Web client application by adding custom menus and buttons to the ISV.config file:
• XSD compliant schema.
• Application level toolbar.
• Actions for custom entities.
• Support for JavaScript.
• Support for Marketing Automation and Service Management.
• Top-level navigation bar.

UI customization features in Outlook client

Customize the Outlook client by adding custom menus and buttons to the OutlookClient.xml file:
• XSD compliant schema.
• Application-level toolbar.
• Actions for custom entities.
• Support for JavaScript.
• Support for Marketing Automation and Service Management.
• Top level navigation bar.

Import/Export Features

• Improved UI in the Web application.
Export/Import - ISV Setup
• Import is the supported way to modify forms, views, queries, and mappings for your custom add-in.
• Configured customizations are saved to the XML file by export.
• XML file is transportable between systems.
• Import/Export schema is published in the SDK.
• Support for system and custom entities.
• Support for renamed entities.
• Support for client side SDK features.
• Support for custom relationships.
• Support for saved queries (but not user queries).
• Granularity to choose which entities to import, export, or publish.
• Support for templates.
• Support for the ISV.config file for import and export.
• Support for entity mappings.
• Validation of XML prior to the import.
• Import, export, and APIs are exposed in the SDK.

Workflow features

• Workflow rules can call out to .NET assemblies.
• Includes date support for updates and if conditions.
• Triggering of workflow rules from activity events.
• Enhanced date support on wait conditions.
• Partial slug support.
• Unified slug support, similar to application.
• XML configuration file.

Callout enhancements

• Pre-callouts and post-callouts to .NET assemblies.
• Supports backward compatibility with COM based v1.2 design.
• Supports Create, Update, Delete, SetState, Assign, and Merge.
• Supports synchronous post-call outs.
• XML configuration file.

Now tell me, does this open a world of possibilities for the developer?!!

Wordverification when commenting

Hi All,

Today I've turned on word verfication for posting comments. What this does is to prevent automated systems from adding comments to this blog, since it takes a human being to read the word and pass this step.

Quite often I am encountering comment spam. A lot of this is done automatically by software which can't pass the word verification, so thats why I set this option.

Please do not let this stop you from commenting the posts :)

Override save method

!unsupported alert!

Unsupported, but this works :)

I do sometimes get the question how it is possible to override the save method. You could dig into the javascript files or htc files, but following this solution is a lot better.

You can modify the aspx file, which you want to change the behaviour of the save button. Insert this script into the file and you will get an alert before saving the file:

<script language="javascript">
//make the form aware of our new save method
function window.onload(){
crmForm.onsave = overriddenSave;
crmForm._bUseCustomSaveEvent = true;

//implementation of the new save method
function overriddenSave(){
//do your thing here
alert('Your modifications will be saved now');

//save the form.
crmForm.SubmitCrmForm(1, true, false, false, false);

Hope this helps!