Running a poll
The poll lifecycle
The six phases, every way a poll moves between them, and what happens when the clock slips.
A poll is always in exactly one of six phases.
| Phase | What it means |
|---|---|
| Draft | Only the owner can see it. Nothing has been announced. |
| Collecting options | Published. Options are being gathered. Voting has not started. |
| Voting | Ballots are being cast. Options are frozen. Results are hidden. |
| Closed | Voting is over. The result exists but nobody can see it. |
| Results published | The result is final and visible to everyone who can see the poll. |
| Cancelled | Closed permanently. Ballots already cast are kept. |
Draft ──publish──▶ Collecting options ──▶ Voting ──▶ Closed ──▶ Results published
│ │ │ │ │
└────────────────────────┴─────────────────┴──────────┘ │
cancel │
Closed ◀──withdraw───────┘
Automatic transitions
Given a schedule, the poll moves on its own:
- Collecting options → voting when the voting window opens, provided the poll has at least two options.
- Voting → closed when the voting window closes.
- Closed → results published if the poll publishes automatically.
A draft never moves on its own — it waits for an explicit publication. Neither does a cancelled poll.
Manual transitions
The owner can always act by hand, from the poll's management page. Every action is confirmed first, and only the ones that make sense in the current phase are offered.
| Action | Effect |
|---|---|
| Publish poll | Draft → collecting options |
| Start collecting options now | Brings the collection opening forward to now |
| Close option collection now | Brings the collection closing forward to now |
| Start voting now | Collecting options → voting; needs at least two options |
| Close voting now | Voting → closed |
| Publish results | Closed → results published |
| Withdraw results | Results published → closed, and disables automatic publication |
| Cancel poll | Closes the poll permanently, keeping every ballot |
Guarantees on every transition
- Authorized. Only the owner, and only with a confirmed email address.
- Valid. Checked against a table of allowed moves. You cannot publish results for a draft.
- Transactional. Status, timestamps and the audit entry are written together or not at all.
- Idempotent. Repeating a transition that already happened changes nothing and logs nothing, so a double-submitted form is harmless.
- Serialised. The poll row is locked, so an owner pressing "close voting" at the same moment the poll closes itself cannot produce two closures.
- Audited. Every transition is recorded with who did it and what the poll became.
- Announced. The matching notification is sent after the change is committed, never before.
Schedule dates only ever move earlier
"Start voting now" sets the voting opening to now — but only if it was in the future. A date that has already passed is left alone.
This one rule is what makes the manual and automatic paths interchangeable. Applying a transition that was due yesterday does not rewrite yesterday's timestamp to now, so the record stays truthful.
Editing the schedule of a running poll
The rule above governs transitions. Editing the schedule is the other direction, and it is deliberate: a poll's phase is derived from its four dates, so changing one is how an owner takes a poll back to a stage that has already closed.
- Move the close of option collection into the future and collection reopens.
- Move the close of voting into the future and a finished poll returns to voting, with the votes already cast intact.
- Move the opening of voting into the future and the poll goes all the way back to collecting options — and the votes already cast are deleted, because reopening collection means the list those votes ranked is about to change.
Nothing is written until you confirm. Pressing "Save settings" on a change that would move the poll shows you what happens first: the stage the poll is in, the stage it moves to, which dates moved and where to, and how many votes would be destroyed. The consequences are worked out again at the moment you confirm, so a confirmation left sitting while the clock moved does what the poll's real state warrants, not what the message predicted.
Everyone taking part is notified of what changed. Points paid out for votes that are deleted are reversed, and a stage moved back is recorded in the poll's activity like every other change.
A draft is exempt from all of this. It has no participants and no votes, so its dates are only dates.
When the clock slips
Suppose the automatic changes stop running for an hour — a restart, a server that went away — and a poll's voting window opened during that hour.
The application does not wait. Whenever a poll is accessed, its phase is brought up to date first, using exactly the same rules the automatic path uses. So the first person to open that poll sees it in the voting phase, correctly, and the transition is recorded and announced at that moment.
A consequence worth knowing: if the automatic changes stop for long enough that a poll's entire voting window elapses, the poll goes straight to closed without passing through voting. The audit log records that voting closed; it does not record that voting started, and no "voting is open" email goes out.
That is deliberate. Announcing that voting is open for a window that shut yesterday would be a lie, and an audit entry for a phase in which nobody could act is worse than no entry.
Cancelling, archiving and deleting
Three different things, and it is worth knowing which one you want.
Cancelling ends a poll in public. It closes permanently, keeps every ballot, and leaves the record legible — the owner gets what they wanted, the poll is over, without destroying evidence. Everyone taking part is told.
Archiving puts a finished poll away. It leaves every list, its participant link stops working, and nothing about it can be changed — but nothing is lost, and the owner or an administrator can restore it whenever they like. This is what to reach for when a dashboard is cluttered with polls that are over.
Deleting permanently destroys the poll, every vote cast in it and its entire history. Only an administrator can do it, only to a poll that has already been archived, and nothing undoes it.
Cancelled is terminal. A cancelled poll cannot be reopened.
Archiving in detail
Only a poll that has stopped asking something of people may be archived: a draft, a closed poll, one whose results are out, or a cancelled one. A poll still collecting options or open for voting is refused — archiving it would pull it out from under the people taking part, mid-vote, with no notice. Cancel it first, which they will be told about, and then archive it.
While a poll is archived:
- it is gone from every dashboard, from the public directory and from the administrator's list of all polls;
- its participant link returns "not found", for participants and strangers alike;
- nothing about it can be edited, transitioned, or added to — not by its owner, not by an administrator;
- its clock stops. A poll archived before its results were due does not publish them while it is away.
Restoring puts it back exactly as it was, with its options, votes, history and pins intact, and catches it up with anything its schedule fell behind on in the meantime — so a closed poll set to publish automatically publishes its results on the way back in, and announces them.
Archived polls still count towards the platform's totals, towards "polls run" on the leaderboard, and towards what an administrator sees on an account. Archiving is one person's decision about their own workspace; it is not a claim that the poll never happened.
Deleting permanently
An administrator, and only an administrator, can destroy an archived poll. Not its owner — an owner may put their poll away, but erasing the votes other people cast in it is not one person's decision to take.
It removes the poll, its options, its participants, its invitations, every ballot and the whole audit trail, and it takes back the points the poll awarded so that no balance is left unexplainable. What survives is a line in the server log recording that it happened, who did it and how much it destroyed.
One consequence worth knowing if you intend to cancel a poll after voting has closed: a poll that publishes its results automatically will already have moved on to results published by the time you look, and the only move available from there is back to closed. Withdraw the results first, then cancel. A poll set to publish manually stays closed and can be cancelled directly.
Cancelling also reverses any points the poll awarded — see Points.