Quick and Easy: Using an Announcements List for FAQs in SharePoint
I’ve probably blogged about this at one point or another somewhere, but I can’t seem to find it. A frequent requirement I get from clients is to add a set of FAQs to a SharePoint site. I always just "borrow" an Announcements list for this.
Here’s a look at what columns you might use for a standard FAQ. Of course, you might add a few or subtract a few from what I show here.
Let me run through each column:
Question | This is the "Q" of the FAQ and is the Title column from the Announcement, co-opted and renamed. |
Answer | This is the Body column from the Announcement, co-opted and renamed. |
Expires | This is the standard Expires Date/Time column from the Announcement. |
Display on Home page | In the particular example that I’m using here, we were adding these FAQ lists to many sites and then using a Data View Web Part (DVWP) to show whichever items were marked as ‘Yes’ in this column on the Site Collection Home Page. The Author of any FAQ could check this or not, we didn’t have any fancy governance requirements. |
Category | Usually FAQs fall into some sort of groupings. In this case, we used a simple Choice column, but for wider reuse, you’d probably want to use a Site Column, a Site Column which is a Lookup column into a list, or a Managed Metadata column (SharePoint 2010). |
SortOrder | In most cases, you’d like to control the display order of the FAQs within the Category, so this SortOrder column is useful. |
You can create one of these lists ands then just save it as a List Template for reuse whenever someone wants to use it. While you could also certainly develop this as a deployable solution and activate it as a Feature, it’s probably overkill for something this simple.
For the greatest flexibility in display, including adding an FAQ index at the top of the Web Part and expand/collapse capabilities to the items, I usually use a DVWP to display the items from the list. You can store the XSL for this in one central location (I usually use a Document Library in the root of the Site Collection or the ‘/Style Library/XSL Style Sheets’ folder.
Note that while you can get a little fancier with this in SharePoint 2010, a similar approach is just as useful as it is in SharePoint 2007.
Marc, I usually prefer creating new columns rather than renaming them, because the internal name then becomes different from the display name (cf. Body column in your example).
Your take on this?
Christophe:
There are definitely two schools of thought on this. I’ve come firmly down on the ‘renaming is OK’ side if it.
The renaming means nothing to your end users; to them it is essentially invisible. The only people who end up caring are developers.
I prefer renaming Title, for instance, over the machinations that people go through to hide it just so that they can add another column that does basically exactly the same thing.
Since everyone always documents how they build things, it doesn’t cause any confusion anyway, right? ;-)
M.
Thanks Marc,. Your approach makes sense, with the distinction between end user and people who will really need the internal name.
So I just applied it to my current project.
Thanks for the suggestion. One question though – why not just use a custom list? What is the advantage of using an Announcements list?
JR:
A Custom List would work fine, too, of course. One nice thing about using an Annoucements list is that if you just use the standard List View Web Part, you get the expiration logic for “free”. If you use DVWP(s), then you need to manage that yourself, so that benefit goes away.
M.
Marc, great advice! I often make use of this list type for the same purpose. I wanted to add that in SP 2010 you get the added advantage of letting people rate the FAQ items – so this could be another column to include.
To the user who asked why use an OOB list instead of a custom list – an additional reason I give for this (maybe not as applicable for a FAQ but generally a consideration when designing lists in SharePoint) is that you can leverage incoming email with the Announcements list type and some other OOB list types, whereas I believe you can’t with a custom list.
Nice one!
Good Idea, I like it.
Great post.
Do you have a screendump of the webpart as the enduser will see it? In the end it’s all about the user :-)
Jacob:
I’ve used that list structure to display the FAQs in many different ways with DVWPs. Sometime just as a flat list, sometimes in tabs or accordions with jQueryUI, etc. You can really do anything you want. The point of this post was really to point out that the Announcements list template is a good starting point for FAQs.
M.
Great post.
how can i allow user to post comments on announcent?is there any way to do this.
Thanks.
Rizwan:
Not with out of the box announcements. You can create a second list to store the comments, tie them to the announcements by ID, and display them with a DVWP.
M.
Mr Marc,
Thankyou very much for nice explanation.
but i am new with sharepoint and this is task from my client,if you can provide me some kind of steps or more details it will be great for me.
Thanks.
Rizwan:
I haven’t built exactly what you’re looking to do, but my friend (and fellow SharePoint MVP) Christian Ståhl has just done a blog post on something similar: Comment functionality for news pages – Part I.
M.