Skip to main content

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://travis-ci.org/CTPUG/wafer.png?branch=master
:alt: Travis CI build status
:scale: 100%
:target: https://travis-ci.org/CTPUG/wafer

.. |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 and Django 4.0 - 4.2.

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


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.0.tar.gz (342.2 kB view details)

Uploaded Source

Built Distribution

wafer-0.16.0-py3-none-any.whl (422.8 kB view details)

Uploaded Python 3

File details

Details for the file wafer-0.16.0.tar.gz.

File metadata

  • Download URL: wafer-0.16.0.tar.gz
  • Upload date:
  • Size: 342.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for wafer-0.16.0.tar.gz
Algorithm Hash digest
SHA256 d2997e0efe478161d3e5ed0469c86369f4fb5b96eb903afc23afd60ce444ed7b
MD5 14c9466be31dfaf79113c2c74d6f475f
BLAKE2b-256 64b09a05f4898444c5f2251183f4f4346977185036ce22a868e487ddf12c7357

See more details on using hashes here.

File details

Details for the file wafer-0.16.0-py3-none-any.whl.

File metadata

  • Download URL: wafer-0.16.0-py3-none-any.whl
  • Upload date:
  • Size: 422.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for wafer-0.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 096f234a8acb2d0a8059e692e7235442a5f693bd6ad8e5f7c3da3ab0dbae73eb
MD5 516a83a86cd6c5ee1521c85472a0f748
BLAKE2b-256 9bd07da2168cb6d62b8b43776d87eab60df7579eac16b820f560d15cbd8d7f8f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page