Wednesday, March 28, 2012

Release: XrmSvcToolkit v0.1 (a JavaScript Library for Microsoft Dynamics CRM 2011)

I am happy to announce the availability of XrmSvcToolkit v0.1, an upgraded version of CRM Web Service Toolkit, which now works with Microsoft Dynamics CRM 2011 by using the latest SOAP and REST endpoints.

The following functionalities are currently supported by the toolkit for SOAP and REST endpoints.
  • createRecord (REST)
  • updateRecord (REST)
  • deleteRecord  (REST)
  • retrieve  (REST)
  • retrieveMultiple  (REST)
  • associate  (REST)
  • disassociate  (REST)
  • setState (SOAP)
  • fetch (SOAP)
  • execute (SOAP)
There is a dependency of the toolkit, which is the JSON library that has been included in the downloadable solutions on codeplex website. The signature of all functions have been changed from previous version, so it may take a little effort to get used to. But if you have ever worked with jQuery, the interface may sound familiar to you. Hope you like the change.

To get started with the toolkit, you can import the solution files from codeplex website, or upload the provided JS files as web resources to CRM. Then you can add the library to your form so that you can consume it in your form script. Include both json2 and xrmservictoolkit in your form library, and make sure to have json2 before the toolkit. 

Where is the documentation?

As a matter of fact, I haven't invested much time writing the documentation of the toolkit. My fellow CRM MVP Mitch Milam is working on writing documentation for the toolkit in his secret upcoming project. I am counting on him.

In the meantime, you can check sample code in the accompanied unit test file (XrmSvcToolkitTest.aspx), which illustrate the typical scenarios how the toolkit can be used. 

Some Final Notes

I would like to apologize for the wait of the community for a new version of the toolkit, the primary reason is that I was late to the CRM 2011 party, and the new service interface was quite a challenge for me to have a level of confidence to get into the implementation of an upgrade.

One thing that I should point out is, after I have finished all the coding of the toolkit the other day (Feb 22, I believe), I was preparing for the release, so I started to create a new project on codeplex. I first picked a name of xrmservicetoolkit, but immediately realized that the project name had already been taken. What I noticed was that another community member (jaimieji) had already published an open source project using this name, which was doing something very similar. I had a look of the source code, it was a pretty good quality implementation. You may want to have a look of his implementation, as he has provided more functionalities than mine.

Also, Daniel René Thul has his implementation as well. His implementation is interesting and is based on jQuery, which you may want to check out as well.
I have been holding the release of the toolkit for about a month, until Codeplex sent me a final threatening email today that my project will be deleted from their system if I don't publish the project today.

Also, it should be noted, my implementation is not feature-rich enough to satisfy all your development needs. But I hope it can be used as a starting point or reference for your project engagement, and it should not be hard to add new features to the toolkit.

Since CRM R8 is going to be a cross-browser version according to Microsoft public announcement recently, there is some work to be done in order to support different browsers. Hopefully I am not occupied at the time so that I can provide an upgrade swiftly. 

Friday, March 23, 2012

Release: Service Pack 2 of SSIS Integration Toolkit for Microsoft Dynamics CRM


Today, we are happy to announce that the second service pack of SSIS Integration Toolkit is now available for download. The release includes the following updates and fixes.
  • Update: We added a few social buttons to the Connection Manager Editor interface, including an email button, to make it easy for you to reach us
  • Update: We added an icon to the head cell of CRM Destination Component's grid, when Upsert action is selected, and Manually Specify option is chosen as Upsert Matching Criteria. This provides an indication of the column's importance (Thanks Scott for the advice)
  • Update: We disabled the ability to change CRM Connection Manager's service endpoint after it has been created. The reason is, different service endpoint has incompatible metadata. Making change to service endpoint often causes problems to the CRM Source Component or CRM Destination Component that uses the connection manager
  • Update: There is a small change to the License Manager program, so that it now prompts you to save the requested (or activated) license to a file if the attempt of saving the license to Windows registry fails because of insufficient privileges on the system. This gives you the possibility to later install the license file using a different user account in the system
  • Fixed: You might experience the following error message in some environment when you are using SOAP 2011 service endpoint for CRM Source component. "System.ServiceModel.FaultException`1[KingswaySoft.DynamicsCrmServices.Soap2011.CrmOrganizationService.OrganizationServiceFault]: Paging cookie is required when trying to retrieve a set of records on any high pages. (Fault Detail is equal to KingswaySoft.DynamicsCrmServices.Soap2011.CrmOrganizationService.OrganizationServiceFault)." (Thanks to Myles for reporting this issue)
  • Fixed: You might experience the following error message when you are using "Manually Specify" option for Upsert action, with a complex type field (i.e. lookup) selected as the matching field. "There was an error while trying to serialize parameter http://schemas.microsoft.com/xrm/2011/Contracts/Services:query. The InnerException message was 'Type 'KingswaySoft.DynamicsCrmServices.Soap2011.CrmOrganizationService.EntityReference' with data contract name 'EntityReference:http://schemas.microsoft.com/xrm/2011/Contracts' is not expected. Add any types not known statically to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding them to the list of known types passed to DataContractSerializer.'.  Please see InnerException for more details." (Thanks to Jean for reporting this issue)
A new build is now available for download at our product download page.

In order to install the new build, you will need to uninstall the previous version first.

Thank you for reading. 

Wednesday, March 21, 2012

Quick Summary: Microsoft Convergence 2012, Day 4

It's the final day of the event.
Richard Knudson has a nice blog post which summarized the the following four important things from the event. 
  • Big data
  • Cloud
  • Social
  • CRM Anywhere
Richard mentioned that he will host a webinar on Wednesday April 4 to share some more details about the event.

Before we conclude the post, here are three more notes from myself. 
  • Metro and Windows 8 will have some big impacts on the future changes of Microsoft Dynamics CRM platform from user experience perspective. 
  • We might have a robust database engine that is big data ready, but CRM is not really there yet, which is a challenge ahead of us, in my humble opinion. 
  • Another thing that you should watch out is, we all know that we are going to have the cross-browser support in R8. What this brings to us is, we need to write JavaScript code that works for different browsers.  This is not an issue if we only use SDK API, however there are always cases that we need to do a little magic which is not achievable using the SDK API. This is where your talent comes into play.  
This concludes my notes of the event. It was definitely a fascinating event even I was not at the scene. I look forward to being there myself next year. 

Tuesday, March 20, 2012

Quick Summary: Microsoft Convergence 2012, Day 3

It's the third day of Convergence 2012, the event went to its way for more technical details. It might be a pouring weather there, so are the sessions.
The event wraps up tomorrow with a number of technical sessions on their way. 

Monday, March 19, 2012

Quick Summary: Microsoft Convergence 2012, Day 2

Although I am not at the scene, I can smell all the heats, passions at Microsoft Convergence 2012 in Houston, Texas.

In case, you are in the same situation as me that you weren't able to make to the event, here's some fresh juice for you to taste what the event looks like on its second day, which I think is the actual beginning of the show.
  1. Microsoft Dynamics CRM has been mentioned more times than any other Dynamics products in the key note delivered by Kirill Tatarinov (President, Microsoft Business Solutions Division) and Kevin Turner (Chief Operating Officer, Microsoft). 
  2. A lot of details of the upcoming Dynamics CRM R8 release have been revealed in the Microsoft Dynamics CRM key note session delivered by Dennis Michalis (General Manager, Microsoft Dynamics CRM), Craig Dewar (Director - Product Management, Microsoft Dynamics CRM), including cross-browser support, mobile client, social enhancements, SQL Server 2012 support, snapshot of data, Office 365 integration, etc.
  3. There was a demo of upcoming Dynamics CRM metro-style interface, it is very impressive. I suspect that this is not coming with R8, it is most likely something for R9, which is scheduled for the second half of this year (Novemberish). 
  4. A LinkedIn connector/solution for Microsoft Dynamics CRM was announced today, and is coming next week
  5. Microsoft Dynamics CRM Online and Office 365 provides better value together by offering streamlined business process, and integrated user experience, etc.
  6. Snapshot of data could be something very beneficial to CRM online customer. 
  7. There were two analytics sessions for Microsoft Dynamics CRM today which demonstrated some advanced scenarios of business intelligence development for Microsoft Dynamics CRM. 
The list is based on the twits that I read from twitter, which was composed based on my interpretation and speculation, I make no warranties of any kind for the accuracies of the information. Also it is very possible that I could have missed something important in the list, please do let me know if so.

Tomorrow, there are some great sessions coming, including a few sessions that focus on integration, which you shouldn't miss if you are a technical person. If you are more business-focused, you will find a lot of sessions that specifically talk about how you leverage Microsoft Dynamics CRM platform to realize your business values through sales, marketing and service automation.

Monday, March 05, 2012

Release: First Service Pack of SSIS Integration Toolkit

Following our release of SSIS Integration Toolkit for Microsoft Dynamics CRM, we have received a warm welcome by the community. Thanks everyone.

Today, we have released our first service pack for the toolkit which includes the following bug fixes.
  • Fixed: CRM destination component throws error when writing data to currency fields, if SOAP 2011 endpoint is used (Thanks Les for reporting this issue)
  • Fixed: When CRM Source Component Editor is re-opened, the SSIS metadata of CRM fields are always repopulated. If you click OK to dismiss the window without making any changes to the source component, it invalidates the mappings for all the downstream components
  • Fixed: CRM destination component does not handle writing activityparty fields properly for SOAP 2011 endpoint
  • Fixed: You might experience expired token error if your data flow task runs for hours, when SOAP 2011 endpoint is used for CRM Online or IFD deployment
A new build is now available for download at our product download page.

In order to install the new build, you will need to uninstall the previous version first.

Thanks for reading.