A hacky implementation of this lives in 7.x-1.x.

The 7.x-2.x branch will do this properly, removing all notions of polling throughout the front end js code and the backend code.

For js, this means all data from the server will be pushed, and JS code should be altered to suit.

For the backend code, this means all data for clients will be pushed to a node.js backend.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

markwk’s picture

Current status? Try to figure out how it's working / hack on it, but can't figure what's up so far.

darklrd’s picture

Integration has already been done with nodejs module. First setup your node.js server as mentioned in nodejs module's README.TXT. After that you can set the Chatroom to use node.js as backend by going to Chatroom module's setting page.

markwk’s picture

Thanks for the quick response. Which branch should I be using? GSOC2011?

darklrd’s picture

Yes, please use gsoc2011 branch.

markwk’s picture

Cool. I got it up and running. I opened up the code and it was a bit hard to follow. There is still a mix of node.js method and ajax polling method.

I'm thinking of backporting or adapting parts of this to Drupal 6. Any chance we could scrap this old ajax code and work just with the node.js stuff?

It seems like a lot of the configuration isn't necessary in the context of node.js.

darklrd’s picture

The mix of ajax and node.js methods is necessary to keep the site's drupal DB in sync. While posting, when someone sends a chat message, ajax method is used and thereby chat messages are logged in the DB. And simultaneously this new chat message is published on a node.js channel too. For receiving new chat message updates only node.js backend is used. The main load on a website, when using a chat framework, is essentially due to polling for new messages which in this workflow is handled by node.js only. Hope this clarifies your question.

markwk’s picture

Ah! Yeah, I get it now. It's in fact not all entirely done on the node.js end because there is the ajax that sends it to the db. Thanks for clarifying this.

Have you even gotten this to work with a service like no.de? I got it working locally but wanted to try it there, but not quite working.

darklrd’s picture

No, I haven't tried it like this. It should work though. What is the issue?

markwk’s picture

Here's a small patch to improve documentation for the node.js integrated chatroom.

markwk’s picture

This was the issue I got in no.de log:

[ Sep 17 20:57:24 Method "start" exited with status 0. ]

I'm not sure sure what that means.

Anonymous’s picture

re. #9.

+1. Clone gsoc2011 branch of http://drupal.org/chatroom

don't start there, start with the 6.x-3.x branch.

Anonymous’s picture

Version: 7.x-1.x-dev » 7.x-2.x-dev
langworthy’s picture

I think we can mark this fixed?

SeanBannister’s picture

Status: Active » Fixed

Automatically closed -- issue fixed for 2 weeks with no activity.

Anonymous’s picture

Issue summary: View changes

Long overdue summary update.