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:
- Go to the Customizations menu, open a suitable solution with the entity you wish to create filters for.
- 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.
- 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).
- 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…”).
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.