Poll Project Proposal

Deme Poll Proposal

Main Architecture:
The main architecture of the poll Item will contain 3 main Items.
This will make a poll which only purpose is to collect information and display the results, with no deciding  actions or methods of determining "winner" its only purpose is to collect information and display it.

Item: Poll: Will extend collections
The poll will be a collection of Poll propositions.
New Fields:
Question: the poll question
Old Field to display:
Title

Item: Poll_Proposition: Will extend an html document, will act as the options for poll takers to choose
new field:
proposition_text: text field for proposition
old fields:
implementation_plan: the html document body clever!to be used as the implementation plan (so that people may deliberate on it with a future document viewer)

Item: response: will extend django model
this will connect an agent taking the poll to the poll and the poll proposal and will be counted to display results on a poll
new fields:
poll_participant: a foreign key to the person taking the poll
answer: How does answer allow for range voting? 1 repliesa foreign key to the proposition that the agent has selected
poll: a foreign key to the poll that the agent is participating in (necessary to ensure that we have the ability to limit the agent to only responding once if we want)

with these three item types we have a generic poll structure, where we can extend the poll Item to not only display the information but also apply different polling methods such as "Approve/Disapprove", or voting for one proposition, or weighing different decisions, or allocating different points to different choices ect. Given that the original poll item only displays responses  and propositions and holds them, we can easily extend the polls to specific polling methods in new items. Thus we have a generic start to the project. The tradeoff here is that we are hard coding poling decisions, and extending a basic poll type instead of making one poll very customizable. Given that there are only a variety of polling options, but they could be extremely different from each other I think that this will be the best solution.

Future additions:

Item: Survey: extends collection
A survey is just a collection of poll items, so that a survey may be administered

Item: Consequence: extends item
When we want to implement the decisions to carry out consequences we can add a foreign key to the basic poll type to a consequence Item.
This would require a lot of planning, but the basic idea is that on something like an approve or disapprove poll, if approved, the consequence pointed to by the poll will be executed, and it is an item that can be created on its own so that it is user defined. This will most likely be a major project but would be a nifty addition.



For Internet Explorer users: Click on the Tools menu, located at the top of your browser window. When the drop-down menu appears, select the option labeled Full Screen.

For Chrome users:Click on the Chrome "wrench" icon, located in the upper right hand corner of your browser window. When the drop-down menu appears, select the choice labeled Full Screen.

For Firefox user:Click on the View menu, located at the top of your browser window. When the drop-down menu appears, select the option labeled Full Screen.

For Safari users: Safari currently does not support the ability to go fullscreen.