skmFAQ's
Scott Mitchell has created a new open source application for managing FAQ's which is worth checking out:
The FAQ application architecture is packaged as an API and a set of controls which "talk" to the API and make it easy to implement the FAQ functionality into an existing application without having to write a lot of UI code yourself.
This is a similar model to what you see in ASP.NET V2 with things such as the Role and Authentication API's being exposed through server controls such as the Login View, Login Form, Login Status, etc. and also how the Site Provider API is tightly coupled with the Navigation Tree View and Breadcrumb server controls.
I like this model as it allows you to easily implement an out-of-the-box integration while also affording you an easy path for customizing and extending your own functionality or UI rendering logic.
I'd recommend poking around through the code to see how this has been done. Scott has also gone to a lot of effort to create high quality server controls which give an optimum design-time experience and have the correct server control plumbing in them to achieve this.
There's a bunch of reusable stuff which you can study in this solution as well as some nice API style stuff. This was timely for me as I was working on implementing some new role based functionality in ProjectDistributor and, because I liked the style of Scott's PermissionAPI I was able to borrow heavily from that style of implementation.
Overall, Scott's code base will provide a great model for any application that has Items which can be categorized by one or more Groups and needs to also allow for permission based access to API features.