I was working on the forums this weekend trying to not only finish what I started with the recent changes covered in previous blogs, but to also work on performance a bit where possible. While I was doing this and reading posts in our forum here on DotNetNuke.com, I decided to throw a new feature in simply because I feel it is needed for this site so badly. What I came up with is Thread Status.
(Not a new concept) I am still working on smoothing out the UI with this, and making sure it works properly as well but its all in for the most part. If you use the forum, you can see I also moved the previous and next thread buttons because I found them not very usable down in the footer. I also did some other minor re-arranging because of these additions like moving the original subject to the top, removing an extra row that was similar to a header at the top and I was forced to move the thread rating drop down list. I shrunk the breadcrumb size too which I believe makes the entire UI look a bit better.
To speak to this enhancement though, its just a drop down list selector available to the original thread author and moderators. If a post is set to 'unresolved' the original thread author and moderators see a Accept Answer button in each posts header (where Accepted Answer label is now). When clicked, this marks the thread as resolved and tracks which user did it. This isn't doing much other than that for now but it does leave the door open for future integration. One thing this should solve is people being able to identify which posts need their help. (In a place like dotnetnuke.com this is more important than other user cases). This feature can of course be enabled/disabled per module instance.
The screen shot above should give you an idea of what to expect in the threads view. This option will only be beneficial if people user it and it is also something moderators can start doing (like they really have the time for that!) if necessary. Having the Accepted Answer label in the post header should also help those just stumbling along a thread at a later date know what helped the original person out and hopefully will reduce their time spent working through an issue even further. Right now, I have four options of: Not Specified, Resolved, Unresolved, Informative. There is room for future expansion here at a later date.
The remaining things that must be done before the next release are:
- Performance Testing and Enhancements
- Testing in SQL 2005.
- Testing each new enhancement in all possible scenarios I can think of.
- Multi-portal testing
- Multi-modules per single portal testing.
- Fixing outstanding bugs.
- Finish off Thread Status, Permission enhancements
- Prepare module upgrade needs (via sql for data 'shifts' because of new permissions)