Packaging plugins

Posted on February 22, 2008 04:09 by George Doubinski

You spent years polishing your algorithm, moving bytes around, replacing strings with StringBuilders, extracting every last bit of performance from your code. The assembly Acme.CoolTools.dll is into its' 3rd major version, competitors are begging for mercy. Life is good. Then Microsoft CRM 4 comes along with its' beastly architecture wanting plug-ins to be deployed in a database. And offline CRM clients, clutching a copy of Reflector all want your dazzling assembly as well.

Perhaps you simply wanted to avoid GAC, which Chris Sells knew to be evil back in 2004. Or may be you just felt that instead of being sucked into assembly hell you would rather distribute one and only one assembly.

Whatever the real reason might be, today's challenge is to write a Microsoft CRM 4 plug-in that uses classes and methods from other assemblies; then package it all into one blob that can be deployed and distributed as required. In fact, it was the challenge from one of our customers as well as from the newsgroups (speaking of good timing!). More...

Currently rated 4.5 by 6 people

  • Currently 4.5/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

Filtering lookup data in CRM 4

Posted on February 16, 2008 04:11 by George Doubinski

Now we all know that when Microsoft says "unsupported" they always sometimes mean business. Take, for example, popular CRM 3 customisation to filter lookup field data that used to work well. Until version 4, that is. Not all is lost, however, because no thanks to me but to Adi Katz, now there is new unsupported way to make it work in CRM 4 as well.

For example, to make primary contact lookup for an account record to show contacts from this account only, the following customizations are required:

More...

Currently rated 4.5 by 54 people

  • Currently 4.481478/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

CRM 4.0 Deployment SDK

Posted on January 23, 2008 11:23 by George Doubinski

Microsoft has just made Microsoft Dynamics CRM 4.0 Deployment SDK available for download. As the case with all other CRM SDKs, it only contains documentation for the deployment web service but most certainly covers the gaps left by SDK in the provisioning department.

The Deployment SDK presents information to help you write code using the Deployment Web service (Deployment Service).

You can create solutions to do the following:

  • Manipulate the Microsoft Dynamics CRM Organization entity to create and manage organizations.
  • Retrieve and view Microsoft Dynamics CRM license type information for a deployment.

Microsoft Dynamics CRM 4.0 can host multiple organizations on a single CRM server. The Deployment SDK provides a way to programmatically manage these organizations using the Microsoft Dynamics CRM Deployment Manager and the Microsoft Management Console (MMC) snap-in.

Limitations:

There are two types of Microsoft Dynamics CRM deployment entities: Organization and Server. The Deployment SDK provides programmatic access for manipulating the Organization entity. It does not currently enable you to write code against the Server entity for actions such as enabling and disabling a Microsoft Dynamics CRM server.

Also, the Deployment SDK also does not provide methods for creating users or teams. For information about manipulating User and Team entities, refer to the Microsoft Dynamics CRM 4.0 SDK.

Source: Microsoft Dynamics CRM 4.0 Deployment SDK

Currently rated 4.3 by 4 people

  • Currently 4.25/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

Hello, CRM

Posted on January 16, 2008 13:16 by George Doubinski

As unassuming title of this blog suggests, it's all about Microsoft Dynamics CRM I spend most of my professional life working with these days. Occasionally I'll be crossing to some neighbouring technologies, Sharepoint in particular.

I've been putting off blogging for quite some time and seem to have reached the point where my OneNote pages are overflowing with seemingly cool ideas CRM community remains blissfully unaware of. Stay tuned as I'll be trying to flush content of my brain trust over the next few weeks.

So, without further ado: welcome to Georged™ blog. 

Currently rated 2.0 by 1 people

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