[Theforum] Changes to the VotingReqs document

Michele Foster michele at wordpro.on.ca
Tue Feb 5 15:04:34 CST 2002

Elfur ...

Let's see if I can understand what you're saying and explain it from a DB
perspective at the same time.   I'm going by memory here as I don't have
time to read back through all the archives to make sure I've comprehended
your point of view accurately.  So, please do correct me if I'm mistaken.

First of all .. my understanding is we can and will have different types of
votes.  For the sake of simplicity, let's refer to a vote as those questions
in which there is a "distinct" set of people (individuals, i.e. userID's)
that are allowed to vote on an issue.  The second is polls, which are open
to anyone.

Now, for the votes, in order to maintain the integrity of the vote, i.e. one
person can vote once, the only way we can do that is to capture their userID
as they vote.  Now, the ONLY way in which we can allow a voter to change
their vote, is if we know what they voted originally and what their userID
is.  For example, if I voted option B, and I wanted to change my vote to
option C, then the voting application (the system), needs to be able to
change my vote from B to C.  In other words, it needs to know what I voted
before.  So, from a DB perspective what has to happen is, when I go to the
voting page, it needs to know what my userID is .. and if it finds that I've
already voted on that question, it will display my original vote.  Then, if
I choose to change it, either two things will happen, one is a DELETE of my
original vote, or an UPDATE to my original vote .. all based on what my
userID is.

Does this make sense?  Do you see why the system MUST know what my userID is
in order to attach my vote to it?

Just knowing that I have voted isn't enough.  HOWEVER!!

There are a couple of ways we can deal with this.  Probably the easiest is
to define a Vote Type... and if I remember the DB discussions, this has been
taken into consideration (for different reasons).

For example, if we wanted a COMPLETELY anonymous vote, we can have that.
However, what we cannot have is the ability to change the vote after
originally cast.  So, what would happen is .. let's call this anon_vote .. I
can vote, but only once and without the ability to change what I voted.  Why
can't I change it?  Because an anon_vote won't record my UserID.  Now, the
other thing to consider with this type of vote, is that it would be
necessary to still maintain the integrity of the vote.  i.e. who is allowed
to vote and that they can only vote once.  So, if I log in as Mishka, the
system needs to record that I voted.  (For the record, here in Canada
anyway, whenever I go to vote for elections, it IS recorded that I voted ..
in fact I'm assigned a number that corresponds to the piece of paper in
which I cast my vote .. but that's another issue entirely ;)

So, does this make sense?  The long and short of it is .. if we want the
ability to have a 100% completely anonymous vote, then we cannot allow for a
person to change their vote afterwards.  IOW, we have to decide which is
more important.  Now, the other thing to consider is that in order to
maintain the integrity of the vote, the system needs to record who has voted
already.  So, even tho the vote cast won't be attached to what was voted,
you can't allow the same userID to vote more than once and you have to make
sure that the voting person is allowed to vote.

Anyway, this has gotten to be a lot longer than I hoped .. I hope it helps
and makes things clearer.

Back to work I go..


----- Original Message -----
From: "Elfur Logadóttir" <elfur at elfur.is>

| I still maintain my belief that some things i shouldn't have to explain
| my position on, and *noone* should be able to figure out my position on
| it, not even those with root access or db access to the computer/db.
| but if the majority doesn't care, i won't fight for it further.

More information about the theforum mailing list