Roll up content by content-type

Pointed out to me by a colleague (ages ago!) – Ton Stegeman’s ‘Content by Type‘ web part. A good way of rolling up content of diverse types, without lots of XSL. If your content type structure is right, may well be other ways of doing this (the content query web part and data view may work) – but this is quite a nice looking tool, and simpler. Need to download and have a play sometime soon.

Roll up content by content-type

Merged Data Sources for the DataView web part

I’d a question from a reader (gee, I have readers!) about doing content rollup using the DataView web part. He was asking if he could use the DataView web part even though the things he was pulling into his Data Source didn’t all have the same columns. Would this work? Well, one way to find out… Continue reading “Merged Data Sources for the DataView web part”

Merged Data Sources for the DataView web part

Error: CQWP – RSS feed of non-documents doesn't work

This is a pretty weird error. I was doing content roll-up of Announcements lists, to give a unified news channel for our intranet. Naturally, I decided to do this using the Content Query Web Part. I added one, and selected that I wanted to query for the contents of Announcements lists. As I like RSS feeds, I enabled one, and I added it to my favorite feed-reader.

It worked – but the links to the announcements themselves didn’t work. The short summary is that is that it appears RSS feeds from Content Query Web Parts don’t work when you query for certain types of list. Continue reading “Error: CQWP – RSS feed of non-documents doesn't work”

Error: CQWP – RSS feed of non-documents doesn't work

CQWP: XSL to show you the fields on an item

A modification on the XSL I’d used previously – this gives a more readable presentation, and displays the values:

<xsl:template name="ShowFields" match="Row[@Style='ShowFields']" mode="itemstyle">
<div style="border:1px #aaa solid;background-color:#eee;margin:5px;padding:5px">
<xsl:for-each select="@*">
<xsl:value-of select="name()" /> = <xsl:value-of select="." /><br />
</xsl:for-each>
</div>
</xsl:template>

CQWP: XSL to show you the fields on an item

Content Roll-up options – Conclusions

So, what what content roll-up web part to choose? Well, typically (for SharePoint) it depends.

Bamboo’s List Roll-up Web Part is the most feature rich, but a bit tricky – certainly it’s a bit too complex if you’re wanting to allow users to set up their own roll-up. The use of CAML is also a big no-no for allowing basic users to set up their own. It’s a shame; it really is let down by this complexity, although it’s still simpler than using SharePoint Designer.

Using the Dataview Web Part directly has the same problem as Bamboo’s List Roll-up – complexity. It also requires SharePoint Designer. It’s harder to generate the Data View Web Part, but to be honest (given that you can do the same things as Bamboo’s List Roll-up web part) I suspect that most organisations would be fairly willing to live with that.

For me, it’s main problem is that it doesn’t pick up new lists automatically; you have to modify the data view web part to add the new lists. For that reason, I think you can only use this approach when you have a fixed set of lists to aggregate over.

The Content Query Web Part is pretty good, and there is a reason that it’s so often discussed in SharePoint Solutions. The web part itself is fairly straight forward to use – but using custom metadata in the display is a bit too complicated. Again, I think this solution is out of the range of the ability of typical users. I don’t like the lack of pagination options, either.

Lightning Conductor is the only one of the web parts that struck me as being simple enough that a non-technical person would be able to set up and use for content roll-up. It had many of the more complex features that we’ve seen (e.g. using XSL for formatting the results), but you didn’t have to use them, and the user interface exposes things that seem missing from the CQWP – like the ability to select the fields you want in the display! I’ve got to say, this is my favourite of the solutions I looked at.

So which one should you use? Well, as I said, it depends. The main factors involved seem to be:

  • Are you wanting to aggregate across site collections?
  • Are the source lists fixed, or will they be changing?
  • Will the roll up be configured by technical or non-technical staff?

I guess you weigh those up and take your choice.

Edit: One questions I was asked was if it’d be difficult to write your own. Well, there’s no reason why you couldn’t; with the SPSiteDataQuery it wouldn’t even be hard. Programming around the configuration would take longer, and as we’ve seen, this can make a big difference to the usability of your solution. What I would observe is that both the 3rd party solutions were pretty cheap; it’d be diffult to write your own for as small a cost.

Edit 2: A good post on when to use the CQWP vs the Lightning Conductor Web Part from Lightning tools…

Continue reading “Content Roll-up options – Conclusions”

Content Roll-up options – Conclusions

Content Roll-up options Part V – Bamboo's List Roll-up Web Part

And the final content roll-up web part I examined is Bamboo Solutions List Roll-up Web Part.

This web part is a little strange; indeed, I’m not sure how to describe it. As I understand it, basically it’s a web part to generate a data-view web part, and add it to the page. Sound strange? Well, it is a little bit. Let’s have a look:

Web Part for generating other web parts

As you can see, this is a big web part on page. It’s user interface is much more complicated than the Lightning Conductor. I couldn’t help but notice that to do filtering by metadata column values appears to require writing CAML – which really is a bit much for many users.

This web part then generates an output Dataview Web Part:

Generated Dataview Web Part

(In that example, it’s only aggregating from one list – ‘cos I forgot that gave my lists different names, and then told the view to roll-up by list name).

So, it’s advantages:

  • Can consolidate across Multiple Site Collections (which isn’t possible through the Out-of-box options)
  • Can consolidate a single site collection, a site and it’s subsites or a specific list.
  • Can also consolidate sibling sites – which isn’t something I’ve seen elsewhere.
  • Can filter by list type
  • Can filter by content type or meta data fields
  • Can Group results
  • Has user definable sorting
  • Has Pagination of results
  • Fine control over caching

And it’s disadvantages:

  • More complex to use
  • More complex user interface
  • Probably requires writing CAML
  • Costs money (though I think is still a bargain compared to developer time)
  • Could be a tough sell to customers (“But SharePoint already has the Content Query Web Part“)

In short: Probably the most powerful and feature rich of the web parts, but not as easy to use as some of the others. Really, more of a developer tool than a user tool.

So, on to the conclusions…

Continue reading “Content Roll-up options Part V – Bamboo's List Roll-up Web Part”

Content Roll-up options Part V – Bamboo's List Roll-up Web Part

Content Roll-up options Part IV – Lightning Tools Conductor

From Lightning Tools, the folks who brought us the BDC Metaman (awful name, good product) comes their ‘Lightning Conductor’ web part. Again, a slightly strange name (it isn’t copper and it doesn’t poke out from the top of a church roof). So what does it look like:

Lightning Conductor Web Part

Okay, so it looks similar to the data view web part (apart from the ‘trial version’ message!), but it has the same sorts of roll up options to the Content Query web part. One of the things that impressed me about this web part was actually the configuration screens in SharePoint:

The main settings form is a well laid out, clear (if somewhat long) form. It just looks right.

The other significant administration screen with it is selection what columns you want to show, and their order, and any sorting or grouping.

Selecting columns and ordering for the Lightning conductor Web Part

Now that is much easier than displaying extra columns in the Content Query Web Part (or the Data View Web Part, come to that. Again, quite a long form, but clear, and trust me, easier than writing XSL 🙂

I did have a couple of little problems with it, though. Firstly, for some reason it didn’t seem to want to show me my Project or Project Status columns in the ‘Filters’ section, so I couldn’t restrict my view by these fields. I may have configured something wrongly that this wasn’t possible.

The other thing that struck me was that while the web part does have column headings that the user can click to sort by, there is no icon to tell them what column they’re sorting by already, or whether it is sorting ascending or descending.

So, it’s advantages:

  • Good user interface. I could imagine non-technical people being able to set up their own views.
  • Can consolidate across Multiple Site Collections (which isn’t possible through the Out-of-box options)
  • Can consolidate a single site collection, a site and it’s subsites or a specific list.
  • Can filter by list type
  • Can filter by content type or meta data fields (though I had a problem with them)
  • Can Group results
  • Has user definable sorting (but needs a little arrow to show which column is being sorted, and in what order)
  • Has Pagination of results.
  • Can define view by XSL if you really want to.

It’s disadvantages:

  • Costs money (though I think is still a bargain compared to developer time)
  • Could be a tough sell to customers (“But SharePoint already has the Content Query Web Part“)

In short: It’s what everyone really wished that the Content Query Web Part actually was.

So, I’m quite impressed by the Lightning Conductor Web Part, but what of the other commercial option I’m reviewing – Bamboo’s List Roll-Up Web Part?

Continue reading “Content Roll-up options Part IV – Lightning Tools Conductor”

Content Roll-up options Part IV – Lightning Tools Conductor

Content Roll-up options Part III – Data View Web Part

The Data View Web Part is sort of the Swiss-army knife of displaying data in SharePoint. It’s an Out-of-Box web part, and while it is typically focussed on showing items from a single list, it is capable of showing data from merged lists.

Here’s an example of a Data View Web Part showing the same data as our examples from the Content Query Web Part

Data View Web Part showing Merged data

It’s advantages are:

  • Can show a view with user defined filtering, grouping and sorting.
  • Has pagination of results
  • Showing extra columns of data is easy to add
  • Can filter the results by Content Type, or Metadata field values
  • Cheap (Out-of-box)
  • Designing the view is easy

It’s disadvantages are:

  • Requires SharePoint Designer – and therefore a suitably technical user
  • Can only query and merge results from a fixed set of sites – there is no ‘All Site collection’ or ‘This site and subsites option’
  • Limited by site collection boundary

In Short: Flexible in the views it presents, but it’s actual ability to roll up data is limited and could require constant maintenance. Requires someone fairly technical with SharePoint Designer to set view up. Continue reading “Content Roll-up options Part III – Data View Web Part”

Content Roll-up options Part III – Data View Web Part

Content Roll-up options Part II – Content Query Web Part

The Content Query Web Part is the Out-of-Box content roll-up web part in MOSS, and consequently it’s one of the most widely used.

Here’s an example of one rollup up the ‘Project Documents’ type:Standard content query web part

It’s advantages are:

  • Can select from an entire Site Collection, a Site and it’s Sub-Sites, or from a List
  • Can select by List type
  • Can filter the results by Content Type, or Metadata field values
  • Can be configured to do Sorting and Grouping
  • Can display custom data – but this is a little complex

It’s disadvantages are:

  • Customising the view is possible, but tricky.The view has to be defined in XSL, and the Content Query Web part configured correctly to get the data you want to display.
  • No pagination of results – it’s just truncated.
  • The user can’t select the results order, or add his own filter.
  • You can’t query across Site collections.

All in all, I’d say that defining the styles for what you want to display puts this into more a ‘development’ task, which isn’t ideal if you’re trying to push administration out to your users a bit more.

Also, a major issue as far as I’m concerned is the lack of pagination. You can limit the number of items shown, but without an link to the next ‘page’ of items.

Here’s an example of a Content Query Web Part showing some custom data (highlighted in yellow):

Content Query Web Part showing custom column data.

In short: Cheap, and available, but has that ‘just a bit awkward’ feel to setting it up, and lacks some of the features you’re likely to want. Often will require someone a bit technical for customisation. Continue reading “Content Roll-up options Part II – Content Query Web Part”

Content Roll-up options Part II – Content Query Web Part

Content Roll-up options Part I – Introduction

Well, I’ve been asked to examine some of the options for doing content roll-up in SharePoint. I thought I’d present this as a bit of a mini-series, rather than one huge post.

What is content roll-up? Simply, it’s about pulling data from different locations in SharePoint into a single view, and presenting it to the user in a consolidated form. This is a pretty common task in SharePoint. For example, think of things like roll-up of News items from the sites in your site collection. That’s actually built into the Collaboration site template:

News Items - and example of content roll up

I’ve bracketed both the web parts being used with red and blue – otherwise it’s not clear that there are two web parts doing content roll-up here – one for the most recent headline, and another to show a list of recent News items.

There are lots of other examples of where this is useful – consolidation of tasks for a user is another common requirement, or rolling-up all the documents of one type or another – such as expenses, etc..

Anyway, over the next week or so I’ll examine some of the solutions to content roll-up that I’ve seen. It’s not meant to be an exhaustive list – there are quite a lot of solutions to content roll-up around, and you can write your own – but why reinvent the wheel?

| Introduction | Content Query Web Part | Data View Web Part |

| Lightning Conductor Web Part | Bamboo’s List Roll-Up Web Part | Conclusions |

Content Roll-up options Part I – Introduction