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://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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wafer-0.16.1-py3-none-any.whl (440.6 kB view details)

Uploaded Python 3

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

Hashes for wafer-0.16.1.tar.gz
Algorithm Hash digest
SHA256 6ea8ae7bed9617e259f4747a76661fd4b11fc1aac655d6a407e2654f3549a4b7
MD5 315e04850d4d784aec53905faa3f111b
BLAKE2b-256 339d118d326ec4a3f6d6f2436bf1ef17a81bd8823602a63cc201d85507bbb08d

See more details on using hashes here.

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

Hashes for wafer-0.16.1-py3-none-any.whl
Algorithm Hash digest
SHA256 957335d31f3f288081748cb3d8477fa8564f09a4172259b4d35faa8a5bdc5916
MD5 5d685ac38cedf54458be8915a70ed542
BLAKE2b-256 7eae596429274d8cd3e4c87069440e35157ce9783a206f5a094e806eb1e15f20

See more details on using hashes here.

Supported by

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