What they want:

User has posted earlier - puts a dot/icon beside posts you've posted in before. This is kind of a nice feature. We can just enable it, though. No need to turn it on and off, or if we do, it doesn't need to be stored in the db so config is fine.      

Quick jump - we want this all the time   

Captcha for registration!

Rails Forum Feature Jam

Anything that is crossed out is a cool feature, anything that is not crossed out is a gotta have. Cool features, we can prioritize later in terms of which we’d want most. :) Included is the original rorBB feature list as well, assume that anything not crossed out is a gotta have. Basically, we’d like to make the transition as fluid as possible from punBB, so we’d like to have every feature from that forum package that we use.

The moderation stuff is super important to us, and those are some of the main things missing from the rails-based forum options available today.

Anything marked as red is complete.


Here’s What RAILSFORUM Wrote:

MODERATION

Topic Level:

move topics (with redirect)

close/open topics (mods/admins can still reply),

delete topics (physically remove and with restore option)

rename topics

stick topics

edit history for topics (see who performed what edits and when)

Post Level:

edit posts (users their own, mods/admins any—silent edits for admins are nice)

split posts

merge posts (less important than the others)

User Level:

user notes (not necessary but nice)

ban/unban users (by name (actually done via a flag on the record) and email address)

ban/unban IP ranges

capture user IP address

IP history (any IP the user has posted from)

Miscellaneous:

Post reporting (user press report button, enter reason for report, report is sent to moderator area or via email to moderators)

Able to censor words (for spammers, mostly)

Inline moderation: Post level edits can be done inline: each post has a check box viewable to moderators… mods check the posts that need moderation then choose the action from a drop down.

FORUM FUNCTION

Quick Reply

Quick Edit (vB 3.6-style?)- (bust post editing in some form is necessary)

Quoting (i.e., via bbcode and also a “Reply with Quote” button)

Better bbcode (i.e., allow attributes like [url=http://www.yahoo.com/]Yahoo[/url]) (calibre-bbcode gem?)

Code highlighting (syntax gem?)

Signatures

Avatars (real, hosted—not gravatars, which are slow and tiny) (Though since we have them now, they’d be really nice)

RSS feeds for new topics (per forum), new posts (per forum and per topic), and whole forum (posts and topics)

Dashboard/control panel-based subscriptions—users can subscribe to threads, and threads with new posts are printed to a “subscriptions” area on the dashboard/cp

Search (whole forum (kinda, needs tidying up), per forum, per user, (per post?))

Userlist (sort by alpha, join date, posts)

Private message system

File attachements

Expanded profile fields (DOB, location, website, etc.)

User ranks (based on post count, customizable) (Though since we have them now, they’d be really nice)

Support for graphical smilies (Though since we have them now, they’d be really nice)

Visual representation of unread topics (including previously read topics with new replies)

Show all new(/newly replied to) posts and mark all forums read links

Ability to mark forums as active (shown/hidden) (mark[oz])

Ability to mark forums as open (allows new posts) (mark[oz])

Customise how many sub forums are shown on the index page (mark[oz])

FORUM CATEGORIZATION/NAVIGATION

Categories (for forums)

Tag system

Users can tag topics (forum-wide del.icio.us?)

Tags are gathered (tag cloud?) in their dashboard

Tags are also gathered on a forum-wide tag page

Ability to reorder forums

Ability to rename forums (note: forums should have descriptions)

Forums show numbers topics/replies (PunBB-style)

Threads show number of replies/view (PunBB-style)

Each thread has a URL (obviously), each post has its own URL too

Last 24hrs. topic links: new, recently updated, unanswered (that one is all-time)

FORUM PERMISSIONS

Limit forum access (control over who can post, reply, and view forums)

Forum access is controlled on a user group basis and also on a forum basis

Moderator levels (control which moderation tasks moderators have access to)

User groups (used for moderation levels, and also forum access—user groups can be based on post count, length of membership, automatic (i.e., all new members are added), or custom (i.e., mods/admins must place users in groups manually)

Forum function permissions

Signatures (control over number of lines/characters, what bbcode is allowed (i.e., to disallow image code)) (Though it would be VERY nice to forbit IMG tags in sigs somehow—image sigatures really make a forum hard to read)

Avatars (size, dimensions, filetype) (Only necessary if we have avatars!)

Control over which forums count toward viewable user postcount (this can be helpful)

And of course: A PunBB converter


Here’s What RORBB Had Already:

Core Features

Database Agnostic

Categories for Forums

Forums and Sub Forums

Topics

Editable Title

Messages

Message Quoting

Textile/Markdown Support (would rather have bbcode, to be honest! Textile, because of _ = italic, really screws up code samples when people neglect to use code tags, as they do often)

Message Preview (before posting)

Editable

Full-text searching

Users

Role based Security

Profiles

Avatars (See above)

Other Info (location, website, IM handles)

Member List

Profile pages

Ajax (Bells and whistles—unimportant for now, but certainly nice)

Unobtrusive

Fully Degradable

Cool Features (IF NOT CROSSED OUT, ASSUME IT SHOULD BE CONSIDERED CORE)

Integrated installer (Not necessary for first, Rails Forum release)

Topics

Track Posts, Views and Last Post

Taggable Topics

Read/Unread Status (for each user)

Quick View First Unread Post

Messages

DHTML Textile Tool (you mean wysiwyg editor? nice, but not necessary)

Smilies (See above)

IP Tracking

Report Abuse

Quick Post

Message rating

Code syntax highlighting

View Modes

Normal

Compressed (don’t care about this for a first release)

Easy and advanced search options – Regular Expressions?

Users

Online/Offline Status (This one would be VERY nice, however)

Profiles

Signatures

Privacy Settings for Personal Info (easier to just allow them not to enter certain stuff)

Karma/ Reputation

Buddy list

Ability to chose forum theme/layout

Private Messaging

Member List

Search

Topic subscriptions

RSS Feeds

Web Service API

Database Schema

Current

forums

name

description

position

topics

forum_id

name

posts

topic_id

user_id

content

created_at

updated_at

users

name

email

password_hash

password_salt

created_at

updated_at

Possible Additions

forums

parent_id

topics

sticky (boolean)

view_count

posts

ip

users

role_id

last_login_at

ip

roles

name
Whatever general permissions go here

permissions

role_id

forum_id

can_view

can_read

can_post

can_edit

can_delete

can_sticky
Other forum access permissions go here

Feature Listing

I took the liberty in splitting the list into two sections. The idea being that if the feature should be integrated into the system from the start, then it is a Core Feature. If it is fairly straight-forward to add on later, then it is a Cool Feature. Please move things around as you see fit. If you think this is a bad idea, you can revert it back to one list – I’m okay with that. —Ryan

Core Features

Database Agnostic

Categories for Forums

Forums and Sub-Forums

Topics

Editable Title

Messages

Message Quoting

Textile/Markdown Support

Message Preview (before posting)

Editable

Full-text searching

Users

Role based Security

Profiles

Avatars

Other Info (location, website, IM handles)

Member List

Profile pages

Ajax

Unobtrusive

Fully Degradable

Cool Features

Integrated installer

Topics

Track Posts, Views and Last Post

Taggable Topics

Read/Unread Status (for each user)

Quick View First Unread Post

Messages

DHTML Textile Tool

Smilies

IP Tracking

Report Abuse

Quick Post

Message rating

Code syntax highlighting

View Modes

Normal

Compressed

Easy and advanced search options – Regular Expressions?

Users

Online/Offline Status

Profiles

Signatures

Privacy Settings for Personal Info

Karma/ Reputation

Buddy list

Ability to chose forum theme/layout

Private Messaging

Member List

Search

Topic subscriptions

RSS Feeds

Web Service API

Innovative Ideas

Here is a list of innovative ideas which may revolutionize online forums. Can you think of something that another forum doesn’t have (or very few forums have) that seems useful? Write it down here. Some of these items may already be mentioned on the Feature List, but here you can describe them in more detail. Writing it down here does not mean we will implement it. Just try to fill this list with ideas no matter how crazy they seem.

Quick View
While you are in the topic list, click on a “quick view” button on a topic to see the first post in that topic which you haven’t read. This post will appear instantly under the topic – right in the topic list. You can then click Read More to read the rest of the unread posts if there are any.

Quick Search
Most forum searches require you to do an advanced search to find anything. Instead, there should be an AJAXified quick search which allows you to type in a couple words and a list of topics will instantly appear below.

Flag Topic
Are you especially interested in a topic? Quickly flag a topic and it will be placed in highest priority. When starting or replying to a topic, it is automatically flagged for you. It can notify you somehow when posts are made to that topic (how it notifies you can be a preference).

Ignore Topic
When you are browsing the list of topics and you see one that you know you are not interested in, just hit the ignore button and the topic will instantly disappear. The only time you will see it again is if you choose to look at your ignored topics.

Topic Priorities
Each topic could have a priority for a given user. This priority is calculated based on the user’s previous actions to determine if the topic may be of interest to the user. The user can sort topics by priority.

Auto Pre-Post Search
We a user is creating a new topic, and after they enter the title, an ajax request would be sent to search for topics with similar titles. The results would appear in a side bar on the right.

Split Topic
When creating a new message, the user will have the option of creating a new topic. This would be for situations when a topic makes the user think of something that really warrants a new topic. There could be some sort of link from the orginal topic say, “topic split here”.

In Reply To
In order to keep track of multiple conversations in one topic, a message could be marked as “In Reply To” another specific messages. Icons could be used to represent this visually. I’d like to study this more, because it might actually make things more complicated and confusing.

RSS for Everything
Every changing list could have an associated RSS feed. That way you can subscribe to anything: search results, user’s posts, replies to your flagged topics, etc.

Smart Language Selection for Syntax Highlighting
Each forum could have a default language for the syntax highlighting. This way the Ruby forum would default to Ruby, the JavaScript forum could default to Javascript, the Database forum default to SQL, etc. It would also be nice to add some auto-detecting of what language it is written in, so HTML with eruby in the Ruby forum would have correct highlighting, that sort of thing.