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:
- Inviter effectively holds at least the right he wants to invite
to (the "effectively holds the right" is calculated by the same below
function that is used for other purposes in using the forum);
- This must increase the right of invited user that appears in
invitation tale, and put it above default access.
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:
- take default
- increase by invitation
- 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