POP Forums v9 Beta 1 for ASP.NET MVC 3 posted to CodePlex!
As promised, I posted a beta build of my forum app for ASP.NET MVC 3. Get the new goodies here: http://popforums.codeplex.com/releases/view/58228
This is the first beta for the ASP.NET MVC 3 version of POP Forums. It is nearly feature complete, and ready for testing and feedback. For previous release notes, look here, here and here.
Check out the live preview: http://preview.popforums.com/Forums
Setup instructions are on the home page of this project.
The new hotness in the beta, or what has been done since the last preview:
- All views converted to use Razor
- E-mail subscription/notification of new posts
- New post indicators/mark read buttons
- Permalinks to posts
- Jump to newest post (from new post indicators)
- Recent topics
- Favorite topics
- Moderator functions for topics (pin/close/delete, plus move and rename)
- Search, ported from v8. Not a ton of optimization here, or new unit testing, but the old version worked pretty well
- User posts (topics the user posted in)
- Forgot password
- Vanity items (signatures and avatars)
- Hide vanity items per user preference
- Some minor data caching where appropriate
- A little bit of UI refinement
- Lots-o-bug fixes
- Lots-o-unit tests
What's next?
The plan between now and the next beta is as follows:
- Continue working through features/tasks, and fix bugs as they're reported
- Integrate the forum into a real, production site
- Refine the UI
- Refactor as much as possible... the code organization is not entirely logical in some places
After the second beta, a release candidate will follow, with a real "final" release after that. Subsequent releases should come relatively frequently and without a lot of risk. The trick in building this thing has been that it mostly tossed the previous WebForms version, which was all full of crusties. The time table for this is a little harder to pin down, as day jobs and families will have their effect.
Other notes
Refactoring will be a priority. As the features of MVC have evolved, so have my desires to use it in a fashion that makes things clear and easy to follow. I don't even know if anyone will ever start mucking around in the code, but on the off chance they do, I'd like what they find to not suck. Other nice-to-haves are builds to target Windows Azure and SQL CE. A nice setup UI would be super too. I think the ASP.NET MVC world has gone long enough without a decent forum.
The biggest challenge that I've found is making the forum something that can be dropped in any app. While it does rope its views into an area, areas are mostly just routing details. I haven't thought of a clever way yet to limit dependency injection, for example, to just the forum bits. I mean, everyone should be using Ninject, but how realistic is that? ;)
How much time and effort should you spend on POP Forums in its current state? Change is inevitable, but at this point I'm reasonably committed to not changing the database schema. I really think it will stay as-is. All bets are off for the various interfaces throughout the app, but the data should generally resist change. It's not even that different from v8, which was one of the original goals because I didn't want to rewrite SQL or introduce a new ORM or whatever. My point is that if you wanted to build a site around this today, even though it's not entirely functional, I think it's low risk in terms of data loss. I can't vouch for whether or not you know what you're doing.
I've been having some chats with people lately about quoting posts, and honestly there has to be something better and straight forward. That continues to be a holy grail of mine, and some day, I hope to find it.
Enjoy... it's starting to feel more real every day!