Activity view default filter, missing due dates and how to modify the filter

10 comments

Posted on 23rd January 2012 by Jukka Niiranen in Annoyances |Tips

, , , , , , ,

Certain entities that contain the activity roll-up feature, namely accounts, contacts and opportunities, are also equipped with a date filter that allows you to choose whether you want to see all the activities related to the record or just a selected subset. By default this is “Next 30 days”, but you also can choose between “Overdue” or “Next 12 months”, or just go for “All”. That’s the good news.

The bad news is that this piece of helpful functionality has remained uncustomizable throughout different Dynamics CRM versions. A lot of users were annoyed with especially the same filter in the associated history view, nowadays known as Closed Activities view in CRM 2011, which used to default to “Last 30 days” and hide away all but the most recent email threads, appointments and other information that you might have been searching for. You always had to change the filter manually to “All” to uncover the historical information about the relationship with the account or contact. However, this has changed now in the latest version and “All” has become the default filter (or should I say the filter is off by default).

That’s definitely a step towards the right direction. It’s not exactly what the response on Microsoft Connect suggests, which claims that “we’ve allowed a user to change the default filter for associated views in CRM 2011″. I’ve yet run into such a setting and neither has The Great Internet, unless Google is hiding such instructions or blog posts. It would be useful to be able to configure or remove filters that the end users don’t want to deal with, without having to resort to unsupported customizations.

Open vs. closed activities

History is one thing but it’s the future actions that matter the most. Until very recently, I’d say up until Update Rollup 2 of CRM 2011 the filter functionality in the open activities associated views used to be such that the default “Next 30 days” would also show any activity that was missing a due date. By default the due dates are not a required field and sometimes they are not that practical for the CRM users, as many things in the daily life of a modern information worker don’t have strict deadlines. Also, there’s no out-of-the-box functionality in Dynamics CRM to set default values for date fields either, so setting the exact due date for every task or phone call you enter on your task list may feel too bureaucratic. An activity with a missing date should be considered as “do this as soon as you can, given all the surrounding factors”, in my personal opinion.

In the current version of Update Rollup 5 the “Filter on” value is applied in such a way that it by default hides away all activities that don’t meet the “Next 30 days” criteria. If the due date is blank, the activities won’t show under the account/contact/opportunity. This may seem quite confusing to the user, since any new activity that he or she creates for the record will appear to “vanish” into thin air after clicking “Save and close”. In the My Activities view they will still appear on the top of the list, as null values in the Due Date column are sorted on top.

What’s even more confusing is that CRM 2011 introduces two different ways for users to navigate to related activities on the account form: the familiar associated view and the new subgrid. If you’ve been reading my blog, you’ll know that subgrids ain’t exactly what associated views used to be. They don’t contain the activity roll-up feature, so you won’t see those activities that are set regarding a child record of an account (for example, opportunities) instead of the account record directly. Just like another filter, except you can’t even change it.

How to change the default filter value

There’s been numerous blog posts written on the topic of setting the filter defaults on CRM 4.0, but I was initially a bit surprised I couldn’t find a working piece of Javascript to achieve this on CRM 2011. Examples like this, this or this didn’t seem to be working for me, but luckily I ran into this post on the Microsoft Dynamics CRM German forum by Andreas Buchinger. To save you the trouble of Google Translate (well, it’s not much trouble at all when using Chrome’s built-in translation toolbar), here’s a walk through of the steps needed.

(more…)

CRM 2011 Data Import Wizard in practice

6 comments

Posted on 8th November 2011 by Jukka Niiranen in Tips

, , , ,

Data migration typically isn’t the most joyful part of a CRM implementation, but you really need to pay attention to carefully importing all the relevant customer data it if you want the users to adopt the CRM system as an integral part of their day to day activities, rather than yet another business application searching for its purpose. When implementing Microsoft Dynamics CRM, the logical place to start planning the import process is having a look at what tools are available in the application itself.

The Data Import Wizard used to be a curse word among the Dynamics CRM crowd for a long time, but you shouldn’t ignore this option right away, just because of its bad reputation. Sure, there are many limitations with the built-in tool, but it has come a long way since the previous versions. Having recently spent some hands-on time with the CRM 2011 Import Wizard, I decided to put together some of the useful links and pieces of information I discovered during the process. There’s plenty of great blog posts out there on individual data import features, but perhaps this can serve as a “getting started” tookit for planning on how to import data into Microsoft Dynamics CRM 2011.

Mapping related records based on custom ID fields

The CRM database by definition is primarily a place for storing information about how different objects relate with one another. This means you will almost always be dealing with source data that needs to reference another set of data once imported into the system. In Dynamics CRM these relationships manifest themselves as lookup fields that point from a child record to its parent.

When you are mapping the lookup fields from a child entity into a parent entity that’s already in the system, you always need to consider the possibility of duplicate values in the list of parent entities. Contact names are not unique, and neither are account names in many cases. Yes, you could import lookup references by using a CRM GUID instead of the primary field (most often the name attribute) of the parent entity, but how often would you have that available in your source data to be imported? Exactly.

The first and in my opinion the best improvement with the Import Wizard in CRM 2011 is the possibility to reference the parent entity with an alternative field. Yes, if you have a reliable unique value available in your data, such as customer number or contact email address, you’re free to use that to link your records together. Alternatively, you can construct specific import ID’s out of your data that you first import into a hidden field, then later on use that as the reference which connects your related child records into exactly the correct parent record without the risk of import row failure.

For step by step instructions, check out this blog post by MVP Leon Tribe: Changing the Lookup Reference When Importing Related Data.

Importing data for multiple entities in one go

A common format for customer data coming from non-relational systems is a flat file that contains both account and contact data on the same “table”. In these cases you will have multiple instances of the account’s information repeated on each line where there is an individual contact related to that account. You first reaction might be “oh well, guess I’ll have to split that into an accounts file and a contacts file, then remove the duplicates. Well, good news: you don’t have to anymore!

Nowadays CRM comes with a built-in data map called  ”For Generic Contact and Account Data”, which will allow you to import a file that has data intended for both account and contact records. First of all, you can map some of the source fields into both the target entities. Address information is a good example, as it’s typically stored separately on both accounts and contacts (yeah, data redundancy, but often it’s just more convenient for your everyday CRM usage).

Secondly, you will not get duplicate account records from each of the rows, as the Import Wizard is smart enough to detect the distinct parent accounts needed for the child contacts. Now, in order to get the expected results, it’s also up to you to be smart with your source data and field mapping. If any of the fields you’ve mapped to the parent account have any variation in their contents (such as phone numbers with different spacing formats), you will get duplicates, simply because the system will not throw away any unique data rows. Additionally, your child record imports to those accounts will result in failures, as the parent account lookup field will point to a non-unique value in the database (unless you used the aforementioned method to specify an alternative lookup reference). You should also take into consideration if the source data actually has intentional duplicate values for account names, such as branch offices with only a different address.

Check out this article for step-by-step instructions on how to import accounts and contacts from a single file. But what if you need to perform the same type of import, only you’re not dealing with accounts and contacts? Say, importing data to custom entities with a parent-child relationship, like “event” and “event attendee”? No problem, you can build a data map just like the “For Generic Contact and Account Data” one, by leveraging the multi-entity data file import mapping feature.

How much data is too much?

Even if you are importing only into a single target entity, there’s a good chance that you’ll cross the line of allowed maximum size of the import file for the Import Wizard, which is 8 MB. While the XML data import templates available for download from the CRM UI provide very nice features for ensuring the input data is in the correct format, they have the downside of increasing the file size considerably. Compared to an Excel file (xls, xlsx) the size of a file saved in the Office 2003 XML file format can easily be tenfold.

One potential way to get around this limitation is to zip up your import files. You can read the requirements for the zip file contents here, but in general your everyday import files should be zip compatible without any extra tricks. This is actually how the multi-entity data file imports are also handled, as there will only be the possibility of uploading a single file into the Import Wizard to be processed, so you’ll need to package your import files into a zip archive.

In addition to the source data files, you can also include attachments into a zipped import file. Yes, the Import Wizard does support attachment import as well. You’ll need to be careful with the data structure, so have a look at this article for specifications on how to Import attachments with notes. Keep in mind that the 8 MB file size limit does still apply here, so a large number of big file attachments may not be a fun task to perform throug the Import Wizard.

Field and value mapping made easier

If you are working with a data set that contains several picklists with lots and lots of values, mapping them could potentially consume a lot of your time. The first thing you want to make sure is that there are matching values in the CRM picklist fields (nowadays known as option sets) for all the distinct values available in your source columns. Auto mapping will do the heavy lifting for you and match the source and target values as long as they are identical in both. One thing you may not initially notice while mapping the data, though, is that the Import Wizard will also automatically append the list of values in the option sets if it encounters new source values. While it sounds like a neat feature, this may mean you end up with an unexpected set of values, duplicates with slight differences in spelling, breaking workflows or plugins due to mismatch of value ID’s etc. In my opinion, it’s much better to plan ahead and be in the driver’s seat of how your CRM is customized, even if the Wizard offers powerful but dangerous new features that can extend the schema with new fields or even entities.

When you’re working with development, test/QA and production environments, performing the same data mapping procedures time and time again could quickly become a very tedious task. Not only that, but the chances of making a mistake in the process of mapping the fields and values becomes ever more likely if you have to repeat a manual task like that. Luckily Dynamics CRM allows you to save your data maps after you create them (and before you start the actual import job), so be sure to take advantage of this feature. Of course, saving your data map into a test server won’t provide you with that data once you move to production. That’s where the export/import feature of data maps comes in handy. Just create your field mapping once and then take it with you to the next organization you’re working on.

More handy improvements in the Wizard

There used to be limitations on some of the entity fields which you weren’t allowed to update in previous versions. A common pain point was the inability to directly set the record owner, so you had to import this information in a temporary field and perform bulk updates on the records after the import. This limitation has now been removed and you’re free to assign the records directly to users or even teams.

Another caveat of the Import Wizard was that you weren’t allowed to set the state of the imported records, meaning you couldn’t easily import inactive records for historical purposes. Well, now you can, so no more need to leave out information on past activities with your customers, just because you don’t want to re-send all your emails to get them appear as closed activities. Just set your activity status as completed, import opportunities as won/lost or whatever status it is you require.

One thing to note while importing records is that the status change will actually take place after record creation. Why is this important? Well, the closing event will trigger workflows you may have in the target system. Also with the new Activity Feeds functionality introduced in the Q4 2011 update, there’s a chance you may have activity feeds rules in place that will spam your import actions all over the personal wall of your CRM users. Since no one wants to see hundreds of “activity X closed” notifications in their activity feed, be sure to remember to deactivate all rules which could wreak havoc on your brand new internal collaboration channel.

How about update existing?

While creating new records with the CRM 2011 Import Wizard is supported, updating existing records isn’t. In case you would like to only import some new fields for existing customers, by using an identifier field like email address or customer number to locate the records to be updated inside the CRM database, you’ll need to look for alternatives to the Wizard.

It is supported to perform an “export for import” extraction of data from Advanced Find that provides you an Excel sheet you can import back to update records (by selecting “make this data available for re-importing by including required column headings” option). However, unless you’re willing to dump all your records into this Excel and then match them against your import file with your custom ID field by using a tool like Access, to get the corresponding GUID’s, this won’t be the tool you are looking for.

I guess you could also create a temporary child entity for the target entity, then import new records here with the required lookup reference linking them to the parent, followed by a set of workflow magic that would transfer the required values from child to parent. It all depends on how much effort you’re willing to put in working with the out-of-the-box data import tool.

Beyond the Import Wizard: ISV solutions

There will always be many data migration needs that simply cannot be covered with a wizard like application, no matter how much Microsoft would improve the feature set of the Dynamics CRM Import Wizard. At some point it would have so many parameters and options that it would no longer resemble a wizard at all. Since the out-of-the-box functionality has to remain approachable for the “normal” user who just wants to get a simple Excel list uploaded into the system, I’m pretty certain that the market for 3rd party solutions is not going to go away anytime soon.

Instead of rooting for one particular vendor, I’m going to provide a list of the data import solutions that I’m aware of and let you evaluate which one best fits your needs.

As further reading, I recommend everyone to have a look at this awesome article by Joel Lindstrom on Lessons Learned Migrating Data to Microsoft Dynamics CRM 2011. In it Joel lists the most important gotchas to be aware of before starting a data migration to Dynamics CRM, even when using a 3rd party tool like Scribe, such as activityparty data handling, record status, removed users etc.

Activity Feeds are here, so “What’s New” in CRM then?

10 comments

Posted on 26th October 2011 by Jukka Niiranen in Features |Tips

, , , , ,

Microsoft Dynamics CRM Q4 2011 Service UpdateIt’s been nine months since Microsoft Dynamics CRM 2011 was released. Given the large number of new features and functionality included in the new version, I’m sure many organizations have been able to keep themselves busy with thinking about how to leverage all of them. Anyway, the time is now upon us when we see the first true deliverable from the new agile development path that the Dynamics CRM product development team has adopted. The “Q4 2011 Service Update”, “November Service Update” or “CRM Online R7″, however you like to call it, gives a taste of things to come, as new features and improvements are now introduced bi-annually instead of a big bang release every 2-3 years.

There’s lots of neat things included in the update, such as multi-category charts, user access auditing, lookup and date fields for dialogs, ignoring null values and inactive records in duplicate detection rules etc. Have no doubt, though, this release will be remembered from the Activity Feeds, so let’s proceed straight to them.

More than just an accelerator for CRM

Microsoft has split the delivery method of the Activity Feeds functionality into two tiers. The platform level changes are delivered with Update Rollup 4, which brings us a selection of new default entities, such as the feed Post. These will provide the building blocks not only for the visible Activity Feeds released now but also web services API enhancements, which are covered in the 5.0.7 update of the SDK.

The Update Rollups can nowadays be considered pretty much as “business as usual” hotfixes like the ones released for other Microsoft products, both on server and client side, as they are delivered through the common Microsoft Update mechanism. Testing and planning for the Rollups is of course very much recommended still, as significant changes can be included in them, and yes, they do occasionally break compatibility between versions. Furthermore, the Update Rollup 5 required for Activity Feeds to function cannot be uninstalled if things go wrong.

Anyway, unlike the hotfixes that can be expected to be installed on almost all CRM environments, the Activity Feeds user interface components will probably remain missing from many instances. Why? Because there is no automatic delivery method for them, unless you are using a CRM Online environment that has been provisioned after the R7 release became available. You see, Activity Feeds still are kind of like an accelerator package, as the solution file will need to be downloaded from the Dynamics Marketplace and installed by the system administrator.

Download the Activity Feeds solution for Microsoft Dynamics CRM 2011 from the Dynamics Marketplace

Not even installing the solution file and publishing the customizations is enough – you still need to configure them. The menu item for “What’s New” will appear in the UI after the solution installation, but none of the entities in your CRM have yet been enabled for Activity Feed posts. To do this, you’ll need to navigate to Settings and go to Activity Feeds Configuration menu. Create a new Post Configuration record for each entity that you wish to relate posts to. The configuration UI of the solution is not too nice, as you’ll actually need to use the logical name of the entity rather than the display name. So, to enable the new functionality for the user entity (which is the very first thing you must do!) is enter the value “systemuser” and click save. Make sure you check the box for “enable walls for this type of record form” and don’t forget to publish the entity’s customizations after clicking on save.

Activity Feed Post Configuration

What’s a “wall”? If you’re on Facebook (and who isn’t), you’ll know this refers to the place where the posts related to a user will be displayed in a descending chronological order. Now, in CRM it’s not only users that can have walls, but any entity for which you have created a Post Configuration entry for. Even your custom entities, like “project” or “event” can be set to have their own Wall. However, bare in mind that not all the system entities are supported for the Activity Feeds functionality, so you can’t have a discussion related to, say, competitor or product records (which kind of sucks, as those are some very common topics for employee discussion around the water cooler, but guess you’ll still need to get away from your desk every now & then). For a complete list of supported system entities, see this page on the SDK.

Account record wall

As you can see from the image above, the wall is actually a web part that is presented on a new tab, that is located before the first default tab (general). The tab will be collapsed by default and the form actually scrolls to the general tab right after the form script is loaded, so a user may not notice anything new on the form. However, if you click on the anchor on the left side navigation, the Record Wall will be revealed in all its glory. Here the user will have the option of adding the record into his list of followed CRM records, see who else is following it, and of course post an update on the wall. (By the way: if you have multiple forms per entity, you’ll need to add the Record Wall web parts manually, by following these instructions.)

There’s also a Personal Wall that shows the user all the content from followed records, and that’s the first entry visible on the updated sitemap for Workplace. What’s really nice is that you have a link right after the “What’s New” header, which will allow you to pop up the wall in a new window. This way you can have the feed view quickly available for you at any time, no matter with which CRM entities you are currently working on in the main application window.

Activity Feeds personal wall

Furthermore, every user has a User Record Wall, which would be identical to the concept of a Facebook profile page. Sorry, no timeline design available here yet!

Not just for mindless chatter: business logic for Auto Posts

If all that Activity Feeds provided was the ability to chat with your colleagues or manually post updates related to records, then it would have a tough time competing with established enterprise microblogging apps like Yammer. Luckily the Dynamics CRM platform can offer much more than that. By allowing certain events related to CRM records to generate content for the Activity Feeds the system can actually serve as a tool that removes the need for you to email information about business events or type updates into a microblogging app. A traditional way to demonstrate the CRM workflows has been to create email alerts on closed opportunities, but now you can reduce the clutter in your inbox by moving these into the right context (opportunity form) with the ability for users to comment and see others’ comments. (more…)

Know your application: the MB2-868 exam for CRM 2011

5 comments

Posted on 18th October 2011 by Jukka Niiranen in Tips

, , , , ,

You pass! That’s a sight for sore eyes after staring at 75 grey screens full of Microsoft Dynamics CRM 2011 Applications certification exam questions for almost 2 hours. I received 750 points out of the required 700 minimum, so not exactly a walk in the park, but who’s going to care about the detailed statistics of how you acquired your MCTS certification?

During the test I did have to go back to some 15 questions I marked for review during the initial round and spend a fair amount of time rolling the virtual dice in my head. Well, not exactly like that, but rather trying to reverse engineer the process of how the people at Microsoft might have designed the application to function in different scenarios and what reasons and practical limitations lead them to these choices. While many of the questions could well be taken from real life use cases, the way in which you need to be able to solve these problems in the exam is quite far from the normal routines. In real life you experiment, investigate and iterate, whereas here you’ve only got a few words to work on; each of them possibly containing a hint towards the right answer, or alternatively loaded with the malicious intent of leading you astray.

Just because you’ve been working with the Dynamics CRM application on a daily basis for several years, doesn’t guarantee you would pass the MB2-868 exam. Even MVP’s have failed on their first attempt, so beware! The amount of product information covered in the Applications exam is growing all the time as new features are introduced and with CRM 2011 there’s a lot to read, let alone to try out in the application itself. At least when I was going through the training materials, the most time consuming part was when I constantly kept coming up with new ideas about “hey, this is something we must also set up for our presales demos”. Even though I had started digging deeper into the new version functionality already before the beta of CRM 2011 was released (and compiled my findings into two “what’s new” presentations you can find here: pt1 and pt2), preparing for the Applications exam made me realize how much of pre-2011 functionality you also need to keep in mind at the same time.

So, tell me then, how important is it to remember by heart from which menus a particular standard report can be executed, when they’re A) all available from the Reports menu anyway and B) usually available in the right context for the user? Or what about studying all the different record statuses in which certain actions can be performed, when we’ve got a graphical, context sensitive ribbon persistently available in the UI, gently reminding us of the things we can and cannot (greyed-out/hidden buttons) perform at any given time? Like it or not, this is the direction that these multiple choice exams tend to drift towards: detailed information that’s perhaps nice to know, but won’t matter much in terms of real life skills required while actually using Dynamics CRM.

If we look at Microsoft’s target audience definition for this exam, it reads:

This exam is intended for individuals that plan to implement, use, maintain, or support Microsoft Dynamics CRM 2011 in their organization.  The exam is also intended for service schedulers, administrators, office managers, CEOs, and consultants who want to demonstrate foundational understanding of the application functionality.

Quite a broad definition then. If you as an end-user or administrator are interested in learning details about the default functionality available in Dynamics CRM 2011, by all means do attend the training courses and download the training manuals from CustomerSource. They contain a wealth of useful information and some nice exercises you can try out in, for example, your very own 30-day trial environment of CRM Online (which may offer you quite a different “vanilla” training environment than your customized production CRM server). However, don’t worry too much about “demonstrating foundational understanding” of Dynamics CRM through the MB2-868 exam. The system is far easier to use in everyday life than how the exam questions portray it, so you’re better off in directing that time and energy towards exploring the possibilities that Dynamics CRM gives you in customizing the system to fit your business data and to automate your business processes. That’s where the real ROI of your CRM system is hiding, after all.

Microsoft Dynamics CRM 2011 Applications courseware

 

For those of you who need to take the exam due to MS partner competency requirements, the MB2-868 exam page section “skills measured”  is a useful document to keep by your side when browsing through all the CRM 2011 applications MOC courseware. Checking the topics enables you to better balance your study efforts, to make sure you’re not just diving deep into one module and neglecting another. This is how everything counts:

  • Marketing automation: 27%
  • Sales management: 30%
  • Service management: 24%
  • Service scheduling: 19%

For example, service scheduling and service contract management have been standard features of the Dynamics CRM product for a long time, yet I find it hard to discover real life use cases of customers having deployed these processes into production use. Either the organization has initially tried using them, but later given up due to the mismatch of the built-in process flow and solved their problem with custom entities instead, or then they’ve gone down the customization route directly. As a result of this, it’s not necessarily an area that CRM consultants would be too knowledgeable on, when considerably more of their time is spent configuring and training the sales process in CRM.

Does this then mean that these modules should have less emphasis in the exam? Well, at the end of the day, probably not. If you look at things from Microsoft’s point of view, it is in their best interest to have CRM consultants be aware of all the different functionality that their product contains out of the box. Precisely because their common tendency might be to focus on what they already know best and leave out the rest of the story when discussing with potential and existing Dynamics clients, it’s actually a fair exercise to make these specialists step outside of their comfort zones for a while during the certification process. Sure, you may not need the information in the projects you’re working on right now, but you need to have the ability to get up to speed quickly when duty calls.

Finally, here’s a few practical tips from me on how to prepare for the CRM 2011 Applications exam:

  • Goal management: understand what values are recorded on which entity, the impact of ownership, fiscal year settings.
  • Teams and queues: this is where most of your answers based on experience from CRM 4.0 will guide you down the wrong path, so forget what you know and learn the new CRM 2011 way of working.
  • Charts and dashboards: what the user can do vs. what the admin can do, this should actually be pretty much 101 stuff if you’re well in grips with the solution management side of things. However, you shouldn’t forget about SSRS entirely: open each default report at least once and try them out, just to refresh your memory.
  • Marketing lists: Try building a few dynamic marketing lists to see how they’re different from the traditional static ones, and also how to mix’n match them.
  • Scheduling: you’ll need to understand how capacity management and resource selection rules work from the service and the resource perspectives, there’s just no way around this.
  • Record statuses: trust me, things that require no attention from you in everyday life will be very important here, so play around with as many different entities as you have time for and examine what actions are available on the ribbon in which record status.
  • RTFM: knowing how the system works is not good enough, as some of the questions are clearly derived from how the use cases are described in the training material, and in these kind of exams every word in the questions and answers is significant. So, don’t just play around with the fun tools built into CRM 2011 or trust what a lecturer tells you – also read through the MOC PDF’s.

And just to close things off, some useful links for seeing what others think about MB2-868:

 

Switch to our mobile site