Opportunities and benefits for developers in CRM 2011

There is a lot of buzz about Dynamics CRM these days. And the explanation for this buzz is simple: we are in front of a big release!. To be honest, better and bigger than I thought.

So, first of all, to be clear: Dynamics CRM 2011 is a BIG releaseJ.

Now, you may be wondering what to watch / follow / read in order to get tuned with it, let me make you some recommendations:

  1. If only have a couple of minutes, take a look at this prezi presentation where I just put into bullets what is described in this post. (You are also invited to cooperate to improve the presentation, just contact me).

    If you have a little more time, it's worth you..

  2. Watch this video from Eric Boocock (Sr. Technical Product Manager - Microsoft CRM).

    There are many videos on the web up to day about Dynamics CRM 2011 but this is the best and more complete I have watched so far to get an overview.

    I also extracted the pictures for this post from his video J.

  3. Follow #crm2011 #crm2011beta and @msdyncomm in twitter
  4. Join Microsoft Dynamics CRM in facebook.
  5. Read these What's new FAQs.

Ok, whether you took a look at the prezi presentation and want to know more details or if you don't but are an enthusiastic developer/architect like me who mostly works on the xRM side you may be wondering: 'which are the new opportunities I have now at my fingertips with CRM 2011?'. This is what I am going to cover on the following paragraphs from my humble point of view.

So, let's go over the new stuff that strictly matters to xRM developers:

 

[Updated development tools]

Microsoft Visual Studio 2010, .Net Framework 4.0, WCF native services, oData endpoint, LINQ support.

In other words, modern tools to work more productively.

 

[Custom code for Microsoft Dynamics CRM Online]

This important limitation that we face today in CRM 4 is no longer present on CRM 2011.

Now, at least the promise is that we are going to be able to develop custom code for the cloud (Windows Azure® obviously) that extends Dynamics CRM 2011. This can be possible thanks to a reengineering made to the platform to allow running code in sandboxes so as to avoid eventual problems on a multi-tenant environment.

The cloud itself I think will play an important role, not only an Azure web role but also AppFabric Service Bus to integrate with on premises line of business applications on client's companies.

 

[Managed solutions]

I think all of us were clamming for this concept and now it's real, our wishes come true.

The concept of 'solution' as a package that contains all of our customizations and resources that are themselves our deliverable, our product. It also supports versions, making it even more powerful and manageable.

Managed solutions

Picture 1 - Managed solutions

Managed solutions can be created as well as imported. Moreover, they can only be modified by specific users, meaning code protection for our customizations.

So, as ISVs, now distributing our products mean packaging them into solutions and probably publishing those solutions through marketplace (see below). The solution will include customizations, workflows, assemblies, web resources (such as htmls, .js, .jpg, etc.), security roles, reports and any other staff needed to run our solution. All of this as a single package.

Packaging, code protection, easy distribution, easy install / uninstall, avoidance of potential conflicts with other third parties customizations are some of the advantages that we have now with the introduction of Managed solutions.

If you are interested in seeing how the solution file looks, this blog post from Gayan Perera digs into a little bit on it.

 

[Marketplace integration]

This means that the users will be able to search into an online catalog for third parties solutions in an integrated and natural fashion within inside the product.

Users will be able to try a solution, download, install, uninstall, purchase, meaning a paradigm change / shift on how we work, how we provide solutions and commercialize them.

In a word, this means revolution!.

This revolution will drive to a mind change, where the easier the solution, the easier the setup, the less customization needed the better the probability the trial experience successes and customers finally buy our solution. All of it without even visiting your site.

 

[New form designer and declarative capabilities]

There is bunch of new staff here that makes it possible for us to create rich forms within minutes, including cool new capabilities such as:

  • Drag and drop experience, meaning that now we can design a form just by dragging fields into it and moving their position just by dragging and dropping.
  •  
    Drag and drop experience
     

Picture 2 - Drag and drop experience

 

  • Create new relationships directly from the form in a few clicks,
  •  
  • Subgrids (i.e. for displaying open cases of an account within the form), meaning no more iframes and javascript to set up urls to display grids with related entities records.
  •  
     
    Subgrids within forms

Picture 3 - Subgrids within forms

 

  • Support for multiple forms by entity, using security roles which will define who will be able to work with which form. This is a tremendous and clamed for improvement!
  •  
    Security roles by form

Picture 4 - Security roles by form

 

  • Fields-level security, another great great improvement, meaning no more javascript and obscure logic (or third parties solutions) to determine who can see what. This is not built-in for us.
  •  
     

[Custom activity types]

Now we are able to define entities that in fact behave like any other standard activity within the system (i.e. task, meeting). Hence, this removes the constraint we already have on CRM 4, where activities types are fixed.

This is a significant improvement and opportunity for us because this way we can model different types of entities to record any kind of activity that may occur on relevant entities within the system (i.e. account, opportunity).

Honestly up to date, I have not it clear if there are any limitations as well as how they are integrated with Outlook, but anyway, having this new possibility is per ce an important shift compared to what we have today.

 

[Interactive dialogs]

Despite nobody call them this way, for me this means 'a wizard framework' because it let us build a complete wizard for guiding the user to accomplish some tasks.

Let me explain it a little bit…

With this new feature we are able to define step-by-step data collection forms that drive the user through an entire process, including scripting and workflow logic behind the scenes. So, as Eric showed on his demo, we can guide the user through some business process to collect the necessary data in order to make some calculations and finally, automatically populate some other fields.

Without this feature (as it happens today) we should have to write some javascript to tweak the form in order to hide / calculate / ask some data and/or count on user criteria to enter info on the correct fields, which obviously isn't an efficient approach.

Dialogs

Picture 5 - Dialogs

 

[Dashboards and KPIs]

If you happened to see some dashboards in CRM 4 it may be a result of applying some customizations and in the case of KPIs, they should probably come from PerformancePoint or Reporting Services.

This is no longer to be the typical scenario within CRM 2011 as now we have the possibility to easily design dashboards (in fact, the final user itself can do this) mashing up the information that really matters depending on users requirements.

So, for instance, we will be able to easily create dashboards that may include a grid of pending activities for the user + a graph with statistical information about cases + another graph with opportunities info + My accounts, etc. Believe me this is now just a matter of some few clicksJ.

And very important: no need neither of Reporting Services nor Sharepoint. It's all CRM out of the box.

 

Dashboards 

Picture 6 - Dashboards

 

[Context Charts]

Yes. Depending what the user is doing or has selected within the system, he/she will be able to not only see but also build his/her own charts.

What does it mean for us as developers? Simple: no more ReportingServices, no more PerformancePoint or any other tool or development task just to put it there a basic simple chart for users.

This allows us to concentrate on more value-added capabilities or complex statistical graphs which cannot be set up by out of the box options. Simple charts (which are the majority) can now quickly being set up by us or the user just by configuring.

 

Charts 

Picture 7 - Charts

 

[Built-in Sharepoint integration]

Integrating Sharepoint with CRM for quickly accessing documents related to an entity (for instance, an account or opportunity) has turned into a frequent asked requirement lastly. This integration is also a must on some scenarios where organizations already have Sharepoint.

Up to now, that was possible by including iframes and introducing some javascript code.

The story is significant different now in CRM 2011. Integration with Sharepoint 2010 is built-in, provided out of the box, letting searching and working with files a full integrated experience with CRM without even having to write a single line of code!.

Sharepoint integration within CRM form

Picture 8 – Sharepoint integration within CRM form

CRM 2011 provides out of the box a new Document Management console located in Settings->System where we are able to specify the configuration (sharepoint server location data and sites) besides selecting the entities which will have document management enabled.

What about integration with Sharepoint 2007 so far? The good news is that we should not need to write custom code neither but (here comes the bad news) locations cannot be resolved automatically, so, we will have to specify within each entity the exact url of the Sharepoint site that has the related documents.

Anyway, this is far much better than previous scenario with CRM 4.0.

 

Document Management console

Picture 9 – Document Management console within Settings->System.

 

[Multi-tenant in Outlook]

Despite this is usually seen as a great productivity benefit for users (which in fact, it is), as developers this is also a tremendous time saving feature as we can now easily test customizations for different organizations without having to reconfigure Outlook each time or entering different urls in the web interface.

We will find each organization we want to work with at the left menu. By clicking on any of them, a sub-menu comes up letting us rapid access to organization's stuff (such as accounts for instance).

 

Multiple organizations in Outlook

Picture 10 - Support for multiple organizations in Outlook

 

[Wrapping it up … conclusion]

My first conclusion so far reinforces what I wrote at the beginning of this post: Dynamics CRM 2011 is a BIG release J

It provides lots of enhancements and new features for users, business analytics, decision makers, IT, developers, and everyone for sure.

Thinking especially of developers I identify the following 3 key areas of improvements:

  • Productivity, leveraging the spirit behind 'The power of productivity' slogan. Concrete examples of this are the enhancements in the new form designer, new development tools (VS 2010), Dashboards, KPIs, Charts out of the box.
  •  
  • 'Plumbing code', providing out of the box features that with CRM 4.0 we end up handwriting by ourselves like Sharepoint integration, field-level security, record-level auditing, filtered lookups, interactive dialogs, and role-based forms among others.
  •  
  • Packaging and distribution, introducing the concept of 'solutions' and the marketplace, revolutionizing the way we package and deliver our customizations today and the overall perspective about how to promote and deliver our products.

Hope you like this post and explore the new opportunities in CRM 2011!.

PP.

[In addition to blogging, I am also now using Twitter for quick updates and to share links. Follow me at: twitter.com/pabloperalta]

3 Comments

Comments have been disabled for this content.