Last updated by matt.robinson1 on Wed, 2009-12-02 04:42
Project Information
Project page on drupal.org: http://drupal.org/project/dimdim
Apprentice: Matthew Sielski (MatteusX on d.o and g.d.o)
Mentor: (Need to establish mentoring arrangement. Aaron Winborn may be a possibility considering his offer to co-maintain the module.)
Co-mentor(s):
Local mentor(s):
Current status: organizing online resources, formulating a list of module requirements
***A Devolopment snapshot of a new module integrating DimDim into Drupal has been released here: http://drupal.org/project/dimdim ***
Description
The Dimdim module will integrate the Dimdim web conferencing product with Drupal. Dimdim conferencing is available as a hosted service from Dimdim at three levels (Free, Pro, and Enterprise) as well as through an Open Source Community edition which may be run independently of Dimdim's servers. The Dimdim module aims to integrate with Dimdim conferencing by allowing for the creation, management, listing, and 'launch' of conferences via Drupal. Dimdim offers the following conferencing features:
- Easily share your screen
- Audio & video conferencing
- Present PowerPoint and PDFs
- Private & public chat
- Whiteboard & annotations
- No software to install to host/join conferences
- Record and embed conferences
More information on Dimdim's features is available here.
Resources
- d.o. issue - http://drupal.org/node/552168
- Discussion on Dimdim integration - http://groups.drupal.org/node/12994
- Dimdim open source edition - http://www.dimdim.com/opensource/dimdim_open_source_community_edition.html
- Dimdim user guide [PDF] - http://www.dimdim.com/documents/dimdim_User_Guide.pdf
- Dimdim SAAS hosted integration guide [PDF] - http://www.dimdim.com/documents/Dimdim%20SAAS%20Hosted%20Integration%20G...
Comments
Discussion of module features and architecture
I'd like to kick this off by discussing the features that will be required for the initial version of this module. I'm including some comments from the previous discussion of this module.
@aaron commented:
@matteusx commented:
@aaron commented:
There are some additional comments regarding the licensing of Dimdim, which I believe was confirmed to be GPL 3. We will need to ensure that everything regarding licensing is in the clear, however we do not need to include any code or components into this module to interface with Dimdim.
I'd like to discuss here, with Aaron how stream wrappers fit into this module. From what I've read of stream wrappers here they sound quite useful, but from what I understand of the Dimdim API there may not be direct access provided to the recorded video of past conferences. I will experiment more with the API to verify.
Initial requirements
I'd like to walk through how the module will be used, just so everyone is on the same page. The general model of Dimdim's API is to let you create, update, and delete conferences via issuing GET requests. The conference itself runs in the browser window directly on the Dimdim server. That is, when it comes time to launch and participate in the actual conference all the API does is provide the URL you should visit (or redirect you there automatically). It may be possible to embed the conference in an iframe so that it appears to be within the host Drupal site, but we'd need to identify if anyone is interested in this, and how well it performs.
Here's my vision of how this module may work, from a user's perspective. Feedback is fairly critical at this point, so fire away.
Your thoughts are appreciated.
Where is this plan currently at?
This plan looks great and I am interested in suggesting Dimdim as a replacement product for a couple of sites I manage.
The main features I would like to be able to do is:
* Setup meetings (also recurring meetings)
* Restrict access to specific meetings via role.
* Not require multiple authentication pages, (ie: this drupal module would provide a log in or view conference button which would have any passwords or usernames prefilled so the users doesn't have to do this).
* record session and make these recording available to just those members who had access to the original conference.
I think that the feature of email invitations, can be done via other modules (e.g. node_signup) rather then this module.
I am willing to help build this module.
Great start
It'd be good too if there was a warning message that displayed when you try to create a new conference room and didn't have your dimdim server configurations set telling you to set them.
How are you going with this project? Have you released/developed any code yet? If so, where are you posting it to?
There is a javascript countdown timer contributed Drupal module too that could be used for count downs but it would be good if the count down was through dimdim so that the data doesn't need to be replicated.
Also, it would be good to integrate the dimdim countdown timer with views so you could create teaser pages/blocks with different countdown timers to different sessions.
Also, with the video streaming it would be good if the stream was captured on the streaming server and then transcoded to various formats.
Is there any documentation about the Dim Dim API that's available? It would be nice if you could perform API calls from Drupal to display the Dim Dim content in the page rather than using iFrame's etc.
Anyway, hopefully you come back and post some code up real soon cause I'd be very interested.
Have you had a look at http://www.videowhisper.com/?p=PHP+Video+Conference ?
They already have some integration modules with Joomla and Wordpress but I think some of the functionality might be missing a bit with that software.
had a hunt around - here's the API doc
http://www.dimdim.com/documents/dimdim_integration_guide.pdf
almost there
I'm developing a build out that I'll post up soon :) it's been pretty easy - guess I shouldn't speak too soon lol. I'm up to performing the http requests to DimDim. So here's the code up until that point:
dimdim.zip
Bear in mind this doesn't hook in to dimdim yet. Just creates a new table and creates a new node type and has admins settings and permissions. Still formulating the http requests for dimdim. I tried to make it compliant with the data API too with an extra field that stores a date. There's quite a few things still to do and this is a rapid implementation.
Mine's a little bit different though cause I don't need all the requirements and have other requirements that are more important such as the scheduling etc. but it might be helpful to someone to serve as a basis for rapid implementation.
if anyone has any ideas please contribute
so formulating the http requests with drupal - i haven't worked with drupal_http_request before so if anyone has any wisdom to share please do. Having trouble with communicating with dimdim with the following:
<?php//issue http_request
$headers = array();
$dimdimserver = variable_get('dimdim_server_location', 1);
$dimdimport = variable_get('dimdim_server_location_port', 1);
$url = $dimdimserver . ':' . $dimdimport . '/portal/start.action?';
$headers['name'] = variable_get('dimdim_name', 1);
//$headers['email'] = variable_get('dimdim_email', 1);
$headers['password'] = variable_get('dimdim_password', 1);
$headers['returnurl'] = variable_get('dimdim_return_url', 1);
$headers['waitingarea'] = 'true';
$headers['startDate'] = $textdatestring;
$headers['meetingRecurrance'] = 'SINGLE_EVENT';
$headers['startHour'] = $hournozero;
$headers['startMinute'] = $minutesnozero;
$headers['timeAMPM'] = $ampm;
$headers['displayname'] = $node->host;
$headers['hours'] = $node->hours;
$headers['minutes'] = $node->minutes;
$headers['confname'] = $node->title;
$method = 'POST';
drupal_http_request($url, $headers, $method, 0, 3);
?>
workaround
as a quick work around to get this module up and running for my project i am outputting a link in my custom output for the host to start the meeting and the participants to join the meeting. i will re-visit this at a later stage.
Re: Initial requirements
Hi Matthew,
I think these initial requirements look sound. I particularly liked the passwords being handled by the module, rather than being sent manually.
Btw, this is my first post! New to the Drupal community, not so new to Drupal itself. Probably because I'm not a developer (anymore..). I've become hooked on launching new businesses based on Drupal, both for myself and for my clients.
So, being new to the community and all, I wanted to get some insight on 'community etiquette'. I need to move forward on this DimDim integration pretty quickly, probably starting in the next week. Don't want to reinvent the wheel, nor do I want to go off and develop something in a vacuum.
But my dilemma is that I haven't seen much activity here in the past couple of months.. And I don't want to step on anyone's toes, particularly Matthew, Gus, and Aaron who had the brilliant insight to get this group started. Unfortunately, I have been unable to contact anyone directly due to overzealous spam filters on the site (I'm sure there's a good reason behind it).
That being the case, can people please get in touch with me directly so that we can move forward? Thanks, let's razzle dazzle with DimDim!
Michael
I'd also like to start this
I'd also like to start this soon, perhaps early next week? If no one else has done so, I can start a project to get the ball rolling. I'll plan for Tuesday morning.
Aaron Winborn
Drupal Multimedia (my book, available now!)
AaronWinborn.com
Advomatic
I have also just signed off
I have also just signed off on a project to include some basic integration with Dimdim. I actually need to deliver something that works by Tue 24th Nov. So I will probably be building something next week. I probably wont be waiting for anyone else and I'm not sure whether I will have to take some short cuts to get something out in time. But if I do get something of any decent quality then I an happy to post it when I have it (end of next week or the following week)
@Michael (venturepods) I got your email but when I tried to reply the email just bounced?
Sorry about that - that's
Sorry about that - that's what I get for changing my server over the weekend.. :) Will be in touch.
Stream wrappers? Not yet, but soon...
Stream wrappers would be in the d7 version, as all local and remote file objects will be accessed and stored as a stream wrapper. We may or may not want to use a stream wrapper for any other functionality. Not looking at the DimDim API, I suspect there's no call for it, as I imagine the actual stream will be read-only from Drupal's perspective.
Obviously, since those aren't yet in place for d6, the d6 version won't use stream wrappers. To be forward looking, you may consider using the Media: DimDim namespace for the project, in keeping with other similar modules (such as Media: YouTube, Media: Flickr, etc), which will be built on top of the Media module for file browser integration.
In any case, don't worry about the stream wrappers at this stage of things. Ultimately, we'll need to store the final location as dimdim://[conf-code]. However, I would also strongly suggest Embedded Media Field integration for now.
Aaron Winborn
Drupal Multimedia (book, now!)
AaronWinborn.com (blog)
Advomatic (work)
Aaron Winborn
Drupal Multimedia (my book, available now!)
AaronWinborn.com
Advomatic
I've started a project to
I've started a project to integrate with Dimdim - http://drupal.org/project/dimdim
The module I have created is functional although has some known issues and does not have all the functionality I am wanting to add yet. It does do the basics by allowing you to create a conference and then start/join that conference from within drupal.
Webmeeting 12/2/09 about DimDim module
For anyone that is interested, I talked with univate and we're setting up a web conference to talk about the new DimDim module he's developing. He is looking for help on the module so we would especially like to see those that have the skills and desire to help further the development.
It will be held at 8:30 pm EST on Wednesday 12/2/2009.
Fittingly, we will hold the web conference using DimDim. You can join the conference simply by clicking here.
As a backup, in case we overflow the DimDim conference (it can only hold 20 people with the free account being used), or in case you have any other problems joining the conference, please go to the irc channel: #drupal-dimdim
In case you haven't used IRC before, look here: http://drupal.org/irc
Matt Robinson
Open Meetings
Not to discourage you, DimDim is good software, but I should mention Open Meetings which, unlike DimDim, has no usage limitations. I haven't used it personally but other Drupallers have expressed much praise for it.
Maybe we should be trying to
Maybe we should be trying to build a web conference API? So we can plug in Open Meetings or Dimdim or any other application. One of the issues I have found in Dimdim is that you can't have more them one session running at a time on a single account, so if you want to run multiple meetings then you need multiple accounts. My thinking is that we need the ability to create "rooms". Each room could be a different web conferencing account, so you could have 3 rooms each with a different Dimdim account or you could have a Dimdim account for one room and a Open meeting account for the other 2 room.
I have taken a look at Open Meetings and don't feel its as polished as Dimdim - so I don't think I could recommend it for a paid service.
I have also checkout out other tools like webex and gotomeeting which have been around longer then Dimdim and have a more polished user experience and convincing users to switch to Dimdim was a hard enough task.
Yes! Multiple meetings at the same time is a good idea
I've been meaning to bring this issue up. I do think it is very important to have the ability to have more than one meeting at the same time. I'm not sure what would be the best way to do it though. I definitely could be wrong, but it seems like although building a web conference API might be the best long-term option, it would probably be a lot more difficult than just figuring out something for DimDim first.
I don't know if this is possible or the best idea but what about the following:
Change the DimDim module so that it allows the administrator to enter in the account information for multiple DimDim accounts if desired. The administrator could then specify one as the default and then have the option to make other accounts available to users if the default is being used. I'd also like to see the ability for users to enter their own dimdim username and password to their profile. That information could be hidden from other users, but the dimdim module could use it to start meetings. Then you could possibly have as many concurrent meetings as their are users. For example, I would like to allow every user to have their own dimdim account tied to their profile, and be able to create a button on their user profile that other users could click on in order to open a dimdim meeting with that user.
I hope that makes sense. Would it be best to maybe to try and first expand the DimDim module as I suggest, so that we have a working option, and then maybe move on to creating a full web conference API afterwards?
Yes! Multiple concurrent
Yes! Multiple concurrent meetings & hidden account info per user or authorized 'manager'--user authorized to schedule conferences with account info fields available if authorized.
Are groups/permissions supported? They should be. Doesn't scheduling an event that isn't accessible to a group under Atrium defeats the purpose.
Calendar / time and time zones seem to be an issue that needs addressing.
Love the idea of a general API, but I agree its best to start with DimDim.
What about a participants list? Perhaps following session registrations as is already being done for drupal conferences and events (pnwdrupalsummit.org) Perhaps with an RSVP or a pre-approval list, such as members of a particular group.
web conference
Hey I probably can't make it but if you have specific task that needs doing let me know and I'll see if I can help out. Thanks for getting in contact.
Cheers
8:30 ET 5:30 PT DimDim Session
This sounds great. I plan to try to join the session, but will likely be a few minutes late. 5:30 PT is a busy time of day.
Great to see this taking shape!
Sorry I've been out of the loop for a bit. Much thanks to all for pushing this forward! The module is something I'm sure we'll use on the new Drupal Dojo site and we can try to get more people involved with development via the Drupal Kata. I'm assuming we should move all related issues and feature requests over to the project? http://drupal.org/project/dimdim
Feel free to create a Dojo session for the webconference and utilize Drupal Dojo's Dimdim account.
Looking forward to further developing and implementing this module.
Thanks!
Gus Austin