Conference management site for FOSSY. Forked from Linux Australia's version at https://gitlab.com/laconfdev/symposion_app.
Find a file
Sachi King bb573ebee4 settings - DEBUG hardening
DEBUG is something that should never be turned in on prod.  As such,
lets be extremely specific on what we expect to process.

As we'll be taking this in from the environment, it's ensured we will
get a string.  So we'll always get and only handle this in string
form.  If it's anything else, it's an operational error and we bail.

(Note: bool('0') is truthy, so we make sure we leverge our string -> int
-> bool every time, so corectness can be noticed if it is not)
2017-04-30 12:10:56 +10:00
docker Add initial Dockerfile 2017-04-29 20:17:41 +10:00
fixtures WIP Fixtures LCA-i-fication 2017-04-23 16:07:38 +10:00
pinaxcon settings - DEBUG hardening 2017-04-30 12:10:56 +10:00
static Remove excess CSS and fonts 2017-04-26 22:14:11 +10:00
.dockerignore Add initial Dockerfile 2017-04-29 20:17:41 +10:00
.gitignore Kludge tox to run flake8 2017-03-31 11:54:46 +11:00
.gitlab-ci.yml Lets try to automate this build a bit 2017-04-29 20:21:25 +10:00
constraints.txt Update constrainted repos 2017-04-29 20:04:00 +10:00
LICENSE added MIT license 2016-04-26 17:18:28 +08:00
manage.py Initial commit of the PinaxCon demo site 2015-10-16 12:53:02 -05:00
README.rst Use env vars for GCS_BUCKET 2017-03-31 12:09:41 +11:00
requirements.txt Remove metron 2017-04-25 01:31:08 +10:00
tox.ini Use full imports not . 2017-04-29 14:28:48 +10:00

symposion_app
===============

At this time, considerations have not been made to have the django project run
without additional infrastructure.

This can be configured in the future by switching the defualt
DEFAULT_FILE_STORAGE django default, and properly configuring django to load
subsequent configuration to switch this back to GCS on run in our testing
and production environments.

Login is a bit more complicated, the default flow redirects you out to a SAML
server, you can probably work something out with testshib.   But if you go to
/admin and log in, that will persist into /dashboard.


Required Configuration
----------------------

GCS
~~~

1. Set the bucket in settings.py
1. Store your Service Account JSON in a file
1. Set GOOGLE_APPLICATION_CREDENTIALS to your account file
1. Set GCS_BUCKET to your bucket name

SAML2
~~~~~

Please familurise yourself with Shibboleth configuraiton and the general
flow of how to register a SP with an IDP.

If you send the SP metadata staticly, validdity time must be removed.

You will also need to register your IDP metadata here either staticly or
remotely updated.

You may consider testing with testshib.

Configure signing and encryption keys, and configure them in the settings.py

VirtualEnv
~~~~~~~~~~

Not all things are lovely, so we use constraints to force the versions we
we wish for without having to do anything ugly.  This may require a newer
version of pip than is packaged with distros virtualenv

- ``virtualenv2 ve2``
- ``source ./ve2/bin/activate``
- ``pip install -c constraints.txt -r requirements.txt``

Pre-post-start configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Now that we are ready to start the app, we need to do initial setup, start
it, perform voodoo string magic, run more database jingling voodoo, and then
we can start it up and start looking around and customising the application.

``./manage.py migrate``
``./manage.py runserver``

Now we hit up the admin interface, find `symposion_proposals` `proposalkind`
and add `Talk` slug `talk`, `Tutorial`:`tutorial`, and `Miniconf`:`miniconf`.

Shut down and now run:
``./manage.py populate_inventory``

Now you can run the system and see how it goes.