Skip to content

Commit

Permalink
Merge branch 'release/1.2.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
philipbelesky committed Feb 15, 2017
2 parents a4372ca + 9b67704 commit 66b9697
Show file tree
Hide file tree
Showing 217 changed files with 5,237 additions and 1,946 deletions.
10 changes: 10 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Copying this over will mess up database settings
*/*/local_settings.py

# Dependencies
node_modules/
venv/

# Compilations
tabbycat/staticfiles/
docs/
2 changes: 1 addition & 1 deletion .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ ignore = E126,E128,E221,E226,E261,E203,E231,E241,E305,Q000,I100

max-line-length = 200

exclude = docs, migrations, node_modules, bower_components, venv, */__init__.py
exclude = docs, data, migrations, node_modules, bower_components, venv, */__init__.py

import-order-style = google
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ tabbycat/static/fonts/

# Dependencies
node_modules
bower_components

# Data to ignore
data/*
Expand All @@ -24,8 +23,12 @@ data/*
!data/presets/
!data/fixtures/

# Docker
dbdata

# Docs
docs/site/
issues-*.html

# Tags
tags
Expand Down
2 changes: 1 addition & 1 deletion .python-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.5.1
3.6.0
3 changes: 2 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ sudo: required
python:
- "3.4"
- "3.5"
- "3.6"
addons:
postgresql: "9.4"
postgresql: "9.5"
services:
- postgresql
install:
Expand Down
4 changes: 2 additions & 2 deletions AUTHORS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Authors

Tabbycat was authored by Qi-Shan Lim for Auckland Australs 2010. The current active developers are:

- Philip Belesky (`e-mail <http://www.google.com/recaptcha/mailhide/d?k=01aItEbHtwnn1PzIPGGM9W8A==&c=XWljk2iGokfhziV2Rt4OiKA5uab1vCrnxwXcPUsWgnM=>`_)
- Chuan-Zheng Lee (`e-mail <mailto:[email protected]>`_)
- Philip Belesky (`pb-e-mail <http://www.google.com/recaptcha/mailhide/d?k=01aItEbHtwnn1PzIPGGM9W8A==&c=XWljk2iGokfhziV2Rt4OiKA5uab1vCrnxwXcPUsWgnM=>`_)
- Chuan-Zheng Lee (`cz-e-mail <mailto:[email protected]>`_)

Please don't hesitate to contact us with any suggestions, expressions of interest or generally anything relating to Tabbycat.
20 changes: 20 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,44 @@ Change Log
==========


1.2.0 (Foldex)
--------------

- Changed the core workflow by splitting display- and motion- related activities into separate pages to simplify each stage of running a round
- Added support for Docker-based installations to make local/offline installations much more simple
- Added a "Tabbykitten" version of Tabbycat that can be deployed to Heroku without a needing a credit/debit card
- Added button to load a demo tournament on the 'New Tournament' page so it is easier to test-run Tabbycat
- Changed venue groups to be separate to venue constraint categories
- Modified the licence to clarify that donations are required for some tournaments and added a more explicit donations link and explanation page
- Added information about autosave status to the adjudicator allocations page
- Added configurable side names so that tournaments can use labels like "Proposition"/"Opposition" instead of "Affirmative"/"Negative"
- Started work on basic infrastructure for translations


1.1.7
-----

- Yet more minor bug fixes
- The auto-allocation UI will now detail your minimum rating setting better
- Added guidance on database backups to documentation


1.1.6
-----

- A number of minor bug fixes
- Added basic infrastructure for creating tabbycat translations


1.1.5
-----

- A number of minor bug fixes and improvements to documentation


1.1.4
-----

- Redesigned the footer area to better describe Tabbycat and to promote donations and related projects
- Slight tweaks to the site homepage and main menus to better accomodate the login/log out links
- A few minor bug fixes and improvements to error reporting
Expand Down
22 changes: 17 additions & 5 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Contributing
============

Contributions are welcome, and are greatly appreciated! Every little bit helps, and credit will be given. `Join our Facebook group <https://www.facebook.com/groups/tabbycat.debate/>`_ if you have any questions about how to get started contributing.
Contributions are welcome, and are greatly appreciated! Every little bit helps, and credit will be given. Feel free to `join our Facebook group <https://www.facebook.com/groups/tabbycat.debate/>`_ if you have any questions about how to get started.

Bug reports
===========
Expand All @@ -16,11 +16,9 @@ Please report bugs by opening a new issue in our `GitHub repository <https://git
Getting started
===============

.. important:: We are using the `git-flow workflow <http://danielkummer.github.io/git-flow-cheatsheet/>`_, so please submit any pull requests against the **develop branch** (and not master).

- Generally we prefer that features and bug fixes are submitted as pull requests on their own branch (as described in the git-flow process)
- To easily test your changes to Tabbycat you probably want a working :ref:`local install <install-local>` (without using Docker)
- Generally we prefer that features and bug fixes are submitted as pull requests on their own branch (as described in the `git-flow workflow <http://danielkummer.github.io/git-flow-cheatsheet/>`_). Submitting against `develop` (but not `master`) is fine for small fixes and changes.
- We use Django's testing tools — it would be great if new features came with unit tests
- TODO: more detail on tests and pull request checklist/guidelines

Style guide
===========
Expand Down Expand Up @@ -60,3 +58,17 @@ Then start the server::
$ sphinx-autobuild docs docs/_build/html --port 7999

You should then be able to preview the docs at `127.0.0.1:7999 <http://127.0.0.1:7999>`_.

Release Checklist
=================

1. Bump version numbers in ``docs/conf.py`` and ``tabbycat/settings.py``
2. Update the main ``CHANGELOG.rst`` file
3. Shift remaining issues from the Github Milestone
4. Create and finish the release branch as per git-flow
5. Ensure the tag is correct (``vX.Y.Z``) and published to Github
6. Back-merge ``master`` to the ``kitten`` branch
7. Back-merge ``develop`` to the in-progress feature branches
8. Push ``master`` to the release pipeline repository
9. Issue a formal release with change notes on Github
10. Post change notes on the Facebook group
29 changes: 29 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Docker file lists all the commands needed to setup a fresh linux instance to
# run the application specified. docker-compose does not use this.

# Grab a python image
FROM python:3.6

# Just needed for all things python (note this is setting an env variable)
ENV PYTHONUNBUFFERED 1

# Setup Node/NPM
RUN apt-get update && apt-get install curl
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash && apt-get install -y nodejs

# Copy all our files into the baseimage and cd to that directory
RUN mkdir /tcd
WORKDIR /tcd
# Can this be skipped? Takes ages
ADD . /tcd/

# Set git to use HTTPS (SSH is often blocked by firewalls)
RUN git config --global url."https://".insteadOf git://

# Install our node/python requirements
RUN pip install -r ./requirements_common.txt
RUN npm install

# Compile all the static files
RUN npm rebuild node-sass
RUN python ./tabbycat/manage.py collectstatic --no-input
3 changes: 3 additions & 0 deletions Gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -140,4 +140,7 @@ gulp.task('watch', ['build'], function() {
gulp.watch('tabbycat/templates/js-bundles/*.js', ['js-browserify']);
gulp.watch('tabbycat/templates/**/*.vue', ['js-browserify']);
gulp.watch('tabbycat/**/*.html', ['html-reload']);
console.log('---------------------------\n');
console.log('Finished building Tabbycat!\n');
console.log('---------------------------');
});
28 changes: 25 additions & 3 deletions LICENSE.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,30 @@
Licence Information
===================

We haven't released Tabbycat under an open-source licence, so there is no formal and general right to use this software. Nonetheless, you're welcome to use Tabbycat to help run a debating tournament if it is a not-for-profit activity. Using Tabbycat at tournaments where an individual or institution is making a profit requires our express permission. Modifying Tabbycat for profit, or using a version of Tabbycat that has been modified for profit, also requires our express permission.
We haven't released Tabbycat under an open-source licence, so there is no formal and general right to use this software. Nonetheless, you're welcome to freely use Tabbycat to help run a debating tournament if it is a not-for-profit and not-for-fundraising activity. A voluntary donation of A$1 (Australian dollar) per team would be greatly appreciated, and would help us meet costs and justify our ongoing work and support for Tabbycat users. (A donation link is in the footer of your Tabbycat site.)

If you're using Tabbycat to run a tournament we would appreciate it if you would let us know that you're doing so and how it went. `Our Facebook group <https://www.facebook.com/groups/tabbycat.debate/>`_ is a great place to do so, or you could e-mail us at the contact details in the :ref:`authors` section.
Use at for-profit or fundraising tournaments
============================================

We work on this software in our spare time and make it available for not-for-profit use in the hope that it will benefit the debating community. It is provided "as is", without any warranty, and we disclaim all legal liability.
If you use Tabbycat at a tournament where any individual or organisation is making a profit or raising funds (other than to cover the direct costs of the tournament), you or your tournament **must** make a donation of A$1 (Australian dollar) per team to the Tabbycat maintenance team, as outlined in each tournament’s donation page (the link is in the footer of your Tabbycat site). This includes instances where organisations run tournaments partly as fundraising activities and applies even if the organisation itself is a non-profit.

While we suggest that non-profit, non-fundraising tournaments budget for a donation of A$1 per team, it is not required in order for such tournaments to use Tabbycat.

Modifications to and redistributions of Tabbycat
================================================

We grant you permission to modify and/or redistribute Tabbycat, provided that

- you do not receive any payment for this modification and/or redistribution,
- if you modify Tabbycat, you add prominent notices stating that you modified it,
- all references and functionality relating to donations are kept intact, and
- this licence page and all attributions of authorship are included as-is.

Modifying Tabbycat for payment, or using a version of Tabbycat that has been modified for payment, is strictly prohibited without our express permission.

If you use a version of Tabbycat that has been modified by you or a third party to run a for-profit or fundraising tournament, the abovementioned donation of A$1 per team is still required.

Disclaimer of warranty and liability
====================================

We work on this software in our spare time and make it available for not-for-profit use in the hope that it will benefit the debating community. **It is provided "as is", without any warranty of any kind, express or implied, including without limitation any warranties of merchantability and fitness for a particular purpose, and we disclaim all legal liability. By using Tabbycat, you agree that none of its contributors will be held liable for any loss or claim arising directly or indirectly from using the software, or for any loss or claim otherwise in connection with the software.**
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Tabbycat

[![Deploy](https://img.shields.io/badge/%E2%86%91_Deploy_to-Heroku-7056bf.svg)](https://heroku.com/deploy) [![Docs](https://readthedocs.org/projects/tabbycat/badge/?version=latest)](http://tabbycat.readthedocs.io/en/latest/) [![Docs](https://readthedocs.org/projects/tabbycat/badge/?version=stable)](http://tabbycat.readthedocs.io/en/stable/) [![Build Status](https://travis-ci.org/czlee/tabbycat.svg?branch=develop)](https://travis-ci.org/czlee/tabbycat) [![Dependency Status](https://gemnasium.com/badges/github.com/czlee/tabbycat.svg)](https://gemnasium.com/github.com/czlee/tabbycat)
[![Docs](https://readthedocs.org/projects/tabbycat/badge/?version=latest)](http://tabbycat.readthedocs.io/en/latest/) [![Docs](https://readthedocs.org/projects/tabbycat/badge/?version=stable)](http://tabbycat.readthedocs.io/en/stable/) [![Build Status](https://travis-ci.org/czlee/tabbycat.svg?branch=develop)](https://travis-ci.org/czlee/tabbycat) [![Dependency Status](https://gemnasium.com/badges/github.com/czlee/tabbycat.svg)](https://gemnasium.com/github.com/czlee/tabbycat)

Tabbycat is a draw tabulation system for 3 vs 3 debating tournaments. It was used at Australs in Auckland 2010, [Wellington 2012](https://www.facebook.com/Australs2012), [Dunedin 2014](http://australs2014.herokuapp.com), [Daejeon 2015](http://australs2015.herokuapp.com) and [Perth 2016](http://australs2016.herokuapp.com), as well as [many other tournaments of all sizes](http://tabbycat.readthedocs.io/en/stable/about/tournament-history.html). To see an example of a post-tournament website, have a look at the [WAustrals 2016 tab website](http://australs2016.herokuapp.com).

Expand All @@ -20,13 +20,15 @@ Tabbycat is a draw tabulation system for 3 vs 3 debating tournaments. It was use

Our user guide is at [tabbycat.readthedocs.io](http://tabbycat.readthedocs.io/). The fastest way to launch a Tabbycat site is to click this button:

[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/czlee/tabbycat/tree/master)

If you'd like to run a tournament with Tabbycat but are not able to set it up, get in touch with [Philip](http://www.google.com/recaptcha/mailhide/d?k=01aItEbHtwnn1PzIPGGM9W8A==&c=XWljk2iGokfhziV2Rt4OiKA5uab1vCrnxwXcPUsWgnM=) and he can setup a private online copy of the software for your use.
During the installation process Heroku will ask you to verify your account by adding a credit or debit card. A standard Tabbycat site *will not charge* your card without explicit permission — charges only accrue if you deliberately add a paid service in the Heroku dashboard.

That said if you do not have access to a credit or debit card we offer a version of the software — 'Tabbykitten' — that does not require Heroku to verify your account. However, as a result, this version is limited: it does not send error reports to the developers and can handle much less public traffic. We strongly recommend using it only as a last resort, and even then only for small tournaments. [Use this link to setup a Tabbykitten version](https://heroku.com/deploy?template=https://github.com/czlee/tabbycat/tree/kitten&env[KITTEN]=true).

## Licence

We haven't released this under an open-source licence (so there is no formal general right to use this software), but if you're running a debating tournament, you're welcome to use it. It'd be nice if you could please let us know that you're doing so, and let us know how it went. We provide no warranty and disclaim all legal liability.
We haven't released Tabbycat under an open-source licence, so there is no formal and general right to use this software. Nonetheless, you're welcome to freely use Tabbycat to help run a debating tournament. However, if your tournament is run as a for-profit or for-fundraising activity a donation to Tabbycat's maintainers is required. More details [are available in our license information](http://tabbycat.readthedocs.io/en/latest/about/licence.html).

## Support and Development

Expand Down
7 changes: 7 additions & 0 deletions bin/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Declare files that will always have LF line endings on checkout.

# The docker wait/run commands need this for Windows compatibility
# Error is ": No such file or directory/usr/bin/env: bash"
# See: https://github.com/deviantony/docker-elk/issues/36

docker-*.sh text eol=lf
12 changes: 12 additions & 0 deletions bin/docker-run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/usr/bin/env bash
# Shorthand to migrate and runserver in docker

# Move up to where we can run commands
cd tabbycat

# Migrate (can't do it during build; no db connnection)
python ./manage.py migrate --no-input

# Run the server
# python ./manage.py runserver 0.0.0.0:8000
python ./manage.py runserver 0.0.0.0:8000
Loading

0 comments on commit 66b9697

Please sign in to comment.