forked from ccnmtl/mediathread
-
Notifications
You must be signed in to change notification settings - Fork 1
Django site for multimedia annotations facilitating collaboration on video and image analysis. Developed at the Columbia Center for New Media Teaching and Learning
License
tomaszzielinski/mediathread
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
=========================================================== Mediathread =========================================================== 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) CODE: http://github.com/ccnmtl/mediathread (see wiki for some dev documentation) INFO: http://ccnmtl.columbia.edu/mediathread FORUM: http://groups.google.com/group/mediathread REQUIREMENTS ------------ Python 2.6 (or 2.5) Postgres (or MySQL) In Ubuntu (for postgres 8.4, but just change version numbers): $ sudo aptitude install postgres-8.4 postgresql-client-8.4 postgresql-server-dev-8.4 python-psycopg2 gcc python2.6 python-dev libc6-dev INSTALLATION ------------ 1. Mediathread relies on several submodules. The easiest way to download it all is to run with git 1.6.5+ is: git clone --recursive https://github.com/ccnmtl/mediathread.git 2. Build the database For Postgres: A. Create the database ($ createdb mediathread) For MySQL: A. Edit the file requirements/libs.txt - comment out the line 'psycopg2' - uncomment 'MySQLdb' B. Create the database ($ echo "CREATE DATABASE mediathread" | mysql -uroot -p mysql) For Both: Edit the lines in settings_shared.py that start with DATABASE_ as appropriate Even better would be: $ mkdir deploy_specific $ touch deploy_specific/__init__.py # edit a file called deploy_specific/settings.py setting those same variables which will override the values in settings_shared.py This is where we add custom settings for our deployment that will not be included in the open-sourced distribution 3. Bootstrap uses virtualenv to build a contained library in ve/ ./bootstrap.py NOTE: if you're using python2.5 use ./bootstrap-python25.py instead # GT comment 1 # It has been a little while since I installed mediathread, but according to my notes I had also to install # the wsgiref package, which did not seem to be included -- so I did the following [root@mediathread wsgiref-0.1.2]# pwd /root [root@mediathread ~]# wget http://pypi.python.org/packages/source/w/wsgiref/wsgiref-0.1.2.zip#md5=29b146e6ebd0f9fb119fe321f7bcf6cb [root@mediathread ~]# unzip wsgiref-0.1.2.zip [root@mediathread ~]# cd wsgiref-0.1.2 [root@mediathread wsgiref-0.1.2]# python setup.py install # GT comment 2 According to my notes, I had to uncomment a line from settings_shared.py -- my notes say: uncommented 'sites' application from settings_shared.py, since I know it causes database errors if it's missing when the db is built [root@mediathread mediathread]# pwd /var/www/mediathread/mediathread [root@mediathread mediathread]# vi settings_shared.py INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', #'django.contrib.sites', INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', # GT comment 3 We're using mysql and saw an error related to this when running bootstrap.py: Failed to install index for threadedcomments.ThreadedComment model: (1170, "BLOB/TEXT column 'tree_path' used in key specification without a key length") More discussion here: https://code.djangoproject.com/ticket/2495 http://drupal.org/node/146296 But it appears that syncdb adjusted things so that the index on tree_path uses a limit of 255: mysql> show create table threadedcomments_comment; ( `comment_ptr_id` int(11) NOT NULL, `title` longtext NOT NULL, `parent_id` int(11) DEFAULT NULL, `last_child_id` int(11) DEFAULT NULL, `tree_path` longtext NOT NULL, PRIMARY KEY (`comment_ptr_id`), KEY `threadedcomments_comment_tree_path` (`tree_path`(255)), KEY `threadedcomments_comment_63f17a16` (`parent_id`), KEY `threadedcomments_comment_ffd563a7` (`last_child_id`) ) ===== The rest of the instructions work like standard Django. See: http://docs.djangoproject.com/en/1.1/ for more details. ===== 4. Sync the database ./manage.py syncdb #create a superuser 5. Run locally (during development) ./manage.py runserver myhost.example.com:8000 6. For deployment to Apache, see our sample configuration in apache/prod.conf This directory also contains standard django.wsgi file which can be used with other webservers ==== Go to your site in a web browser. ==== 7. The default database is not very useful. Login with the superuser you created in Step #4. 8. 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). 9. Experiment with saving assets by visiting: http://myhost.example.com:8000/save/ 10. For deployment, take a look at the apache/ directory for sample apache configuration files
About
Django site for multimedia annotations facilitating collaboration on video and image analysis. Developed at the Columbia Center for New Media Teaching and Learning
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- JavaScript 80.2%
- Python 19.4%
- Other 0.4%