chatroom module back in active development

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
Anonymous's picture

chatroom module is back in active development.

after a long time away from the module, i'm picking it up again and trying to whip it back into shape. for non-developers, please try out the latest beta or dev code and report bugs and feature requests.

for any developers interested in helping out, my plans are:

  • bug fix and stabilise the DRUPAL-6--1 branch. this branch does a full drupal bootstrap for every poll request, so isn't going to scale well at all, but should be usable as a working module relatively quickly
  • work on restoring the original performance hacks i wrote in the DRUPAL-6--2 branch. this is also where big new features will go. suggestions and patches most welcome
  • start a branch for drupal 7. i would love to have a working chatroom module ported for the release of drupal 7.

feedback and patches most welcome :-)

Comments

Must be the drupal group mind

aaron's picture

Must be the drupal group mind going there; I was also planning to jump back on this queue...

I had some thoughts for an overhaul (from conversations spanning across the years); will try to post them here to see if they're useful or ludicrous.

  • write individual chat sessions to files, so we can bypass bootstrap entirely on read
  • each session gets an md5 hash for the url
  • build a 'cached' file on demand, so if a chat is stale or missing it can be automatically rebuilt (similar to imagecache)
  • make sure we're using the theme system when writing chat lines, allowing for link filters, images, etc

There are other thoughts too. But I'd like to know if that would help for performance.

Thanks,
Aaron

Aaron Winborn
Drupal Multimedia (my book, available now!)
AaronWinborn.com
Advomatic

cool, the more the

justinrandell's picture

cool, the more the merrier.

as to how the caching works, there are a couple of ways to implement it. the main thing i'm concerned with is making the 95% most common case - just polling the server to see if there's a new message for a given room - be very, very cheap when there are no new messages, and be cheaper than a full drupal bootstrap when there are new messages.

things that i'm not concerned about being cheap are:

  • writing new messages
  • admin commands

another thing on my hitlist with this module is openatrium integration - they currently ship with shoutbox, but no real integrated chat feature.

agreed. my thought would be

aaron's picture

agreed. my thought would be that writing a new message would either rewrite all cached recipient files or clear them to be rewritten on the next read. probably the first, i imagine.

Aaron Winborn
Drupal Multimedia (my book, available now!)
AaronWinborn.com
Advomatic

only case where you wouldn't

aaron's picture

only case where you wouldn't simply rewrite them would be if you have a chatroom with >100 users. most other cases, seems reasonable to to rewrite them all. or maybe have a setting so it's configurable: rewrite any under 25, and simply delete the rest to be rewritten (with a smaller than full bootstrap for the icing).

Aaron Winborn
Drupal Multimedia (my book, available now!)
AaronWinborn.com
Advomatic

Chat

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week