Core functions for councilmatic.org family
Project description
Reusable Django app providing the core functions for Councilmatic
Setup
Install OS level dependencies:
Python 3.4
PostgreSQL 9.4 +
Install app requirements
We recommend using virtualenv and virtualenvwrapper for working in a virtualized development environment. Read how to set up virtualenv.
Once you have virtualenvwrapper set up,
mkvirtualenv chi-councilmatic
git clone https://github.com/datamade/chi-councilmatic.git
cd chi-councilmatic
pip install -r requirements.txt
Afterwards, whenever you want to use this virtual environment to work on chi-councilmatic, run workon chi-councilmatic
Create your settings file
cp councilmatic/settings_local.py.example councilmatic/settings_local.py
Then edit councilmatic/settings_local.py: - USER should be your username
Setup your database
Before we can run the website, we need to create a database.
createdb chi_councilmatic
Then, run migrations
python manage.py migrate --no-initial-data
Create an admin user - set a username & password when prompted
python manage.py createsuperuser
Importing data from the open civic data api
Run the loaddata management command. This will take a few minutes.
python manage.py loaddata
Running Chicago Councilmatic locally
python manage.py runserver
navigate to http://localhost:8000/
Setup Search
Install Open JDK or update Java
On Ubuntu:
$ sudo apt-get update
$ sudo apt-get install openjdk-7-jre-headless
On OS X:
Download latest Java from http://java.com/en/download/mac_download.jsp?locale=en
Follow normal install procedure
Change system Java to use the version you just installed:
sudo mv /usr/bin/java /usr/bin/java16 sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin/java
Download & setup Solr
wget http://mirror.sdunix.com/apache/lucene/solr/4.10.4/solr-4.10.4.tgz
tar -xvf solr-4.10.4.tgz
sudo cp -R solr-4.10.4/example /opt/solr
# Copy schema.xml for this app to solr directory
sudo cp solr_scripts/schema.xml /opt/solr/example/solr/collection1/conf/schema.xml
Run Solr
# Next, start the java application that runs solr
# Do this in another terminal window & keep it running
# If you see error output, somethings wrong
cd /opt/solr/example
sudo java -jar start.jar
Index the database
# back in the chi-councilmatic directory:
python manage.py rebuild_index
OPTIONAL: Install and configure Jetty for Solr
Just running Solr as described above is probably OK in a development setting. To deploy Solr in production, you’ll want to use something like Jetty. Here’s how you’d do that on Ubuntu:
sudo apt-get install jetty
# Backup stock init.d script
sudo mv /etc/init.d/jetty ~/jetty.orig
# Get init.d script suggested by Solr docs
sudo cp solr_scripts/jetty.sh /etc/init.d/jetty
sudo chown root.root /etc/init.d/jetty
sudo chmod 755 /etc/init.d/jetty
# Add Solr specific configs to /etc/default/jetty
sudo cp solr_scripts/jetty.conf /etc/default/jetty
# Change ownership of the Solr directory so Jetty can get at it
sudo chown -R jetty.jetty /opt/solr
# Start up Solr
sudo service jetty start
# Solr should now be running on port 8983
Regenerate Solr schema
While developing, if you need to make changes to the fields that are getting indexed or how they are getting indexed, you’ll need to regenerate the schema.xml file that Solr uses to make it’s magic. Here’s how that works:
python manage.py build_solr_schema > solr_scripts/schema.xml cp solr_scripts/schema.xml /opt/solr/solr/collection1/conf/schema.xml
In order for Solr to use the new schema file, you’ll need to restart it.
Team
David Moore - project manager
Forest Gregg - Open Civic Data (OCD) and Legistar scraping
Cathy Deng - data models and loading
Derek Eder - front end
Eric van Zanten - search and dev ops
Errors / Bugs
If something is not behaving intuitively, it is a bug, and should be reported. Report it here: https://github.com/datamade/chi-councilmatic/issues
Note on Patches/Pull Requests
Fork the project.
Make your feature addition or bug fix.
Commit, do not mess with rakefile, version, or history.
Send a pull request. Bonus points for topic branches.
Copyright
Copyright (c) 2015 Participatory Politics Foundation and DataMade. Released under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-councilmatic-0.1.tar.gz
.
File metadata
- Download URL: django-councilmatic-0.1.tar.gz
- Upload date:
- Size: 6.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 181719b6bc131abb802e42950ecff7621542ed5a19ee67b18cdc73b8dfd62643 |
|
MD5 | 5f1abd22cfb6fae3db19f1e0d4e8fe4a |
|
BLAKE2b-256 | 2c151a1bead837589c6c091f0641dd092e95cd105ca5fc244bde2df8882d2edc |