Hello everyone,

I was missing one month on Drupal because I was flooded in southern France and internet has just come back.

I return to Drupal and I discovered that there are lots of new modules chat! This is very good because it missed this kind of module to create a real community.

I will test all the modules:
- http://drupal.org/project/qtc
- http://drupal.org/project/drupalchat
- http://drupal.org/project/dxmpp

I think it's very interesting, but is that such modules are provided to support many users simultaneously?

why in the Drupal community we try not to use technology Node.js http://nodejs.org/ has done a great job?

I love the idea of DrupalChat, and I think you've done something great.

exemple modules :
- http://ajaxim.com/
- http://www.slideshare.net/amix3k/comet-with-nodejs-and-v8

Comments

darklrd’s picture

Hi charlie836,

Thanks this will really help.

Yes this module will be able to support approx 10k users simultaneously once it starts supporting ape(ajax push engine) as one of its backend. Alternatively you can try dxmpp module which uses XMPP server for the same.

Aaron and I also explored the possibility of integrating node.js with XMPP(ejabberd) server but right now its too time consuming and I have to keep up with my gsoc deadline. Will try to look into Node.js once I am finished with this. Thanks for these resources.

synodinos’s picture

You might wanna check out nodepal - A Drupal integration layer for Node.js developers

This is a module that allows the integration of a Drupal installation with a custom Node.js app. It provides an API so that Node.js developers can directly read and write in Drupal's repository, using constracts like node, user, permission, etc., with having to worry about the underlying implementation and setup of the Drupal installation.

Use Cases:

  • You have a working Drupal installation, with users, content, etc. and would like to add real-time services like chat, etc. The usual Apache-PHP-MySQL setup might not the best suited for this kind of apps, so you can develop you app in Node.js and hook it up to your Drupal, using the Nodelpal integration layer.
  • You want to build a new Node.js app, that has some notion of users, roles, permissions or content and would like to use Drupal's user, roles, permissions, content model and its great administrative interface, without having to build everything from scratch.
  • You want to build a new Node.js app and combine it with Drupal because there is some Drupal module that you find useful. E.g. you can add a Drupal forum, a Blog, or expose some content as a Web Service, or search it with Apache Solr. There is a Drupal module for everything :)
fenda’s picture

So nodepal queries a drupal database for your nodejs server.
With my testing for Drupalchat in Node, I have the Drupalchat module file provide JavaScript settings for what I need (uid, username) to the client js who notifies server side on connection.

I'm implementing the node server without any need for accessing the database.

Got DrupalChat I don't think we need nodepal.

One suggestion for your project though would be to allow node app developers to write custom queries to a drupal database. Looks like it currently supports only a select few. Use the same structure as drupals db_query()

ManyNancy’s picture

I think nodepal is for people who want to develop in node.js without touching drupal modules/php. TBH that is kind of awesome.

But I think using the drupal api is going to be more maintainable, at least for drupal devs.

@Fenda can you give some information about how you're doing things?

zuzu83’s picture

I will ask my team of developers to address the issue because DRUPAL really miss a chat module that can effectively manage hundreds of people talking at the same time effectively without taking a lot of resources.

synodinos’s picture

Adding a PHP stack between node.js and the data store, might create a *significant* bottleneck. If you need a "real-time" app that handles 10k connections, it might be a piece of cake for your node.js component, but if that needs to open a similar amount of connections to Drupal (via a module), you'll have a problem.

node.js<->PHP<->Data Store -- SLOW   :( 
node.js<->Data Store       -- FASTER  :)

BTW I'm currently working on adding MongoDB support, e.g. for setups that use NoSQL for sessions storage. After that I'll add memcache and a WRITE API.

Thanks for the feedback!

kaakuu’s picture

Does anyone have a demo site of the above?

synodinos’s picture

Drupal + Nodepal + Node.js in production --> http://limitedlist.com

darklrd’s picture

Status: Active » Closed (fixed)