LaPerm (2.3.0)
philipbelesky
released this
27 Sep 07:35
·
2133 commits
to develop
since this release
- Added a preformed panel system which provides a powerful take on a 'shadow draw' workflow
- Shadow draw systems allow an adjudication core to form panels prior to a round being drawn. For example, the panels for Round 4 could be formed while Round 3 is taking place. Most implementations do so by having the tab system create a copy of the Round 3 draw, form new panels on top of it, and then transpose these panels onto Round 4. In large tournaments this workflow allows an adjudication core much more time to consider panel formation
- Tabbycat's preformed panels are formed per-round under a section available under the Setup menu. This interface looks like the standard Edit Adjudicators interface, but the 'debates' shown are based on a simulation of that round's results. These fake debates can then be prioritised
- Adjudicators can then be allocated to those fake debates in order to create a pre-formed panel. When the real draw is ready to be created, the priority of each preformed panel will be matched to the priority of the real debates
- By using the existing per-debate priority system, and by giving pre-formed panels their own priority, this workflow allows for very fine amounts of control over exactly how preformed panels are allocated as compared to a more simple top-down transposition of panels. Adjudication cores can easily target general areas of the draw (e.g. break-threshold brackets); control adjudicator strength within and across panels; and still account for special cases where a debate requires a particularly strong panel. At the same time, our existing options for automatic prioritisation and automatic allocation apply to all steps of this process so that preformed panels can be created and deployed rapidly
- Rewrote the Edit Adjudication, Venues, and Teams pages to enable a number of enhancements
- These pages now live-update changes that were made on other instances of that page. As a result, users on different computers can each open the Edit Adjudicators page and see the changes made by the other users. This feature, along with sharding, should make it easier than ever to distribute the task of adjudicator allocation across an entire adjudication core
- A new interface layout should better maximise space, particularly in BP settings, while also increasing the font size of key information
- The unused panel is now able to sort adjudicators by name, score, or drag order
- Average scores for all adjudicators, and a voting majority, are now shown next to the panel
- Various allocation-relevant settings, such as the minimum feedback score needed for a voting position, are now available inline on the allocation page itself. This should enable much faster tweaks/iterations of these values
- The ballot entry page will now indicate which teams have currently or recently given 'iron person' speeches so that these can be easily tracked, audited, and confirmed. It does show by showing both a text-highlight/icon in the table and in a dedicated modal window. Thanks to Étienne Beaulé for contributing this feature!
- Split up the Django settings files. Note that this means if you are upgrading a local install of Tabbycat to this version you will need to:
- Copy
tabbycat/settings/local.example
to becomelocal.py
(and fill in your original database details) - Optional: repeat the same copying procedure for
development.example
and set theLOCAL_DEVELOPMENT
environmental variable toTrue
if you would like to use the settings designed to aid local development
- Copy
- A range of improvements to the email notifications contributed by Étienne Beaulé:
- Ballot receipt emails now provide more information about team scores/points
- Emails are now in a rich-text format
- Custom emails may be sent out to select participants through the web-interface
- Participants can be specifically included or excluded from receiving a notification before sending with checks for duplicate messages
- Teams can be sent emails with their draw details
- Emails can be tracked to determine if sent or read (SendGrid-specific)
- Expanded the use of private URLs (Encore Étienne Beaulé):
- QR codes are now included in addition to the URL when printing private URLs
- Private landing pages will now display check-in status (if check-ins are used) along with further details regarding break categories, regions, etc.
- Current and former draw assignments will display along with submitted ballots (for adjudicators) on landing pages
- Reworked how conflicts are determined to support double-past institutional conflicts:
- Added a "team-institution conflict" model
- Like adjudicator-institution conflicts, team-institution conflicts are automatically created if you use the simple importer or the command-line importer; but if you edit the database, it's your responsibility to add/edit them
- Institutional affiliations no longer matter for determining conflicts for either teams or adjudicators; only institutions listed in the team's or adjudicator's conflicts matter
- An adjudicator/team now conflicts with an adjudicator if any institution appears as an institutional conflict for both parties
- When printing scoresheets you can now edit the motions display just on that printing page. This allows you to use placeholder motions in Tabbycat (in order to prevent leaks) while still producing ballots with the correct motions
- Tabbycat no longer tracks which round is the 'current' round and instead tracks the completion of individual rounds. This change does not alter any existing workflows, but makes it easier to run simultaneous draws in out-rounds
- Info-slides can now be split into paragraphs
- Check-in pages now differentiate between teams with 1 and 2 checked-in people in two-team formats
- Institutional caps in breaks can be based on the number of teams in the break. Thanks to Viran Weerasekera for this feature!
- Several Tabbycat functions, adjudicator/venue allocation and email notifications, have been shifted to worker processes to help make them more reliable. If you are upgrading a Tabbycat instance that you will continue to use for new tournaments you will need to install the Heroku toolbelt and run
heroku ps:scale worker=1
- Upgraded to Python 3.6, dropped support for Python 3.5 and below. Note that this will require you to upgrade your python versions if running locally.