Thursday, September 15, 2011

Creating Virtual Folders from Group By Fields

SharePoint lists come with a bevy of options for how to display, filter, sort and group information. In SharePoint 2010, for example, a basic Task List has 11 options right out of the box.




With so many levers to pull SharePoint encourages users to make many views and tailor them to their needs. What we like to do with the IntelliGantt Web Part is run right along with the views you create and provide richer visualizations.

Let's take this list for instance. It's a basic task list with a couple folders and a task item at the top level. Though it's not obvious, each folder contains a few task items as well.




Let me point out two interesting choice fields we have created-- Region and State. These are basic choice columns we created that house 4 region values (North, East, West and South) and 50 state values. Given all the view options available, a natural organization would be to group them by Region and State. This can be done via the web browser by editing a particular view.




The result is the data will now be grouped by first Region and then State, which matches how might people naturally group data across a country. Here's what the result looks like in SharePoint:




Even across the internet I can sense the underwhelm-ment. There are a number of problems with the native Group By feature when you have a hierarchy of data:

1. Even though folders have a Region and State value, their original purpose-- containing sub items-- is not necessary in the view since we want to see the items. In other words, the folders here are cluttering the important data.

2. Where is all the data? Admittedly this is our mantra-- showing you all the data in a list-- but it's certainly not clear that you have to click into each folder to gets its children in order to see there grouping.

3. Though it shows that Region and State are the grouping fields, it duplicates unecessarily by showing both Region and Region: East.


Here's how the IntelliGantt Web Part handles it. When this web part uses a view that contains Group By settings, it will re-orient itself to create virtual folders based on each items values for those settings. As a result, the hierarchy reflects the values for each field, which is a more natural way to understand what you're looking at:

No comments: