Once again thank you for this useful module.

I have had some discussion with one of the site maintainers already and Justin suggested I post the issue here.

I have converted chatroom into module that would be useful for chatting about math, physics, and possibly other disciplines. It utilizes the following drupal / 3rd party code:

  • jsDraw2D - a tool for creating sketches on canvas.
  • LaTeX - useful for mathematical and physics markup
  • openPlaG - PHP plotting software
  • Ubercart - getting paid to use time in the tutoring/conference room
  • ACL - limiting access to chat
  • uc_node_access - providing access to the chat after the user has paid
  • stock - converted this drupal module into a sort of reservation system with help of other modules
  • autotimezone - automatically gather users timezone so reservations are made in sync
  • content access - limit access based on username
  • printer friendly - converted this drupal module to mail transcripts of sessions
  • Markitup - LaTeX toolbar for math and physics markup
  • mathfilter - created Tex images with mimetex
  • soundmanager2 - play sounds when someone speaks

At this point I am open to suggestions and help. I want to apply for a CVS and may need help with refining code.

A demo site is available at http://sharpermath.com/chat. Only the code relating to the chatroom is there. I hope to have a demo of all the functionality soon.

Comments

wxman’s picture

I just posted a question asking if anyone has done something similar to this, then I found yours. I always search before posting, but I swear sometimes it plays tricks on me.

I was wondering if you ever got this working the way you wanted? I have someone asking me to set up a site for paid seminars that sounds very close to what you tried here.

pmagunia’s picture

Yes, I found where you posted that previous question. You were looking paid entry to the chatroom using an e-commerce type application.

I did get it working on the website I mentioned in the original post. The ubercart add-on module "uc_node_access" I modified to suit my needs allows only customers who have paid to access the chatrooms. Once in the room, all users can use the whiteboard. That is based on the jsDraw2D graphics library.

I applied for a Drupal CVS account so that I can make my work available to the public. It is in the process of getting approved. I have only submitted code for the whiteboard module. The code that I modified was not done the Drupal way: I just changed functions and variables without trying to override them. That is why I am trying to release in pieces.

I feel uncomfortable releasing any code before it protected in some way. If you have particular questions, I can try to address them until I get the rest of the code ready for release. Thank you for your inquiry.

wxman’s picture

Thanks for the response.
The white board is an interesting idea, but I think my client wouldn't have a need for that. I think she's envisioning straight text in a lecture format, then question/answer type of environment. I was curious how you had to modify the uc_node_access? I would think that would have worked right "out of the box".
I was also interested in the printer friendly use. I've used that module for other sites before, and I was trying to figure out how to do a down loadable or printable transcript. At the end of a session, can you just click the printer friendly, or PDF buttons to make a copy?

pmagunia’s picture

uc_node_access didn't provide the option to allow dynamically timed access based upon product selection. That's why I had to modify it.

I just use the email portion of Printer Friendly. It queries for all messages and makes an HTML transcript of the session. I think I used mimemail to send the attachment.

kbrune’s picture

Interesting... I went a different route... Ubercart to purchase roles (with an expiration), then give those roles permission for the chat nodes via ACL and content_access.

wxman’s picture

I've never tried to make roles purchasable. Did you have to make a module for that, or can you do that without modifications?

pmagunia’s picture

@kbrune,

I tried that, but Ubercart can't currently fine tune for hours.

Plus, if you want the customer to have access at a specific time or date in the future that won't be possible either.

If these things aren't important, then yes Roles may be used.

I appreciate being able to use ubercart. It's a great product, but here I had to tweak it some.

@wxman,

Here's something new I came across: Node access product. It may also suit your needs.

wxman’s picture

I actually have NAP installed, and I'm going to be testing it today. I'm worried about fine tuning the times. This is for chat lectures/classrooms, so the times should be broken into hours. I don't see the need for minutes, so I hope that will make it easier.

wxman’s picture

@pmagunia,
One quick question. The way you have yours set up, how do you have the chat permissions set in user/permissions? Do you have the 'access chats' set for the users, or is it off. I thought those were supposed to be unchecked, and the content access modules would grant/un-grant the permissions after payment.

pmagunia’s picture

Issue summary: View changes

updated url

pmagunia’s picture

Just as an update, the whiteboard portion of the tutoring/seminar module is now available at

http://drupal.org/project/whiteboard

I still have work to do to get the rest modules ready.

markwk’s picture

So do you plan to sync the whiteboard in real time? I had some code that was working okay with node.js and raphael.js for creating a shared whiteboard.

wxman’s picture

The whiteboard idea sounds great. The client we have wouldn't need it now, I don't think. The idea should come in handy for the next one though.

wxman’s picture

Issue summary: View changes

update anchor

pmagunia’s picture

Issue summary: View changes

fixed broken link