Activity Feeds in R8: from follow to filter

7 comments

Posted on 30th May 2012 by Jukka Niiranen in Features

, , , ,

One of the functional areas to receive an update in the Dynamics CRM R8 release in Q2 2012 will be the Activity Feeds, which were originally introduced as an optional solution in the previous R7 release. In R8 we’ll get the ability to filter the content of the feed, but what are the implications of this enhancement in practice? Bigger than you might imagine at first.

While the concept of a wall with an activity feed fits well within a modern business application that must not only provide a method to enter  & query data but also allow users to discover relevant information and comment on it, there was a slight handicap in the initial version of the Dynamics CRM Activity Feeds. This was the requirement that you had to explicitly tag the records you wanted to follow, before anything would show up on your wall. What may initially appear as a convenient way to select the updates you’re interested in seeing on your personal feed can soon become difficult for the users to actively manage.

Let’s imagine a scenario where a user is interested in regularly monitoring the activity feed posts around prospect accounts that have open opportunities. How would the Activity Feeds functionality meet this requirement? Before R8 you would have needed to perform Advanced Find queries on the records that match a certain criteria, then select all (max 250 at a time) and click the “Follow” button on the ribbon. Of course if any new records were created or modified after your search, you wouldn’t have seen updates related to them unless you performed the query again and again. The most advanced users could of course have created a workflow rule that adds the follows based on new events in the database, but a process like that would hardly be obvious for the majority of CRM users. Automating this with a centrally managed workflow or plugin to automatically generate follow records for the appropriate audience on the other hand requires the type of top-down information system planning that doesn’t fit well with the whole idea of social business and its empowered end users.

In R8 all this will change. The system now allows you to define dynamic filters for retrieving posts regarding records that meet the filter criteria. Rather than individually cherry picking records on your follow list, you can now look at the available Activity Feed posts which reference records of a particular type, such as the aforementioned “prospects with open opportunities”.

In short, you don’t need to follow records anymore. It’s now optional.

Ok, so anyone can then go and create a filter for exactly the types of records that they want to see posts from, set that as their default posts view and just enjoy the feed, right? Well, unfortunately not quite. Only the system administrator or system customizer can create new system views and promote them to become available filters for Activity Feed posts. So, how do you create a new filter for Activity Feeds then? Here are the steps:

  1. Go to the Customizations menu, open a suitable solution with the entity you wish to create filters for.
  2. Build a new system view and set the filter criteria of the view to match the filter you want to apply on records from which the related Activity Feed posts should be available. Publish your customizations.
  3. Go to the Activity Feeds Configuration menu and open the Post Configuration record for the corresponding entity (if one doesn’t exist, create a new one with the schema name of the entity).
  4. From the Filters subgrid, select your new view and click Show on the ribbon. No need to publish anything, as this is configuration data (not metadata) and the changes will take place  right away.

It looks like any new Activity Feed filters published will become visible in the selector menu on the wall by default. The user has the option to click “modify this list” and access a view called My Filters. If any of the filters made available to the whole organization are not relevant to them, this is where the users can set to hide them from their Activity Feeds menu. As a little extra touch, the sort order of the filters can be also adjusted.

While this means that the users have some level of control over the filters visible to them, the same will not be true for the actual system views that need to be created and published for the whole organization to see, in order to make the filters available to the users who may need them. Personal views will not appear as Activity Feed filters, at least not in the R8 release.

All in all, it may not be the most elegant solution for the problem of filtering Activity Feed posts, but it definitely does make the whole feature considerably more useful. The pain of getting users to go and follow records in CRM is reduced, as is the need for creating workflows or writing plugins that add the follow records automatically based on some business logic. Also, the benefits of the Activity Feed will be much more apparent for a user who is simply browsing the system contents, as he or she will be able to access a list of account related posts with the simple selection of one filter.

Looking at the rest of the Activity Feed functionality, there is no further automation regarding the creation of auto posts in the R8 update as far as I know. Default entities have Activity Feed Rules available but for custom entities or events not included in the out-of-the-box rules, you’ll need a workflow or plugin to create the post. One thing that’s important to understand is that the Activity Feeds are not about showing all the updates taking place regarding a record. That’s what auditing is for. Unless you have configured yourself an auto post to be added whenever a record X of entity Y is created, nothing will show up on your wall, regardless of the new filtering capabilities.

In R8 the follow limit in CRM Online will be increased in R8, but there’s still a hard limit of maximum 1000 follows per user. On-premises servers will have the possibility of increasing this limit, but performance impact is to be expected at some point due to the complex nature of the underlying Fetch XML queries used in constructing the result views for the walls. A very welcome new feature is the ability to enable also organization owned entities for Activity Feeds. This means you can add a wall on a competitor entity form, for example, which was previously not possible.

What we’re still lacking is the ability to perform searches on the content of Activity Feed posts. Even though the underlying data is in a way structured by containing references to the related records, we’re not able to use any keyword in the actual post text content to perform searches on posts. OK, in theory we are able to perform Quick Find searches on the data if we manually add the post entity into the sitemap, but we’re unable to open the post and comments from there, as the post entity does not have any form that could be used for viewing the content outside of the wall (“the walled garden of activity feeds…”).

Click to vote for the feature enhancement suggestion on Microsoft Connect

I find the lack of a search feature on the social content stream quite a strange oversight from Microsoft’s part, considering this is already a v2 release of the solution. If any ISV’s are looking for a new product to develop, then how about creating an Activity Feeds Search solution that offers a custom UI to browse the content of the posts? For the others, why not log in to Microsoft Connect and vote for my product suggestion to Allow Activity Feeds post content to be searched. Thanks for your contribution.

(For any of you wondering where to get the new, updated version of Activity Feeds, you’ll need to wait for the R8 to be officially released, as described in my previous post. The post here is written based on the R8 beta functionality.)

Update 2012-07-30: even though the updated Activity Feeds functionality in R8 seemed quite polished, it now looks like these new features have also been postponed by 6 months until the Q4 2012 release, alongside cross-browser and mobile support. I find this decision particularly hard to understand, since the only thing you would need for the new Activity Feeds solution to work in an Update Rollup 8 environment would be a few expansions to the database schema, as far as I can see. Could there be some implications from the recent Yammer acquisition that have forced the Dynamics CRM team to halt any updates to their home brew feed functionality, that’s something we’ll probably never know for sure.

Cross-browser support implications for CRM developers and users

6 comments

Posted on 2nd May 2012 by Jukka Niiranen in News and events

, , , , , , , , , , ,

Soon the R8 update of Microsoft Dynamics CRM will be upon us and the application will officially open up to browsers other than Internet Explorer. What this means is CRM will also be accessible through different devices than just Windows PC’s: Macs, Linux machines, iPads and other tablets. Exciting times for all CRM geeks around the world, myself included, which is why I already wrote some of my thoughts on the topic after the Q2 2012 Service Update contents was revealed (see the post “To the eXtreme, part 2: The future of the web caught up with IE and Dynamics CRM”).

More supported browsers & devices will inevitably mean more work for CRM developers, as testing your application on IE alone will no longer be enough. As we get closer to R8 go-live before the end of Q2, the need for more detailed information on the practical implications is surely growing. Luckily XRM Virtual had managed to get Karun Krishna from Microsoft to give a webinar on the topic of cross-browser development on May 1st. The Live Meeting recording is now available for viewing at the XRM Virtual site. Apparently also Karun’s slides were shared during the live session, but since the recording didn’t contain them, I decided to write down a few notes of mine from the contents of the presentation.

First up is the detailed browser support matrix seen below, which expands the list previously provided in the R8 release preview guide. Included are new yellow boxes for Internet Explorer 10 on Windows 7 and Windows 8, which indicate a “supported but not full fidelity” user experience for Dynamics CRM. Also the Firefox support on Mac OS X appears to have fallen onto this level where some display/functionality bugs will exist.

Microsoft Dynamics CRM 2011 cross-browser support matrix

In his presentation, Karun explained that while the CRM team tried to use HTML5 compliant techniques wherever possible, there were still some areas where an alternative approach had to be used in order to replicate the existing Dynamics CRM functionality across non-IE browsers. Any IE specific APIs have been removed, but as the w3C standards are still evolving, there isn’t necessarily always one single right way to implement a specific functionality in the cross-browser world. Therefore a feature detection approach for checking for browser capability differences is recommended over developing for any specific browser version. The webinar included examples and best practices on API’s and XML processing, so be sure to view the recording for details.

It was announced already earlier that using browsers other than Internet Explorer for the administration and customization menus of Dynamics CRM would not be supported. Sorry guys, you’ll still need to boot into Windows on your MacBook if you intend to do any customization work. Some additional information was now provided on features that will not be supported on other browsers than IE. These include:

  • Workplace calendar
  • Services (scheduling) and service calendar
  • Editors for workflows and dialogs
  • Lync based presence information

One thing to note is that the old crmForm object API from CRM 4.0 days will continue to work only for Internet Explorer. Therefore if you have any scripts in place that have not been updated to use the Xrm.Page methods, these won’t work for users on Chrome, Safari or Firefox.

Finally, while iPad 2 support with iOS 5 is provided, it’s important to note that this is simply the support for usage through Safari browser, not a dedicated application optimized for the tablet environment. For the premium UX you’ll need to acquire/subscribe to an add-on app like the Microsoft Dynamics CRM Mobile for iPad, of which you can view screenshots in this post. The browser experience on an iPad 2 will have the following known limitations/issues:

  • No popus. Since Dynamics CRM by default opens a wealth of windows and dialogs, this doesn’t match well with the “flat” UI’s of tablet apps.
  • Touch events compared to mouse events will cause some lack of functionality (no right click, double click)
  • iFrame scroll bars may be missing.
  • Window closing has issues due to a focus related bug in the .close API
  • No Silverlight. Well, no surprise there…

Edit 9.5.2012: The long awaited R8 release for Microsoft Dynamics CRM 2011 is now available as a beta version! PartnerSource login is required for the beta program sign-up and download (CustomerSource might also work) at http://bit.ly/crmr8beta. If you want to test your Dynamics CRM solutions in a cross-browser environment (Safari, Chrome, Firefox) before the official release of Update Rollup 9, then this is the program for you. Please note that the beta version of R8 will not support an upgrade to the final version of R8, so you should apply it to a dedicated test environment only.

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

24 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…)

Switch to our mobile site