-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #217 from WorldconVotingSystems/canonicalize
Implement EPH and Canonicalization
- Loading branch information
Showing
45 changed files
with
1,902 additions
and
137 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -170,3 +170,4 @@ cython_debug/ | |
# local data | ||
test-data* | ||
/src/nomnom/_version.py | ||
/src/staticfiles/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
-- Ensure the pg_trgm extension exists | ||
CREATE EXTENSION IF NOT EXISTS pg_trgm; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Canonicalization | ||
|
||
One of the steps between nominating and voting is the selection of finalists. Before that can take place, though, it is necessary to "canonicalize" the raw nomination data. This process takes the many ways that nominators may write a title or an author, and associates them with a canonical name. | ||
|
||
That process is nearly entirely manual, and NomNom provides support for it by way of the administration interface, in the "Canonicalize" section. | ||
|
||
## Glossary | ||
|
||
* **Nomination**: The text provided by the member to identify something they propose to include on the Hugo Award ballot | ||
* **Work**: The single, canonical text form of one or more _Nominations_, so that they can all be referred to as a singular thing. Note that **Work** is the term that NomNom uses regardless of if the category refers to works or persons or other entities. | ||
|
||
## Initial Canonicalization | ||
|
||
The list of raw nominations is found at `/admin/canonicalize/canonicalizednomination/`; there are some optional filters oriented around making the process easier. | ||
|
||
Canonicalizing a work consists of either selecting multiple works and associating them with a new or existing work, _or_ clicking the one-off button to make them an individual work. | ||
|
||
## New Nominations | ||
|
||
In order to allow the admins to canonicalize as they go, nominations are associated with canonicalized works as they arrive, if they exactly match the text of a previously canonicalized Nomination. No fuzzy matching takes place. If they exactly match nominations that are associated with more than one work, then one of the Works will be selected, with the ordering undefied. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# The Nomination Process | ||
|
||
The nominations for the Hugo Awards take place according to the current year's applicable [WSFS Constitution](https://www.wsfs.org/rules-of-the-world-science-fiction-society/). As of this writing, those are the 2024-2025 rules, which for the purposes of NomNom are unchanged from the 2023 ruleset. | ||
|
||
Specific sections of note are: | ||
|
||
* 3.2 - indicates the rules for what a committee can do to modify a work's category, and many other eligibility rules. NomNom is not concerned with eligibility but does provide tools for the admin to record their rulings. | ||
* 3.3 - defines the categories. NomNom does not attempt to match these, and instead defers to the administrator to provide them as data for the Election | ||
* 3.7.1 - NomNom restricts members to 5 nominations | ||
* 3.9 - This section defines EPH | ||
|
||
NomNom is able to perform EPH in full, and has a view to display the entire sequence of eliminations for each category. This is not intended for direct publication to the membership, but is instead a tool for the administrator to use to formulate a report in their chosen format. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# Voting on the Hugo Awards | ||
|
||
Voting for the Hugo Awards takes place according to the current year's applicable [WSFS Constitution](https://www.wsfs.org/rules-of-the-world-science-fiction-society/). As of this writing, those are the 2024-2025 rules, which for the purposes of NomNom are unchanged from the 2023 ruleset. | ||
|
||
Specific sections of note are: | ||
|
||
* 3.11.3 - requires all ballots to include "No Award" as an option | ||
* 3.12 - defines "No Award"'s role as a runoff candidate | ||
* 6.4 - defines the vote tallying process | ||
|
||
NomNom is able to tally the Hugo ballots and provide a detailed report to the administrator, as well as showing a complete finalist and elimination process. That view is restricted to users with permissions to do so, rather than being public; it should be formatted for publication by the administrator. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
Oops, something went wrong.