What's New In CRM5

Moonflower Lane...

Now, before anyone from the CRM product team jumps in and accuses me of revealing Microsoft secrets, this post is just a consolidation of the information that is publicly available on the Web.

For those of us not lucky enough to attend the Microsoft Professional Developers' Conference (PDC) in Los AngelesĀ  a couple of weeks a ago, you can find recordings of all the sessions at https://www.microsoftpdc.com/. As there were a couple of CRM session at the event, I felt duty-bound to watch them, and boy was I glad I did. The session titles themselves sound fairly innocuous, but contained within are full demos of the current CRM5 build, as well as detailed information about upcoming features:

CRM5 is currently on schedule to ship as part of the Office14 Wave (most likely sometime in 2010), and the team is only part way through the development cycle, having just completed Milestone 1 (M1). Even so, there is already much to get excited about. Here is a list of "features" that were discussed:

New Features For End Users

  • Enhanced Navigation - I guess it was inevitable, but CRM5 uses the same "Fluent UI" (aka the Ribbon) as Office 2007. This new "command bar" replaces the CRM 4.0 "tool bars" at the top of each page, and is context sensitive. In addition, the "command bar" is fully customizable and you can add your own buttons much like you can with ISV.Config file today.

    CRM5 Ribbon (Account)

    CRM5 Ribbon (Contact)

    Incidentally, something that isn't discussed but appears on the ribbon is the "Add to Queue" command, from which I can only surmise that you will be add any entity (including custom entities) to a Queue.

  • Single Page Forms - The form model in CRM 4.0 made use of tabs to divide a form into multiple pages. In CRM5 tabs are displayed in the same way as section, with each form just having a single, scrolling page. As you can see from the navigation page of an Account entity, tabs are now displayed as a series of "quick access" navigation shortcuts under the "Information" link.

    CRM5 Tabs

  • Data Filtering - One often requested feature is the ability to filter data in grids, much like Excel. Now you can navigate to the "DataView", click the "Filter" command, and you can perform your own in-line filtering.

    CRM5 Data Filtering

    Again, although not explicitly stated, it looks as though you can quickly save your filters as a View, as well as setting your own Default View.

  • In-line Visualizations - Although not Business Intelligence in the true sense of the phrase, CRM5 allows you to visualize numeric data using in-line charts. This is not SQL Server Reporting Services, but looks very much like the .NET charting solution from Dundas.

    CRM5 In-Line Visualizations

    The charts themselves are drill-through enabled and you can select a number of different chart formats such as Bar, Column, Funnel, Line, Pie & Scatter.

  • Team Ownership - Entities in CRM 4.0 were either User Owned or Organisation Owned. Now Team Owned entities are added in CRM5, and integrated into the role-based security model.

  • Native SharePoint Integration - Integration with Windows SharePoint Services for document management, which includes site and document library provisioning, document metadata, item security, and check-in/check-out capabilities.

  • Unstructured Relationships - The next generation of "set regarding" and "relationship roles" functionality, allowing you to define ad-hoc relationships between any two entities.

New Features For Administrators

  • Flexible Form Layout - We now have much more flexibility in how forms are laid out, for example, we can position sections side-by-side, as well as field labels on top, left or right of each field. Best of all, we can now configure "In-Line Sub-Grids" for child records, so a combination of IFrames & JScript is no longer required to make this work.

    CRM5 Form Layout

  • Filtered Lookups - One of the most requested features has finally made it into the product. Whilst customizing the form, you can choose a pre-defined view or better still you can filter by a related lookup on the same form.

    CRM5 Filtered Lookups

  • Form Headers & Footers - Now that all tabs, sections and fields appear on a single, scrolling form, it is quite possible the form will get become quite long and you will end up scrolling up and down more often to find the information you require. In order to make the most commonly required visible at all times, you can now place these fields in a header or footer so that they will always be displayed regardless of the scrolling.

  • Solution Management - With CRM 4.0, you had to implement a manual process when customizing your solution, to make sure that you didn't overwrite previous customizations, or disrupt any 3rd party ISV solutions. In CRM5 we had now added the concept of solutions.

    CRM5 Customizations - Solutions

    A solution is a defined set of entity customizations, workflows, e-mail templates, security roles, plug-ins etc. that can be managed as a single unit. Each solution is version controlled so presumably your can have multiple versions of the same solution installed, and roll-back to a previous version if necessary.
    You can also define solution dependencies where one solution can only be installed if another solution is also installed. For example, you might have a base solution for your whole organisation, with a departmental specific solution built on top of it.

    CRM5 Solutions - Publishers

    Namespace collision is avoided by defining publishers, with each publisher having a unique namespace. This avoids the common issue where the default namespace "new_" is used for all customizations, leading to potential namespace conflicts.
    One final plus point is that you can now specify which attributes will be exported as part of a solution, rather than having no choice but to export the whole entity.

  • Multiple Option Sets - Otherwise known as "Global Picklists", you can define these at the solution level, and re-use them across multiple entities.

  • Drag & Drop Form Editor - One of the most time consuming customization tasks in CRM 4.0 is the form design. Every time you want to add, remove or re-position tabs, sections and attributes, you have to go through a multi-click process. With CRM5, you can now drag and drop all elements of a form, speeding up the process considerably.

    CRM5 Drag & Drop Form Editor

  • Audit - Although not explicitly mentioned during the sessions, I spotted an "auditing" setting on the attribute designer form, allowing you to turn auditing on or off.

    CRM5 Audit

New Features For Developers

  • Custom Code Sandbox - There is a new server role for running custom plug-in code and custom workflow activities without requiring full trust. This means that it will be possible to run custom code in the CRM Online environment and achieve true parity between On-Premise, Partner-Hosted and Microsoft-Hosted deployments.

  • Plug-In Transaction Support - In CRM 4.0 you could register a plug-in to run either before (pre-event) or after (post-event) the CRM platform operation. However, you were not able to run as part of the transaction itself, so you had to right your own compensation logic in the event the CRM platform operation failed. CRM5 addresses this limitation, and you can now choose to register you plug-in as part of the platform operation. The CRM5 plug-in registration tool has been modified to support this.

    CRM5 Plug-In Transaction Support

  • Automatic Plug-In Profiling - CRM5 will keep track of how a plug-in is executing, what resources it consumes, if it is causing unexpected exceptions and whether or not it is violating security constraints. If a particular plug-in fails a number of times it is automatically disabled from executing, helping to maintain system integrity.

As you can see there is a lot to look forward to in CRM5, and I hope you are as excited as I am that the team has chosen to share this information early on.

This posting is provided "AS IS" with no warranties, and confers no rights.

Laughing Boy Chestnuts Pre-School