Development notes for first version of decisions.module

We're still working on the plan but the code is under way. So far we have only an empty shell of a module but here are some notes on the details that will be included in the first draft that we hope to have in place by the time DrupalCon takes place. Read on for more...

FIRST VERSION (implement instant runoff voting):

- access control
	- need "administer decisions"
	- need "create decision"
	- need "view decisions"
	- need "vote on decision"

- create electoral list
	- roll-based

- create decision nodes
	- decision question
	- description
	- add option button
	- set quorum
	- set category
	- set closing condition (time)

- delete & update decision nodes & questions
	- allowed to those with "administer decisions"

- viewing decision nodes
	- case == open >> show voting form
	- case == closed >> show results

- viewing list of decision nodes
	- allowed to those with "view decisions"
	- list of decision node hyperlinked titles with status (open/closed) and closing dates

- vote on decision nodes
	- present user with two boxes... the first one with the list of options... the second with the 
          list of selected options... with ">>" and "<<" and "clear" buttons between the two
	- the size of the boxes shouold reflect the total number of option available
	- note: user do not have to select all options
	- submit button that saves the list and brings user back to "Thank you. The vote will conclude 
          on DATE (in COUNTDOWN). Please check again then."

- viewing decision results
	- show the initial question and options
	- show details (description, poll open/closing dates, quorum value, category, submitted by)
	- show final results 
		- total number on electoral list, 
		- total number who voted, 
		- "reverse stairs" diagram where ordered by tally

SECOND VERSION:

- What is the best way to manage groups for electoral lists? Should we use a system like CiviCRM's or 
  Organic Groups where this is accomplished via another layer of info?

- access control
	- need "configure decisions module"

- create decision
	- add "minimum threshold" as closing condition
	- set as "secret ballot"
	- set "number of winners" (i.e. stopping the instant runoff voting before it ends)

- vote on decisions
	- allow people to edit their choices prior to closing of vote
	- add "none of the above" (i.e. vote spoiling... imagine half the voters spoil their votes, 
          is the question/vote legitimate?)

- viewing decision results
	- show final results 
		- add colour coding for the options to "reverse stairs" diagram