Mediathread is a Django site for multimedia annotations facilitating collaboration on video and image analysis. Developed at the Columbia Center for New Media Teaching and Learning (CCNMTL)
Python 2.7 (Python 2.6 is still supported, but we encourage you to upgrade.)
Postgres (or MySQL)
Flowplayer installation for your site (See below for detailed instructions)
Flickr API Key if you want to bookmark from FLICKR
Build the database For Postgres: A. Create the database
For MySQL: A. Edit the file
requirements/libs.txt- comment out the line
MySQLdbB. Create the database
echo "CREATE DATABASE mediathread" | mysql -uroot -p mysql
For Both: Edit the variables in
settings_shared.pythat you need to customize for your local installation. At a minimum, you will need to customize your
DATABASESdictionary as appropriate.
For more extensive customization, you can create a deploy_specific directory to house a site-specific settings.py file:
$ mkdir deploy_specific $ touch deploy_specific/__init__.py
# edit a file called
deploy_specific/settings.pysetting those same variables which will override the values in
settings_shared.pyThis is where we add custom settings for our deployment that will not be included in the open-sourced distribution
Bootstrap uses virtualenv to build a contained library in
The rest of the instructions work like standard Django. See: http://docs.djangoproject.com/en/1.1/ for more details.
Sync the database
./manage.py syncdb ./manage.py migrate # to complete the south migration setup
Run locally (during development only) ./manage.py runserver myhost.example.com:8000
For deployment to Apache, see our sample configuration in
apache/prod.confThis directory also contains standard
django.wsgifile which can be used with other webservers
Go to your site in a web browser.
The default database is not very useful. Login with the superuser you created in Step #4.
Click the 'Create a Course' link.
- Click the "+" to make a group. Name it something like "test_course"
- Click the "+" to make a faculty group. Name it something like "test_course_faculty"
- In the "Add users to group" field...
- add yourself as a faculty member by putting your username with a "*" in front like this "*admin"
- add some fellow faculty/student accounts -- you can create new accounts right here (read the instructions under the textarea)
- Click "Save" and then click the upper-right link "Django administration" to get back to the regular site (yeah, not the most intuitive).
- In the "Add users to group" field...
Experiment with saving assets by visiting: http://myhost.example.com:8000/save/
For deployment, take a look at the
apache/directory for sample apache configuration files
Mediathread instantiates a Flowplayer .swf to play many video flavors. Flowplayer now requires you to have a local installation and will not allow you to serve the player off their site. Here are the basic instructions to install Flowplayer on your systems and point Mediathread at it.
- http://flash.flowplayer.org/download/ # Version 3.2.15 or higher
- Install on a public server on your site.
In the same directory, install:
http://flash.flowplayer.org/plugins/streaming/rtmp.html - flowplayer.rtmp-3.2.12.swf
http://flash.flowplayer.org/plugins/streaming/pseudostreaming.html - flowplayer.pseudostreaming-3.2.12.swf
http://flash.flowplayer.org/plugins/streaming/audio.html - flowplayer.audio-3.2.10.swf
In your local_settings.py or (better) deploy_specific/settings.py set FLOWPLAYER_SWF_LOCATION, like so:
FLOWPLAYER_AUDIO_PLUGIN = 'flowplayer.audio-3.2.10.swf'
FLOWPLAYER_PSEUDOSTREAMING_PLUGIN = 'flowplayer.pseudostreaming-3.2.11.swf'
FLOWPLAYER_RTMP_PLUGIN = 'flowplayer.rtmp-3.2.11.swf'
- The plugins are picked up automatically from the same directory, so don't need the full path.
- These are the versions we are currently using in production here at CU.
In your local_settings.py or (better) deploy_specific/settings.py specify your Flickr api key.
DJANGOSHERD_FLICKR_APIKEY='your key here'
Current development on the Mediathread bookmarklet is aimed at supporting the standard set forth by Schema.org (http://schema.org/). This format includes a system of hierarchal terms and their associated values. Use of the metadata terms itemscope, itemtype, and itemprop are used to help stucture the data such that Mediathread can make sense of what metadata is assocaited to the item or items being brought into the application. Examples of this structure can be found here: http://schema.org/docs/gs.html#microdata_itemscope_itemtype.
Use the Google Rich Snippet test tool to test your structure: http://www.google.com/webmasters/tools/richsnippets
It is also worth noting that the LRMI (Learning Resource Metadata Initiative) has been working with Schema.org in creating a more robust set of property (itemprop) terms that have been accepted into the standard. Some of these terms may be useful in determining what might best describe a data set or collection. Here is a link to this new specification: http://www.lrmi.net/the-specification