Open carl3 opened 6 years ago
Carl, this sounds okay to me - what do others think?
I would like to see a real world example (a sample ballot would do, but sounds OK to add.
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
@jdmgoogle, would this designation work as a replacement for Party::IsWriteIn? I think it serves mostly the same purpose.
A few things:
Candidate
this appears to be associated with a BallotSelection
.Profession
element was actually specifically added at the request of California (LA County, perhaps?) for use in ballot designation. Just FYI.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.
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.
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.
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. :)
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.