An Online BarCamp Session Grid Viewer
Waznex Server (What's Next?) is a web application server designed for BarCamp
Grand Rapids, but which should be useful for other BarCamps or conferences with
a rapidly-changing physical session grid. Its purpose is to host an online
version of the meatspace presentation session grid. Essentially, attendees
upload a photo of the session grid to the WaznexServer instance, and the server
shows the three most recently uploaded photos. This allows attendees to see
what's going on in upcoming sessions without going out to the lobby.
Waznex Server is based on the Flask microframework and can easily be hosted on
a Linux or OSX server. I recommend an Ubuntu LTS EC2 instance. It will probably
also work on a Windows server, but this has not been tested.
A Waznex Android client based on the PhoneGap framework will soon be available.
It now has a database backend using SQLAlchemy instead of the thread-unsafe
global list. This has only been tested with Sqlite so far. You can now control
how many images are shown on the main page - it's no longer hard-coded to 3.
Version 0.1 includes the bare essentials of a working server. It can accept
file uploads and will display the three most recent uploads using the mobile
web theme. It generates two additional sized versions of each photo: a
downsized version with maximum size of 1024x1024 pixels, and a thumbnail
version with a maximum size of 316x316 pixels. The downsized version is useful
for viewing on mobile platforms that limit download size (WebOS). The
thumbnail version is sized to fit the mobile theme width.
sudo apt-get install python-virtualenv python-dev mercurial python-imaging
libjpeg libjpeg-dev
virtualenv --no-site-packages --distribute WaznexServer
cd WaznexServer
source bin/activate
pip install flask
pip install flask-sqlalchemy
pip install pil
hg clone http://hg.code.sf.net/p/waznexserver/code waznexserver
sudo apt-get install python-virtualenv python-dev mercurial python-imaging
libjpeg libjpeg-dev
virtualenv --no-site-packages --distribute WaznexServer
cd WaznexServer
source bin/activate
pip install flask
pip install flask-sqlalchemy
pip install pil
hg clone http://hg.code.sf.net/p/waznexserver/code waznexserver
sudo ./waznexserver/misc/fix_virtualenv_pil.sh
Modify the image, downsized, and thumbnail paths found near the top of
main.py
to reflect your file system. Modify the templates/index.html
file
to change the page title. Modify the static/css/main.css
file to change the
style. Also be sure to disable debugging in a live deployment.
python main.py
sudo apt-get install libapache2-mod-wsgi
Although Waznex Server includes a way to serve photos and static files such as
css and javascript using the Flask framework, a more efficient way of serving
them is to use a dedicated web server such as Apache. An example Apache vhost
configuration is included in misc/example_apache_vhost.txt
.