Some minor protocol changes. Rationale at the end.
1. What was previously known as "user.status" is now known as "user.data".
The userAction "setstatus" is now known as "setdata".
We now consistently distuinguish between "status", which is maintained by
the server, and "data", which is controlled by the client.
2. The "user.data" may be set at the time of joining a group.
Previously, one needed to join a group and then set "user.data". It is
now possible to set "user.data" at the time of joining, which avoids the
need to debounce "user" messages.
3. We now implement "group.data" in addition to "user.data" and "group.status".
Group.data may be set by any group operator, and is propagated to all
clients in a group by the means of "joined" messages. If you're using
protocol.js, it's a parameter of the "onjoined" callback.
# Rationale
Anabole.com have been forking Galene for remote teaching of primary school
students. My goal with these changes is to ensure that they only modify
the client, and that they don't need to make any changes to the server.
In their user interface, they store a user avatar's position in the
"user.data" field; if the "user.data" field cannot be set at joining time,
the other clients receive two "user" notifications, which leads to display
flicke.r
Another feature is to allow the teacher to set the current exercice
number, and have it prominently displayed for all students. This is
currently done using ad-hoc userMessages, which is racy; the goal is to
store it in "group.data".
-- Juliusz
_______________________________________________
Galene mailing list -- galene@lists.galene.org
To unsubscribe send an email to galene-leave@lists.galene.org