Getting Started with CRM Mobile Express

On January 4, 2012, in CRM 2011, Dynamics CRM, Mobile, by Mitch Milam

In case you didn't know, Dynamics CRM 2011 has a basic mobile web site built into the product. You access the mobile site by adding /m to your CRM URL, like this:

http://crm2011/contoso/m

Which will produce a web page that looks like this:

image

Here is what a view looks like:

image

and finally, record detail:

image

Now that we've seen it work, let's look at how to make it work.

Configuring the Mobile Experience

Configuring Dynamics CRM 2011 for mobile use is a multi-step process, which is as follows:

Step 1: Enable mobile support for the Entity

The first step is to actually enable mobile support at the Entity level, which you accomplish by checking the Mobile Express checkbox on the Entity's information page:

image

Click the Save button to record your changes.

Step 2: Update the Mobile form

Dynamics CRM 2011 includes a mobile form, as you can see from the Forms view:

image

Double-click the Mobile Information form to open it in the form editor.

image

If you are familiar with the normal CRM form editor you will notice that this is not it.  Actually, you really can't do much with the form besides select what fields will be displayed.

This is accomplished by adding or removing fields from the Selected Attributes list on the right side of the dialog.

Like other CRM forms, you can assign roles to the form to show this only to certain types of people, if you wish.

Step 3: Publish your changes

After you have finished editing the mobile form, publish the Entity and your changes will be available to users.

Conclusion

That is about it for Mobile Express. It provides basic HTML-level access to CRM data through just about any mobile device. 

However, should you need offline capabilities or a richer user experience, you might try a solution from a third-party vendor such as CWR Mobility, among others.

Tagged with:  

Vulnerabilities in .NET Framework Could Allow Elevation of Privilege (2638420)

Microsoft has release a fix for a security vulnerability identified at a security conference yesterday.  Since Microsoft Dynamics CRM is an ASP.NET application, any servers running CRM could be affected.

Here is a summary of the issue from the above site. Please review Microsoft's recommendations and formulate a plan of action that makes sense for your organization.

 

General Information
Executive Summary

This security update resolves one publicly disclosed vulnerability and three privately reported vulnerabilities in Microsoft .NET Framework. The most severe of these vulnerabilities could allow elevation of privilege if an unauthenticated attacker sends a specially crafted web request to the target site. An attacker who successfully exploited this vulnerability could take any action in the context of an existing account on the ASP.NET site, including executing arbitrary commands. In order to exploit this vulnerability, an attacker must be able to register an account on the ASP.NET site, and must know an existing user name.

This security update is rated Critical for Microsoft .NET Framework 1.1 Service Pack 1, Microsoft .NET Framework 2.0 Service Pack 2, Microsoft .NET Framework 3.5 Service Pack 1, Microsoft .NET Framework 3.5.1, and Microsoft .NET Framework 4 on all supported editions of Microsoft Windows. For more information, see the subsection, Affected and Non-Affected Software, in this section.

The security update addresses the vulnerabilities by correcting how the .NET Framework handles specially crafted requests, and how the ASP.NET Framework authenticates users and handles cached content. For more information about the vulnerabilities, see the Frequently Asked Questions (FAQ) subsection for the specific vulnerability entry under the next section, Vulnerability Information.

This security update also addresses the vulnerability first described in Microsoft Security Advisory 2659883.

Recommendation. The majority of customers have automatic updating enabled and will not need to take any action because this security update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

For administrators and enterprise installations, or end users who want to install this security update manually, Microsoft recommends that customers consider applying the security update using update management software, or by checking for updates using the Microsoft Update service.

See also the section, Detection and Deployment Tools and Guidance, later in this bulletin.

Known Issues. Microsoft Knowledge Base Article 2638420 documents the currently known issues that customers may experience when installing this security update. The article also documents recommended solutions for these issues.

Tagged with:  

Ribbons and Entities

On December 26, 2011, in CRM 2011, Customization, Dynamics CRM, by Mitch Milam

When customizing the ribbon of an Entity, it is important to note that the ribbon is part of the Entity itself, not the Application Ribbon.

This means that if you are creating a solution, you only have to include the Entity component, not the Application Ribbon component.

Tagged with:  

Export JavaScript Utility Updated

On December 22, 2011, in CRM 2011, Customization, Dynamics CRM, by Mitch Milam

I've updated my Export JavaScript for CRM 2011 to fixe a small bug related to the naming conventions of web resources. This cause the JavaScript not to be exported.

You can download the update from the Free Utilities page:

http://blogs.infinite-x.net/free-utilities

See this post for more detail about the process.

Tagged with:  

This week I learned, again, the importance of including the SiteMap in a custom solution.

If you do not add the SiteMap to your solution, and you've specified that custom entities be displayed within it, then CRM will not be instructed to modify the SiteMap to when the Solution is imported and your custom entity will not be displayed as you expect.

Tagged with:  

You can customize the CRM 2011 Ribbon to add additional functionality via buttons, for example.

When you add such a button, you use Web Resources to identify things such as icons and JavaScript functions, like this:

$webresource:new_CloneRecord.js

$webresource:new_CloneRecord32x32

It important to remember that any Web Resources referenced by the Ribbon exist ( added to CRM and published ) before you import your customized Ribbon XML.

If not, then you'll receive an exception and the import will fail.

The exception will probably look something like this:

Exception: FaultException`1
Message: The ribbon item 'MitchMilam.Form.account.MainTab.Save.CloneRecord' is dependent on Web resource id='new_CloneRecord32x322'.
StackTrace:
Server stack trace:
   at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Microsoft.Xrm.Sdk.IOrganizationService.Execute(OrganizationRequest request)
   at Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.ExecuteCore(OrganizationRequest request)
   at Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.Execute(OrganizationRequest request)
   at VisualRibbonEditor.ServiceWrapper.ExecuteAsync(OrganizationRequest request, Action`1 callback)
   at VisualRibbonEditor.Solution.<>c__DisplayClassa.<Save>b__6(Object sender, DoWorkEventArgs e)

Tagged with:  

I just realized that unlike other number fields, the default minimum value for the currency field type is 0:

image

While it may not apply to all situations, it is probably that the user may need to enter in a negative number so this value must be replaced, with a relevant negative limit. Otherwise, the user will not be allowed to enter a negative amount.

Tagged with:  

I noticed something rather interesting regarding the way CRM 2011 handles the OnChange event for a Two Option ( or bit field in CRM 4.0 terminology ).

Bit fields can be displayed in one of the following styles:

Radio Buttons

image

Note: This is the default configuration.

Checkbox

image

List

image

 

The OnChange Event

The normal CRM OnChange Event is fired when a person makes a change to a form field then leaves the field ( using either the tab key or the mouse ).  The Two Options fields in CRM 2011 seem to function differently, depending on how the field is formatted on the screen:

Format OnChange Action
Radio Buttons The OnChange event is fired immediately upon making the radio button selection.
Checkbox The OnChange event is not fired until focus leaves the control.
List The OnChange event is fired immediately upon making the radio button selection.

 

Understanding this action is important because sometimes you need to alter the layout of the form ( hiding or showing items ) based on the setting of a Two Option field.  AND, you don't want the user to have to leave the field to make that change appear. ( that is a very awkward series of actions for a user ).

That means that in most cases, you want to use either the Radio Button format or the List format for a Two Option field so that you get that immediate feedback to the user.

Tagged with:  

Dynamics CRM 2011 introduced us to Solutions, which are self-contained packages of components, customize CRM 2011 to add specific features and/or entities.

Like the exported customizations in CRM 4.0, a solution file is a ZIP file, but it can contain a variety of information.  Here is a sample of the contents:

Files:

  • [Content_Types].xml
  • customizations.xml
  • solution.xml

Note: The Solution may also contain additional folders containing specific types of files, such as for Workflows, Plugin Assemblies, or Web Resources.

 

[Content_Types].xml

This contains an XML package describing the files contained within the Solution ZIP file.

Here is an sample of a solution containing:

  • Customizations (xml)
  • Plugins (dll)
  • Workflows (xaml)
<?xml version="1.0" encoding="utf-8"?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
  <Default Extension="xml" ContentType="application/octet-stream" />
  <Default Extension="xaml" ContentType="application/octet-stream" />
  <Default Extension="dll" ContentType="application/octet-stream" />
</Types>

 

customizations.xml

This is the standard CRM customization file which is exactly like that of CRM 4.0, but with slightly different contents. Anything required to create a CRM Entity, field, or relationship between those objects, will be found in this file.

 

solution.xml

This file contains information specific to the solution itself and may include the following:

  • Solution name and description information
  • Publisher information
  • Components that make up the solution
  • Any missing dependencies that are required to successfully make the components function

Note: If you have ANY missing dependencies, the Solution will NOT be imported, since the probability of it functioning properly without those missing components is low.

When you Export a Solution, you will receive a notification of required components are missing from the Solution. It is at that time, that those components should be added to the Solution to ensure that it can properly be Imported into another system.

Well, that's about it for today.  If you have further questions or comments on Solution files, just leave a comment.

Tagged with:  

CRM 2011 SDK Version 5.0.8 Released

On December 1, 2011, in CRM 2011, Dynamics CRM, by Mitch Milam

Microsoft Dynamics CRM SDK Version 5.0.8 is now live on MSDN library. We are experiencing some technical difficulties with the download but it will be available tomorrow on MSDN downloads. The following is a summary of what you’ll find in this release:

The next SDK update is scheduled for January. Send Feedback

Tagged with: