One-to-one private messaging [7.8]
This is a simple facility to ease direct communication between members.
(Système de messagerie instantanée implantée dans un serveur Yacs)
(Système de messagerie instantanée implantée dans un serveur Yacs)
(based on a suggestion from Anstey Stephan)
A list of present members is available (roster) is displayed in the index of users (
The conversation is initiated when one member visits the profile of another member, directly or through the roster, and hit the appropriate link in
This opens another panel where sent and received messages will be displayed alternatively.
If someone engages several one-to-one conversations, he will use one panel per conversation. This means each panel is bound to a pair of user ids.
On the other end, a member is advised of pending messages during his navigation throughout the site. This takes the form of a flashy warning in the user profile.
The alert drives the surfer to a panel similar to the one used by discussion initiator.
The discussion panel (
New messages are submitted through AJAX queries (to
The upper panel is refreshed in the background, every 10 seconds, by a small AJAX query (
YACS keep in memory up to 50 messages per one-to-one conversation, and older messages are dropped automatically. The goal is to achieve a very simple function, without the burden of manual purge.
(What about a recording facility to save transcripts as a web page?) (why 50? -- why not offer both the 'off the record' style fo chat (ala google's ajax chat app) and an insert chat into article function upon closing chat (not available for off the record chats) Istead of 50, just having messages purged after the chat is either properly closed, OR 20min session time out? 50 just seems rather arbitrary -- and it limits the usefulness of chatting in collaborative settings)
The database abstraction is basd on existing comment, implemented in
A list of present members is available (roster) is displayed in the index of users (
users/index.php) and also in personal user profile (users/view.php).The conversation is initiated when one member visits the profile of another member, directly or through the roster, and hit the appropriate link in
users/view.php.This opens another panel where sent and received messages will be displayed alternatively.
If someone engages several one-to-one conversations, he will use one panel per conversation. This means each panel is bound to a pair of user ids.
On the other end, a member is advised of pending messages during his navigation throughout the site. This takes the form of a flashy warning in the user profile.
The alert drives the surfer to a panel similar to the one used by discussion initiator.
The discussion panel (
articles/view_as_thread.php) has a simple structure, with a textarea at the bottom to type messages, and a division above to reflect previous exchanges. New messages are submitted through AJAX queries (to
comments/thread.php).The upper panel is refreshed in the background, every 10 seconds, by a small AJAX query (
comments/thread.php).YACS keep in memory up to 50 messages per one-to-one conversation, and older messages are dropped automatically. The goal is to achieve a very simple function, without the burden of manual purge.
(What about a recording facility to save transcripts as a web page?) (why 50? -- why not offer both the 'off the record' style fo chat (ala google's ajax chat app) and an insert chat into article function upon closing chat (not available for off the record chats) Istead of 50, just having messages purged after the chat is either properly closed, OR 20min session time out? 50 just seems rather arbitrary -- and it limits the usefulness of chatting in collaborative settings)
The database abstraction is basd on existing comment, implemented in
comments/comments.php.Comments
2- Bernard
on May 1 2007 -
Lasares: You are right, the foreseen design should enable chat conferences, with several attendees contributing at the same time. However, as usual with YACS, we would like to start with something, which is one-to-one messaging, and to learn from experience before moving forward.
3- Bernard
on Aug. 9 2007 -
This is becoming real starting on YACS version 7.8, thanks to AJAX, and some clever implementation of the COMEt architecture. Hopefully, the data model of YACS has proven quite stable, and you can play in Fench at the coffee machine. Click on a thread to see it working, and then invite your friends to co-browse a page...
4- AnsteyER
on Aug. 9 2007 -
I CAN NOT WAIT to see this.
my site will finally start to grow once this starts in. This is the single biggest missing thing on my site that i get complaints aobut on a daily basis.
(the other being the inability to protect articles so that subscribers can see it without being members
)
my site will finally start to grow once this starts in. This is the single biggest missing thing on my site that i get complaints aobut on a daily basis.
(the other being the inability to protect articles so that subscribers can see it without being members
)5- Bernard
on Aug. 11 2007 -
AnsteyER: if you are in a hurry, then you can play with the new 7.8alpha release, but only on a test server...
1- Lasares
on May 1 2007 -
I like that. Some of my sites are really only collaboration spaces for specific projects, were we keep the documentation produced by the project and, as much as possible, traces of the evolution of the project. This is why I so badly want to be able to post by e-mail, a function I have never been able to activate. I would c.c. all the e-mails of the project members to the site, and it would become an archive of our conversations about the project.
This feature you are suggesting brings it a step further. By being able to save the chats (as suggested at the end of your post), we could archive another whole new set of conversations about the project.
In fact I am already doing this in a limited manner with Skype, but it is not integrated in this project structure. This experience prompts me to propose another feature to this functionnality : do not forget to add a time stamp stating when the chat started and when it ended. Useful for various things, priceless for billing!
And what about a four-people chat? Am I getting overly hungry?
Again, thanks for this. Any time frame estimate for implementation, yet ?