update README, move scripts to toplevel

This commit is contained in:
j 2011-11-03 13:32:23 +01:00
parent 0ed8c805c7
commit f9bc5b06be
14 changed files with 53 additions and 84 deletions

61
README
View file

@ -1,14 +1,16 @@
pan.do/ra - open media archive pan.do/ra - open media archive
== DEVELOPMENT == == SETUP ==
To setup a development instance of pan.do/ra, To setup pan.do/ra, you need
you need python, bazaar, pip and virtualenv and several other python modules: python, bazaar, pip and virtualenv and several other python modules:
* Packages * Packages
apt-get install bzr git subversion mercurial \ apt-get install bzr git subversion mercurial \
python-setuptools python-pip python-virtualenv ipython \ python-setuptools python-pip python-virtualenv ipython \
python-dev python-imaging python-numpy python-psycopg2 python-dev python-imaging python-numpy python-psycopg2
* Pan.do/ra
Get code from bazzar
bzr branch http://code.0x2620.org/pandora pandora bzr branch http://code.0x2620.org/pandora pandora
cd pandora cd pandora
virtualenv . virtualenv .
@ -17,6 +19,18 @@ you need python, bazaar, pip and virtualenv and several other python modules:
cd static cd static
bzr branch http://code.0x2620.org/oxjs bzr branch http://code.0x2620.org/oxjs
create settings_local.py and create site.jsonc
(use settings.py / 0xdb.jsonc / padma.jsonc as example)
create db
./manage.py syncdb
create / update static files
./manage.py update_static
./manage.py compile_pyc
* Additional pandora tools: * Additional pandora tools:
You need current versions of oxframe, oxtimeline installed. You need current versions of oxframe, oxtimeline installed.
For Ubuntu we provide these packages in a ppa: For Ubuntu we provide these packages in a ppa:
@ -30,11 +44,12 @@ you need python, bazaar, pip and virtualenv and several other python modules:
(make sure you have the python bindings installed). (make sure you have the python bindings installed).
create a postgresql database and adjust settings in local_settings.py create a postgresql database and adjust settings in local_settings.py
and run ./manage.py syncdb to populate the database and run ./manage.py syncdb to populate the database.
you might want to load example configurations from fixutes.
createdb -T template0 --locale=C --encoding=UTF8 -O pandora pandora createdb -T template0 --locale=C --encoding=UTF8 -O pandora pandora
(setting locale to C is required to fix a bug in sort if set to UTF8)
* RabbitMQ * RabbitMQ
For background tasks we use RabbitMQ, to install rabbitmq: For background tasks we use RabbitMQ, to install rabbitmq:
sudo apt-get install rabbitmq-server sudo apt-get install rabbitmq-server
@ -48,7 +63,7 @@ you need python, bazaar, pip and virtualenv and several other python modules:
* H264 * H264
to support h264 videos, install ffmpeg with x264 enabled, to support h264 videos, install ffmpeg with x264 enabled,
install qt-faststart from (ffmpeg/tools) install qt-faststart from (ffmpeg/tools)
set VIDEO_H264 = True in local_settings.py to enable add "mp4" to video.formats in your config.jsonc
Running developer environment: Running developer environment:
in one terminal: in one terminal:
@ -56,24 +71,36 @@ Running developer environment:
and in another one: and in another one:
./manage.py celeryd -Q default,encoding -B ./manage.py celeryd -Q default,encoding -B
Updating database: === Updating ===
right now database updates are not managed, each time you update to current bzr To update a pandora installation get the latest version from bzr by running
you might have to update db tables too. ./update.sh
Use this will pull pandora/oxjs/python-ox and list possible upgrades to the db
./manage.py sqldiff appname
to check if changes exist and to update your database tables, use
./manage.py sqldiff appname | ./manage.py dbshell ./manage.py sqldiff -a
to apply them. to check if there are changes and
This has to be done for all installed apps ./manage.py sqldiff -a | ./manage.py dbshell
to apply them.
== DEPLOYMENT == == DEPLOYMENT ==
* Install upstart scripts
check etc/init for upstart scripts, adjust path and user and put into /etc/init
To run pan.do/ra in production, we use nginx, using apache2 is also possible. To run pan.do/ra in production, we use nginx, using apache2 is also possible.
* nginx setup * nginx setup
sudo apt-get install nginx sudo apt-get install nginx
add this to local_settings.py:
XACCELREDIRECT = True
setup nginx according to etc/nginx/vhost.in
* apache2 setup * apache2 setup
sudo apt-get install apache2-mpm-prefork apt-get install apache2-mpm-prefork libapache2-mod-xsendfile
sudo apt-get install libapache2-mod-xsendfile
add this to local_settings.py:
XSENDFILE = True
setup apache according to etc/apache2/vhost.in

View file

@ -1,59 +0,0 @@
[
{
"pk": 1,
"model": "backend.reviewwhitelist",
"fields": {
"url": "://filmcritic.com",
"name": "Filmcritic"
}
},
{
"pk": 2,
"model": "backend.reviewwhitelist",
"fields": {
"url": "villagevoice.com",
"name": "Village Voice"
}
},
{
"pk": 3,
"model": "backend.reviewwhitelist",
"fields": {
"url": "salon.com",
"name": "Salon.com"
}
},
{
"pk": 4,
"model": "backend.reviewwhitelist",
"fields": {
"url": "rottentomatoes.com",
"name": "Rotten Tomatoes"
}
},
{
"pk": 5,
"model": "backend.reviewwhitelist",
"fields": {
"url": "nytimes.com",
"name": "New York Times"
}
},
{
"pk": 6,
"model": "backend.reviewwhitelist",
"fields": {
"url": "metacritic.com",
"name": "Metacritic"
}
},
{
"pk": 7,
"model": "backend.reviewwhitelist",
"fields": {
"url": "sensesofcinema.com",
"name": "Senses of Cinema"
}
}
]

View file

@ -182,11 +182,12 @@ VIDEO_PREFIX=''
#VIDEO_PREFIX='videoPART.example.com' #VIDEO_PREFIX='videoPART.example.com'
#SESSION_COOKIE_DOMAIN=*.example.com" #SESSION_COOKIE_DOMAIN=*.example.com"
SCRIPT_ROOT = normpath(join(PROJECT_ROOT, '..', 'scripts'))
#copy scripts and adjust to customize #copy scripts and adjust to customize
ITEM_POSTER = join('scripts', 'oxdb_poster') ITEM_POSTER = join(SCRIPT_ROOT, 'oxdb_poster')
#ITEM_POSTER = join('scripts', 'padma_poster') #ITEM_POSTER = join(SCRIPT_ROOT, 'padma_poster')
ITEM_ICON = join('scripts', 'item_icon') ITEM_ICON = join(SCRIPT_ROOT, 'item_icon')
LIST_ICON = join('scripts', 'list_icon') LIST_ICON = join(SCRIPT_ROOT, 'list_icon')
#you can ignore things below this line #you can ignore things below this line

View file

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View file

@ -4,7 +4,7 @@
from __future__ import division from __future__ import division
import os import os
root_dir = os.path.normpath(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))) root_dir = os.path.normpath(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
#using virtualenv's activate_this.py to reorder sys.path #using virtualenv's activate_this.py to reorder sys.path
activate_this = os.path.join(root_dir, 'bin', 'activate_this.py') activate_this = os.path.join(root_dir, 'bin', 'activate_this.py')

View file

@ -4,7 +4,7 @@
from __future__ import division from __future__ import division
import os import os
root_dir = os.path.normpath(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))) root_dir = os.path.normpath(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
#using virtualenv's activate_this.py to reorder sys.path #using virtualenv's activate_this.py to reorder sys.path
activate_this = os.path.join(root_dir, 'bin', 'activate_this.py') activate_this = os.path.join(root_dir, 'bin', 'activate_this.py')

View file

@ -4,7 +4,7 @@
from __future__ import division from __future__ import division
import os import os
root_dir = os.path.normpath(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))) root_dir = os.path.normpath(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
#using virtualenv's activate_this.py to reorder sys.path #using virtualenv's activate_this.py to reorder sys.path
activate_this = os.path.join(root_dir, 'bin', 'activate_this.py') activate_this = os.path.join(root_dir, 'bin', 'activate_this.py')

View file

@ -4,7 +4,7 @@
from __future__ import division from __future__ import division
import os import os
root_dir = os.path.normpath(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))) root_dir = os.path.normpath(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
#using virtualenv's activate_this.py to reorder sys.path #using virtualenv's activate_this.py to reorder sys.path
activate_this = os.path.join(root_dir, 'bin', 'activate_this.py') activate_this = os.path.join(root_dir, 'bin', 'activate_this.py')