Use url-parameters in javascripts in CRM

I had a look at Jonas Deibe’s blog today (Jonas is the foremost CRM expert at Microsoft Sweden) and found an interesting tip I thought I’d tell you about.

He explains how to catch a url-parameter in the Javascript code, something I’d find very useful, especially if creating an integration with for instance SharePoint, since I can use this to control what is shown and what is not.

For instance, if you have a sharepoint integration with CRM where there is an IFRAME on the accounts showing the customer site in SharePoint, and the customer site shows the CRM account in an IFRAME also. It might be advisable to not show the IFRAME showing the sharepoint site, if it is shown in Sharepoint (=loop). Then you could use this technique to handle this.

It could also be used for shooting data into a CRM form from some other system. The URL-parameter could then be written to a specific field, it could even be saved and closed using the javascript command for that, in essence creating a very simple integration of data. Not very beautiful but still might be useful, since it is easy to create and very unobstrusive. Might be interesting if a program can’t consume webservices for instance.

There are certainly a million other uses for this, so enjoy!
http://blogs.msdn.com/jonasd/archive/2007/04/16/render-hidden-values-in-tester-mode-by-using-querystring-parameters.aspx

Gustaf Westerlund
CRM and SharePoint Consultant

Humandata AB
www.humandata.se

Alternate Access Mapping in SharePoint

Alternate Access mapping is a new technique used in SharePoint 3 for handling url:s when you access sharepoint from different environments, for instance, maybe you both want to be able to access your sharepoint internaly using http://sharepoint and externally using https://sharepoint.humandata.se, well, by using a good firewall the redirection is possible but the problem arises when you want searching and other url:s to work properly.

To be able to handle this properly, a function called Alternate Access Mapping is used. The SharePoint Technology Team blog discusses it further and describes how to set it up.

http://blogs.msdn.com/sharepoint/archive/2007/03/06/what-every-sharepoint-administrator-needs-to-know-about-alternate-access-mappings-part-1.aspx

http://blogs.msdn.com/sharepoint/archive/2007/03/19/what-every-sharepoint-administrator-needs-to-know-about-alternate-access-mappings-part-2-of-3.aspx

Since this is quite a normal setup, and there are certain aspects of this that are a bit complicated, like only having to log on once, we at Humandata are working on a best-practice for how to set this up properly that is based on the Microsoft best-practice. When we’re done, I’ll let you know.

Gustaf Westerlund
CRM and SharePoint Consultant

Humandata AB
www.humandata.se

New programming example of bulk import

As many of you might be aware, there are several ways to import data into CRM, mainly:
1. Using the standard import web-GUI. It can only import to a few entities like account, lead, campaign response.
2. Using the free Migration Framework. It is a bit tricky to get it going but it can handle all system entities and relations and custom attributes, but not custom entities. Skills of SQL is more or less mandatory.
3. third party products – My favorite being Import Studio Manager 2006 professional from the Danish company Crmextensions. It supports custom entities, custom fields and relations. It uses standard ODBC to connect to a datasource and the mapping and setup can be saved for future use. Very useful for frequent imports/syncs. There are also other products, like Scribe. I havn’t had the need to test them since Import Studio Manager 2006 has had all the features I needed.
4. Developing your own import program to do the gritty stuff. Without comparisson the most flexible solution but also the most timeconsuming and demanding, since it requires good skills of a .NET language like VB, C# or J#.

What Microsoft has just released is a sample of how to create you own bulk import program (using alt 4), which simplifies this a bit. Please have a look at it:
http://msdn2.microsoft.com/en-us/library/bb291036.aspx

I havn’t tried it, but I would still suggest using third party products instead.

Gustaf Westerlund
CRM and SharePoint Consultant

Humandata AB
www.humandata.se

Nice movie showing some of CRM Live

I was reading around the CRM blogs a bit and looked in on Jonas Deibe who had a posting linking to a nice move about CRM Live. Here is the link to that movie: http://channel9.msdn.com/Showpost.aspx?postid=297916

Some of the marketing guys in Redmond (technical people) are talkning and showing some of the CRM Live functionality. To make a long story short, some of the more interesting things they talked about and that could be seen in the movie are:

– Ability to “Download web service description files” into CRM. It is done from the menu where you can select import/export customizations, so I am a bit curious of what it actually means and to what degree they have created automation for web service integration.

– According to them, Windows Workflow Foundation is the workflow engine for the new version (Titan) of CRM.

– I am still a bit confused if CRM Live, that will be launched in the second half of 2007, is the CRM Titan or if it is a Suped-up version of CRM 3 and that Titan will be something more. I will get back on this. I think that it might acctually be Titan, but I am not sure, and I have not read anything definitive on the question (as far as I remember anyway)

– The Titan version will have three deployment scenarios; normal, Service Provider Edition and Live.

– According to the movie, a customization created for one deployment will work for all deployment scenarios. This is probably true for customizations created using the GUI but my experience of working with CRM 3 SPE tells me there might be differences concerning dll-versions of for instance callout-base. Hence, you might have to have different compilations of your ISV solution for each deployment. We will see later how this develops.

– It is also a bit unclear on how callout and workflow dll:s should be deployed to the Live system it the callout and workflow dll-extending functionality will still be supported in Titan. I would imagine that Microsoft Live IT-people, might be a bit restrictive to letting people run their own dll:s on their servers.

– Concerning security, the normal version of CRM will still use NTLM, the SPE edition will use Forms based authenticatio (cookie) and Live will use “Live ID” which is the new name for Microsoft Passport, I believe. When consuming web services from CRM today, there is a difference between the two versions (normal and SPE) in how you authenticate yourself to the service. Since the three are based on different security architectures, I would imagine that you would have to write three different securtiy handlers to make your ISV-solution transparent to the deployment version.

– The long awaited offline API will be released making customizations of the offline experience possible in more manners than changing the GUI and creating non-AJAX javascripts. This is great news! 🙂

– In the movie they are talking about the possibility to download a trial version and a VPC. I acctually think this is CRM 3 not the Titan version they are talking about. Please correct me if I am wrong.

– In general, CRM Live looks quite a lot like CRM 3 but I am curious to how the deployment of callout and workflow dll:s will be handled.

Please let me know if you have an more info, I will always write who has given me the info (if you want to of course).

Gustaf Westerlund
CRM and SharePoint Consultant

Humandata AB
www.humandata.se

Ease the trouble of developing callouts

Developing callouts is tiresome, you have to do stop the IIS before each compilation, start it up right after and then CRM has to be just-in-time compiled by IIS, each time. As most of you who have done callout development, this is a nag and takes a lot of time. Stunware has released one way of handling this, which is good when doing large scale callouts, but for smaller callout development it has a bit of a overhead.

Microsoft Swedens CRM expert, Jonas Deibe, has written a posting on his blog concerning how to recycle the application pools instead of resetting the IIS, which means that CRM doesn’t have to be compiled just-in-time each time, saving you lots of hair, and time.

So, have a look at his posting: http://blogs.msdn.com/jonasd/archive/2007/03/28/use-build-events-to-recycle-application-pool-instead-of-iisreset.aspx

Gustaf Westerlund
CRM and SharePoint Consultant

Humandata AB
www.humandata.se