A wafer-thin Django library for running small conferences.
Project description
wafer
=====
|wafer-ci-badge| |wafer-docs-badge| |wafer-weblate-badge|
.. |wafer-ci-badge| image:: https://github.com/CTPUG/wafer/actions/workflows/django.yml/badge.svg
:alt: Github actions CI build status
:scale: 100%
:target: https://github.com/CTPUG/wafer/actions/
.. |wafer-docs-badge| image:: https://readthedocs.org/projects/wafer/badge/?version=latest
:alt: Wafer documentation
:scale: 100%
:target: https://wafer.readthedocs.org/
.. |wafer-weblate-badge| image:: https://hosted.weblate.org/widgets/wafer/-/svg-badge.png
:alt: Translation status
:scale: 100%
:target: https://hosted.weblate.org/engage/wafer/
A wafer-thin web application for running small conferences. Built using Django.
Licensed under the `ISC License`_.
.. _ISC License: https://github.com/CTPUG/wafer/blob/master/LICENSE
Documentation
=============
Available on `readthedocs.org`_.
.. _readthedocs.org: https://wafer.readthedocs.org/
Supported Django versions
=========================
Wafer supports Django 3.2, Django 4.0 - 4.2 and Django 5.0 .
Installation
============
1. wafer can be installed either from pypi (``pip install wafer``)
or from the github repository.
2. If installing from github, ``pip install -r requirements.txt``
should install all the required python and django dependencies.
3. Wafer uses npm to manage front-end dependencies
* Make sure you have a recent version of Node.js installed that
includes ``npm``.
* Run ``npm install`` to install all dependencies, which also copies
them to ``wafer/static/vendor``.
4. Install the wafer applications
``manage.py migrate``
5. If you don't have one yet, create a superuser with
``manage.py createsuperuser``.
6. Examine the ``settings.py`` file and create a
``localsettings.py`` file overriding the defaults
as required.
``STATIC_FILES``, ``WAFER_MENUS``, ``MARKITUP_FILTER``,
``WAFER_PAGE_MARKITUP_FILTER``, ``WAFER_TALKS_OPEN``,
``WAFER_REGISTRATION_OPEN`` and ``WAFER_PUBLIC_ATTENDEE_LIST`` will
probably need to be overridden.
If you add extensions to ``MARKITUP_FILTER`` or
``WAFER_PAGE_MARKITUP_FILTER``, be sure to install the appropriate
python packages as well.
7. Wafer uses the Django caching infrastructure in several places, so
the cache table needs to be created using ``manage.py createcachetable``.
8. Create the default 'Page Editors', 'Talk Mentors' and other useful groups using
``manage.py wafer_add_default_groups``.
9. Log in and configure the Site:
* The domain will be used as the base for e-mails sent during
registration.
* The name will be the conference's name.
10. Have a fun conference.
Running wafer
=============
To run a local server for development and testing, use the standard Django
``manage.py runserver``, after doing the installation.
For running the server in production, please see the `Django documentation`_
on the various possible approaches.
.. _Django documentation: https://docs.djangoproject.com/en/3.0/howto/deployment/
Features
========
* Support for adding and editing sponsors via Django admin.
* Schedule can be created and updated via Django admin.
* Pages for static content, news and so forth can be handled via Django admin.
* Can be delegated to the 'Page Editors' group.
* Pages can be updated via the web interface.
* Talk submissions, review and acceptance.
* Generate a static version of the site for archival.
Translation
===========
Translations for wafer are managed at `weblate.org`_
.. _weblate.org: https://hosted.weblate.org/projects/wafer/
Selenium tests
==============
wafer includes a small set of selenium tests to test various bits of javascript
used in the site (mostly in the schedule editor).
To run the tests, you will need to install selenium - ``pip install selenium``
and also run ``rpm install`` to install the required javascript dependencies.
The tests can be run using the ``selenium`` tag, or using the individual browser
tags (currently ``firefox`` and ``chrome``).
=====
|wafer-ci-badge| |wafer-docs-badge| |wafer-weblate-badge|
.. |wafer-ci-badge| image:: https://github.com/CTPUG/wafer/actions/workflows/django.yml/badge.svg
:alt: Github actions CI build status
:scale: 100%
:target: https://github.com/CTPUG/wafer/actions/
.. |wafer-docs-badge| image:: https://readthedocs.org/projects/wafer/badge/?version=latest
:alt: Wafer documentation
:scale: 100%
:target: https://wafer.readthedocs.org/
.. |wafer-weblate-badge| image:: https://hosted.weblate.org/widgets/wafer/-/svg-badge.png
:alt: Translation status
:scale: 100%
:target: https://hosted.weblate.org/engage/wafer/
A wafer-thin web application for running small conferences. Built using Django.
Licensed under the `ISC License`_.
.. _ISC License: https://github.com/CTPUG/wafer/blob/master/LICENSE
Documentation
=============
Available on `readthedocs.org`_.
.. _readthedocs.org: https://wafer.readthedocs.org/
Supported Django versions
=========================
Wafer supports Django 3.2, Django 4.0 - 4.2 and Django 5.0 .
Installation
============
1. wafer can be installed either from pypi (``pip install wafer``)
or from the github repository.
2. If installing from github, ``pip install -r requirements.txt``
should install all the required python and django dependencies.
3. Wafer uses npm to manage front-end dependencies
* Make sure you have a recent version of Node.js installed that
includes ``npm``.
* Run ``npm install`` to install all dependencies, which also copies
them to ``wafer/static/vendor``.
4. Install the wafer applications
``manage.py migrate``
5. If you don't have one yet, create a superuser with
``manage.py createsuperuser``.
6. Examine the ``settings.py`` file and create a
``localsettings.py`` file overriding the defaults
as required.
``STATIC_FILES``, ``WAFER_MENUS``, ``MARKITUP_FILTER``,
``WAFER_PAGE_MARKITUP_FILTER``, ``WAFER_TALKS_OPEN``,
``WAFER_REGISTRATION_OPEN`` and ``WAFER_PUBLIC_ATTENDEE_LIST`` will
probably need to be overridden.
If you add extensions to ``MARKITUP_FILTER`` or
``WAFER_PAGE_MARKITUP_FILTER``, be sure to install the appropriate
python packages as well.
7. Wafer uses the Django caching infrastructure in several places, so
the cache table needs to be created using ``manage.py createcachetable``.
8. Create the default 'Page Editors', 'Talk Mentors' and other useful groups using
``manage.py wafer_add_default_groups``.
9. Log in and configure the Site:
* The domain will be used as the base for e-mails sent during
registration.
* The name will be the conference's name.
10. Have a fun conference.
Running wafer
=============
To run a local server for development and testing, use the standard Django
``manage.py runserver``, after doing the installation.
For running the server in production, please see the `Django documentation`_
on the various possible approaches.
.. _Django documentation: https://docs.djangoproject.com/en/3.0/howto/deployment/
Features
========
* Support for adding and editing sponsors via Django admin.
* Schedule can be created and updated via Django admin.
* Pages for static content, news and so forth can be handled via Django admin.
* Can be delegated to the 'Page Editors' group.
* Pages can be updated via the web interface.
* Talk submissions, review and acceptance.
* Generate a static version of the site for archival.
Translation
===========
Translations for wafer are managed at `weblate.org`_
.. _weblate.org: https://hosted.weblate.org/projects/wafer/
Selenium tests
==============
wafer includes a small set of selenium tests to test various bits of javascript
used in the site (mostly in the schedule editor).
To run the tests, you will need to install selenium - ``pip install selenium``
and also run ``rpm install`` to install the required javascript dependencies.
The tests can be run using the ``selenium`` tag, or using the individual browser
tags (currently ``firefox`` and ``chrome``).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
wafer-0.16.1.tar.gz
(352.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
wafer-0.16.1-py3-none-any.whl
(440.6 kB
view details)
File details
Details for the file wafer-0.16.1.tar.gz.
File metadata
- Download URL: wafer-0.16.1.tar.gz
- Upload date:
- Size: 352.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ea8ae7bed9617e259f4747a76661fd4b11fc1aac655d6a407e2654f3549a4b7
|
|
| MD5 |
315e04850d4d784aec53905faa3f111b
|
|
| BLAKE2b-256 |
339d118d326ec4a3f6d6f2436bf1ef17a81bd8823602a63cc201d85507bbb08d
|
File details
Details for the file wafer-0.16.1-py3-none-any.whl.
File metadata
- Download URL: wafer-0.16.1-py3-none-any.whl
- Upload date:
- Size: 440.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
957335d31f3f288081748cb3d8477fa8564f09a4172259b4d35faa8a5bdc5916
|
|
| MD5 |
5d685ac38cedf54458be8915a70ed542
|
|
| BLAKE2b-256 |
7eae596429274d8cd3e4c87069440e35157ce9783a206f5a094e806eb1e15f20
|