From 79aefb671a6642182699d039e21b4f8def475c86 Mon Sep 17 00:00:00 2001 From: Steve Challis Date: Thu, 16 Dec 2010 17:49:22 +0000 Subject: [PATCH] Initial commit --- .gitignore | 30 +++ bbb_django/__init__.py | 0 bbb_django/bbb/__init__.py | 0 bbb_django/bbb/models.py | 170 +++++++++++++++ bbb_django/bbb/static/logo.png | Bin 0 -> 7893 bytes bbb_django/bbb/static/reset.css | 7 + bbb_django/bbb/templates/base.html | 241 +++++++++++++++++++++ bbb_django/bbb/templates/begin.html | 14 ++ bbb_django/bbb/templates/create.html | 17 ++ bbb_django/bbb/templates/home.html | 14 ++ bbb_django/bbb/templates/join.html | 20 ++ bbb_django/bbb/templates/login.html | 20 ++ bbb_django/bbb/templates/meetings.html | 37 ++++ bbb_django/bbb/tests.py | 23 ++ bbb_django/bbb/urls.py | 26 +++ bbb_django/bbb/views/__init__.py | 0 bbb_django/bbb/views/core.py | 114 ++++++++++ bbb_django/manage.py | 11 + bbb_django/settings.py | 112 ++++++++++ bbb_django/urls.py | 5 + readme.rst | 42 ++++ requirements.txt | 1 + screenshots/screenshot-create.png | Bin 0 -> 24708 bytes screenshots/screenshot-home.png | Bin 0 -> 15205 bytes screenshots/screenshot-join.png | Bin 0 -> 24966 bytes screenshots/screenshot-meetings-detail.png | Bin 0 -> 40471 bytes screenshots/screenshot-meetings.png | Bin 0 -> 26213 bytes 27 files changed, 904 insertions(+) create mode 100644 .gitignore create mode 100644 bbb_django/__init__.py create mode 100755 bbb_django/bbb/__init__.py create mode 100755 bbb_django/bbb/models.py create mode 100644 bbb_django/bbb/static/logo.png create mode 100644 bbb_django/bbb/static/reset.css create mode 100644 bbb_django/bbb/templates/base.html create mode 100644 bbb_django/bbb/templates/begin.html create mode 100644 bbb_django/bbb/templates/create.html create mode 100644 bbb_django/bbb/templates/home.html create mode 100644 bbb_django/bbb/templates/join.html create mode 100644 bbb_django/bbb/templates/login.html create mode 100644 bbb_django/bbb/templates/meetings.html create mode 100755 bbb_django/bbb/tests.py create mode 100644 bbb_django/bbb/urls.py create mode 100644 bbb_django/bbb/views/__init__.py create mode 100644 bbb_django/bbb/views/core.py create mode 100755 bbb_django/manage.py create mode 100644 bbb_django/settings.py create mode 100644 bbb_django/urls.py create mode 100644 readme.rst create mode 100644 requirements.txt create mode 100644 screenshots/screenshot-create.png create mode 100644 screenshots/screenshot-home.png create mode 100644 screenshots/screenshot-join.png create mode 100644 screenshots/screenshot-meetings-detail.png create mode 100644 screenshots/screenshot-meetings.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7a74596 --- /dev/null +++ b/.gitignore @@ -0,0 +1,30 @@ +# Build related +*.pyc +*.egg +*.[oa] +pip-log.txt +docs/.build +docs/_build +build/ +log/ +src/ +tmp/ +db/ + +# Backup files +*~.nib +.*.swp +*~ +*.tmp +*.bak +.metadata +Thumbs.db +Desktop.ini + +# Other repositories +.hg +.svn +CVS + +# Mac OS X Finder and whatnot +.DS_Store diff --git a/bbb_django/__init__.py b/bbb_django/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/bbb_django/bbb/__init__.py b/bbb_django/bbb/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/bbb_django/bbb/models.py b/bbb_django/bbb/models.py new file mode 100755 index 0000000..b0e51ea --- /dev/null +++ b/bbb_django/bbb/models.py @@ -0,0 +1,170 @@ +from django.db import models +from django import forms +from django.conf import settings +from django.core.urlresolvers import reverse + +from urllib2 import urlopen +from urllib import urlencode +from hashlib import sha1 +import xml.etree.ElementTree as ET +import random + +def parse(response): + try: + xml = ET.XML(response) + code = xml.find('returncode').text + if code == 'SUCCESS': + return xml + else: + raise + except: + return None + +class Meeting(models.Model): + + name = models.CharField(max_length=100, unique=True) + meeting_id = models.CharField(max_length=100, unique=True) + attendee_password = models.CharField(max_length=50) + moderator_password = models.CharField(max_length=50) + + @classmethod + def api_call(self, query, call): + prepared = "%s%s%s" % (call, query, settings.SALT) + checksum = sha1(prepared).hexdigest() + result = "%s&checksum=%s" % (query, checksum) + return result + + def is_running(self): + call = 'isMeetingRunning' + query = urlencode(( + ('meetingID', self.meeting_id), + )) + hashed = self.api_call(query, call) + url = settings.BBB_API_URL + call + '?' + hashed + result = parse(urlopen(url).read()) + if result: + return result.find('running').text + else: + return 'error' + + @classmethod + def end_meeting(self, meeting_id, password): + call = 'end' + query = urlencode(( + ('meetingID', meeting_id), + ('password', password), + )) + hashed = self.api_call(query, call) + url = settings.BBB_API_URL + call + '?' + hashed + result = parse(urlopen(url).read()) + if result: + pass + else: + return 'error' + + @classmethod + def meeting_info(self, meeting_id, password): + call = 'getMeetingInfo' + query = urlencode(( + ('meetingID', meeting_id), + ('password', password), + )) + hashed = self.api_call(query, call) + url = settings.BBB_API_URL + call + '?' + hashed + r = parse(urlopen(url).read()) + if r: + # Create dict of values for easy use in template + d = { + 'start_time': r.find('startTime').text, + 'end_time': r.find('endTime').text, + 'participant_count': r.find('participantCount').text, + 'moderator_count': r.find('moderatorCount').text, + 'moderator_pw': r.find('moderatorPW').text, + 'attendee_pw': r.find('attendeePW').text, + 'invite_url': reverse('join', args=[meeting_id]), + } + return d + else: + return None + + @classmethod + def get_meetings(self): + call = 'getMeetings' + query = urlencode(( + ('random', 'random'), + )) + hashed = self.api_call(query, call) + url = settings.BBB_API_URL + call + '?' + hashed + result = parse(urlopen(url).read()) + if result: + # Create dict of values for easy use in template + d = [] + r = result[1].findall('meeting') + for m in r: + meeting_id = m.find('meetingID').text + password = m.find('moderatorPW').text + d.append({ + 'name': meeting_id, + 'running': m.find('running').text, + 'moderator_pw': password, + 'attendee_pw': m.find('attendeePW').text, + 'info': Meeting.meeting_info( + meeting_id, + password) + }) + return d + else: + return 'error' + + def start(self): + call = 'create' + voicebridge = 70000 + random.randint(0,9999) + query = urlencode(( + ('name', self.name), + ('meetingID', self.meeting_id), + ('attendeePW', self.attendee_password), + ('moderatorPW', self.moderator_password), + ('voiceBridge', voicebridge), + ('welcome', "Welcome!"), + )) + hashed = self.api_call(query, call) + url = settings.BBB_API_URL + call + '?' + hashed + result = parse(urlopen(url).read()) + if result: + return result + else: + raise + + @classmethod + def join_url(self, meeting_id, name, password): + call = 'join' + query = urlencode(( + ('fullName', name), + ('meetingID', meeting_id), + ('password', password), + )) + hashed = self.api_call(query, call) + url = settings.BBB_API_URL + call + '?' + hashed + return url + + class CreateForm(forms.Form): + name = forms.SlugField() + attendee_password = forms.CharField( + widget=forms.PasswordInput(render_value=False)) + moderator_password= forms.CharField( + widget=forms.PasswordInput(render_value=False)) + + def clean(self): + data = self.cleaned_data + + # TODO: should check for errors before modifying + data['meeting_id'] = data.get('name') + + if Meeting.objects.filter(name = data.get('name')): + raise forms.ValidationError("That meeting name is already in use") + return data + + class JoinForm(forms.Form): + name = forms.CharField(label="Your name") + password = forms.CharField( + widget=forms.PasswordInput(render_value=False)) diff --git a/bbb_django/bbb/static/logo.png b/bbb_django/bbb/static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a7873a5f1304d473dcce33c85396ee85d5cf5b53 GIT binary patch literal 7893 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 literal 0 HcmV?d00001 diff --git a/bbb_django/bbb/static/reset.css b/bbb_django/bbb/static/reset.css new file mode 100644 index 0000000..edee770 --- /dev/null +++ b/bbb_django/bbb/static/reset.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.2r1 +*/ +html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;} \ No newline at end of file diff --git a/bbb_django/bbb/templates/base.html b/bbb_django/bbb/templates/base.html new file mode 100644 index 0000000..0ecf107 --- /dev/null +++ b/bbb_django/bbb/templates/base.html @@ -0,0 +1,241 @@ + + + + {% block title %}{% endblock %} + {% block extrahead %}{% endblock%} + + + + + + +
+ +
+

BBB Django

+ + +
+ + +
+ {% if messages %} +
    + {% for message in messages %} + {{ message }} + {% endfor %} +
+ {% endif %} + {% block content %}{% endblock %} +
+
+ + + diff --git a/bbb_django/bbb/templates/begin.html b/bbb_django/bbb/templates/begin.html new file mode 100644 index 0000000..ab14961 --- /dev/null +++ b/bbb_django/bbb/templates/begin.html @@ -0,0 +1,14 @@ +{% extends "base.html" %} + +{% block title %}Begin meeting{% endblock %} + +{% block content %} +

Begin Meeting

+< meeting invite url here > + +
+{% csrf_token %} + +
+ +{% endblock %} diff --git a/bbb_django/bbb/templates/create.html b/bbb_django/bbb/templates/create.html new file mode 100644 index 0000000..e93aa3f --- /dev/null +++ b/bbb_django/bbb/templates/create.html @@ -0,0 +1,17 @@ +{% extends "base.html" %} + +{% block title %}Create a meeting{% endblock %} + +{% block content %} +

Create Meeting

+
+ + {% csrf_token %} + {{form}} + + + + +
+
+{% endblock %} diff --git a/bbb_django/bbb/templates/home.html b/bbb_django/bbb/templates/home.html new file mode 100644 index 0000000..d33a7c7 --- /dev/null +++ b/bbb_django/bbb/templates/home.html @@ -0,0 +1,14 @@ +{% extends "base.html" %} + +{% block title %}Home{% endblock %} + +{% block content %} +{% if user.is_authenticated %} + +{% else %} +

Welcome to the Django Big Blue Button web conferencing server. If you are here to attend a webinar then you should have been issued a URL to log into the meeting.

+{% endif %} +{% endblock %} diff --git a/bbb_django/bbb/templates/join.html b/bbb_django/bbb/templates/join.html new file mode 100644 index 0000000..ea8715c --- /dev/null +++ b/bbb_django/bbb/templates/join.html @@ -0,0 +1,20 @@ +{% extends "base.html" %} + +{% block title %}Join meeting{% endblock %} + +{% block content %} +
+{% csrf_token %} +

Join meeting '{{ meeting_name }}'

+

Invite others to this meeting with this URL

+ + {{form}} + + + + +
+ +
+
+{% endblock %} diff --git a/bbb_django/bbb/templates/login.html b/bbb_django/bbb/templates/login.html new file mode 100644 index 0000000..64ea333 --- /dev/null +++ b/bbb_django/bbb/templates/login.html @@ -0,0 +1,20 @@ +{% extends "base.html" %} + +{% block title %}Log In{% endblock %} + +{% block content %} +
+{% csrf_token %} + +

Log In

+ {{form}} + + + + +
+ + +
+
+{% endblock %} diff --git a/bbb_django/bbb/templates/meetings.html b/bbb_django/bbb/templates/meetings.html new file mode 100644 index 0000000..e628c07 --- /dev/null +++ b/bbb_django/bbb/templates/meetings.html @@ -0,0 +1,37 @@ +{% extends "base.html" %} + +{% block title %}Meetings{% endblock %} + +{% block content %} +

Meetings

+{% if meetings %} +
    + {% for meeting in meetings %} +
  • {{ meeting.name }} view details + + {% if meeting.info.end_time == "null" %} + {% if meeting.running == 'true' %} + Running + {% else %} + Not running + {% endif %} +
    {% csrf_token %}
    + {% else %} + Ended + {% endif %} +
    + + {% for item in meeting.info.items %} + + + + {% endfor %} +
    {{ item.0 }} + {{ item.1 }}
    +
  • + {% endfor %} +
+{% else %} +

There are no meetings at the moment.

+{% endif %} +{% endblock %} diff --git a/bbb_django/bbb/tests.py b/bbb_django/bbb/tests.py new file mode 100755 index 0000000..2247054 --- /dev/null +++ b/bbb_django/bbb/tests.py @@ -0,0 +1,23 @@ +""" +This file demonstrates two different styles of tests (one doctest and one +unittest). These will both pass when you run "manage.py test". + +Replace these with more appropriate tests for your application. +""" + +from django.test import TestCase + +class SimpleTest(TestCase): + def test_basic_addition(self): + """ + Tests that 1 + 1 always equals 2. + """ + self.failUnlessEqual(1 + 1, 2) + +__test__ = {"doctest": """ +Another way to test that 1 + 1 is equal to 2. + +>>> 1 + 1 == 2 +True +"""} + diff --git a/bbb_django/bbb/urls.py b/bbb_django/bbb/urls.py new file mode 100644 index 0000000..e62c1b2 --- /dev/null +++ b/bbb_django/bbb/urls.py @@ -0,0 +1,26 @@ +from django.conf.urls.defaults import * +from bbb.views.core import (home_page, create_meeting, begin_meeting, meetings, + join_meeting, delete_meeting) + +# Uncomment the next two lines to enable the admin: +# from django.contrib import admin +# admin.autodiscover() + +urlpatterns = patterns('', + url('^$', home_page, name='home'), + url(r'^login/$', 'django.contrib.auth.views.login', { + 'template_name': 'login.html', + }, name='login'), + url(r'^logoff/$', 'django.contrib.auth.views.logout', {'next_page': '/'}, + name='logout'), + url('^create/$', create_meeting, name='create'), + url('^begin/$', begin_meeting, name='begin'), + url('^meetings/$', meetings, name='meetings'), + url('^meeting/(?P[a-zA-Z0-9 _-]+)/join$', join_meeting, + name='join'), + url('^meeting/(?P[a-zA-Z0-9 _-]+)/(?P.*)/delete$', delete_meeting, + name='delete'), + url('^help.html$', 'django.views.generic.simple.redirect_to', { + 'url': 'http://www.bigbluebutton.org/content/videos' , + }, name='help'), +) diff --git a/bbb_django/bbb/views/__init__.py b/bbb_django/bbb/views/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/bbb_django/bbb/views/core.py b/bbb_django/bbb/views/core.py new file mode 100644 index 0000000..b7b4588 --- /dev/null +++ b/bbb_django/bbb/views/core.py @@ -0,0 +1,114 @@ +from django.http import (Http404, HttpResponseRedirect, HttpResponseNotFound, + HttpResponse) +from django.shortcuts import render_to_response +from django.contrib.auth.decorators import login_required, permission_required +from django.contrib.auth.views import login as django_login +from django.template import RequestContext +from django.core.urlresolvers import reverse +from django.conf import settings +from django.contrib import messages +import hashlib + +from bbb.models import Meeting + +def home_page(request): + context = RequestContext(request, { + }) + return render_to_response('home.html', context) + + +@login_required +def begin_meeting(request): + + if request.method == "POST": + begin_url = "http://bigbluebutton.org" + return HttpResponseRedirect(begin_url) + + context = RequestContext(request, { + }) + + return render_to_response('begin.html', context) + +@login_required +def meetings(request): + + #meetings = Meeting.objects.all() + meetings = Meeting.get_meetings() + + context = RequestContext(request, { + 'meetings': meetings, + }) + + return render_to_response('meetings.html', context) + +def join_meeting(request, meeting_id): + form_class = Meeting.JoinForm + + if request.method == "POST": + # Get post data from form + form = form_class(request.POST) + if form.is_valid(): + data = form.cleaned_data + name = data.get('name') + password = data.get('password') + + return HttpResponseRedirect(Meeting.join_url(meeting_id, name, password)) + else: + form = form_class() + + context = RequestContext(request, { + 'form': form, + 'meeting_name': meeting_id, + }) + + return render_to_response('join.html', context) + +@login_required +def delete_meeting(request, meeting_id, password): + if request.method == "POST": + #meeting = Meeting.objects.filter(meeting_id=meeting_id) + #meeting.delete() + Meeting.end_meeting(meeting_id, password) + + msg = 'Successfully ended meeting %s' % meeting_id + messages.success(request, msg) + return HttpResponseRedirect(reverse('meetings')) + else: + msg = 'Unable to end meeting %s' % meeting_id + messages.error(request, msg) + return HttpResponseRedirect(reverse('meetings')) + +@login_required +def create_meeting(request): + form_class = Meeting.CreateForm + + if request.method == "POST": + # Get post data from form + form = form_class(request.POST) + if form.is_valid(): + data = form.cleaned_data + meeting = Meeting() + meeting.name = data.get('name') + #password = hashlib.sha1(data.get('password')).hexdigest() + meeting.attendee_password = data.get('attendee_password') + meeting.moderator_password = data.get('moderator_password') + meeting.meeting_id = data.get('meeting_id') + try: + url = meeting.start() + meeting.save() + msg = 'Successfully created meeting %s' % meeting.meeting_id + messages.success(request, msg) + return HttpResponseRedirect(reverse('meetings')) + except: + return HttpResponse("An error occureed whilst creating the " \ + "meeting. The meeting has probably been " + "deleted recently but is still running.") + + else: + form = form_class() + + context = RequestContext(request, { + 'form': form, + }) + + return render_to_response('create.html', context) diff --git a/bbb_django/manage.py b/bbb_django/manage.py new file mode 100755 index 0000000..5e78ea9 --- /dev/null +++ b/bbb_django/manage.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python +from django.core.management import execute_manager +try: + import settings # Assumed to be in the same directory. +except ImportError: + import sys + sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__) + sys.exit(1) + +if __name__ == "__main__": + execute_manager(settings) diff --git a/bbb_django/settings.py b/bbb_django/settings.py new file mode 100644 index 0000000..e4974bd --- /dev/null +++ b/bbb_django/settings.py @@ -0,0 +1,112 @@ +# Django settings for bbb project. +import os + +DEBUG = True +TEMPLATE_DEBUG = DEBUG + +ADMINS = ( +) + +MANAGERS = ADMINS + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. + 'NAME': 'bbb_django', # Or path to database file if using sqlite3. + 'USER': 'bbb_django', # Not used with sqlite3. + 'PASSWORD': '', # Not used with sqlite3. + 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. + 'PORT': '', # Set to empty string for default. Not used with sqlite3. + } +} + +# Local time zone for this installation. Choices can be found here: +# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name +# although not all choices may be available on all operating systems. +# On Unix systems, a value of None will cause Django to use the same +# timezone as the operating system. +# If running in a Windows environment this must be set to the same as your +# system time zone. +TIME_ZONE = 'Europe/London' + +# Language code for this installation. All choices can be found here: +# http://www.i18nguy.com/unicode/language-identifiers.html +LANGUAGE_CODE = 'en-gb' + +SITE_ID = 1 + +# If you set this to False, Django will make some optimizations so as not +# to load the internationalization machinery. +USE_I18N = True + +# If you set this to False, Django will not format dates, numbers and +# calendars according to the current locale +USE_L10N = True + +# Absolute path to the directory that holds media. +# Example: "/home/media/media.lawrence.com/" +MEDIA_ROOT = '' + +# URL that handles the media served from MEDIA_ROOT. Make sure to use a +# trailing slash if there is a path component (optional in other cases). +# Examples: "http://media.lawrence.com", "http://example.com/media/" +MEDIA_URL = '' + +# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a +# trailing slash. +# Examples: "http://foo.com/media/", "/media/". +ADMIN_MEDIA_PREFIX = '/media/' + +# Make this unique, and don't share it with anybody. +SECRET_KEY = '' + +# List of callables that know how to import templates from various sources. +TEMPLATE_LOADERS = ( + 'django.template.loaders.filesystem.Loader', + 'django.template.loaders.app_directories.Loader', +) + +MIDDLEWARE_CLASSES = ( + 'django.middleware.common.CommonMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', +) + +AUTHENTICATION_BACKENDS = ( + 'django_auth_ldap.backend.LDAPBackend', + 'django.contrib.auth.backends.ModelBackend', +) + +LOGIN_URL = '/login' +LOGIN_REDIRECT_URL = '/' + +SALT = "" +BBB_API_URL = "http://yourdomain.com/bigbluebutton/api/" + +ROOT_URLCONF = 'bbb.urls' + +PROJECT_PATH = os.path.abspath(os.path.dirname(__file__)) + +TEMPLATE_DIRS = ( + # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". + # Always use forward slashes, even on Windows. + # Don't forget to use absolute paths, not relative paths. + os.path.join(PROJECT_PATH, 'templates'), + os.path.join(PROJECT_PATH, 'bbb', 'templates'), +) + +INSTALLED_APPS = ( + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.sites', + 'django.contrib.messages', + 'bbb', + 'gunicorn', + # Uncomment the next line to enable the admin: + # 'django.contrib.admin', + # Uncomment the next line to enable admin documentation: + # 'django.contrib.admindocs', +) diff --git a/bbb_django/urls.py b/bbb_django/urls.py new file mode 100644 index 0000000..94c5ce4 --- /dev/null +++ b/bbb_django/urls.py @@ -0,0 +1,5 @@ +from django.conf.urls.defaults import * + +urlpatterns = patterns('', + (r'^/', include('bbb.urls')), +) diff --git a/readme.rst b/readme.rst new file mode 100644 index 0000000..ea8d853 --- /dev/null +++ b/readme.rst @@ -0,0 +1,42 @@ +==================== +django-bigbluebutton +==================== +:Info: A Django project for interacting with BigBlueButton +:Author: Steve Challis (http://schallis.com) +:Requirements: BigBlueButton >= 0.71, Django >= 1.0 + +This is a simple Django project and application that interacts with the +`BigBlueButton `_ API to allow you to create and +interact with web conference meetings It currently supports: + +* Password protected administration +* Meeting creation/ending +* Meeting joining +* List all currently running meetings + + +Setup +===== +You'll first need to edit settings.py in the bbb_django project or your own +project. The following custom variables must be added/set: + +* SALT = "[your_salt]" +* BBB_API_URL = "http://yourdomain.com/bigbluebutton/api/" + +The `bbb` application is where all the controllers and views are contained so +you should be able to drop this into any Django project. + +You can quickly test the project with the Django default webserver but you'll +probably want to have it running permenantly. `Gunicorn +`_ has already been added in as a dependancy so +you should be able to use `gunicorn_django` once gunicorn is installed. + +It is assumed you are using FreeSWITCH for the voice calling but it is easy +enough to change the extension to that required by Asterisk. + +Screenshots +=========== +.. image:: +https://github.com/schallis/django-bigbluebutton/raw/master/screenshots/screenshot-create.png + +.. image:: https://github.com/schallis/django-bigbluebutton/raw/master/screenshots/screenshot-meetings.png diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..514e259 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +django >= 1.0 diff --git a/screenshots/screenshot-create.png b/screenshots/screenshot-create.png new file mode 100644 index 0000000000000000000000000000000000000000..fbbcb5d415756d4f8112926497d5611b3447e0c9 GIT binary patch literal 24708 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 z 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 literal 0 HcmV?d00001 diff --git a/screenshots/screenshot-join.png b/screenshots/screenshot-join.png new file mode 100644 index 0000000000000000000000000000000000000000..c6b35a867d163760451a3c1ca26b6ad68b24d453 GIT binary patch literal 24966 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 literal 0 HcmV?d00001 diff --git a/screenshots/screenshot-meetings-detail.png b/screenshots/screenshot-meetings-detail.png new file mode 100644 index 0000000000000000000000000000000000000000..71b0aeaabc170ca772a5ef3fa2478ed5dfe45eb4 GIT binary patch literal 40471 zcmd41WmH^G&^`!(kN^P^2<{Nv-6d#ncOTr{-5r9vySpRF))A#o6?&|8Ur=F^Cd0BBJ1RMk?C@3U}Um}W7P#=OIpUG8gBT@9d!Af1fPCZ8Pr(d_Dn_5knjjnoL-VGGggQ3BQ5i{k-jqu`TSx2TK##;*s z(V|f^=1X^N3e&ubh6M#`RGy1kga$6!6Ff_2xFpFEdGlF|Kvhe|^f9-TU;WWBSGWrt z!$Zs8BvGNDz8XTAagZlGwn%*(lHCLF4I0tfITAEl)&t1CWb73`?y1-EX^vlGG`B9_`?Kka%6*D z??KqG9U-L_6qH~T^u}7DF4g0%V2E~}s|yB_PqS34DYrc*ZB-02>ezSVUM)D7%P1;b zvO(rb;)yx}8YWfaCb62iBUWns7^<%bK|=l`Mp3vc#$y*}R_urf*ie4ra9=h)Wb?}A zOfI|rz@;%$Pu)lCBU#bz=f)4t(#K)(!LBRC86W#Z>P{+8&SK2^EsI>yni(tnSQhd4?cJ7FFT}n!^@2`9Ds z(Z%Rq@T$Kj%9@(LjzlgNg~UyIS$^nZg{P>ke(8DT3|zA#tvTB7|3Yc^pJ;Qx1rM;n zf2vVPtdp~nUr!~9p39}M9v88h%v#IINXVOwlQp!|YK*h`-E0PPZKIC|U~WzC)M8!m zL+Q1t(>47={IC(fj6O0lZ~p?qE?Phg1$=^n>c@hj)jwRl1gSJ7A1%#xxH{!(S`u~9 zx;P%Dh|$$lQ+Iim_~nm180&ikhoecaQAN^N<=>_hwm+VD2myE6()JIDnYFYLJ#a1GImj+@8@k zz`3!rn4$i*3E4-GMR~Y(DAD%0)x?e+f){P|Rm>R{xooY!OYjK0f*yX+V5mOy95Vw@tZLp8sS%-}PEI8Y`T?Bd_a4VjL+1W*&eh_$-XFGQ?XH8l@nWI@oBOHX&kXhEkb6(qX2auPOSVG+|5 zUNaZKvb7AOsVvqpU<3YYN^X=zGa&DVWk1CPGqBtL*04feHe*fxzCN%_r6ws&j^>34 z1;zVAe+p%zPRy23w?kK!0grCZf{uXET+U>!qEfG6`tC9e8JUDXRv6oYb(EVqA(dIt zgOnMID-6|+vfVp*#bG!}*@T5XJy@_N;RsiefT z(b3(vu8E6i$ds~~E=sm#+g@yn6p41O-0+e#Yse8LaSyt5ftpg;PlDZ)%fhvvKznv8 zcx*y0WvOaMTXyr{vgt`3j1!u3oWirkq$At`oRy4ufspOpz%g=`P@Qu`M=WgebmMOs>E_&)XvvdHKK9oh+Z&p-TcM zEpd@@Vitq9UELl#nqk>!6 zytyc^y}bO_oXH{G8f*#!82)J^X6N(b=mXUxyHZLP;b2a3O|S7rt+7TG(kIeoGZ8j6 z1Ug?k(F_NdWC0sx zVtYNp>{)-NYcjrO{nNpFbIHpMXx3Z29vKhRo-GCU%dt(nPW|Ng___CjpB5QIC%+4i zWMIeCpDk5}Kfas1L868uRUsqWZme+y5W9i{IMuY-lKiKCJv}|mz}m69e9_3WH2!2S zp6M7RGaoU_d4~jgYcGomY{=4dnVQx%nJ=Y_TaGqoEy~pQ-S`^%reBsYmlCBs$#$FV$vvz%%Vruq(s zIW7L2^V3t&j(&2F1B|!WR1I0_7S=agF_VI+ev3d1Lq7c*lb(Q&cZLA?I_p~FcK>BX zqNuJlme*!K6{O?LQ}_GRVU&!BUEz_@c7w}@6PnkzGBQl+j# zO>iv|sz|ilacIh~!!n%2I-AAvo=AC9^hw?omN)V)>cswRWOqM zen?wP!KM*n!vxc2cAh$A=E0i6*Zq+5{!&s=aa<^oP^%U75lSlfwMRzv6S5Qz_=v}# z7xs9g24j2srl6o8EpLhQm0V{0ejkIyIe)e+F5mvJ2|gdj8mc{)e|e1%rrHzIzTzCaFri=tm0`DNwUIe4Nvl z$qIPrTDY{P9W)_xNwHM1;L@l8Nv9WUR6fn}4);?cmsj-xlr32`35I5Bk1){u3Hk?` zzig89HE^A{yeQUoga>2uSX7k}ZN~yWO*ON%o*GuwS%&S_j#zEq0f0KS&Rc2LnQwe- zU!E%;vNtxp&*u~&7|NPTqsq7)#;R`oGyiBh@=Mr1MDAwCL|$DcR-s1KBv};lt3E#2 zh_(+QTCsXiQd_OWhGbBa&Rr39jp&Vz&p9<}gru*&)>nFG&WJT$oN;6*)0(`|Xs7MlHRw{JO$|34t zjE({7r=m(F8jDM*U_F@_05MBwvM$DuG*0OV;*|AN<3YWALfn)a16VGKGmKTH;0b=H zF>q|x{=rLE3(n5qe6C#O{`)HVx23JVMfynp*ZH}8CY^>m+Ycu-^9H6+^Pz-33;pL- zOjj`Ng;h!MDuIMv*;xPlK|!s{%XmO&63DpXyG3QcNXV|Hah0k@$p9{=NWt_GtBffW z7@ROhD;78sIcGxKgg3~=&hbsvL=4R(uq{ep%ska)jQ2~#(6%Jm%X31)-sac^No8@f z4(L=zI8dT6`i;zDt~&A@H}(6)YG5U{bz(cYdm~VwcAK@O7~H(cX)JaH27|4$^eyY> za3L-%M8QI3{kjnm>wW<8G|QAKYHyC}ZjMI4QAmYDDK=qywYcULi&pINVw&3FU(iBR zr}XKOiLau@DvJ?~mR!)aj8jzscnY)_n?!oHL!O$EA7{Di&4+&zSBW-wOh#hR0TRiX znCy2)lkTMn#hdSDWK$V8vvEeG&kd$+>u-{rTQOq5My$!N%O9*7nkF+2i<_wL@7H}N z!^nJW>(H~p!`YTyqEc_|Ac9|Qs-_2Iy;{+cc^!SyQ~&DB5Appn zq{EC&nB)ld7#Z>lWGw1_4Ldrb1F%i(!yw1*DgeXWmz@RSln5X}W~IePepq{eEt8z5 zd-C+L^_O`4j6&2b|BvA&Hqx}InK|g$sNV|;k->ec=-6yD48s#vXR!HFLSeu zsgT=x51XNc%@~BotlPJM*)Q<$=5*dxaE?Rz%hoGf<)m{{Gh==hgA6SbHoX?3g@G#U z^z_I>J?C^dCcvLPcZ?{rwMavuEJZz0GJPM1qp}9uYLgWclwkfdlWy(8y zyCTUaxyzZj1WsYMsgZgnz&ry2#+=El>y(9Wq+TSX58qZbRy*q2T}4-g6l~HPK4sa+-Bo zVJc*WgoL!FhuVWlmwkW1tOYAIP!p=2LGVfEfU}StYbU6A1XH}hmKVd>>Q54lnw2<% zp>rd5y*jNH2sznTi^UEhYCC4q3_sOm`6Xt1ySLHW(9FjI%8gt9e;5G!y^XqKQ-&3K z>T2n>RAB<%vC2OKw1hHqAd(!tY@CSrYBL$J<9o^i@ezi`pKntfU!HYLW7a4g(;iBW`DAhc<0I z+PGh}jD~r$W~_TAj`4211lO&f@vwbYnrTMbAILH^>>A!4qwwgL2WH_*{!+Aqg;fAE zqy2jSRl#LPHVXqKp^j=jX@A zqw`Dm08y)!&`5LhtMJ|DJa%nw-$pQ)ObXYGnA=-9!-GDEQwbE8_UZdgP&py*6P*8I8f2EOlp%atltJdB8^QEa$9L|ze96xGDB9rc2elv>fGq^uQ ztG&sBSNH}!H=*xHBjvpDxykv6(D&_hU(ZL)@@B44-rJCkKL)f73-@s8wi0eg3U`Zm z_UGgWIXSaoT>4imtkmDXp;*kI|2s*QVls!h+|QDQ@*ZFBX#=xKEXA~(u!t=g7&2z* z#w@2F))XdTuO4|D!c_suw_I{NDByW*Rb9s`tGVDE-Yiu)0bnYInUO^FlszG#9EG?! zg+NI+@RGKH+H}Zca7+j+9hQ&)4)};@(PEZdUMSJ;q|JDAgLYZfoas_h>il(PQ+@?XE#f6o7(4K~G(R z<;4yQ>cmd)1Qgxe+M^&I8;O|=qMOVLScK~;rVr$) zWaa(b%Usf`yEJanP*Bjnx{7Wag+GO#i1j~YRBl4fbwATL@&u+I{Vh_Z0vb?-Zwg<> zz{$Tw!|6!I%k=cp2kPlrWdzWsNcv95nWbCgGKv(#Q%ZQ={&Ez9e?t??pFo_U5BjWZ z7eA)DU2`R?1iW}De)Pvq?(eNr54_QY>bkXe&8FGdR^O+l!5uuU8B29LY>OQ}X;uIfDHJTMB~F-ZLxbCSHMVk%GB;cOxIB@|yt;G< ziiiDgGz6csvPVHR6JuRU%8FXLdHU@UBNnMQ@u|r@nyj3E78N%3kH4?YR(PhCG$eeM zMEOry4t{-sGfa|JaS_*5D5^}btXsEYPCG0Sx68yAwW&t-;g=;iL;ds(WfVe(Ltxdv z>oa2lg!TMyC;TfQa`<=s?@cDS|Ni|?CBz#3_wRoy|M!Xit^9v(mb;yc>SEO0xH*R; zTp+J9l9j@4El*Gx zR;HVYemF_l0ufa7s+HZKJ0SS9KowAAl{^l31 zW8oXQo}*kQM4*r$pw2wo;-2k{-u?E{*OfrU8M8o|dw!jum%T6UX7&P{)J-FI`R;b& zXR6pjBs~YRot4_gTebt3)ZSg#X8}>ls=-~gTN4IBA9UIzv7JfUc0`!@gYXZAsS
Ba2;w=|hZHyz@%3 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 literal 0 HcmV?d00001 diff --git a/screenshots/screenshot-meetings.png b/screenshots/screenshot-meetings.png new file mode 100644 index 0000000000000000000000000000000000000000..e224b4295c4656ad1dc4f3e0412ddf78c8642142 GIT binary patch literal 26213 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≪q+| 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%0A}sf_oM(5I8`vwnPRf5g_HD%r zhHnb~KvTP}zw3O1r9$?(KyZ@JO17kzNIYC#0y{o5-NQSLd#hu$oWQz1!st%I$A0!c zQ+D}VsP(6%LS(UMuGCPM+xYL-wxX{aH{M%H=;bX5X&rG5=v1EPDwUWk4V12O?ObalQ zN_Q0LRzBQ@sGKg@fN2QHvc`QRY`51jk8j1+nYttt9b~lZcZ+}Kn@LV6*=lZ7Z3zPk z|1M1d_BX4Qg}%y!swYFKCL6F#&tI6xj@*_t_GVC_8r3ukR7VK^2rMpyZcHD9Z}zbO z>AkKem}Q-v_X!0va@$Huv)g1HQ?_R4d`t)-Yx9{)OF>VrT>tbq6iIz$gQI$4?@@`s zuy=*EHXYo^!bGulbgJluNwp68XX8pOWW%_rbldxfO6i{IGJHT`M6c)}@0>7uHr3ti zXKknaHxGin6MI!6FWq`}) z26u9x#!C>Py#EvN`cDfVaz6T)3IBrECK&8=`ZKlUi%zhA-^w96nM!N0O3*sME7;|I z{J}sad8cf)`Q(>?`FRndxYjY_Qsf-t1Ee=rdYHKs>Eo>z*uBscj1={i@bHv)+LLvx z+W!Ry_Qw!)@kjzXk-7}Yj!5%;7n2~lo$ME-&e_(-%XyXH;wyDkkrJdUH&28%2hUCK z{H{#JiElTakHKtj2WR-7SC>j=WwSU2xp@bUFN7uUKrA1YKIFk~y*gDpdz(vaOc{%y z-d252(h{zDql+9!LLc@Qcwn3J-$0D8pos8;QQ``GY{B68Jan!mZeGuOafp|8r7p(~ ztTSMBq;2_9%4_bHP$s^(I1cY*rC9m!Rv&V(twma?p&xo3wi40?+Oz2AA#L%plkL!R zY0B^MuG38p>pShC+B6|$6Br%) z7%fwBWDjNF@g?rY##Sj(au?|JjmX@IAz^whW3sY?wk8w zsHY08$}S}5BK+ob7}g8OmkPtT7XOXt{*iSMHCJ<`#5Ctq|Dg? z-}y*G9}?RnZKT`->lqp4?2w6x5DclakWkYDc^{bfzQ6KeWKs;AgOIPez};0NBHL?q zoUraTuLmXnT{I-qVs6nCWQoPzsbB8Nfsi+5G`@^Zfw|if2sJG5z-?cbGn1)agX2hF zwj?cv=S(tnM_xc{P#dq`tGbqR>?zLD0ygpkxq6;4zd9}ZbLV>v2H0FHeFn_%9wa3; zIns-i`|{|2z@~+Dwj0!0@9)^R6rH62;Q(9>%Wy3SQa{rNz!Ii=`1nkB;?6N*YA)c8 z5WK>P7PVSS(GQ;f7^-veoq#G^ZK=S<;F~Vn_5ncLSK}(h&PLzP`mOe*>Che_Q@7&d ziO3A-5Y~KZfcYsHJS?DA$L(thE0;X8rTnbQkHfe*6(i36lr4QxeaYflw$uC9*4S2G zX}?e}vauRf^GH@;Pr+46O#1%NpugR!FX79t(lW-Tz?G4T^^z#+3GAzfqG_py`U!&uC5FJxr{ZjPao--X}mFY-G;fRDa36wZq1EnD*Opy4w$TYpyc!CL`Z%&K~b!9EkU|vKnvG^W3~H zQ|Df?{?&7L_r3KwnTpms0F~0FQ?Y_lZP&@jgdUB2XQ7k4;f+Q3IbdQ?2*^;@{xQ(j z?|5WISJ8PE`?6+k8*8#zr(B4=_K`=-1?j3U$n1PI(NnSd+q@~fz_@?4nnwO;x z2zYQ4#;QSWp;nyNP@*ia+`~2hkkIjIEJ(~_qT0s^nUk8DkmMIO>)?C366B#wnL(I* z*jyQJHV$aV_%>4_cNdGHcv95^mS{SBRZ1lp7YXwgj__zQj)z$ad88>9J z|03glP@3NK9pFp#w?r}&`BkSE#9rZe=(~Z>ucKoz3|KC9H#mViOLd_@?PW`>r(wtD zUK^H{2rkUB;8x6n%2&rXfVIwWuwV=c_?Zao>yI4?BxzfoT>=5=oG~6|LFDh_B3Q|e zSn;$+ZVME0!1FVRK?|xn#{%u(&q>&2Z8_WQq6v%of9qz~>&6V0{la}T5g8-;${ z%i|s2NEjiw*I+lkOz9g)NJcLl`0w(rR-8zG$#)P*;_z!}a`%u@9-8)?D|o!n-rxQx zy=1w?zwCj^z;xw4PUaq?e;%>YFOe)6oOxPnYKor?=u8%aLT4~hs@ae%=sMFLxY^Q- z9FRb0?Ib;IXYT*jeS9?CBq$k7d{$6cDZ!IMBLK3N zJAIUXTHt{?%rtOGmMQh2@HJr@zr%z??lSF}V+wh-pA8+~wqsr8Jbc&_4d>bd@I+-C zRSv5J^8iT5y5lzAYDugwz{WzF_8c(^6B*(OfFj*=c{}73Z z4|aFZ%S=397$PBlrjk3t;)Bh@Sz>^vs~c}caG6t9-si`uE~c)*0rsM6s(yxdrv?)* zvr{*jQn%*LpSR(~cv7c;1*LSM{V(LuU+B?RR)&Yzh_^apv$%(6Sa2vc(8C7mSwC`$ zst%8D@WRL2>ZO}9i}#{egHg>(`ZW0_Cg%=LCTB0I(2XWdMBA}84Z1$gFWg8A0tyzm z*<2L)S5YAZ6>?DnUOJuqRm3h!ybLS7oCZ>yI)ly$Yu?8`bDfIs9rd@+sro7G#(mo#O+|~ z=~e!^6+k8)C&=0kRg(5HJw7Ocsq~0`lBZR}`AXy?kwV*(9d^@I6AxYbARq@XLn2x~ z)8velw%w`&+iMs_D7T!~NGmdTKtZ;j1}BZ7vFbNY;}v2(hdNAXiL5I)@cG$}5!i#Y ze2@f9i+lu=Q1;uvhi#-d1|6T%RgRU-zIl6dk;RfG;qn{$u#@+p06587v`G%-mK@1TR{$LjNlccUFi?cBf5YoW}@UlB&jJ$yR6~(H>yS4 z)@JV)5C>hJ`kAVBl%gRpNOHX&u`>8T|BEUq=X6ypm|tZqY!amL?n+kCH>cFkv z-LlsEpz_OnSU0i&c2Kx6())Q9f1i-pzodl9C4Z5vBXAp>5WWLcP&q`HXsk!CpsuiR z5$^PG1$}B;Wa0gOf8L*w5taqn`6$1*2}3rMzppmIxnHD71@?tA)(}uP{^$&BS1(R; z)~$+>^)SsOMoWk3*g;vh8PZbd5!qYKuG~y!zjbp_f2dRb9N2|DJ_$Xtm8;ttQ&q65 z|KhWzzwM|m+~B+LgE~egScu2*Hi(TD6D3KP#5^9M;8T@5LJG=z8jzah`#L~h_G4_5 z`!sJWT8qs!qv}p)G(H*~I=H?r_xR@j#GtZS}&d_GyyYPXSB>etY1>mus zjb4DE{=q{ZEXxtT@%Xf#dUVsw>BUPve&{u_wq;~tVPR_O8_=uM zv$K6_r$yn%n~Sn_{Us{8295lS*vD&&L^+SOE#uZ2znWoowns5)dX&&mq^A*c(WDtm z)QSeQdG~d(qtTxx03*WO^y}adb5CdIJO7n*vlQ8x^724pYuF&eltxrA(Dxs>t7Vf5`C8s02yCayk0Z7#9_R5)vxHg>#Pn5AL*kw8K!K$jV zqW4`o&`jfd^$7a)%~C@JE|)Zgq=iVd4vnS)aeQ35o!NeOX(Tsde)#oA79tJX%61tz5$huWl}y_@%EFyP+-w@TDkC z;Ec^?e4>+|Sz5o32PqLHnC6>bXga>~)-rN))6$9r7yKa|-V!^#XO`^lhi~wYZ{`X1 z9?i>9A&X|n9;^(7>lcf(EEg@)=3Ae%DXQSdnXJ=)M@dHKxoc8>(_pGhpr5esRv#V8T4WDoeiF=fxYe5a|*1xbl9w4(_M9 zSwmHYnA@EED%oK2Ye6_&1kB&xjcRfb%~a|)nA>mGl-3be7Z>qhV0S7w%5zV?Vl4$R4UuvfoEJCOc)Ypb?UxM%*|yq)~Q)#}{bT;eeP z&yZ*GZ%#$G)q}N37W=;imTkTMoHXIb7ISoX#FIVeeGp%hlBzs#&BKKq^SvLcSof=4gbg7RXw5OrUb74%l@HSkGcG8lfGS2?euMV(p%k_=oIInxm zlPx$zIIWz{hxEf7%1I^%VyCjQa$|E-Ip}g9Rru$G; zJl?}Sde7;evNEcsW^|5YZi|C0GX2oAO&ksSda>!y&`>eU+V;LsRmK~;57^w%ZE^nf z&mmXFIUfiJ2yn&y6E9m*f~n%1d%^1ds}18<|A