[[toc]]
++ Bugs
List any tickets on http://bugs.horde.org/ that cover this issue or are relevant to it.
++ People
++ Features
Introduce categories for boards as an additional means organization. For larger installations, boards alone might be insufficient.
Categories
Apart from being just "pretty", URLs should express is-a, has-a or subset relations. Examples:
http://example.com/horde/agora/main/testboard/testthread/page/3#post-9365
Category titled "Main" --´ | | | | |
Board titled "Testboard" -------´ | | | |
Thread titled "Testthread" -----------------´ | | |
Show page 3 of the thread ----------------------------´---´ |
Jump directly to post #9365 ----------------------------------´
http://example.com/horde/agora/main/testboard/testthread/9365/edit
Category titled "Main" --´ | | | |
Board titled "Testboard" -------´ | | |
Thread titled "Testthread" -----------------´ | |
Post with the id 9365 ----------------------------´ |
(there is little sense in naming individual posts) |
Action: Edit post #9365 ---------------------------------´
http://example.com/horde/agora/recent/page/3
List threads that got ----´ | |
recent replies | |
Show page three ----------´---´
In order to create a named URL part, the following operations should be performed:
- Strip trailing or leading whitespaces
- Transform all letters into lower case
- Translate all letters not within a-z into their phonetic equivalents. Examples:
||~ Original Letter || ä || ß || ø || ð ||
||~ Equivalent || ae || ss || oe || th ||- Turn everything except a-z and 0-9 into a dash ("-")
- Merge multiple dashes into one
- In case of a collision: Append a dash followed by the number of colliding strings + 1 (should result into "foobar", "foobar-2", "foobar-3", etc.)
People ''love'' statistics. Providing them also seems to encourage user participation. In particular, provide a publicly available stats page featuring:
- Top ''n'' most active users (by post count)
- Top ''n'' most popular boards (by post count ''or'' by views)
- Top ''n'' most popular threads (by post count ''or'' by views)
- Last ''n'' threads (possibly drop this in favour of /recent)
- Generic stats like:
>* Total number of threads
>* Total number of posts
>* Average number of posts per thread (bonus: Use this to determine "hot threads" instead of a fixed value)
>* Average number of posts per day and per hour (seems to be bogus, but people like it. And it is cheap to generate: Take the first and devide by 24)- Overview over the number of posts on each of the last ''n'' days
Possibly provide all of these via blocks as well.
Provide RSS and Atom feeds (c.f. ((Project/FeedEverything))). In particular:
- Feed solely for threads (e.g. newly created threads will be announced in here, showing the content of the very first post in the feed entry.)
- Full content feed (All new posts go in here)
- Both again for specific boards (this is excellent for larger installations with high traffic)
Currently, there can be only one moderator per board. Add an extra table to allow for an n:n boards-to-moderators relation.
Also: Allow moderators to perform reversive actions in boards not assigned to them, tying them closer to their assigned boards.
Enable threads to accept ping- and trackbacks. In addition, catch refbacks.
Forums are often subjects to heavy modifications in an effort to appease users. A powerful plugin infrastructure might help to keep the installed software maintainable while allowing the desired modifications. The [http://www.habariproject.org Habari Project] has got a system that might be a good start for this.
+++ BBCode
An advanced BBCode parser has been proposed a [http://bugs.horde.org/ticket/7285 long time ago]. Since then, a better one has been in the making. Features include:
www.example.com
or
[url]http://www.example.com[/url]
would be rendered as
http://www.example.com
Unreachable links would be marked with ''rel="nofollow"'', so there won't be an impact on search engine rating:
http://www.example.com
Additionally, CSS selectors could be used to give users an immediate feedback on broken links.
Check if:
- an [img] tag is pointing to a reachable destination
- if the destination is actually an image (the rise of one-click-image-hosters seems to entice users to c&p the URLs of result pages rather than the URLs of the actual images)
- Eventually, retrieve the image dimensions.
As an example
[img]http://www.example.com/example.png[/img]
would be rendered as
The [quote] tag has got an optional parameter that can hold three different kinds of values: A quoted string, the id of a post or an URL. The last two will be using the [http://microformats.org/wiki/cite-rel cite-rel microformat] in the rendered output. Example:
[quote=http://www.horde.org]
Welcome to the home of the Horde Project.
[/quote]
Will be rendered as:
Welcome to the home of the Horde Project.
+++ Features touching other modules
++ Code
++ Resources
Back to the ((Projects|Project List))