|There's more than one way to do things|
(pardon the sloppiness, I'm very tired but had to get this off my chest.)
I've posted on this before, and I feel it's time I posted once more as the project has, say, "grown up".
Currently, I've got a bit of code thrown together at http://labs.timorperfectus.com/discussion/ (more recent code is actually up on my personal board: http://personal.timorperfectus.com/devin) . Using CGI::Application, CGI::Application::Plugin::Session (having issues with this...), HTML::Template, and DBIx::Class, (not including non-functional form validation and data untainting stuff), and with those modules alone, I think this thing could go all the way. DBIx::Class is by far the best ORM I've used to date, and it seems like I can do anything databasewise with a little patience. I've got some things that are needing fixing (CSS rendering consistency, data validation, checking for duplicate posts, reply counts, etc.), which are for the most part a nuisance until I get them fixed.
What I'm coming here to ask today is, what kind of features should I employ? I've got a list going on the link above scattered randomly through out posts, but I want some input from the perl community. I know there's not much there as it stands, but I'd like some neat features to tack on that would maybe get it a step ahead of other popular boards by not only looks but convenience and speed...Obviously one would want a port of this to PostgreSQL, Sqlite, Berkeley_DB, and have a choice between them all, along with great configurability (what gets configured though? besides looks, backend set up, allowing users to customize pages, errors, etc.), skinning, updates, downloadable plugins ("post 2 html" kind of deal, aka turning a post and all it's threads into static HTML files for example), intuitive and innovative search abilities, along with technical things that I can't yet grok (creating numbered pages, I've got pagination down, but I'd like to do something like "page: 1 2 3 4 5 > last page").
I'll cut this off before i get too longwinded ;-).
If anyone can help me and lend some ideas, I'd be greatful. I'm finding i'm able to code almost anything with a little bit of help, so just throw out the idea and it'll most likely be implemented.
Thanks in advance!