This repository has been archived by the owner. It is now read-only.
Peek-a-boo! Who's visiting a Mozilla office?
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
docs
lib/product_details_json
media
peekaboo
puppet
wsgi
.editorconfig
.gitignore
.gitmodules
.pep8
.travis.yml
LICENSE
MANIFEST.in
README.md
Vagrantfile
about-config-screenshot.png
always-share-screenshot.png
contribute.json
dev-requirements.txt
manage.py
requirements.txt
setup.py
vagrantconfig.yaml
vagrantconfig_local.yaml-dist

README.md

Peek-a-boo

Peek-a-boo! Who's visiting a Mozilla office?

Production environment: https://peekaboo.mozilla.org

Dev/Stage environment: https://peekaboo.allizom.org

Contribute.json

All links and information about how to contribute is available on https://peekaboo.mozilla.org/contribute.json

Filing bugs

File bugs on bugzilla under Webtools:Peekaboo.

Getting Your Dev Environment Up

First of you will need to clone this project (If you are planning on working on the project and submitting pull requests, first fork this repo and clone your fork).

git clone https://github.com/youruser/peekaboo.git && cd peekaboo

The next dependency you will need is MySQL, you can have a look at the download instructions at: http://dev.mysql.com/downloads/ or, if you have brew installed, just run:

brew install mysql

Once MySQL is installed, we need to create the database for peekaboo. If your instance of MySQL is not already running, start it up.

Log into your MySQL instance using the username and password you have set, and create the DB:

create database peekaboo;

Next step is to create and update your local settings to reflect this. From the root of your repo run:

cp peekaboo/settings/local.py-dist peekaboo/settings/local.py

With an editor open up local.py and update the database credentials you will find at line 12 - 14.

First install peep:

pip install bin/peep-2.5.0.tar.gz

Lastly install your remaining dependencies using peep:

peep install -r requirements.txt

The dev requirements are less strict and can be installed with pip:

pip install -r dev-requirements.txt

With all of this done, you are ready to move on to the next step below.

Setting up database

From a blank newly created database with no tables, run:

./manage.py syncdb --noinput

followed by:

./manage.py migrate

This will apply the migration migrations/0001_initial.py. If you haven't already created this file you first have to run:

./manage.py schemamigration main --initial

Migrations

To generate a schema migration, make changes to models.py, then run:

./manage.py makemigrations peekaboo.main

To generate a blank data migration, use:

./manage.py makemigrations peekaboo.main --empty

Then fill in the generated file with logic, fixtures, etc.

To apply migrations:

./manage.py migrate

In each command, replace peekaboo.main with the appropriate app.

Setting up superusers

To be able to get any access you need to be a staff user or a superuser.

Only superusers can decide who can be staff and superuser. To bootstrap, if there are no superusers available at all, you can create one like this::

./manage.py make-superuser pbengtsson@mozilla.com

Always allowing the camera in Firefox

When you use the web camera in the sign-in sheet app for the first time it will popup open a little dialog and you click to allow the camera. You can select "Always Share" and that gets remembered.

Always Share

However, to avoid this question to even ever come up, you can change the config to never pop-up this dialog and always trust. This is only recommended for dedicated devices that act as kiosks for Peekaboo.

Go to about:config and search for media.navigator.permission and double click the found setting till it says "true" at the end.

about:config

What's deployed

To find out what commits have made it where, use the Whatsdeployed tool for peekaboo.

License

This software is licensed under the Mozilla Public License v. 2.0. For more information, read the file LICENSE.