Table of Contents

Agora

Agora is Horde's forum module, providing comments on user submitted content in e.g. Ansel? or Jonah.

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
  + Boards
     + Threads
        + Thread pages
        + Posts
           + Attached files
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:
||~ Original Letter || ä || ß || ø || ð ||
Equivalent ae ss oe th
* Turn everything except a-z and 0-9 into a dash ("-")
People *love* statistics. Providing them also seems to encourage user participation. In particular, provide a publicly available stats page featuring:
>>* 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:
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 Habari Project has got a system that might be a good start for this.

BBCode

An advanced BBCode parser has been proposed a 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

<a href="http://www.example.com" title="Example Site" type="text/html" target="_blank">http://www.example.com</a>

Unreachable links would be marked with rel="nofollow", so there won't be an impact on search engine rating:

<a href="http://www.example.com" rel="nofollow" target="_blank">http://www.example.com</a>

Additionally, CSS selectors could be used to give users an immediate feedback on broken links.
Check if: As an example

[img]http://www.example.com/example.png[/img]

would be rendered as

<img src="http://www.example.com/example.png" alt="http://www.example.com/example.png" title="example.png (65536 bytes)" width="640" height="480" />
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 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:

<div class="quote">
Quote <cite class="via" id="cite-ef58e3aa-af7f-45ba-a17d-5192ffe883b7"><a href="http://www.horde.org" type="text/html" target="_blank">The Horde Project</a></cite>:
  <blockquote cite="#cite-ef58e3aa-af7f-45ba-a17d-5192ffe883b7">
    Welcome to the home of the Horde Project.
  </blockquote>
</div>

Using a post id will in addition show the username of the original poster

Features touching other modules

Code

Resources


Back to the Project List