floof is a communal art gallery Web site. It's powered by Python and runs atop Pyramid.
First, make sure you've pulled in git submodules:
git submodule init
git submodule update
Use the setuptools setup script:
python setup.py install
-- OR --
python setup.py develop
If you're a developer, you probably want develop
instead of install
, and
you may wish to consider using virtualenv to keep floof's Python environment
separate from the rest of your system.
Create a floof configuration file by copying the template:
cp paster.ini config.ini
You may call this file whatever you want, for example development.ini
or
production.ini
.
Configure as appropriate, then set the sqlalchemy.url parameter in alembic.ini to point to the same database as the floof config file.
Finally, run the setup script to populate the database and configure the CA:
python bin/setup-floof.py config.ini#floof-prod alembic.ini
You have two options for storing files, controlled by the filestore
setting:
local stores files in the filesystem normally.
The filestore.directory
setting specifies the root of the storage. This
directory must already exist and be writable by the Python process.
mogilefs stores files in the MogileFS distributed filesystem. You'll
need the pymogile
package installed, available from
https://github.com/AloneRoad/pymogile in the 2.0 branch.
filestore.trackers
is a space-delimited list of trackers.
filestore.domain
is the name of the MogileFS domain under which all the
files will be stored.
See the mogile docs for creating a basic mogile environment: http://code.google.com/p/mogilefs/wiki/InstallHowTo
For development, invoke the application with:
bin/dev-server.sh config.ini
If you hit some annoying problem during installation, check WORKAROUNDS. If the problem or answer is not there but you subsequently work it out, add your solution to WORKAROUNDS for the sake of those who follow.
To invoke testing, run from the top level directory:
python setup.py test