Files
@ 3ac31dd55b36
Branch filter:
Location: symposion_app/README.rst - annotation
3ac31dd55b36
4.3 KiB
text/x-rst
Include templates in sdist
Adds a MANIFEST.in to ensure that templates are included in the built
package and thus available in systems that install this package.
Adds a MANIFEST.in to ensure that templates are included in the built
package and thus available in systems that install this package.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | ec71141ef148 fe8da10c2211 fe8da10c2211 fe8da10c2211 c56c7498700b ec71141ef148 ec71141ef148 c56c7498700b dede5dec1882 ec71141ef148 ec71141ef148 ec71141ef148 c56c7498700b ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 dc532cc4f814 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 dede5dec1882 ec71141ef148 ec71141ef148 dede5dec1882 ec71141ef148 dede5dec1882 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 af5fec11ff33 af5fec11ff33 af5fec11ff33 af5fec11ff33 af5fec11ff33 fe8da10c2211 fe8da10c2211 fe8da10c2211 fe8da10c2211 ec71141ef148 ec71141ef148 ec71141ef148 60308952fd2c ec71141ef148 60308952fd2c dede5dec1882 60308952fd2c 2580584597b5 60308952fd2c ec71141ef148 2580584597b5 ec71141ef148 fe8da10c2211 fe8da10c2211 fe8da10c2211 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 ec71141ef148 b4dd6e9e4ab6 fe8da10c2211 fe8da10c2211 fe8da10c2211 5c19dbf23676 5c19dbf23676 5c19dbf23676 5c19dbf23676 5c19dbf23676 5c19dbf23676 5c19dbf23676 5c19dbf23676 5c19dbf23676 b4dd6e9e4ab6 b4dd6e9e4ab6 b4dd6e9e4ab6 b4dd6e9e4ab6 b4dd6e9e4ab6 b4dd6e9e4ab6 855c71eacab1 855c71eacab1 855c71eacab1 855c71eacab1 855c71eacab1 855c71eacab1 855c71eacab1 855c71eacab1 855c71eacab1 855c71eacab1 855c71eacab1 565a90f61829 565a90f61829 565a90f61829 565a90f61829 2580584597b5 2580584597b5 565a90f61829 565a90f61829 | symposion_app
=============
.. contents::
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 default
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 familiarise yourself with Shibboleth configuration and the general
flow of how to register a SP with an IDP.
If you send the SP metadata statically, validity time must be removed.
You will also need to register your IDP metadata here either statically or
remotely updated.
You may consider testing with testshib.
Configure signing and encryption keys, and configure them in the settings.py
Running a dev instance in Docker
--------------------------------
Assuming you have docker installed and working on your machine::
./make_dev_container.sh
will build you a container and run through the initial setup steps.
The last stage interactively creates a superuser account: you'll need
to interact with this for it to finish.
Once this has completed, you can hit http://localhost:28000/admin to
log into the admin interface. Once you're logged in,
http://localhost:28000 will take you to the dashboard.
Note that when you do this you're logged in as a superuser, so what
you see will be different from what a normal user will see.
Making migrations
~~~~~~~~~~~~~~~~~
If you make changes to the data model, you'll need to run "manage.py
makemigrations" to create a matching migration file. If you're on a
mac, or a system without python3, this can be difficult.
In such a case, you can use the above script to make and run a dev
container; then::
docker exec -it symposion ./manage.py makemigrations
Running a dev instance in a 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.
Note that this application is python 3 only so you must create your virtualenv
with a python3 interpreter.
- ``python3 -m venv venv``
- ``source ./venv/bin/activate``
- ``pip install -c constraints.txt -r requirements.txt``
- ``pip install -c constraints.txt -r vendored_requirements.txt``
Once your dev instance is up and running
----------------------------------------
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.
Admin tasks
-----------
Admin Credentials
~~~~~~~~~~~~~~~~~
To create a local administrator account run:
``./manage.py createsuperuser``
and enter your username, email and password. This can then be used to login to: (http://localhost:8000/admin).
Base Data
~~~~~~~~~
On initial creation and whenever you reset the database you must reload the
basic data. This data is stored in the /fixtures directory. You can load this with:
``./manage.py loaddata ./fixtures/{conference,proposal_base,sites,sitetree}.json``
And to load the base admin users:
``./manage.py loaddata ./fixtures/admin_users.json``
admin1:Inq4JVQyQvWnqXDI
admin2:w0jYMJsM4S+1zHds
admin3:XzynbNH9Sw3pLPXe
Creating review permissions objects
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
After conference Sections have been created, this command will add
Permission objects for those sections.
``./manage.py create_review_permissions``
|