Wednesday, October 6, 2010

Unveiling CRM 2011 features

Blog – 2: CRM 2011 features continued…
Welcome back! and we are pleased again to share some more CRM 2011 features with you.

Document Management

This provides the ability to integrate SharePoint site with CRM. By using this feature you can store the documents related to CRM in SharePoint and to manage this documents from within CRM itself. It also provides ability to create folder automatically but it needs SharePoint Server 2010 site and base site collection, this site hosted must have the Microsoft Dynamics CRM List component installed.

Goals

CRM 4.0 had the concept of defining a quota for the sales people but this was more of an information only kind of an area. There was no actual calculation or evaluation being performed behind the scenes to evaluate the sales person performance.

Now you can specify the goals for the fiscal quarter, fiscal year or for custom defined period. You can specify the timeframe and target at Goal level and criteria can be specified at Goal Metric level. Goal Metric holds the Actual and In Progress details. To calculate the actual value of the goal you can provide goal criteria. Similarly you can provide details for In Progress condition, for instance currently active but not yet completed. Check below example for more details,

We specified Goal for Quarter 3. Target is to meet the amount total as $325,000.00. Now here we specified the Time frame and Target.

Now goal Metric “Revenue” will provide details on criteria’s,

In Goal Metric you can specify is it the Count/Amount type of metric? The Rollup Fields section specifies criteria’s,
- First criteria for In-Progress: for calculation purpose use field “Est. Revenue” and for condition status = Open
- Second criteria for Actual: for calculation purpose use field “Actual Revenue” and for condition status = Won



This has given the scope to the users to define the Goals that need to be monitored. It need not necessarily be Revenue Goals, you could also define Goals for the Sales rep based on the number of cases resolved…

CRM 2011 has brought out a lot of other changes and we are still into exploring them in detail.
We will post again with some more exciting details on CRM 2011 soon in our next blog …

Monday, October 4, 2010

Exploring the new CRM 2011

Finally! We are rolling into the much awaited beta version of CRM 2011.While we are still exploring its new features; we are pleased to share some great features. You can find some of these new useful features of CRM 2011 listed below.

- Ability to create a custom Activity type
- Dynamic Marketing List
- Bulk Delete feature
- Recurring Appointment
- Auditing feature
- Document management feature that can be integrated with SharePoint
- Goal Feature
- Rollup

New activity Type

Now you can create new type of activity: ‘message’ like shown in below screen shot.



Dynamic Marketing List

As the name suggests, it is a Marketing List which holds the members that can be added or removed dynamically. For this MS provides an ability to associate user query with the marketing list and the members are identified based on the query results.

For a Dynamic marketing list, you can specify a query that is evaluated to populate the updated list of members each time you open the marketing list.
Under Static, the members in the marketing list will change only when you manually add or remove members from the marketing list.



Bulk Delete

To relieve us of the trouble of manual deletion of records, finally we have the ability to delete multiple records using Bulk deletion wizard. The feature was earlier provided in CRM 4.0 live but not in on-premise version. Now it is included in CRM 2011 on-premise as well. Here you need to specify the criteria for an entity. The records found in specified criteria will be deleted from system. Also CRM provides ability to schedule this Job so it periodically runs and deletes the records automatically.

Recurring Appointment

Now you can create appointment which will be scheduled recursively as in MS outlook.
Example: Creating appointments for services in calendar on a periodic interval (recurrence)
You can specify the recurrence duration. The recurring appointments are created in the system immediately. If you edit a recurrence the existing appointments already created for this schedule is altered accordingly.


Auditing

Auditing Data featured in CRM 2011 provides you the ability to audit multiple entities. When you enable auditing, you can keep a track of the changes done to a particular record, a particular field, or by a particular user. This will also create logs for the changes that are tracked. By default system tracks all fields, but if needed you can specify which attributes to use for auditing.



CRM 2011 has brought out a lot of other changes and we are still into exploring them in detail.
We will post again with some more exciting details on CRM 2011 soon in our next blog 2…

Friday, August 6, 2010

Odd/Even Page Header/Footer using SRS Reports

There have been times where you need to provide a different header on one page and another on the second page or say every alternate page. This concept has been provided in MS Word, where you are allowed to setup a Odd Page Header and an Even Page Header. Should you want to incorporate this same feature in your Reports designed using SRS Reports, there is no easy way out as setting up a odd page header and an even page header.

To set up an Odd/Even page header in SRS Reports, you can make use of the Global Field Page Number. This field auto-sets the Page Number depending on the page on which the control is placed for reading the page number.

Say you want a separate image or text to be displayed on odd and even pages, you can place both the text and images on the header section of the report. You can then set the visibility property of the controls to conditionally evaluate the Page Number and display the control only if the condition evaluates to true.

Wednesday, July 28, 2010

XRM sdk de-mystified

Well, it has been a while now since the XRM sdk is out and we have been exploring it.

XRM sdk does make programming a lot more easier and most certainly there are a lot fewer lines of code that need to be written.

With the CrmSvUtil tool you can generate the classes for all the custom entities and customizations that you may have added to you CRM system and this allows you to use strongly typed entity classes instead of the use of Dynamic Entities in the earlier version of the SDK. And this then does away with the need to add Web service reference to your applications.

List of customizations supported by the XRM platform.

1. You can develop custom portal applications that run externally and access CRM data.

2. You can develop custom pages that are called from sitemap and ISV from within CRM. For this you need to copy the following files to GAC

Microsoft.Xrm.Client
Microsoft.Xrm.Portal
Microsoft.Xrm.Portal.Files
Once these files are copied in GAC, your custom pages work just as usual.

3. Support for IFD – In case of pages that were designed to be accessible through CRM IFD access as well, it was earlier required to have the CRM connection created in the context of the impersonator.

Code blocks in this case were executed within the context of “using cmimpersonator()”. The same can be applied for code written using the XRM SDK and these are then available for use in the IFD environment as well.

4. You can use XRM SDK to write code within Workflows as well. The XRMDataContext accepts IWorkflow plugin context as a parameter for establishing CRM connection.

5. However, for reasons knows to MS alone, support for XRM code to be used with plugins has not been provided. This delays the acceptance of XRM sdk as the tool for CRM development.

6. XRM SDK is basically a kind of data layer access to CRM and hence it only provides functionality related to data access such as Create/Update/Delete/Read. It does not support MetaData Service messages.

7. Though it does provide LINQ functionality to read/retrieve data from CRM, it does not match the capabilities provided by the traditional sdk message to retrieve data. We particularly found an issue when reading the display names of lookups or picklist type of attributes that was easily accessible in earlier versions of the SDK.

Given that reading data is an integral part of CRM development I would really appreciate discussion with regards to the above issues noticed.

All said and done… XRM is a great step towards simplifying development, though further improvements might help a great deal. Perhaps it could be our limited understanding of the XRM sdk that might have us believe so. I would like to open the XRM sdk for discussion through this blog for the benefit of the entire community.

Monday, July 26, 2010

Pre-Image & Post Image Explained !

Plugins in Dynamics CRM, allow you to register images against the steps of a plugin assembly. Images are a way to pass the image of the record that is currently being worked upon prior or after the action has been performed. In general it could be said, it is the image of the record as is available in the SQL backend.

Two types of Images are supported, Pre-Image and Post Image.

In case of Pre-image, you get the image of the record as is stored in the SQL database before the CRM Platform action has been performed.
Post Image, returns the image of the record after the CRM Platform action has been performed.

As developers, you may have at times, received the following error when trying to implement a plugin.


It is there important to understand when the images would be available and what state of the record would be returned in these images.

Say you were to register a “Pre-Image” for a plugin registered in Pre-Create Stage. We just mentioned above, that the image is a copy of the record as is stored in the SQL backend. Since this is the create stage and the record has not even been created as yet, there is no record in the SQL backend that can be returned in the Pre-Image and hence any call for the image would fail with the above error message.

The following table explains the Pre-Image Availability


The following table explains the Post-Image Availability


Hope this help demystify the Images..