TWiki . Anjou . OnlinePolls

Introduction

LJ has a polls feature, but:

So it would be nice to have a website that allowed essentially anybody to create and fill in polls.

Requirements

Authentication

Any LJ user should be able to use their LJ name as an ID, without operator intervention. Other people should be able to get IDs too, and be readily distinguishable from LJ nicks.

Access Control

Anyone with an identity should be able to make a poll.

Polls should allow distinct access control for:

Seeing the poll at all should be equivalent to being able to fill in the poll. i.e. as a matter of policy if you can see a poll you can at least enter it even if you can't get any information about the results.

The poll owner should have total privilege even if access control superficially disallows it (and will have other privileges as described below).

The operator has access by the "back door" by dint of direct filesysytem access to the poll service, not by dint of having a privileged ID.

Forms

Poll entry forms should be embeddable into blogs, but also available directly. Example HTML should be easily copyable for the purposes of pasting into blogs.

It should be possible to enter a poll more than once, overwriting previously set answers.

Poll Maintenance

There should be a simple language for describing polls. A would-be poll owner should be able to feed a file in this language into the poll web site and have their poll work (or have the errors in it reported).

An offline validator program should be available.

The owner should be able to edit their polls in the following ways:

Old versions of polls should remain available so that cheating can be detected, and when a poll has been edited this should be highly visible in the results.

The owner of a poll should be able to reduce visibility of answers post-facto, or to delete the poll.

Polls should have informal names, but these need not stand as unique IDs.

Types Of Question

Free Text

Specify some text which appears in the poll. No associated questions.

Radio buttons

Specify a set of options, the user can choose at most one of them. Optionally insist that they choose exactly one.

Use either HTML <input type=radio> or <select>.

Tickyboxes

Specify a set of options, the user can choose any subset of them. Optionally restrict allowable subsets?

Use HTML <input type=checkbox>.

Line Entry

Specify a question, the user enters some amount of text. No size limits.

Use HTML <input type=text> or <textarea>.

Text Entry

Specify a question, the user enters some amount of (optionally marked up) text. No size limits.

Use HTML <textarea>.

Numeric Entry

Specify a question, the user enters a number. Specify range limits, whether integers or arbitrary decimals are allowed.

Use HTML <input type=text> or possibly some more visual mechanism?

Layout

Layout should be under owner control, up to a point; or failing that easily extensible by the operator.

Results

Availability

Results should be available as:

Radio Buttons

Available as:

Tickyboxes

Available as:

Line Entry

Available as:

Text Entry

Available as:

Numeric Entry

Available as:

Additional Results Forms

Pairs of sets of questions should be combinable to show how answers are related. For instance, a set of radio buttons to pick country of birth might be compared to a set of tickyboxes documenting food preferences.

This only needs to work for radio buttons and tickyboxes and only for pairs of question sets (rather than triples etc) for the time being.

Layout

Layout should be under owner control, up to a sensible point; or failing that easily extensible by the operator. At the least, for any acceptable poll layout there should be a computed default result layout.

Extensibility

It should be relatively easy for the operator to add new result presentations.

Machine-Readable Results

Results should also be available to the owner (and to anyone, if other access controls imply that) in a conveniently machine-readable format.

Validation

Invalid input (for poll maintenance and for entry) should produce immediate diagnostics, and be easily correctable, and not "got live".

Reporting

Allow for email notification whenever someone fills in a poll.

It should be possible to get a list of all polls that you can fill in by a given owner.

New polls should be published in a central place. (RSS?) It should be possible to opt your poll out of this (and this should be true by default if not everyone can fill in the poll).

HTML

Allow a known safe subset of HTML for the following things:

The subset should be readily modifiable by the operator.

----- Revision r1.3 - 09 Oct 2004 - 12:48 GMT - RichardKettlewell
Copyright © 2004 by the contributing authors. Send feedback.