A web-app intended to be used by canvassers
campaigning for a 'Yes' vote in the second independence
referendum. The web-app will be delivered to canvassers out
knocking doors primarily through an HTML5/React single-page app
designed to work on a mobile phone; it's possible that someone
else may do an Android of iPhone native app to address the same
back end but at present I have no plans for this. There must also
be an administrative interface through which privileged users can
set the system up and authorise canvassers, and a 'followup'
interface through which issue-expert specialist canvassers can
address particular electors' queries.
See
https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/488478/Bulk_Data_Transfer_-_additional_validation_valid_from_12_November_2015.pdf,
section 3
A valid postcode.
All users
All users of the canvasser app Able to read and
add canvassing data in a limited radius around their current
position.
Organisers of canvassing teams Able to see and
modify data on the canvassers in the team(s) they organise;
able to add canvassers to their team; able to update canvassers
in their team, including resetting passwords and locking
accounts; able to see canvass data over the whole area in which
their team operates.
People expert on particular issues. Able to read
followup requests, and the electors to which they relate; able
to access (read/write) the issues wiki; able to write followuop
action records.
Users entitled to see an overview of the
canvassing data collected. Able to read canvassing data over
the whole map, including historical data.
Users responsible for determining what issues
should be current at any time. Able to set current issues; able
to add issues.
Able to read and update canvasser records, team
membership records, team organisership records, issue expertise
records; able to add and update reference data
generally.
All electors known to the system; electors are
people believed to be entitled to vote in the current
campaign.
The signature of this elector, captured as SVG text,
as evidence they have consented to us holding data on them.
Null if they have not.
All genders which may be assigned to
electors.
All dwellings within addresses in the system; a
dwelling is a house, flat or appartment in which electors live.
Every address should have at least one dwelling; essentially,
an address maps onto a street door and dwellings map onto
what's behind that door. So a tenement or a block of flats
would be one address with many dwellings.
The part of the address which identifies the flat or
apartment within the building, if in a multiple occupancy
building.
Addresses of all buildings which contain
dwellings.
Locality indexing; see issue #44. Note that
this property should be generated automatically from the
latitude and longitude: (+ (* 10000 ;; left-shift the
latitude component four digits (integer (* latitude 1000)))
(- ;; invert the sign of the longitude component, since ;;
we're interested in localities West of Greenwich. (integer (*
longitude 1000)))) We'll use a trigger to insert this. I
don't think it will ever appear in the user interface; it's
an implementation detail, not of interest to
users.
All visits made by canvassers to dwellings in
which opinions were recorded.
But only in their immediate
area.
Authorities which may authenticate canvassers to
the system.
Issues believed to be of interest to electors,
about which they may have questions.
Intentions of electors to vote for options
elicited in visits.
The locality at which the intention was
recorded; used where an elector does not consent to have
polling intention stored against them. This is a locality as
described in
The locality at which the intention was
recorded; used where an elector does not consent to have
polling intention stored against them. This is a locality
as described in
Primary users of the system: those actually
interviewing electors.
An image of the canvasser, so that other members of their
team can recognise them.
Information the canvasser supplies about themselves; an introduction.
Only relevant to issue experts.
Teams this canvasser is a member of.
But only their own record
But only canvassers in their own
team.
All canvassers
But should only be able to edit their own
record.
Requests for a followup with an issue
expert
Phone number or email address for followup.
A role (essentially, the same as a group, but
application layer rather than database layer) of which a user
may be a member.
But only their own group(s)
All groups
An event to which a team or teams are invited. Typically created by the team organiser(s).
May be a training event, a social event or a canvassing session.
Electoral districts: TODO: Shape (polygon)
information will need to be added, for use in
maps.
Actions taken on followup
requests.
But only for electors in their immediate
vicinity
Options in the election or referendum being
canvassed on
Methods which may be used to follow up a followup request. Reference data.