Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ballot Designation Missing #9

Open
carl3 opened this issue Oct 3, 2017 · 8 comments
Open

Ballot Designation Missing #9

carl3 opened this issue Oct 3, 2017 · 8 comments
Labels
breaking Changes that may break backwards compatability enhancement
Milestone

Comments

@carl3
Copy link

carl3 commented Oct 3, 2017

I noticed the <Candidate> element doesn't have the ability to represent a ballot designation, i.e. a label shown with the candidate name on ballots (other than party affiliation). Ballot designations allowed are determined by state law, typically an occupation. Note the ballot designation is not the same as an occupation stored with a personId-- that field shouldn't be used for that purpose. Ballot designations are specific to a candidate in a particular office-- the same person running for multiple offices can have different BallotName and BallotDesignation. It's sort of analogous to a subtitle.

I have seen contests (LA County) where 2 candidates had the same BallotName-- they could only be distinguished by the BallotDesignation. (!) Except in this case, BallotDesignation isn't required for results, but is required for other uses of <Candidate>, e.g. to display sample ballot info.

@johnpwack
Copy link
Member

Carl, this sounds okay to me - what do others think?

@JDziurlaj
Copy link
Collaborator

I would like to see a real world example (a sample ballot would do, but sounds OK to add.

@carl3
Copy link
Author

carl3 commented Apr 16, 2018

You can see an example of ballot designations in this 2016 presidential election ballot.
Presidential candidates have no designation, there are partisan offices with a party name as well as designation, and nonpartisan offices only with a designation. This is the default, engligh/spanish ballot (english-only is not an option in Santa Clara County, CA), so illustrates this is international text.

https://eservices.sccgov.org/rov/docs/sampleballot/110/SCLA_110816_ES_BT164.pdf

The text allowable is set by state law. You can see instructions in this worksheet candidates must file:
http://elections.cdn.sos.ca.gov/ballot-designation-worksheet/ballot-designation-worksheet.pdf

@JDziurlaj
Copy link
Collaborator

@jdmgoogle, would this designation work as a replacement for Party::IsWriteIn? I think it serves mostly the same purpose.

@jdmgoogle
Copy link

A few things:

  1. This isn't associated with a Candidate this appears to be associated with a BallotSelection.
  2. The Profession element was actually specifically added at the request of California (LA County, perhaps?) for use in ballot designation. Just FYI.
  3. I think there's overlapping display treatment between Party::IsWriteIn and what Carl's describing, but trying to shoehorn a "write-in" party name into a ballot selection sub-title loses the context that the thing being written in is intended to represent party affiliation (however whimsical or tongue-in-cheek).

If the goal here is to describe text which can appear below a ballot selection, I propose that there be an element on BallotSelection called BallotSelectionSubTitle (or something similar). This indicates that it is associated with the selection (i.e., not a specific candidate) and is a visual treatment on that selection.

@JDziurlaj
Copy link
Collaborator

Regarding (2), if that is true then perhaps we can close this issue? I think describing the data (Profession) is better than stating where the data should be displayed (BallotSelectionSubTitle). I still have issues with Write-In Party, but that can be handled via a separate issue.

@carl3
Copy link
Author

carl3 commented May 30, 2018

The Person.Profession is a misuse of Candidate.BallotDesignation. It's incorrectly used by LA to shoehorn in the missing actual definition. The same person can be a candidate for 2 offices, and have separate ballot designations. The point of BallotDesignation is that it appears on ballots, and in some cases distinguishes between 2 candidates with the same name. A Person.Profession would be background information and no indication that it would appear on a ballot or that it is even significant.

It could be used as a BallotSelectionSubTitle, but I think the only use is with a candidate and is parallel to Candidate.BallotName. I've also seen a ballot designation shoehorned into BallotName using a \n separator.

BallotDesignation is not a substitute for PartyId or write-in status: Candidate.PreElectionStatus=="write-in" or CandidateSelection.IsWriteIn Each is independent of each other and needed.

Because the field is missing, xml writers either lose content, or insert it in different places with incorrect or ambiguous semantics.

@jdmgoogle
Copy link

The Person.Profession is a misuse of Candidate.BallotDesignation. It's incorrectly used by LA to shoehorn in the missing actual definition.

I'll let you and @kennethmbennett and @Josh-LACRRCC hash that out.

It could be used as a BallotSelectionSubTitle, but I think the only use is with a candidate and is parallel to Candidate.BallotName.

There can be multiple Candidate objects associated with a single CandidateSelection. Can there be multiple ballot designations per selection? If there is truly a 1:1 mapping between Candidate objects and the sub-text as opposed to a 1:1 mapping between sub-texts and CandidateSelection objects, then I propose we have a BallotSubTitle element on the Candidate object instead of the CandidateSelection object.

I would object to having this called BallotDesignation since that's only what it's called in California, and not a sufficiently generic term.

xml writers [will] insert it in different places with incorrect or ambiguous semantics.

In my experience that's true even if the field is present. :)

@JDziurlaj JDziurlaj added this to the Version 3.0 milestone Nov 23, 2020
@JDziurlaj JDziurlaj added the breaking Changes that may break backwards compatability label Nov 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Changes that may break backwards compatability enhancement
Projects
None yet
Development

No branches or pull requests

4 participants