Short term modifications and developments in plans for the Trust-forum project

Note

I don't know how it is now, but in forums invitations table (for rights to read, write or admin) the invitations must be known by invitation id (incremental), together with pseudo/host. The invitation id is what is important to authenticate the user to the forum (for working with GLS, see below). In some further development, it will sometimes work without pseudo, only host and invitation id. This id should also appear in the user's table of forums, to make this authentication possible.

What is in plans to be made for March 2006

Email invitations system

It should be possible to add invitation (for registration as new user) to bottom of email message sent. This had been implemented before, but misses in the present implementation. We should re-implement it and check that the system is working.

Integration of GLS to forums system

This gives the possibility for a user to have in his folders links to forums hosted elsewhere, and let this work as it works inside the same site: if a user is subscribed and there is a new message in forum then the user sees the link to forum in his main box.
To do this, the forums must send info to the hosts of every "subscribed" user every time a message is posted or made invalid again by another user, so that the info of what to display in each folder (how many new messages) is locally available in the home host of the user.
Authors of messages will no more appear (and be identified) as pseudo, but as pseudo@host.
It would be interesting to call hosts by their own new names we would invent in our network, to avoid lengthy and uninteresting domains or URLs. (not necessary in the short term).

Moreover, user can add to his personal bookmarks links to forums or threads.

Possibility to invite an email to a forum.

Already, email addresses can be added to the contact list. It should be possible to invite them to forums too, like other contacts. Then:
If a user is hosted at the same host as the forum, he will have the possibility when inviting an email to a forum (or after doing it) to add this email the right to register as a user to this host (so, other way of inviting someone by email - this requires that the invitations system, which was working before but has been forgotten in present version, will be reimplemented, and secure: no possibility to modify the URL to pretend to be invited by someone else or to access another forum, and a wrong code (as random number) will not be accepted)
For any user (writer) of a forum that contains an email other than oneself, it will be possible to configure the forum to send posted messages: immediately; or: after ( ) minutes or closing session, or: when closing session (this is to let the chance to make the message invalid again, which would not be possible if the email was sent).
The importance of this question of when to send message, comes from the fact that, as valid messages are waiting to be read by someone else and, when they are read, they cannot be made invalid anymore, so when the message is sent by email, they will be read without modification, it is must be marked as already read.
To simplify in the short term of programming, it is not necessary to implement this choice now. Instead, for example, it would be enough to implement the sending the message only at the closing session, or only immediately when message is posted or marked valid.

When a posted message is sent to an email address, on bottom of email message will be a link to the forum with: forum name or id; invitation id of that email in the forum's invitation table; authentication code. This code is changed every time an email is received. If an older or wrong code is used, a new email message is sent with a new code.
When the email user finally registers, he remains user of this forum and sees it in his folder.

The headers of the email message sent when one posts message to a forum, is like in a mailing list:
Sender email address is the author pseudo@host (does not work to reply);
Sender name is defined by Comment of this pseudo;
Subject is: [Forum custom name] Forum message subject.

New forum rights system

Instead of the choice public/private forum according to the folder in which it is created, the rights system should be chosen for itself unrelated to folder questions. For this, just two questions: what is the default access for non-invited users; what is the default access for guest (this last question is already made possible by denying the user called "guest", but requires to make this denyance separately and write "guest" in all letters; here we integrate this question directly on the creation form: the fact there is this question does not require to modify database structure, but it is a matter of making the interface practical).

So, 3 possible types of forums: - Default access =none : private forum
- Default access = read (guest access = none or read): semipublic forum
- Default access = write (guess access = none, read or write): public forum.

From this, there are 2 systems of modification for particular users:

- Invitations (that affects the invitation table), from forum info page. There are 2 conditions:

Then, inviter id will be put as inviter on the line of invitations table for invited user where right is increased.
No specific interface for admin here. This is made in forum info page.

- Denyances, edited by admin, from "rights and deniances" page that forum admin can access.
In database, deniances are another column in the invitations table.

Function of calculation of effective right of a user, that is called every time the forum functionality depends on this right:

  1. take default
  2. increase by invitation
  3. decrease by denyance.
Other aspect of rights system is that there is ONE owner of the forum that is "the head" of all admins (this has been discussed by mail...) : that is the only admin that can deny other admins except himself; he can abandon his title in favor of another admin; this is necessary first if he wants to resign his invitation, unless it is a private forum and he is the only user, so that the forum is deleted).

New folders system

The tree structure in forums is not useful, so it may be kept or dropped, according to what is more convenient for programming. There will be the following folders:
- Main box
- Possible other folders, created by user
- One folder of all public (and semi-public) forums of this host.
- List of remote sites, = bookmarks, whose target is the list of public and semi-public forums in each.

As it already works, private forums can be put to one of the user created folders, in which case they will always appear there; moreover they will appear in Main Box, if (they are not in another folder) or ((user subscribed to it) and (there is new message)).
But, which is new, public and semi-public forums can be put in any user folder including mainbox; they will also appear in mainbox if ((user subscribed to it) and (there is new message)). Anyway, they will always appear in the Public forums folder (public forums above, semi-public below, with separation).

User has possibility to display folders with, below each forum, the forum's comment. So on top of folder is the link "Show comments" or "hide comments".
With folders will be displayed the nature of every forum (public or private) but maybe not yet now because it would be perhaps too heavy on the screen. We will discuss it together with design, how to show it in a light way.

What will be done later

Dating

Some improvements have to be made to the dating system...

Translations

There should be 3 fonctions instead of 4: two remain unchanged (use - compare), the other two become one: make new translation (with new version number) while seeing selected (1) with default values from selected (2) optional; a translation can be made (switched) public or private by its author. Letting it public means it will appear in the list of available possibilities for the others; however if it was public and one used it, then it is made private, the user can keep it.

Wiki

A wiki system with added functionalities will be included


return to the project page