Quantcast
Viewing all 592 articles
Browse latest View live

Integrating Microsoft Dynamics CRM via App Fabric (using SAML token)

In an earlier article called Integrating Microsoft Dynamics CRM via App Fabric, we saw how we can integrate Microsoft Dynamics CRM 2011 with an external application via the Windows Azure platform App Fabric. We converted a classical pull model of integration to a more efficient push model. The data was queried only when needed.

I would like to draw your attention to the authentication mechanism that was employed to authenticate with the Access Control Service (ACS). We used the management key approach and this implicitly made assumption that the key can be shared between CRM system and the owner of the syncing module. In many of the integration scenarios the CRM system and the external application (including the syncing module) may not be owned by the same business. The sharing of the ACS account’s management key is not possible.

Editor’s Note: For more overview material on AppFabric’s ACS there is an excellent article here: Access Control in the Cloud: Windows Azure AppFabric’s ACS.

Consider the scenario where an ISV has setup an endpoint on the App Fabric to which they want other CRM systems, its customers, to post data so that it can provide appropriate service. The ISV owns the Azure account and the rules on the ACS. It needs to enable its customer’s CRM systems to be able to post data to its endpoint and also be able to easily control and filter who is allowed to do so.

ACS provides the use of SAML tokens to authenticate and this is a good alternative for our need. Our goal is to allow CRM system to authenticate via SAML token and also allow ISV to configure rules in ACS based on the token’s issuer signature.

We start by first procuring an X509 certificate. You can use a self signed certificate too. Generate both private (.pfx) and public (.cer) certificate parts of the certificate. Add the .pfx certificate to the certificate store of the Async box, as we are running the plug-in asynchronously, under Computer account -> Local computer -> Personal -> Certificates.

Update the RetrieveAuthBehavior() show in the earlier blog sample with the code below.

private TransportClientEndpointBehavior RetrieveAuthBehavior() { // Behavior TransportClientEndpointBehavior behavior = new TransportClientEndpointBehavior(); behavior.CredentialType = TransportClientCredentialType.Saml; behavior.Credentials.Saml.SamlToken = GetTokenString(); return behavior; } private string GetTokenString() { // Generate Saml assertions.. string issuerName = "localhost"; Saml2NameIdentifier saml2NameIdentifier = new Saml2NameIdentifier(issuerName); // this is the issuer name. Saml2Assertion saml2Assertion = new Saml2Assertion(saml2NameIdentifier); Uri acsScope = ServiceBusEnvironment.CreateAccessControlUri(SolutionName); saml2Assertion.Conditions = new Saml2Conditions(); saml2Assertion.Conditions.AudienceRestrictions.Add( new Saml2AudienceRestriction(acsScope)); // this is the ACS uri. saml2Assertion.Conditions.NotOnOrAfter = DateTime.UtcNow.AddHours(1); saml2Assertion.Conditions.NotBefore = DateTime.UtcNow.AddHours(-1); X509Certificate2 localCert = RetrieveCertificate(StoreLocation.LocalMachine, StoreName.My, X509FindType.FindBySubjectName, issuerName); if (!localCert.HasPrivateKey) { throw new InvalidPluginExecutionException("Certificate should have private key."); } saml2Assertion.SigningCredentials = new X509SigningCredentials(localCert); // Add organization assertion. saml2Assertion.Statements.Add( new Saml2AttributeStatement( new Saml2Attribute("http://schemas.microsoft.com/crm/2007/Claims", "Org1"))); // The submitter should always be a bearer. saml2Assertion.Subject = new Saml2Subject(new Saml2SubjectConfirmation(Saml2Constants.ConfirmationMethods.Bearer)); // Wrap it into a security token. Saml2SecurityTokenHandler tokenHandler = new Saml2SecurityTokenHandler(); Saml2SecurityToken securityToken = new Saml2SecurityToken(saml2Assertion); // Serialize the security token. StringBuilder sb = new StringBuilder(); using (XmlWriter writer = XmlTextWriter.Create(new StringWriter(sb, CultureInfo.InvariantCulture))) { tokenHandler.WriteToken(writer, securityToken); writer.Close(); } return sb.ToString(); } !-- code>
!-->

The code generates a self-signed token to authenticate to the app fabric. We could add any claims to the generated token, for example, adding the organization claim would be quite useful.

Configuring new rules in the App fabric

Since we are trying to authenticate via the signed SAML token, we would need to add the issuer and rules into the ACS to identify the token and issue “Send” claim in response. I am using the acm.exe that ships with the App Fabric sdk to configure rules in ACS.

First create the issuer entry in ACS-SB.

>Acm.exe create issuer -name:LocalhostIssuer -issuername:localhost -certfile:localhost.cer -algorithm:X509

Object created successfully (ID:'iss_334389048b872a533002b34d73f8c29fd09efc50')

Next retrieve the base scope of the service bus: >Acm.exe getall scope

Use the scope id and issuer id to create the following rule.

>Acm.exe create rule -scopeid:scp_b693af91ede5d4767c56ef3df8de8548784e51cb -inclaimissuerid:iss_334389048b872a533002b34d73f8c29fd09efc50 -inclaimtype:Issuer -inclaimvalue:localhost -outclaimtype:net.windows.servicebus.action -outclaimvalue:Send -name:RuleSend

The rule basically says to output “Send” claim when the input claim (any claim) is signed by the specific issuer

With the above rule in place any organization in the customers CRM system will be allowed to post. If the CRM system is multi tenant, i.e. with multiple organizations, we can make the rule more granular to allow only certain organizations.

Rule using organization claim.

>Acm.exe create rule -scopeid:scp_b693af91ede5d4767c56ef3df8de8548784e51cb -inclaimissuerid:iss_334389048b872a533002b34d73f8c29fd09efc50 -inclaimtype: http://schemas.microsoft.com/crm/2007/Claims -inclaimvalue:Org1 -outclaimtype:net.windows.servicebus.action -outclaimvalue:Send -name:RuleOrgSend

Cheers,

Shashi Ranjan



Image may be NSFW.
Clik here to view.

Announcing the Microsoft Dynamics CRM 2011 Global Launch Event

Image may be NSFW.
Clik here to view.
image
Image may be NSFW.
Clik here to view.
image
On Thursday, January 20th, 2011 at 9am PST

Attend this FREE global virtual launch event and watch Microsoft CEO Steve Ballmer introduce Microsoft Dynamics CRM 2011. Learn how it is designed to help you boost sales, improve marketing, enrich customer service interactions, and accelerate line of business application development through xRM.

Hear keynote presentations by Kirill Tatarinov (Corporate Vice President, Microsoft Business Solutions), Michael Park (Corporate Vice President, Microsoft Business Solutions), and Brad Wilson (General Manager, Microsoft Dynamics CRM).

Read more…



Image may be NSFW.
Clik here to view.

Microsoft Dynamics CRM 2011 Release Candidate (RC) Announcement

Image may be NSFW.
Clik here to view.
image
The Microsoft Dynamics CRM 2011 Release Candidate (RC) is now available for download in the Microsoft Download Center.  As with the Microsoft Dynamics CRM 2011 Beta, the Release Candidate is available for anyone to download, and will be available until the RTM release scheduled for Q1, 2011.   This release represents the combined efforts and feedback from customers and partners working on the Microsoft Dynamics CRM 2011 Beta so thank you for all of you involved in this process.

Image may be NSFW.
Clik here to view.
image
Upgrades:  On-premises Beta databases can be upgraded to this new RC release which can then be upgraded to the upcoming RTM release.  CRM Online Beta customers will continue to have access to their CRM Online Beta instance until the CRM Online RTW launch in January, at which time they can choose to opt-in to upgrade their Beta instance to a production subscription.

Release Candidate is the last external milestone before the CRM Online Release to Web (RTW) launch in January 2011, and the on-premises Release to Manufacturing (RTM) in Q1, 2011, so please continue testing and validating this new pre-release version as well as continue building your deployments and solutions to be ready for the RTW and RTM releases.

Thank you,

The Microsoft Dynamics CRM 2011 Team   

Microsoft Dynamics CRM 2011 Server Release Candidate

http://www.microsoft.com/downloads/details.aspx?FamilyID=c3f82c6f-c123-4e80-b9b2-ee422a16b91d

Available in English only 

Microsoft Dynamics CRM 2011 for Microsoft Office Outlook

http://www.microsoft.com/downloads/details.aspx?FamilyID=22dc423a-7194-491e-a169-6ace16bfdd36

Available in 25 languages

Microsoft Dynamics CRM 2011 Language Pack

http://www.microsoft.com/downloads/details.aspx?FamilyID=db44c564-2338-407e-980a-c9c83ad37729

Available in 41 languages

Microsoft Dynamics CRM 2011 E-mail Router

http://www.microsoft.com/downloads/details.aspx?FamilyID=a995f6ad-0099-42fd-9b22-cf7b3d40a2bf

Available in 25 languages

Microsoft Dynamics CRM 2011 Report Authoring Extension

http://www.microsoft.com/downloads/details.aspx?FamilyID=64a09b75-8376-4b9d-aea3-8a83a1837c4d

Available in 25 languages

Microsoft Dynamics CRM 2011 List Component for Microsoft SharePoint Server 2010

http://www.microsoft.com/downloads/details.aspx?FamilyID=23c0f351-8694-4d92-9ddf-34a949aec6a7

Available in 41 languages

Cheers,

Bryan Nielson

Image may be NSFW.
Clik here to view.

Introduction to Queues in Microsoft Dynamics CRM 2011

What is a queue?

The analog predecessor to the CRM queue was the incoming and outgoing box on an employee’s desk. When someone has a work item for you to work on they filled out a form and set it in your “incoming” box. Employees often would have different boxes to manage different types of incoming items (different queues) this allows the employee to classify their work. When the item was completed the item would then be moved to the “outgoing” box to be picked up for the next person to work on or file because the item is complete. The problem with the analog process is there is no clear visibility to who is working on what and for how long the papers have been in the inbox. As work volume increases managing work can quickly spiral out of control. The goal of queues in Microsoft Dynamics CRM 2011 is to mimic this analog process and enhance it with the workflow, tracking, automation, and management capabilities.

Queues in CRM 2011

In CRM 2011, queues get a new avatar. Here’s a brief on this:

A queue is a container for just about anything that demands some action – a task that needs to be done, a case that needs to be closed, a phone call that needs to be made – essentially a queue can act as a one stop place for all things you need to work on.

Default Queue:

To get you started, every CRM user and team gets a default queue created with the user or team name respectively. You can choose to use this queue for all your work items, or you can create new queues to organize your stuff, for example on the basis of Priority.

This is different from CRM 4, where every user would have two queues – a private queue, and a work in progress queue created automatically. These queues were like system records, which could not be created externally, and could not be deleted as well. Apart from these queues, an end user could create public queues. In CRM 2011, we have simplified queues such that all queues are alike – there is no notion of a private or a work in progress queue. You can pick up any queue you want, and set it as the default queue for a user or a team. This is a one to many relationship, which means that the same queue can be used as the default queue for multiple users and/or teams.

Enabling Queues:

Out of box, you can add all activities, and cases to queues – this is similar to what you could accomplish in CRM 4 as well. In CRM 2011, you can enable other entities for queues as well. In order to do so, you will need to go to the entity’s customization screen, and check the checkbox: Queues.

Image may be NSFW.
Clik here to view.
clip_image002

Adding objects to queue:

If you have already enabled your entity for queuing, and want to add a record to the queue now, all you need to do is: Select the record from its grid, and click on the Ribbon Button: Add To Queue. Select the queue you want to use, and you are done. If you want to see the queue in which a particular record is present, use the Queue Item Details button. Also note that the queue item details button is available only on the form and not the grid.

Add To queue:

Image may be NSFW.
Clik here to view.
clip_image004

Queue Item Details:

Image may be NSFW.
Clik here to view.
clip_image006

What happens when you add an object to a queue?

Suppose you add a case to a queue. A record of an entity called “queue item” gets created and acts as a link between your case and the respective queue. You can use this queue item record to set additional properties like who’ll be working on this case, or what is the priority for this case, etc. This is a customizable entity, and you can add fields which you want to use to track the record in the queue. When you go to workplace->queues, the grid shows your case record. Selecting this record and clicking Queue Item Detail shows the respective queue item that tracks this case.

What all can you do with the queue item?

You can use the Working on field in the queue item to add a user who’ll be working on the queue item. When you are done with your work, you can release the queue item, which means, there’s no one working on it now. You can also route the queue item to another queue using Add to Queue functionality. The most powerful thing you can do with queue items is: write workflows on this entity. For example, you can write a workflow to send an email to the new worker when the worker on a queue item changes, you can write workflows to escalate a case, if it has stayed in a queue for a certain duration, and so on and so forth.

Auto routing a record:

You can enable auto routing for an entity again via customization. When you do so, creating a record for this entity automatically adds it to the record owner’s default queue. Assigning this record to another user routes this to the new owner’s default queue automatically.

Please note that this behavior is different from CRM 4 behavior, where auto routing could not be controlled by the end user. Creating an activity or case would automatically add it to the in progress queue of the owning user. Assigning an activity would add it to the private queue of the assignee.

Auto routing is automatically enabled for activities and cases in a CRM deployment upgraded from CRM 4 to CRM 2011. In fresh CRM 2011 however, this is turned off by default.

Queue Security Model:

Unlike CRM 4, queues are now a user owned entity, which means various privilege depths are now available for this entity. This ensures that you get control on who all can access your queues.

Queue Item, being a child entity of queue, is owned by the owner of the respective queue. However, in order to create, update or delete a queue item, you do not need create, update or delete privilege on the queue. Rather, you would need AppendTo privilege on the queue to be able to do so.

Emails: are they special?

In general, at a given time, a record can be present in one and only one queue. The only exception to this rule is email in received state. If auto routing is enabled for email, a received email goes to all the recipient queues as well as users’ default queues.

Using workflows to manage:

Let us say, you have to deal with 500 new cases every day, and you want to automate the case assignment process to a customer service representative based on the nature of the case. You can define workflows on case entity in order to do so. Here’s how you’ll do it:

Another scenario where workflows could be handy are: suppose you want to notify a Customer Service Representative by email, whenever a case has been routed to him to work upon.

Steering your way through the queue SDK:

AddToQueue message:

You can use this message for adding any queue enabled entity record to a queue. If the record is already present in a queue, you can change the queue using this message, or you can update the queue item properties as well. You can refer to the Microsoft Dynamics CRM SDK documentation for code samples around this.

Enabling queues/autorouting:

There are two metadata flags for each entity:

IsValidForQueue: If you set this flag to true for an entity, you can add records of this entity to any queue. By default, this is on for all activities, and Case entity. Please note that the database schema name for this column is IsCollaboration, and you’ll find it in the Entity table.

AutoRouteToOwnerQueue: If you set this flag to true for an entity for which IsValidForQueue = true, then on record create or assign, the record is added to the default queue of the record owner.

Fun with charts:

Queue Items support visualizations and you can create useful charts using these. For example, you can use a chart to track all items on the basis of their priority. Add a custom field called priority to Queue Item, and populate it with desired values for various queue items. Add this field to queue item form and views.

Go to Workplace-> Queues.

Click Charts-> New Charts button.

For Y axis, select Queue Item. For x-axis, select priority.

Save the chart, and you are ready to go!

Image may be NSFW.
Clik here to view.
clip_image008

Queues and workflows:

Back in the version 4 days, we had a workflow step called Assign, which would enable you to route an object to a queue. In Microsoft Dynamics CRM 2011 this has been changed and is in-line with rest of the entities. If you want to route an object to a queue, use the “Create” step instead, and create a queue item entity. If you are upgrading from v4 to v5, the system will automatically convert your old workflows to use the new constructs.

Hopefully, this blog post equips you with all you need to get started with queues in CRM.

Have fun with queues!

Nimisha Saboo



Image may be NSFW.
Clik here to view.

How To: Configure Tracing for Microsoft Dynamics CRM List Component for Microsoft SharePoint Server 2010

The Microsoft Dynamics CRM 2011 List Component for Microsoft SharePoint Server 2010 allows SharePoint site collection administrators to configure tracing (enable/disable tracing, configure trace levels and view traces) using a graphical user interface.

In this blog I will walk you through the steps to accomplish above and will also share some facts about Microsoft Dynamics CRM List Component for Microsoft SharePoint Server 2010 tracing which should help you understand and configure it in an easier manner.

Steps to configure tracing for Microsoft Dynamics CRM List Component

Step 1: Open Configuration UI

Navigate to the URL http(s)://<sitecollection>/crmgrid/configuretracing.aspx in a new browser window.

The <<sitecollection>> is the site collection where Microsoft Dynamics CRM List Component for Microsoft SharePoint Server 2010 is activated.

For example if your site collection URL is http://myspserver/sites/mysitecollection then the URL of tracing page would be http://myspserver/sites/mysitecollection/crmgrid/configuretracing.aspx

After navigating to this above URL you should see the user interface as shown in the following figure.

Image may be NSFW.
Clik here to view.
clip_image002

2. Enable or Disable tracing

Select Enable tracing check box, specify the required trace level and click on save button to enable tracing. Following are the possible values and meaning of Trace Levels:

Image may be NSFW.
Clik here to view.
image

3. View/Access Trace logs

When you click on the save button in the above UI it creates a trace list under the root site of your site collection. The name of this list is CRMListComponentTraceLogs_4FB367FB-A16E-481e-B56F-5788EEB27E5C. All traces are stored in this custom list.

The tracing UI gets refreshed with the URL of the created trace list as shown in the following screen shot.

Image may be NSFW.
Clik here to view.
clip_image004

You can view/access the traces using one of the following possible ways :

a. Click on the hyper-link in the trace configuration page.

b. Navigate to this trace list from SharePoint UI

(Site Actions -> View All Site Content -> Under Lists Heading -> CRMListComponentTraceLogs_4FB367FB-A16E-481e-B56F-5788EEB27E5C

c. Navigate to http(s)://<<sitecollection>>/Lists/CRMListComponentTraceLogs_4FB367FBA16E481eB56F5788

4. Save Trace Logs

"Export to Excel" ribbon action on SharePoint list can be used to save the trace logs for future reference.

Some facts about Microsoft Dynamics CRM List Component Tracing

1. Microsoft Dynamics CRM List component is deployed as a sandboxed solution on SharePoint. It doesn’t have access to file system due to sandbox restrictions. Due to this reason a SharePoint list is used to write trace information.

2. Only SharePoint site collection administrators can configure tracing. Other users will see error when they'll try to access the configuration UI.

3. Only SharePoint administrator has read access to the trace list. While creating the trace a new permission level "CRM List Log" and a new group "CRMListLog" is created at the site collection level to configure such unique permission set. By default all users of the site collection are added to this new group.

4. The security configuration had done only once while creating the list for the first time. If you have made any changes to the list permission after you have enabled the tracing for this component you'll have to manage the security for this list yourselves.

5. Also if any user is added in the site collection after tracing was enabled then he/she should be added to the “CRMListLog" group manually.

6. As traces are generated the list can grow in size and can have impact on SharePoint performance. It is the responsibility of the admin to manage the trace list size. He can periodically take backup of this list or disable tracing if it is no longer required.

7. To get more detailed trace information SharePoint administrator can also enable tracing on Microsoft SharePoint Server 2010. For more information on how to enable tracing on Microsoft SharePoint Server 2010 see http://technet.microsoft.com/en-us/library/ee748619.aspx

8. There is no entry point to tracing configuration page from within CRM. SharePoint administrator will have to navigate to the URL as explained in step 1.

Cheers,

Huma Ramawat

Image may be NSFW.
Clik here to view.

Microsoft Dynamics CRM 2011 Top 10 in 10

Image may be NSFW.
Clik here to view.
image

During last week, we hosted xRM Cloud Acceleration Lab in Redmond, WA. We had 14 on-site advisors to help 16 partners develop their industry solutions using Microsoft Dynamics CRM 2011 Online, Microsoft Windows Azure, and Microsoft Office 365. We were lucky to have 9 CRM MVPs as part of our on-site advisors, who came all over the world to make this event even more successful.

During breaks, we got an opportunity to record a short video highlighting Top 10 Features of Microsoft Dynamics CRM 2011 in less than 10 minutes. The resulting video, Microsoft Dynamics CRM 2011 top 10, has been posted to Channel 9. Thanks to following for their contributions.

Image may be NSFW.
Clik here to view.
image

Enjoy,

Sanjay Jain

Image may be NSFW.
Clik here to view.

Accessibility in CRM 2011 lists

Accessibility-compliance is one of the key new features of Microsoft Dynamics CRM 2011. We on the CRM team believe that no person should be denied from using the product even if one is visually challenged. Accessibility in CRM is useful not only to the visually challenged users but also to the user who prefers keyboard to mouse.

You can do almost everything in CRM 2011 lists quickly and easily using just a keyboard. For the visually challenged, using CRM 2011 lists with Job Access with Speech (JAWS) is a breeze. Also for them, we have also made enhancements to ensure that CRM lists display well in the high-contrast mode.

Image may be NSFW.
Clik here to view.
clip_image002

Sample Accounts list in CRM 2011

Compatible Screenreaders

Accessibility features in CRM 2011 work well in tandem with JAWS 11, the most widely-used screenreader in the world. We have also tested it on Window-Eyes, another popular screenreader.

Let us see how we can perform some of the common list operations in CRM 2011 using JAWS and keyboard.

Sorting

Sorting is one of the most commonly used functions in a list of records. Just follow the 2 simple steps below to sort on your favourite column using JAWS

1. Perform one of these actions:

    a. Press Ctrl+Insert+T to list all the tables in the current page. Scroll through the list and choose the table with the following title: From each column header, you can sort and filter the records.

OR

    b. Press Tab repeatedly until you get to the list header. When you reach the “Select/Clear All” checkbox, you are inside the list header.

2. Press Tab repeatedly until you reach the desired column in the header table. E.g. – To sort on Address 1: City (the 3rd column in the list), press TAB thrice. You will then hear “Table Nesting Level1 Column1 Row1 Address1: City link”.

3. Now press Enter to alphabetically sort the list based on Address 1: City. Press Enter again to sort it in reverse alphabetical order.

Similarly you can sort a list on any sortable column in the current view in increasing/decreasing order using JAWS. Simple, isn’t it?

Filtering

If sorting does not solve it for you and you need more advanced ways to filter your records, the Column Level Filtering feature in CRM is the way to go.

1. Tab to the link which reads “Filter button” Press Enter to enable filters on the list.

2. Now reach the list header using action 1 given in the sorting section given above.

3. To reach the desired column, use action 2 from the sorting section.

4. Press TAB again to go to the filter link. JAWS should read “Table Nesting Level 2 Column1 Row1 – ‘No filter applied’ link”

5. Once on the link, press Enter to open the filter menu. The filter menu has some common filters and a custom filter option as well.

6. Goto the desired filter option and press Enter to apply it on the list.

7. If you select Custom Filter, then the Custom Filters menu will open up which can be used to apply more powerful filters.

Opening primary/related records from the list

In CRM 2011 lists, all the primary field and lookup columns are hyperlinks which enables a JAWS user them to be able to open them.

1. Press Ctrl+Insert+T to list all tables in the current page.

2. Scroll through the list and select the table which reads “This list contains x Account records” where x is the number of records in the list. The focus moves to the table which contains the list of records.

3. Press TAB repeatedly until you get to the desired record. E.g. If you want to open the account with the name “Advanced Components”, press TAB until JAWS reads “Advanced Components Link

4. Press Enter to open the “Advanced Components” form.

Reading the contents of the list

Reading the contents of the list using JAWS is easier than ever before since the row/column headings are now read along with the value of a cell.

1. Goto the table which contains the list using the steps 2&3 described in the above section.

2. Use Ctrl+Alt+Arrow keys to navigate around the list.

3. Move horizontally to read the different fields of a record. When moving horizontally, the field name (column title) is read before the actual value of the cell.

4. Move vertically to read the same field from the previous/next record in the grid. When moving vertically, the record name (row title) is read before the actual value of the cell.

Selecting one or more records in the list

Selecting non-contiguous records in made easy in CRM 2011 lists with the introduction of row checkboxes.

1. Goto the table which contains the list using the steps 2&3 described two sections above.

2. To select the “Advanced Components” record, go to the checkbox corresponding to this record.

    a. Press Tab repeatedly until JAWS reads “Advanced Components, Checkbox unchecked”

    b. Press Space to check the checkbox thus selecting the record

3. Repeat the above step to select as many records as you want.

4. Once you have selected the desired record(s), you can perform edit, delete, share, assign and other record actions.

5. If you have selected multiple records, you can perform bulk operations on them like bulk delete, share, etc.

6. You can use the step 2 also to unselect a selected record.

Bye-bye Ctrl-Click!

We hope that this blog helps a bit in fulfilling our commitment to make CRM available everyone!

Cheers,

Aditya Agrawal



Image may be NSFW.
Clik here to view.

Adding attachments to Templates and Bulk email

A frequent request from the customers of Microsoft Dynamics CRM 4.0 was the ability to add attachments to bulk email. Some users were also looking for a mechanism to use email templates when distributing Campaign Activities and Quick Campaign. There were also requests to allow usage of attachments in email templates so that whenever some templates are used for sending emails, attachments are sent out as well. Microsoft Dynamics CRM 2011 addresses all these demands and provides a simple and efficient way to achieve them. Let’s take a look at how this could be done in Microsoft Dynamics CRM 2011.

Adding Attachments to Email Template

Adding attachments to email templates in Microsoft Dynamics CRM is as easy as adding attachment to any email. The email template form now comes with an attachment section embedded. On email templates form scroll down to find the attachments section and use this section to add and remove attachments effortlessly just as you would use it in emails.

 Image may be NSFW.
Clik here to view.
clip_image002

Once the attachments are added to the template, you can use this template while sending single email and the email would be sent with the attachment. When from a CRM grid, you select multiple customers and choose to send Bulk emails by pressing the ‘Send Direct E-mail’ button, you can use this template and the emails sent in bulk will have attachments in them.

Using Email Templates during Campaign Activity Distribution and Quick Campaign

Microsoft Dynamics CRM 2011 now enables usage of Email Templates while running Quick Campaign or while distributing Campaign Activity. To select an Email template during Quick Campaign, navigate to the email form screen in the Quick Campaign wizard, select the ‘Use Template’ checkbox shown below and then lookup for the email template to use. If this email template has attachments added in it then the bulk email sent at the end of the Quick Campaign wizard will have attachments in them.

Image may be NSFW.
Clik here to view.
clip_image003

The email form shown during Campaign Activity distribution also has this ‘Use Template’ option for selecting email templates and thus enables sending Bulk email with attachments.

Adding Attachment to bulk email being sent through email via mail merge

Another way to send Bulk emails in Microsoft Dynamics CRM is by using Mail merge. Sending email via Mail merge is possible on a set of customers selected from the grid, or for a Marketing list or as a mode of distribution of Campaign Activity and Quick Campaign. To add attachments while sending emails through mail merge, complete the Word mail merge process and choose to send the ‘Electronic mail’ in the Word doc. In the final dialog where you select to create your emails in CRM you will find a new section added which allows you to select attachments for emails. Here you can browse and add up to five attachments. The mails that will be sent out by mail merge will have these attachments added to them and so will be the email activities that are created in CRM.

Image may be NSFW.
Clik here to view.
clip_image005

Storage of Attachments

CRM Administrators may be anxious to know how these attachments to bulk email are saved and will the multiple copies of same attachment flood their databases. Here is the good news for them - the design of this feature ensures that only a single copy of attachment used in bulk email is saved and all email records in CRM refer to the same copy of the attachments.

If bulk email were created using an email template then the template also shares the same copy of attachment. Deleting a single email from amongst the bulk email does not delete the attachment physically and other emails continue referring to it. The attachment is deleted only when last email or template referring to that attachment is deleted.

Cheers,

Raju Kulkarni

Image may be NSFW.
Clik here to view.

CRM 2011 Charts – Know the Real Potential ~ Part I

Image may be NSFW.
Clik here to view.
clip_image002
Microsoft Dynamics CRM 2011 brings to you extensive charting and dashboard capabilities, helping the users to analyze their data quickly and effectively.

In this blog series I will be discussing the enriched chart features which will help you create the complex business charts to gain real time insights.

Before diving deeper into the CRM charting potential we need to first understand some key charting concepts and terms which I will be referring in the blog going forward:

The Chart components - The chart control is rendered as a single image. A chart can contain one or more series where each series is a collection of the data points.

For instance, in the chart to the right you have two series- Estimated Revenue, Actual Revenue and one category – Potential customer:

First series has chart type column and the second one is configured as a line. Thus to have multiple lines in the chart, you would define one series for each line.

The chart designer allows you to create only single series chart with one category. But through import and export feature, you can customize your chart definitions and create any complex chart – personal or system if you have the required privileges.

To understand the chart definition better let’s look at the exported Xml of an OOB chart.

1. Navigate to the Accounts entity

2. Click the collapsed chart pane .Select the chart Accounts by Industry.

3. Click on the Charts tab in ribbon.

4. Click export Chart.

You will get a XML like this:

Image may be NSFW.
Clik here to view.
image

Image may be NSFW.
Clik here to view.
image

A chart is defined using two important aspects – data and appearance. The XML subpart highlighted Yellow is the DataDescription for the chart which defines the underlying data used to render chart.

The other subpart highlighted Green is called as the Presentation Description for the chart which defines the presentational aspects (chart type, color, legends) of the chart.

The CRM 2011 business charts leverages the Asp .Net Chart Controls (available in .Net 3.5 >) and hence the presentation description is exactly similar to the .net chart controls serialized xml.

To understand it better let’s try adding a new dimension to the above chart J . Yes, you heard it right the 3D charts are available in CRM 2011 –

Add the Area3DStyle node under ChartArea in the exported xml:

<ChartAreas>

   <ChartArea>

      <Area3DStyle Enable3D="true"/>

You might have caught the hint that CRM charts have all the capabilities that asp .net chart controls possess. You just need to tweak the xml and import it back!!

Time to explore the wide array of charting features! Here are some business users’ requirements and we can achieve these and many more using CRM charts-

1. Multi Series Charts - I want to compare the revenue earned with the discount provided.

2. The Stacked, Pyramid charts look cool .Can I create such charts?

3. Comparison Charts or Multi category- How can I compare my company's sales for 2010 with sales for the year 2009

4. Large differences in data ranges and the chart looks ugly – do charts support a scale break?

5. Can I customize the series name?

To help with you an example let’s try to create a multi series chart -Estimated revenue v/s Actual revenue

1. Navigate to Opportunities.

2. Click Charts tab in ribbon.

3. Click New Chart.

4. Select Estimated Revenue as Series, Sum as the aggregate.

5. Select Potential Customer as Category.

6. Save and Close.

At this point you have created a single series chart which depicts Estimated Revenue for each Potential Customer.

Image may be NSFW.
Clik here to view.
clip_image004

7. Now Click Export and save the Xml. You will get the exported Xml like:

<visualization> <visualizationid>{A3A9EE47-5093-DE11-97D4-00155DA3B01E}</visualizationid> <name>Sum(Estimated Revenue) by Owner</name > <description>Shows the estimated revenue by owner.</description> <primaryentitytypecode>opportunity</primaryentitytypecode> <datadescription> <datadefinition> <fetchcollection> <fetch mapping="logical" aggregate="true"> <entity name="opportunity"> <attribute alias="aggregate_column" name="estimatedvalue" aggregate="sum" /> <attribute groupby="true" alias="groupby_column" name="ownerid" /> </entity> </fetch> </fetchcollection> <categorycollection> <category> <measurecollection> <measure alias="aggregate_column" /> </measurecollection> </category> </categorycollection> </datadefinition> </datadescription> <presentationdescription> <Chart> <Series> <Series ChartType="Column" IsValueShownAsLabel="True" Color="55, 118, 19" BackGradientStyle="TopBottom" BackSecondaryColor="41, 88, 145" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PointWidth=0.75, MaxPixelPointWidth=40"> <SmartLabelStyle Enabled="True" /> </Series> </Series> <ChartAreas> <ChartArea BorderColor="White" BorderDashStyle="Solid"> <AxisY LabelAutoFitMinFontSize="8" TitleForeColor="59, 59, 59" TitleFont="{0}, 10.5px" LineColor="165, 172, 181" IsReversed="False"> <MajorGrid LineColor="239, 242, 246" /> <LabelStyle Font="{0}, 10.5px" ForeColor="59, 59, 59" /> </AxisY> <AxisX LabelAutoFitMinFontSize="8" TitleForeColor="59, 59, 59" TitleFont="{0}, 10.5px" LineColor="165, 172, 181" IsReversed="False"> <MajorGrid Enabled="False" /> <MajorTickMark Enabled="False" /> <LabelStyle Font="{0}, 10.5px" ForeColor="59, 59, 59" /> </AxisX> </ChartArea> </ChartAreas> <Titles> <Title DockingOffset="-3" Font="{0}, 13px" ForeColor="59, 59, 59" Alignment="TopLeft"></Title> </Titles> </Chart> </presentationdescription> <isdefault>false</isdefault> </visualization> !-- code>
!-->

We will change the same xml, add new series and import it back. For adding another series depicting the aggregated actual revenue earned by the salesperson make following changes to the chart definition xml:

Chart Fetch: Add a new attribute in the fetch with required alias (say aggregate_column1) and aggregate operator (say sum)

Image may be NSFW.
Clik here to view.
image

Data Description: Add a new measure collection a.k.a series with the newly added alias in the fetch.

Image may be NSFW.
Clik here to view.
image

Presentation Description:

a) Add a new series in the presentation xml.

Image may be NSFW.
Clik here to view.
image

b) Let’s add legends to identify the two series.

Image may be NSFW.
Clik here to view.
image

You can modify the color and presentation of original series as well. Note the IsValueShownAslabel set to false since I don’t want labels to be displayed with each column. And the color was modified as well.

You have now created the definition for a multi series chart. Follow these simple steps for importing the chart back to the system:

1. Navigate to Opportunities.

2. Click Charts tab in ribbon.

3. Click Import Chart.

4. Select the xml file created above.

5. Click Ok.

6. Choose to rename the new chart and import.

Image may be NSFW.
Clik here to view.
clip_image006

And the multi series chart with your own chart styling is here!

The next post of this blog series will be covering the rest of the exciting chart features. Till then stay tuned..

Cheers,

Sonal Sawhney



Image may be NSFW.
Clik here to view.

mSketch – Sketching CRM

Some bright folks in New Zealand, Magnetism Software Solutions, have created a tool to help mock up and specify custom forms in Microsoft Dynamics CRM. The tool, called mSketch, plugs right into Microsoft Expression Blend, so if you’re comfortable working with SketchFlow (a component of Blend), you should feel at home with mSketch right away.

Today I’m going to be building a form for a hypothetical “Patient” entity. This entity is similar to a Contact in standard CRM, so I’ll start from the Contact entity and customize it to something more appropriate for a medical records tracking application. First, I’ll change every instance of the word “Contact” to “Patient”, and then I’ll edit the tabs and fields on the form to better reflect patient data. Finally, I’ll change the relationships and the Ribbon items as well.

Working through the Getting Started guidance, I encounter some trouble. I get an error in step 7 (which the documentation calls out as a possibility), but the provided workaround does not fix the issue. I report the error to Magnetism and unblock myself by copying the entire solution package and starting from there. Hopefully Magnetism will address this in a future version of the tool, possibly by turning their copy-and-paste template into an actual Blend project type. In any event, the following screenshot shows a partial view of what appears in Blend.

Image may be NSFW.
Clik here to view.
clip_image002

Changing the words is easy; everything on the mSketch form (really, the SketchFlow form) is truly a text box. I edit some text labels by using the Design view and others by using the XAML view. I also change “Parent Customer” to read “Parent Patient or Family” – the idea being that an Account probably would be customized to represent an entire family’s relationship to a medical practice.

At this point I hit F5 to run the project, just to see how it would look. Wow, even the scrollbars and dropdowns work! It looks exactly like a sketched version of the real CRM form. Compare the above picture to the actual screenshot of CRM below. Magnetism has laid out each field, navigation element, label, and Ribbon section to match CRM’s out-of-the-box view (though you may spot some minor differences related to changes we’ve made in the near-final version of CRM).

Image may be NSFW.
Clik here to view.
clip_image004

When I drop back into Blend, though, moving the scrollbar just moves it around the page. Clearly, I am new to Blend. After a few minutes of digging around in the Blend UI and in Magnetism’s documentation, I’m still not clear about how to scroll the rest of the form into view. While this reflects my lack of Blend knowledge more than any gap in mSketch, it’s a bit frustrating. In the interest of finishing my mini-project, I decide to skip this and move on.

Next up, the relationships. I change the Sales area to “Health”, using labels such as Checkups, Prescriptions, and Procedures. I don’t bother changing the icons, though it looks easy enough. The Service area becomes “Financial”, which includes labels such as Insurance and Bills. Finally, I make one small change to Ribbon, removing the “Add to Marketing List” button and replacing it with “Schedule Followup”. Seems like a common-enough thing for a doctor’s office to do, don’t you think? My results are shown below.

Image may be NSFW.
Clik here to view.
clip_image006

All in all, the work Magnetism has done with mSketch is remarkable, and the tool should help increase communication and decrease frustration between system customizers and their customers. While I did meet with some frustration as a result of my lack of SketchFlow/Blend knowledge and Magnetism has a bug fix or two to make, I would highly recommend giving this package a try. You can reach out to Magnetism for more information by filling out the “Make an Enquiry” form at the bottom of the mSketch homepage.

Thanks to my reviewers (Michael, Jim, and Shamiq). Also, a disclosure: Magnetism Software Solutions provided me with a copy of mSketch to review and use for internal CRM projects.

Cheers,

Matt Cooper



Image may be NSFW.
Clik here to view.

Creating Custom Sample Data for Microsoft Dynamics CRM 2011

As you know, sample data in a CRM system can be very useful for a variety of reasons – for testing out some new capability in CRM, for training, for demonstrations etc. In this post, I will teach you how to work with the out of box sample data we ship with Microsoft Dynamics CRM 2011 and to build your own custom data.

Out of Box Sample Data:

Microsoft Dynamics CRM 2011 comes with a basic sample data set. Your CRM Online org comes with sample data already installed (you can later uninstall it if needed). In CRM on premise, the data is not installed by default – you have to install it to start working with it. You can install or uninstall from Settings > Data Management > Sample Data:

Image may be NSFW.
Clik here to view.
clip_image002

You can also add or remove sample data from the Manage Sample Data link in the Get Started Pane:

Image may be NSFW.
Clik here to view.
image

This out of box sample data set contains records for Account, Contact, Lead, Opportunity, Phone Call, Task, Goal, Article, Campaign, Case, and Subject entities.

This data set may not meet all your needs. For example, you may need to demo appointments in CRM, but we do not have any out of box sample appointments. In such cases, you can easily create your own custom sample data. The out of box sample data uses CRM’s built in import infrastructure, and we recommend you use it as well due to the following advantages:

  • users can continue to work on CRM while the data is being imported
  • the sample data can be easily deleted
  • data containing circular reference can be handled by this infrastructure (for example, Accounts and Contacts where the Contact is the Account’s Primary Contact, and the Account is the Contact’s Parent Customer)
  • you can create sample data with relative dates so that no matter when the sample data is installed, it always looks fresh
  • the process of importing the sample data is the same as importing any other data, and therefore, no user learning is required

Building your first custom sample data file:

To do so, you need to follow these steps:

1. Design your data set: Determine which entities you need sample data for, how many records of each type you need, and how much detail you want to fill out for each record. For example, you may decide that while the out of box sample data is pretty close to what you want, you need some appointment records to enhance the data set

2. Download the template for the entity you are creating sample data for: Since you want to create appointment sample data, you need to download the import template for the appointment entity. To do this, click Settings > Data Management > Templates for Data Import:

Image may be NSFW.
Clik here to view.
clip_image007

Alternatively, you can also download the Data Import Template directly from the Ribbon in any entity grid, by clicking on Import Data > Download Template for Import:

Image may be NSFW.
Clik here to view.
image

3. In the web dialog that opens, select Appointment and click Download:

Image may be NSFW.
Clik here to view.
clip_image012

4. Save the appointment.xml file on your computer, and open it Microsoft Excel (these templates are in Excel’s XML Spreadsheet format to make them easily editable in Excel):

Image may be NSFW.
Clik here to view.
clip_image014

5. You can now start filling in all the pertinent information in this document. Once you have created all the records, save and close this file

6. Now you need to import this file into your CRM system. To do this, Navigate to Workplace > Imports and click on Import Data on the ribbon:

Image may be NSFW.
Clik here to view.
clip_image016

7. Select the appointment.xml file you modified in step 5 and click Next:

Image may be NSFW.
Clik here to view.
clip_image018

8. Select whether you want to allow duplicates and who you want the owner to be and click Submit:

Image may be NSFW.
Clik here to view.
clip_image020

9. Navigate to Workplace > Activities to verify that the appointment records you created have indeed been successfully imported into the system

Congratulations! You have successfully created sample data for your CRM system.

Uninstalling/Deleting Custom Sample Data:

To delete any custom sample data you have created and imported into the system, navigate to Workplace > Imports, select the sample data you want to uninstall, and click Delete > All Records Imported to This Entity During This Import on the ribbon:

Image may be NSFW.
Clik here to view.
clip_image022

I hope this blog post helps you get started with creating your own custom sample data. Stay tuned for another blog post on advanced sample data creation soon.

Cheers,

Rubaiyat Khan



Image may be NSFW.
Clik here to view.

Get your Microsoft Dynamics CRM 2011 Launch Widget

Report Scheduling with Microsoft Dynamics CRM 4.0

When it comes to the Report scheduling, the Microsoft SQL Server reporting services has a great set of features. In Microsoft Dynamics CRM a small subset of the reporting features are provided using a feature we call the “Report Scheduling”

The report scheduling feature has the ability to generate snapshots of the reports. The snapshot types can be either an ‘On Demand Snapshots’ or the ‘On-Scheduled Snapshots’. In CRM 3.0,the report scheduling feature was provided using the Microsoft 3.0 Report Scheduling Wizard.

In Microsoft Dynamics CRM 4.0, this feature was enabled with a component called the CRM Data Connector. It was needed on the server which hosted the Reporting services for CRM. Without that connect, you would get the following error message if you tried to schedule the reports in the CRM application:

Image may be NSFW.
Clik here to view.
image

Therefore as a prerequisite, you need to get the CRM data connector installed on the SRS server. The CRM data connector component is present in the CRM installation media. After the CRM data connector is installed on the SRS server, you can initiate the Report scheduling wizard by clicking on the “Workplace” area and “Reports” section in the “More Actions” grid.

Image may be NSFW.
Clik here to view.
clip_image004

What is a report snapshot?

A report snapshot is a report that contains layout information and query results that were retrieved at a specific point in time. The CRM application helps us create two types of snapshots:

     a. On Demand

     b. On Schedule

Unlike on-demand reports, which get up-to-date query results when you select the report, report snapshots are processed on a schedule and then saved to a report server. When you select a report snapshot for viewing, the report server retrieves the stored report from the report server database and shows the data and layout that were current for the report at the time the snapshot was created.

Why would you choose a report snapshot to use?

Report history: By creating a series of report snapshots, you can build a history of a report that shows how data changes over time.

Consistency: Use report snapshots when you want to provide consistent results for multiple users who must work with identical sets of data. With volatile data, an on-demand report can produce different results from one minute to the next. A report snapshot, by contrast, allows you to make valid comparisons against other reports or analytical tools that contain data from the same point in time.

Performance: By scheduling large reports to run during off-peak hours, you can reduce processing impact on the report server during core business hours.

Why use a Scheduling Wizard?

You can schedule reports in CRM to retrieve data and deliver reports at specific times or during off-peak hours. Schedules can run once or on a continuous basis at intervals of hours, days, weeks, or months.

The wizard takes its name from the ability to generate snapshots on a schedule—but you can also generate snapshots on demand. Also, you can:

     a. Schedule report delivery in a standard subscription

     b. Schedule report history so that new snapshots are added to report history at regular intervals.

     c. Schedule when to refresh the data of a report snapshot.

     d. Schedule when to refresh the data of a shared dataset

When you run the wizard on a report for the first time, you’ll be presented with the option of having the snapshots generated on demand or on a schedule.

Image may be NSFW.
Clik here to view.
image

On the next page you can specify the schedule which will be used to generate the snapshots. In the example below you can see that I want to generate a snapshot of the report on the Monday of every week at 8:00 AM. On the page after this, I can set when the schedule should begin and end. So in my example, I’ve started the schedule on the first Monday of October 2010 with no end date.

These are the two pages of the wizard you won’t see if you are generating an on-demand snapshot.

Please note in scheduling that the Report Server handles the timing, so for example if you want to generate a snapshot at 8AM Pacific time but your Report Server is in the Central time zone, you’ll have to schedule the snapshot generation for 10AM.

Image may be NSFW.
Clik here to view.
image

Image may be NSFW.
Clik here to view.
image

Snapshots are generated on the Reporting Services Report Server without any user input, so anything that you would normally set when viewing a report (parameters, default filter, etc.) need to be set before the snapshot is generated. With that said, the next page of the wizard allows you to set the report parameters. You can also set the default filter of the report by clicking on the “Edit Filter” button.

Image may be NSFW.
Clik here to view.
image

The final wizard page gives you a summary of the options you’ve selected over the previous pages. We can make a note of the “Snapshot Definition Name” is the name of the new report that will be created when you click “Create”. The new report is an exact copy of the original except that we set it to snapshot-only execution and save all of your preferences to the report.

Also observe the footnote of the page- that we only list the most recent eight snapshots that have been generated, and because of this we set the report to only keep the most recent eight snapshots. If you are creating an on-demand snapshot report, this page will also include an option to take a snapshot when you click the “Create” button.

Image may be NSFW.
Clik here to view.
image

After clicking Create, you’ll get a progress button processing the request and eventually finishes up with a success page. After closing the wizard you’ll see the new report copy in the grid (“Account Summary – Scheduled Snapshots” in the example below). If you are generating snapshots on a schedule, chances are you won’t have any snapshots at first, but once you get snapshots, you can see them by clicking the triangle to the left of the report icon. Then the snapshots will be listed by the time they were generated. Clicking on the snapshot time will open the snapshot in the CRM report viewer

Image may be NSFW.
Clik here to view.
clip_image016

Cheers,

Kalpana Chinnappa



Image may be NSFW.
Clik here to view.

Dynamics CRM 2011: xRM Cloud Acceleration Lab Videos

Image may be NSFW.
Clik here to view.
image

While hosting xRM Cloud Acceleration Lab (week of 6th Dec’10 hosted in Redmond, WA), I got an opportunity to chat with several ISVs, building their Cloud Offerings using Microsoft Dynamics CRM 2011 Online and Windows Azure. Enjoy the short videos to learn more about various cloud solutions.

  1. Adapx

  2. Cincom Systems

  3. Colibrium Partners

  4. Datatel Inc

  5. Keyora

  6. Permuta Technologies

  7. Templeton

During lab, we also got an opportunity to share the Top 10 Features of Microsoft Dynamics CRM 2011 in 10 minutes. Enjoy!!

Video: CRM 2011 Top 10 in 10

Cheers,

Sanjay Jain



Image may be NSFW.
Clik here to view.

A better way to learn LINQ-to-CRM – LINQPad plugin for MS Dynamics CRM 2011 is available!

In Microsoft Dynamics CRM 4.0, we introduced LINQ for our developers through the Advanced Developer Extensions for Microsoft Dynamics CRM 4.0 toolkit. We have further improved this support in Dynamics CRM 2011 by including LINQ as a first class data query mechanism. A better alternative to QueryExpression, LINQ provides a simple, intuitive and unified approach for data retrieval across different data sources.

Those of you who already use LINQ in some other .NET projects are possibly familiar with a great tool that makes LINQ developers’ life easier – LINQPad (www.linqpad.net). LINQPad is similar to SQL Management Studio – it lets you connect to various data sources (for which LINQ providers exist), examine their structure (just like you do with tables and columns in SQL Management Studio), and, finally, write and execute LINQ queries on a fly. LINQPad is a terrific tool to experiment with LINQ. It eliminates a need to create a separate sample C# project to test your queries.

I have written a new tool “LINQPad Plugin for Microsoft Dynamics CRM 2011” to help CRM developers learn and test LINQ queries against any CRM 2011 deployment. The project is available for download from its MSDN Code Gallery page - http://code.msdn.microsoft.com/crmlinqpad

The application is fairly easy to use. You create a connection to a CRM organization by entering organization URL and credentials, and then the plugin retrieves information about the organization’s entities. A tree-like structure of entity sets and entity attributes will be displayed on the left panel of the application. Once that is done, you can write and execute LINQ statements from the main application window. The results of the execution will be shown in a table on the bottom panel. You can also switch to SQL tab (don’t be confused with the name here, the tab was originally intended for LINQ-to-SQL) and examine QueryExpression that was used for data retrieval behind the scenes.

Image may be NSFW.
Clik here to view.
clip_image002

Image may be NSFW.
Clik here to view.
clip_image004

The plugin supports all CRM deployment types – Online, OnPremise and SPLA.

More instructions on how to download and configure LINQPad and the plugin can be found in the Home section of the plugin’s MSDN Code Gallery page.

Some LINQ-to-CRM query samples are provided with the CRM 2011SDK, under samplecode/cs/generalprogramming/queries folder.

Cheers,

Alex Igrushkin



Image may be NSFW.
Clik here to view.

Microsoft Dynamics CRM 2011 ~ Launch Time

Image may be NSFW.
Clik here to view.

Microsoft Dynamics CRM 2011 is almost here. Please mark your calendar and attend the global virtual launch event on Thursday, January 20th, 2011 at 9:00 am PST as Microsoft CEO Steve Ballmer introduces Microsoft Dynamics CRM 2011. With the launch of Microsoft Dynamics CRM Online 2011 in 40 markets and 41 languages, CRM Online will be more interesting than ever to all our partners and customers.

You can register for the virtual launch event here: http://crm.dynamics.com/2011launch/. There is a developer virtual forum at this launch event and yours truly will be there all day to assist you with your questions.

Image may be NSFW.
Clik here to view.
image
For developers and partners looking to get started with CRM 2011 please be sure to checkout this whitepaper on:

Building Business Applications with Microsoft Dynamics CRM 2011
A guide to Independent Software Vendors and Developers

This white paper is a helpful guide for ISVs and developers to build line of business applications using Microsoft Dynamics CRM 2011 and the Microsoft platform. For technical decision makers, it is a valuable resource to understand what the xRM Framework, which underpins Microsoft Dynamics CRM 2011, has to offer.

BTW, there are also a number of local launch events happening around the US and if there is one happening in your area, please be sure to register and attend an event.

Image may be NSFW.
Clik here to view.
image

Cheers,

Girish Raja



Image may be NSFW.
Clik here to view.

Configuring IFD with Microsoft Dynamics CRM 2011

As many of our early adopters have learned by now, configuring an Internet-facing deployment (IFD) has changed pretty drastically from Microsoft Dynamics CRM 4.0 to Microsoft Dynamics CRM 2011.

So what changed?

  • First, our dependencies changed. In Dynamics CRM 4.0, we used forms-based authentication for IFD and in Dynamics CRM 2011 we instead take a dependency on claims-based authentication for IFD. Therefore, now it is necessary to install and configure a security token service (such as Active Directory Federation Services 2.0) and also to do more certificate management.
  • Second, our configuration steps changed. In Dynamics CRM 4.0, an administrator had two options for configuring IFD. The first option was to specify the IFD settings in an XML configuration file at server installation time. The second option was to use the IFD Configuration Tool which was released out of band. In Dynamics CRM 2011, we made claims-based authentication and IFD configuration post-installation steps to obviate the need for the XML configuration file and built these wizards into our Deployment Manager tool. Administrators that would prefer to script IFD configuration can do so using our new Dynamics CRM PowerShell cmdlets.

These changes amount to a higher learning curve for configuring IFD for Dynamics CRM 2011 as we have heard in feedback from partners and customers. So to help make this configuration a little easier for folks, I created a video demonstrating how to configure IFD using the release candidate build of Dynamics CRM 2011 with AD FS 2.0.

This video is  called IFD for Microsoft Dynamics CRM 2011 and covers the end-to-end process for configuring IFD which includes:

  1. Installing AD FS 2.0
  2. Configuring the AD FS 2.0 federation server
  3. Managing certificates
  4. Configuring Dynamics CRM 2011 for claims-based authentication and IFD
  5. Creating the relying party trust for CRM and configuring the claims rules on AD FS 2.0

We hope you find this helpful!

Cheers,
Michael Guthmann



Image may be NSFW.
Clik here to view.

Update Rollup 15 for Microsoft Dynamics CRM 4.0

The Microsoft Dynamics CRM Sustained Engineering (SE) team released Microsoft Dynamics CRM 4.0 Update Rollup 15 on Thursday, January 13, 2011.

The links below will take you to the necessary information about Update Rollup 15.

General details about Update Rollup 15

Update Rollup 15 is cumulative. However, the Update Rollup 15 CRM Client and Data Migration Client packages require Update Rollup 7 to be installed. For all other CRM components, you do not need to install any previous Update Rollups prior to Update Rollup 15.

The Update Rollup 15 download contains updates for the 40 supported Language Packs. Prior to installing the Update Rollup 15 Language Pack, you must install the original Language Pack. If you have Language Packs installed, you should:

1. Download the Update Rollup 15 Language Pack

2. Install the Update Rollup 15 Language Pack

3. De-provision the Language Pack

4. Re-provision the Language Pack

  • Information about how to avoid reboots when installing the CRM Outlook Client can be found in the Update Rollup 4 blog posting.
  • The Update Rollup 15 Client can be deployed before the server is upgraded to Update Rollup 15.
  • Steps to make the Update Rollup 15 Client available via AutoUpdate can be found in the Update Rollup 4 blog posting. The Link and Patch IDs can be found in KB article 2449283.
  • Each update rollup could have fixes that require manual configuration. Please see the “Hotfixes and updates that you have to enable or configure manually” section in KB article 2449283.

How to get support for Update Rollup 15

For support, please contact Microsoft Product Support. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site: http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS.

Note: In special cases, charges ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

Cheers,

Matt Brown



Image may be NSFW.
Clik here to view.

Cloud-Based Version of Microsoft Dynamics CRM 2011 Now Available Worldwide

Today, Steve Ballmer and Kirill Tatarinov unveiled the new Microsoft Dynamics CRM Online service to an audience of customers and partners at a launch event in Redmond, WA. With this release, businesses all over the world can sign-up for this breakthrough CRM solution in 40 markets and 41 languages, at a promotional price of $34 per user per month.

As you have heard the Microsoft Dynamics CRM team say, the focus for Microsoft Dynamics CRM 2011 is to deliver the “Power of Productivity” to customers, through familiar, intelligent and connected experiences. This was a key aspect highlighted today by customers such as Magma Design Automation, Ceridian Corp. and Sandri who are already benefiting from what Microsoft Dynamics CRM 2011 has to offer.

Some of the things, among others, people are excited about here include:

  • The familiar Microsoft Office 2010 user interface experience, which is adaptive by job task and role within one’s organization, helps people complete and take action on work activities with ease.
  • Enhanced collaboration across workgroups and teams as Microsoft Dynamics CRM 2011 provides users with more effective team management and collaboration through shared data access and SharePoint Workspace for collaborating on work activities and documents.
  • Real-time business and personal dashboards that allow each user to quickly create visual and immersive business intelligence dashboards to help envision their work activities.
  • And especially for developers, deep configuration and customization with full .NET development in Windows Azure that provides rich customization and integration for business applications.

The excitement for Microsoft Dynamics CRM 2011 just continues to grow amongst customers, partners and the overall CRM community. In the upcoming months, expect the Microsoft Dynamics CRM team to host virtual and in-person launch events around the world as they introduce the new product features and functionality. The first event kicks-off at 9:00 AM Pacific Time on January 20, 2011, and you can register to attend this and other scheduled events at: http://crm.dynamics.com/2011launch/. To experience the new online service, register for a free trial at http://crm.dynamics.com.

The full press release issued today is located here and an interview with Brad Wilson, general manager, Microsoft Dynamics Product Management Group and Craig Unger, general manager, Microsoft Dynamics Research and Development is located here.

Cheers,

Bill Patterson

Update:  Following the launch event, we had an opportunity to have a quick chat with Brad Wilson, general manager, Microsoft Dynamics CRM Product Management Group.  Hear what he had to say about the Microsoft Dynamics CRM 2011 launch in this video.
Image may be NSFW.
Clik here to view.

Microsoft Dynamics CRM 2011 Fiscal Settings and Goal Management

Microsoft Dynamics CRM 4.0 had the capability of defining the fiscal setting for an organization but there was a limitation that this could only be defined once and cannot be modified thereafter. Primarily the fiscal settings were used in CRM 4.0 to set salesperson quotas. In Microsoft Dynamics CRM 2011 the fiscal settings feature is revamped and it now provides user the capability of modifying fiscal settings multiple times. With deprecation of the Quotas in CRM 2011 Goal Management is one of the primary consumers for fiscal settings. This blog post explains how the fiscal periods for the organization can be set and how it interacts with the goal management.

How to configure the fiscal settings for organization

Fiscal settings can be configured by navigating to Settings-> Business Management -> Fiscal Year Settings. The following dialogue provides the options for setting values for fiscal start date, fiscal period type and various display formats. Note that as opposed to CRM 4.0 where the fiscal settings were absent in an organization until set, CRM 2011 defaults fiscal period to quarterly starting January 1. Also the various input options for the fiscal settings are now context dependent which prevents user from entering conflicting values.

Image may be NSFW.
Clik here to view.
clip_image002

Fig: CRM 2011 Fiscal setting dialogue with defaulted values

Following are the various fields required for organization fiscal settings:

  • Start Date: When the fiscal year is going to start from. This date typically would mark the start of the financial year in sales organization.
  • Fiscal Period Template: What is the fiscal period type? Possible options are Annually, Semiannually, Quarterly, Monthly, 4- Week period. Once the start date and period type is defined the system can calculate the start and end dates of fiscal periods for various fiscal years.

Fiscal Display options help user to define the display format for various fiscal settings. For example consider the following monthly fiscal settings with Start Date as April 10. Note that we have selected the “Name Based on” value to “End Date” and “Fiscal Period” drop down has the options specific to Monthly fiscal period template.

Image may be NSFW.
Clik here to view.
clip_image004

Fig: Fiscal dialogue having Monthly fiscal period starting 10th April.

Goals and Fiscal settings

Fiscal periods are tied closely to goal management. Sales people usually have the quarterly sales targets, Customer service representatives need to achieve their goals for the case resolutions and so on. When the new Goal form is launched, Goal is defaulted to the current fiscal period automatically. Because for current fiscal period there are fixed start and end dates, the goal start and end dates are also displayed in read only mode.

For example if we have the monthly fiscal settings are per the fig above and user clicks new goal form, following fiscal values are defaulted on goal form (on 31 Dec 2010)

Image may be NSFW.
Clik here to view.
clip_image006

Fig: New goal form defaulting dates to current fiscal period.

FiscalPeriod: December (Based on fiscal period display value “Month Name”)

FiscalYear: FY2011(Based on Prefix:FY, YearFormat:YYYY, NameBasedOn:EndDate(on 31 Dec 2010))

From (Goal Start Date): 12/10/2010 (Based on 4/10/2010 fiscal start date)

To (Goal End Date): 1/9/2010 (Based on Goal Start Date above and monthly fiscal period type)

Updating Fiscal settings for organization

Fiscal settings in MSCRM 2011 can be updated multiple times by using the same fiscal dialogue shown above and hence provides the supports for scenarios arising from mergers/acquisitions , partnership changes, financial restructuring etc. There can be goals existing in the CRM system which are already using the old fiscal settings. To better handle situations arising from fiscal changes which can lead to data inconsistency, MSCRM goal management offers the notification and realignment mechanism. For following examples consider the goal created with fiscal settings for the current (default) fiscal period. FiscalPeriod: December, FiscalYear: FY2011, From (Goal Start Date): 12/10/2010, To (Goal End Date): 1/9/2010.

Case 1: Fiscal period template remains same but the start dates changes:

CRM system administrator moves the fiscal start date ahead by 5 days i.e. from 4/10/2010 to 4/15/2010. In this case the fiscal period template remains the same but the start date has changed. Data in the goal record still retains the old values for all fiscal and date fields. When this goal record is opened the following warning message is displayed on the goal form to notify the fiscal settings change and provides user the option to realign.

Message: “The fiscal settings of your organization have changed since the time this goal was changed. You might want to realign to the new fiscal settings. ”

Image may be NSFW.
Clik here to view.
clip_image008

Fig: Fiscal change warning when the fiscal start date is changed.

Note that the “Align with Fiscal Period” ribbon button is now enabled for this goal record. Clicking this updates the new start and end dates for the goal which is now according to the current (new) fiscal settings. Realignment is optional for the goal manager based on the business need. Note that even after realignment goal fiscal period and year still remain same as there is only the change in the date. Also the warning message is now gone.

Image may be NSFW.
Clik here to view.
clip_image010

Fig: Goal form after the realigning the fiscal period.

Case 2: Fiscal period template changes:

CRM system administrator changes the fiscal period type from monthly to quarterly (3 months). In this case also the existing data is retained as is and there is a warning message on the goal.

Message: “The fiscal settings of your organization have changed since the time this goal was changed. You might want to realign to the new fiscal settings. ”

Image may be NSFW.
Clik here to view.
clip_image012

The goal manager on seeing this warning can either choose to switch to the new quarterly fiscal settings by changing the fiscal period to quarterly as shown in the above figure. Else he can convert this goal into the custom period goal by clicking on the “Goal Period Type” radio button and can retain the goal start and end date and also get rid of the fiscal change warning.

Fiscal settings upgrade

If the fiscal settings are configured for an organization in CRM 4.0 these are retained in CRM 2011 as is, otherwise the fiscal settings are defaulted to quarterly with January 1 as the start date. Additionally the existing CRM 4.0 quotas are also upgraded to CRM 2011 but the new quotas cannot be created as these are deprecated in favor of goal management.

Thanks,

Hemant Gaur



Image may be NSFW.
Clik here to view.
Viewing all 592 articles
Browse latest View live