Today Microsoft announced that the UR 12 server bits have been re-released. The community has been eagerly awaiting these updated components and this is exciting news with some of the new features and bug fixes that UR 12 brings with it
However, we typically tell our clients to wait awhile until the latest UR is blessed by the MSCRM community before being the first one to install it. Unless there’s a specific defect that requires you to install the UR immediately, we recommend waiting before installing. Even then, if you’re going to install, install it in a development or test environment first before moving to your production environment.
To download UR 12 go to Microsoft’s download site here. It’s interesting to note that all components show a v2 next to them even though the server bits were the only troublesome bits that were previously removed.
UR 12 will have some components of Polaris (December Update 2012) namely the multi-browser support and bulk data API. The rest of the Polaris features that CRM Online users are receiving will be available in Orion which should come in Summer 2013 timeframe.
If you’re interested in how to restrict certain browsers from accessing your CRM organization (as many clients have corporate browsers they want to support), my colleague Blake Scarlavai wrote up a good blog post on how to do just such a thing. You can find that post here.
Each year we vote on a charity to support financially, and this year's winner is Room to Read. Room to Read runs 4 programs to support the educational needs in developing nations and rural communities. Through all of the work they do, Room to Read has:
Established over 14,600 libraries
Published 723 original local language children's books in 21 languages
Distributed over 12 million books
Supported education for over 19,622 girls
Here's one of their uplifting videos to give you an idea of the impact we can all have together:
In total, 7,815,000 children have benefited from Room to Read's wonderful efforts since 2000. If you're interested in joining our efforts to improve education for children around the world, you can donate right here on their website.
I took to the latest CRM 2011 SDK to see for myself how much the new ExecuteMultipleRequest actually improves performance. It is indeed a huge optimization especially when loading thousands of records into your CRM environment.
For my test, I am creating 500 records using only CreateRequests and another test creating 500 records with one ExecuteMultipleRequest. I am also using CRM Online for this test and I used the CRM Online diag tool (https://orgurl/tools/diagnostics/diag.aspx) to find my latency to be 61ms.
Here is the first test. A method that loops 500 times, executing the CreateRequest for each loop.
Now for the next test. A method that loops 500 times creating a CreateRequest for each loop but only adding them to the Requests collection of the ExecuteMultipleRequest, which gets executed at the end of the method.
Then I used Stopwatch to display the time elapsed for each test.
As you can see below, the ExecuteMultipleRequest is a huge performance increase for CRM Online as it takes 1 minute and 31 seconds when individually creating 500 records and just 14 seconds when batching them together with the ExecuteMultipleRequest. This represents a 600% increase of performance when using ExecuteMultipleRequest! Your mileage may vary from these results, but you'll definitely see a big performance improvement no matter what...so make sure you take advantage of this right away!
For more information and examples on using the ExecuteMultipleRequest, click here.
First off, head here to download the ControlBrowserSupportForOrganization_1_0_0_0_managed.zip solution.
Next, head to your UR 12 enabled CRM organization and install the managed solution you downloaded above. To do so, go to Settings –> Solutions –> Import –> Browse to ControlBrowserSupportForOrganization_1_0_0_0_managed.zip and follow the wizard.
After the solution has finished installing, we can now configure the message that will be displayed to the non-IE users. To do so, go back to Settings and then to Customizations. Click Customize the System.
This brings up the Default Solution. Now click on Web Resources on the left and find the HTML web resource named Organization Browser Support Message.
Double-click the Organization Browser Support Message resource to open it up. You will be presented with the dialog below. Edit the highlighted tokens to change the Organization Name and Administrator Name to the respective values for your CRM organization.
Now save and publish the Organization Browser Support Message resource. Then access your CRM organization with a non-IE browser such as Google Chrome. You should be presented to a similar message as shown below:
If you have users (such as any developers) that will need to access your CRM organization in a browser other than IE, you can open up their User record in CRM and give them the “Any Browser Allowed” security role. This will enable that user to browse to your CRM organization using any supported browser.
Props again to Jim Daly for a great solution that enables an organization to not adopt multiple browsers so abruptly!
Head here for more information on the “Control Browser Support for Organization” solution.
It’s been awhile since we posted anything about Polaris and UR12 so we wanted to drop a note giving an update as to these releases as well as a product roadmap update from Microsoft.
From Microsoft CRM’s Statement of Direction that was posted in November of 2012, you can clearly see that they’re investing heavily in the following 3 areas:
Applications: Sales Force Automation, Customer Service, and Marketing Automation. It was interesting to see them mention a “new desktop agent experience” and that they’d deliver “powerful knowledge management and search capabilities.” It’ll be interesting if this means enhancing or revamping the current Knowledge Base area of CRM’s Service module as that’s been in need of a makeover. Perhaps integration directly to SharePoint?
Experiences: Focusing on extended browser support, UX enhancements, and social collaboration. We’ll see this below with more on the Polaris and UR12 Update.
Platforms: An interesting piece of this section was Microsoft' stating they’re “constantly seeking means to drive more configurability options to reduce the level of custom development and maintenance.” One of the main enhancements to CRM that I’ve heard from our clients is adding in more configurability to the application. Therefore their administrators can extend the application without having to find a solid developer to build some custom code.
It looks like Microsoft is putting their investments in the right area and it’ll be interesting to see where the product goes from here. As far as a release update, their latest product launch Polaris (December 2012 Update) is currently being rolled out to CRM Online customers, and will continue through January 2013. Most of the functionality in Polaris (detailed below) will only be available for CRM Online. However, some (like Cross Browser Support) will be available for On Prem in UR12. The rest of the exciting new features will be rolled out to CRM On Prem in mid-2013 under code name Orion which is to be followed by Leo, and then Vega (Microsoft’s releases are code-named based on star constellations).
Some of the key features that are currently being rolled out to CRM Online customers and some key points of each are as follows:
Enhanced Forms and Process Drive UI
The Process Driven UI comes with the Enhanced UX forms and is only available for specific entities (Accounts, Contacts, Opportunities, Leads, and Cases). Over time this will be broadened to other entities.
There will be predetermined stages and steps for Lead, Opportunity, and Case Management where each Stage consists of multiple Steps that should be completed prior to moving to the next Stage
While a linear progression through the Stages is recommended, it is possible to move forward and backward in a process.
The updated UX forms will be activated by default for new CRM Online customers. However, existing CRM Online users can opt in to the new updated UX forms by going to Settings –> Administration –> Product Updates and clicking Install to upgrade to the new UX forms
After you’ve installed the new updates, you can click on “Enable the new forms” to take advantage of the new UX forms.
One interesting thing I found about the Enhanced UX forms is that there’s an auto-save feature. There no longer is a Save, Save & Close, or Save & New buttons at the top of the form in the Ribbon. Heck, there isn’t even a Ribbon.
If you’re on an Enhanced UX form, you have the option to switch back to the Classic mode if you prefer that.
Also available from this menu is the ability to edit the process flow process
Clicking this button opens up the Process Control Customization Tool. From here you can Create/Edit/Delete/Move Stages and Steps as well as identify what Fields each Step should be writing to.
It’d be interesting to see if Microsoft opens up the possible Steps that are available to custom development similar to how Workflow Activities can be defined to extend the power of Workflows
Microsoft has made a big investment towards upgrading their social integration with Yammer. This integration has not yet been included in the product and should be coming out shortly
Embedded Skype Support
Users can initiate outbound calls (both to phones and Skype to Skype) directly from CRM forms and grids.
However, you currently need to install the Skype application on the user’s PC to take advantage of this. This requirement will be removed in future releases.
After you instantiate the call, CRM automatically takes you to the new Phone Call page and puts the focus into the body of the Phone Call activity so you can start typing away as you’re talking on the phone.
Simply type in the details, and click OK, and your new Phone Call is created automatically. Pretty slick and this should cut down time logging activities, and increase user adoption to capture their Phone Calls in CRM.
Outlook 2013 Integration:
Microsoft continues the tradition of tightly coupling CRM and Office Products (Word, Excel, Outlook, etc.) that most corporations use.
Outlook 2013 is being supported, but not enhanced at this time. Moving forward they’ll increase the integration features, but not at this time with the December 2013 update.
Bing Maps Integration:
This feature is only available on Leads/Contacts/Accounts with addresses.
After you enter address details on the form, the Bing Map appears directly on the CRM form.
Clicking on the map will open up Bing in another window allowing you to take full advantage of Bing Maps.
However, you can still move the map around on the form, as well as zoom in and zoom out directly from the CRM form.
Multiple Browser Support:
Originally user facing only actions were going to be available (as in Sales/Service/Marketing). However, the multiple browser support now is extended into admin functions as well.
Below is the matrix of browsers that are supported:
Our CRM Online org has been updated already to the latest release, so I was able to open it using my favorite browser of Chrome which was exciting to see and a big milestone for the product.
However, I do know some customers that will be nervous about rolling this feature out especially if they have corporate policies to use specific browsers. Here’s a post that details out how you can control which browsers your CRM deployment will support.
Multiple Instances of CRM Online:
One of the biggest advantages of Microsoft CRM On Premise is that you can host multiple organizations within the same deployment. Therefore being able to create separate isolated organizations utilizing the same hardware.
One of the biggest requests we’ve heard about from our CRM Online customers is this same need. They want to not only have a production environment, but also have a development/test environment where they can make configuration and development changes and safely test them before moving them to production.
As posted back in November of 2012, With the December 2012 update, this feature will be available. It’ll be available after all CRM Online orgs are converted to the new release which is scheduled to be complete by the end of January.
Additional good news is that you won’t have to pay additional for each user license. The cost would simply be a flat monthly cost for each instance you spin up. Therefore, your production users can be users of as many instances that you spin up and you won’t need to pay more for each user you have. Instead, you’ll just need to pay more for each instance that you create.
Custom WF Activities for CRM Online:
A big enhancement most CRM Online customers were waiting for as this closes the gap between CRM Online and CRM On Prem functionality allowing users to create their own custom code that can work in the context of a workflow.
New SDK Features:
Bulk data load API for large data sets. This allows you to create, update, and delete large volumes of records in CRM Online which greatly improves throughput and performance
As you can see from the above there’s a lot to be excited for if you’re currently a CRM Online customer, and if you’re a CRM On Premise customer, this functionality will be coming to a server near you in the near future (mid 2013) so you won’t have to wait too long to get your hands on these goodies!
This week Jim Daly announced an updated Metadata Browser for CRM 2011 that is included in the latest SDK. I had a chance to play around with it today and it is pretty slick.
A handful of UI improvements were made to the Metadata Browser which makes it a vast improvement over the previous version. First off, the Metadata Browser now works with multiple browsers (Chrome, IE 9 and 10, and Firefox). This is great timing with the upcoming enhancements to CRM which includes multiple browser support. The UI also has been updated to provide a better look and feel as shown below.
Metadata Browser UI – Initial Page
Metadata Browser UI – Browse Entity Page
The Metadata Browser now also allows the ability to filter the list of entities by properties. This enhancement will make it much easier to quickly and easily find the entities you’re interested in. In my example below, I’m filtering the entities where IsVisibleInMobile is set to true.
Which filters my list of entities down to the following 14 entities that are visible in Mobile Express.
The Metadata Browser solution now only contains three web resources which helps reduce the clutter of solution components in the target organization. This is a nice improvement as browsing your default solution is easier with fewer components.
Last but not least, the Metadata Browser is no longer added to the Site Map of the target organization so that users can install the Metadata Browser in their main development organization and not have to worry about uninstalling it before exporting their own solution that contains the Site Map. Since it is no longer added to the Site Map, the way to access the Metadata Browser is to open it from the solution’s configuration page. It can also be bookmarked for use in your favorite browser.
The Metadata Browser is a great resource to have. It’s a quick and easy way to reference your organization’s metadata and the new improvements make it even more useful. It’s isolated into one small solution that won’t affect any of your current solution components that you plan on deploying across environments. The ease to install and use, along with it providing an easy way to browse your metadata make this solution a must have. Props to Jim Daly!
CRM 2011 SDK 5.0.13 has been released and with it comes two huge improvements. The first being a brand new ExecuteMultipleRequest. This request gives developers the ability to send multiple requests to the CRM service so that the requests can be executed in order without needing to come back to the client after each request. This is a significant performance boost especially when loading thousands of records into CRM Online.
For more information on the ExecuteMultipleRequest, head here.
The next improvement is with the metadata service. Previously developers only had the option of returning a single attribute or entity metadata or retrieve all entity metadata. With the latest SDK, developers now have the same flexibility when retrieving metadata that they do when querying records. Metadata can be filtered by entity, attribute, or even by the properties of the entity or attribute and even specifying which properties are returned. For example, you can now return entity metadata for Lead and Account only or even return all entity metadata where the Ownership Type is User Owned.
For more information on the metadata service updates, head here.
The reason these methods are considered unsupported is because they are intended to only be used internally by native CRM code. There is no guarantee these functions will stay the same through the different versions of CRM, and so using them can end up introducing bugs into your code when you upgrade to a newer version of CRM.
I recently discovered some unsupported code I was using that broke when I upgraded to UR12, and I thought it was worth sharing. I had written code to open the native CRM lookup dialog window (the window that opens when you click the magnifying glass on a lookup), and then do something with the selected record. Before UR12, the lookup window would return an object with an items collection, and that items collection would contain an array of the selected records.
However, I discovered in UR12 that this modal dialog (and, as far as I know, all modal dialogs) now return a JSON string that needs to be parsed into an object. You can see from the screen shot below that the selectedRecords value is now a string (as opposed to the previous screen shot, where selectedRecords is an object). By passing the string into JSON.parse, we can convert the string into the same object that we were using pre-UR12.
Thankfully, this is one instance where updating unsupported code was a fairly simple fix. As a general rule, you should never call unsupported code unless it’s a last resort. The more unsupported code you have, the more likely it is to break when upgrading CRM versions, especially when upgrading to UR12.