Installing and Setting Up the Demo Site¶
(You can skip this if you are cloning an OpenBlock AMI.)
Step-By-Step Demo Installation¶
If you followed the Installing the Openblock Software instructions properly, you've already got a virtualenv ready. Go into it and activate it, if you haven't yet:
$ cd path/to/your/virtualenv $ source bin/activate
Installing obdemo - stable release¶
obdemo is included as part of Installing Stable Packages.
You'll then want to make a copy of the skeleton settings file for editing, which lives at $VIRTUAL_ENV/lib/python2.*/site-packages/obdemo/settings.py.in.
Installing obdemo for development¶
You can work on the latest development code of obdemo and its dependencies like this, assuming you've already taken care of Installing Development Code:
$ cd $VIRTUAL_ENV/src/openblock $ pip install -r obdemo/requirements.txt $ pip install -e obdemo
You'll want to edit the demo's django settings at this point, or at least look at it to get an idea of what can be configured. There is also some configuration documentation you should look at.
obdemo doesn't come with a settings.py; it comes with a settings.py.in template that you can copy and edit.
(If you've installed OpenBlock sources from git, this file will be at $VIRTUAL_ENV/src/openblock/obdemo/obdemo/settings.py.in. If you've installed a stable release from pypi, it will be at $VIRTUAL_ENV/lib/python2.*/site-packages/obdemo/settings.py.in.)
$ cd path/to/obdemo $ cp settings.py.in settings.py $ favorite_editor settings.py
At minimum, you should change the values of:
- PASSWORD_CREATE_SALT - this is used when users create a new account.
- PASSWORD_RESET_SALT - this is used when users reset their passwords.
- STAFF_COOKIE_VALUE - this is used for allowing staff members to see some parts of the site that other users cannot, such as types of news items that you're still working on.
You'll also want to think about Choosing Your Map Base Layer.
You should already have taken care of Database Setup. Create the (empty) database with this command:
$ sudo -u postgres createdb -U openblock --template template_postgis openblock
Now initialize your database tables:
$ export DJANGO_SETTINGS_MODULE=obdemo.settings $ django-admin.py syncdb --migrate
(The --migrate option is important; it loads some initial data that openblock depends on including stored procedures, and some default Schemas that you can try out, modify, and delete as needed.)
This will also prompt you to create an administrative user, which is a good idea.
Starting the Test Server¶
Run these commands to start the test server:
$ export DJANGO_SETTINGS_MODULE=obdemo.settings $ django-admin.py runserver ... Development server is running at http://127.0.0.1:8000/
Loading Demo Data¶
OpenBlock is pretty boring without data! You'll want to load some geographic data and some local news. We've included some example data for Boston, MA, and scraper scripts you can use to start with if you don't have all of your local data on hand yet.
Set your DJANGO_SETTINGS_MODULE environment variable before you begin:
$ export DJANGO_SETTINGS_MODULE=obdemo.settings
First you'll want to load Boston geographies. This will take several minutes:
$ django-admin.py import_boston_zips $ django-admin.py import_boston_hoods $ django-admin.py import_boston_blocks
Then fetch some news from the web, this will take several minutes:
$ django-admin.py import_boston_news
For testing with random data you might also want to get the misc directory from the OpenBlock source code, and try the random-news script like so:
$ src/openblock/misc/bin/random_news.py 10 local-news
... where 10 is the number of random articles to generate, and 'local-news' is a Schema slug. You must first have some blocks in the database; it will assign randomly generated local news articles to randomly chosen blocks.