CRM and jQuery, Part 1

Posted on March 10, 2008 03:04 by George Doubinski

My biggest grievance about client-side development in CRM is that it mandates this vicious  "write some script-paste to form-publish-receive a bomb-review-sprinkle alerts-tweak the code-publish-receive an error-write some script-..." cycle. Verbose, lengthy, difficult to develop, difficult to debug. I do not like developing in Javascript.

Correction.

I did not like developing in Javascript until I discovered jQuery. There is certainly a number of Javascript libraries available with Prototype and jQuery leading the pack. Choosing between the two is not unlike C# vs. VB or Peach vs. Grapefruit. I see the main distinctive feature of either library not so much as a neat and concise code but as the ability to express Programmer Intent extremely well (incidentally, this post uses Ruby as an example; combined with the fact that Ruby on Rails is a driving force behind Prototype, it all starts to make sense). And while Prototype does a fantastic job in encouraging OOP and has a spectacular Script.aculo.us effects library, jQuery won me over with its size, documentation, elegant syntax and method chaining.

What can it do? Well, how about planets revolving around the Sun. Convinced? Read good introduction to jQuery for Javascript programmers and let's move on. More...

Currently rated 4.6 by 14 people

  • Currently 4.642858/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Everyone agrees that Microsoft CRM integration with maps is very attractive. And there are ways to do it with either Live Maps or MapPoint or Google maps. However, as John O'Donnell mentioned in comments:

Virtual Earth is free for development purposes but will require licensing for production systems.

While the statement is not, strictly speaking, correct (production system != commercial), both Microsoft and Google place non-commercial use restriction on their free services.

From Virtual Earth™ Platform API Terms of Use, non-commercial use section:

Your Application and content in your Application must be available publicly without restriction (for example, login or password must not be required).

Google Maps API Terms of Service is a bit more vague but still:

The API may be used only for services that are generally accessible to consumers without charge. Accordingly, You may not use the API for any service that requires a subscription or other restricted access, or for which a fee is charged.

User access to Microsoft CRM is restricted and does require a login so using either mapping service in your CRM deployment without appropriate licensing is in violation of respective terms and conditions. Commercial licensing is available from both Virtual Earth and Google Maps but, as with any product where pricing information is not publicly available, do not expect it to be cheap. Do the right thing and advise your customers that, while there may be a plethora of free lunches available, commercial use of mapping services ain't one of them.

Currently rated 2.0 by 3 people

  • Currently 2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Recurrent workflow in CRM 3

Posted on February 20, 2008 16:56 by George Doubinski

From time to time a question comes up in the newsgroups how to create a workflow rule that follows some recurrent pattern. For example, just yesterday surfbluedog (not her real name) asked:

The rule needs to wait for a 6 week period from the oncreate date. This sounds pretty simple. Well during this 6 week period, 2 messages (activities) need to be sent out...

... the messages need to be sent out twice daily throughout the 6 week period.

As a word is worth 1/1000th of a picture, I've decided to create an illustrated guide on how to complete the challenge. In this example we are going to create a rule for account entity that, after an account is created, will send a message on a daily basis until the deadline.

First of all, workflow in Microsoft CRM 3 does not have a concept of looping flow control statements in any shape or form. To create a recurrent pattern we need to use a manual rule that calls itself as the last step of execution (with some conditions, of course, to stop it from looping indefinitely). More...

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Exporting CRM records as vCards

Posted on February 11, 2008 17:20 by George Doubinski

"I want to be able to open a record in CRM, push the button and import the information as a contact into Outlook. Then, after synchronising with my PDA, I'll have this contact card available while on the road."

That was, in a nutshell, the requirement from one of the CRM users.  This particular CRM deployment contained over 10,000 account and contact records imported from the industry database and taking them all offline would have been a challenge not to mention impractical. After some brainstorming the following alternatives emerged:

  • Offline CRM client synchronising a subset of records. Apart from the fact that user did not have a laptop with them all the time, process of adding a selected individual account/contact would have become quite complicated. We could have built a view selecting accounts/contacts based on some criteria, e.g. custom flag  and then ask user to check this flag for the selected record and then go offline. Cumbersome and would not work that well when user was on the road.
  • CRM 3.0 Mobile. Same issues as above. In addition user wanted the records to be on both laptop and PDA.
  • CRM Mobile Express. Perhaps that would have worked if user had a reliable phone reception everywhere they went. Unfortunately, due to the nature of their business quite often they ended up in places which fall into unlucky 2% of Australian population without reliable mobile coverage. If anyone thinks that satellite phone is an option, just wait until your first bill.
  • Export/import facility. Outlook has ability to import contact information from vCards so all we have to do is to export CRM information as a vCard. Now we were cooking...

More...

Currently rated 4.0 by 9 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Poor man mail merge

Posted on January 18, 2008 12:33 by George Doubinski

Some CRM projects are small and people, small business owners in particular,  are very cautious about the costs. In one of our CRM 3 projects, all the customer wanted was customised quote and order documents, nothing more nothing less. While installed templates are available for customisation, the most common complaint in the newsgroups is inability to add new attributes to the data. With GST legislation in place in Australia, we had to have additional attributes for the quotes and orders to look professional and be legitimate documents at the same time.

CRM 4 seems to resolve the issue, however, there is no simple alternative for CRM 3. If you need a full blown custom mail merge system, look no further than mscrm-addon.com WordMailMerge product. If you're already running Office 2007, Michael Höhne, the unofficial Microsoft CRM "da man", is offering soon-to-be-released document generator based on OpenXML format.

We could not help but wonder how come that Microsoft Excel could consume all possible permutations of filtered views while Microsoft Word remained confined to brain-damaged out-of-the box templates. The plan was simple: control Word through the javascript, create mail merge object, connect it to the data source, run some select statement based on filtered views then merge the data using a template. I knew there were some obstacles to overcome I just did not realise that there will be so many. More...

Currently rated 3.9 by 10 people

  • Currently 3.9/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5