lhcb / Condorcet

3 stars 3 forks source link

Test election #17

Closed betatim closed 3 years ago

betatim commented 9 years ago

We should get organised to hold a test election soon.

Things to do before then (in no particular order):

What else?

gdujany commented 9 years ago

Couple of things that would be nice to do but not show-stoppers:

Organizatons-like:

In the worst case the test election could be done also with the website deployed in a private afs area (like it is now) but I would prefer not to do it to have a more complete test.

apuignav commented 9 years ago

I think we are missing also the link to the page for visualizing the results of the election. Additionally, I think once an election has started, it should not be possible to modify it easily.

I would suggest the following:

Sounds good?

gdujany commented 9 years ago

There is already a page to see the results (both winner and votes), and from yesterday it allows to download also the csv file with secret keys and votes for making easy to compute the winner with independent methods (eg. Tim's scripts). I moved the link to the results page from the "congratulation your vote has been registered" to the "you are late to vote" page. I think that this is enough.

I don't think that the "find winner" button is really needed. Right now the admin can visualize the results page after the election end (before it would not be fair) but before the date when results are made public. In case the admin is happy he can then set the "publish date" to "now" and everyone can have access to the results page.

I do not see the need to add the locking feature and providing different admin pages. To me it seems an over-complication because I thrust the admin to be trustworthy enough to not mess things up during the election. Already making the admin page made the code more messy and hard to test (in part mea culpa) and I fear that this will make it even more opaque. For what it concerns the publishing results from my perspective it should be painless and in theory there should even be no need for the admin to check (that is just a precaution to check that there are no bugs and everything worked as expected).

Sorry to be so negative; of course if you have a very strong opinion I can change mine but for now I think that things are pretty good the way they are now.

I really like the new look of the admin page: much more readable and nice!

betatim commented 9 years ago

I support keeping things simple/creating a first version that doesn't do everything but just the bare necessities.

Not sure I followed what the find winner button does, but from Giulio's comment it sounds like you wouldn't really need it.

Bernhard Spaan asked me at the weekend if we could propose a date when we could hold a test election. He sounded keen to have it sooner rather than later.

On Mon, Apr 27, 2015 at 12:40 AM Giulio Dujany notifications@github.com wrote:

There is already a page to see the results (both winner and votes), and from yesterday it allows to download also the csv file with secret keys and votes for making easy to compute the winner with independent methods (eg. Tim's scripts). I moved the link to the results page from the "congratulation your vote has been registered" to the "you are late to vote" page. I think that this is enough.

I don't think that the "find winner" button is really needed. Right now the admin can visualize the results page after the election end (before it would not be fair) but before the date when results are made public. In case the admin is happy he can then set the "publish date" to "now" and everyone can have access to the results page.

I do not see the need to add the locking feature and providing different admin pages. To me it seems an over-complication because I thrust the admin to be trustworthy enough to not mess things up during the election. Already making the admin page made the code more messy and hard to test (in part mea culpa) and I fear that this will make it even more opaque. For what it concerns the publishing results from my perspective it should be painless and in theory there should even be no need for the admin to check (that is just a precaution to check that there are no bugs and everything worked as expected).

Sorry to be so negative; of course if you have a very strong opinion I can change mine but for now I think that things are pretty good the way they are now.

I really like the new look of the admin page: much more readable and nice!

— Reply to this email directly or view it on GitHub https://github.com/gdujany/Condorcet/issues/17#issuecomment-96443219.

apuignav commented 9 years ago

OK, let's keep simple.

I would, however, block the possibility of modifying the "candidates" while an election is running, since this would invalidate all the votes and lead to inconsistencies. This an be done at html/css level, so I think it's easy.

The part of find the winner, I just put it because I understand they plan to do it "live" in the CB and I didn't find an easy way of actually accessing the result before it's publicly publihed. I think it's easy to add a button when the elction is finished, from the admin panel, that shows the result of the election.

The rest is just unnecessary fanciness, I agree :-)

gdujany commented 9 years ago

For computing the winner you could just add a link to the results page. The way the website works now, when you go to that page, it computes the winner from the votes database as it's a very quick operation to do.

apuignav commented 9 years ago

Yes, I'm happy with that. I'll just have a link appear in the admin page when the election is over.

Albert

On Mon, Apr 27, 2015 at 11:08 AM, Giulio Dujany notifications@github.com wrote:

For computing the winner you could just add a link to the results page. The way the website works now, when you go to that page, it computes the winner from the votes database as it's a very quick operation to do.

— Reply to this email directly or view it on GitHub https://github.com/gdujany/Condorcet/issues/17#issuecomment-96577006.

Dr. Albert Puig Navarro Laboratoire de Physique des Hautes Energies Ecole Polytechnique Fédérale de Lausanne (EPFL) BSP 614.4 (Cubotron UNIL) CH-1015 Lausanne EPFL Phone: 021 6939808 CERN Phone: 72518

gdujany commented 9 years ago

or also have a permanent link, in any case if the election is not over even admins cannot access the results page

apuignav commented 9 years ago

Question: can the admin see the results of the election once it's finished but before the date set in the config to publish the results?

If this is true, then it should be fine, I guess.

On Mon, Apr 27, 2015 at 11:11 AM, Giulio Dujany notifications@github.com wrote:

or also have a permanent link, in any case if the election is not over even admins cannot access the results page

— Reply to this email directly or view it on GitHub https://github.com/gdujany/Condorcet/issues/17#issuecomment-96577880.

Dr. Albert Puig Navarro Laboratoire de Physique des Hautes Energies Ecole Polytechnique Fédérale de Lausanne (EPFL) BSP 614.4 (Cubotron UNIL) CH-1015 Lausanne EPFL Phone: 021 6939808 CERN Phone: 72518

gdujany commented 9 years ago

Yes

apuignav commented 9 years ago

OK, then I will finish cleaning up the adin page and that would be it.

Is it OK if I add a banner saying which is the current election situation ("Ongoing, Not ongoing, finished")?

On Mon, Apr 27, 2015 at 11:17 AM, Giulio Dujany notifications@github.com wrote:

Yes

— Reply to this email directly or view it on GitHub https://github.com/gdujany/Condorcet/issues/17#issuecomment-96580170.

Dr. Albert Puig Navarro Laboratoire de Physique des Hautes Energies Ecole Polytechnique Fédérale de Lausanne (EPFL) BSP 614.4 (Cubotron UNIL) CH-1015 Lausanne EPFL Phone: 021 6939808 CERN Phone: 72518

gdujany commented 9 years ago

The publish date holds for not admins. And when admins are happy they can press the "set to now" button of the publish result date and make the results public.

apuignav commented 9 years ago

Maybe we could just change the set to now to just publish and remove the time/date selector. It's more intuitive and nothing changes in the backend.

Albert

On Mon, Apr 27, 2015 at 11:19 AM, Giulio Dujany notifications@github.com wrote:

The publish date holds for not admins. And when admins are happy they can press the "set to now" button of the publish result date and make the results public.

— Reply to this email directly or view it on GitHub https://github.com/gdujany/Condorcet/issues/17#issuecomment-96580514.

Dr. Albert Puig Navarro Laboratoire de Physique des Hautes Energies Ecole Polytechnique Fédérale de Lausanne (EPFL) BSP 614.4 (Cubotron UNIL) CH-1015 Lausanne EPFL Phone: 021 6939808 CERN Phone: 72518

gdujany commented 9 years ago

Ok, add the banners if you wish, I guess it's just an html change.

I would prefer to keep the date selectors, it is nice to have it there when testing. A priori one can also set the publish date one hour after the end of the election, and then check the result but not modify the publish date and everything should work smoothly without admin intervention.

What you could do to make things more clear is change the name of all the set to now buttons to:

apuignav commented 9 years ago

Hi,

I am not sure how the date selector for the "Make public" part can help. The other two of course I would keep.

My point is the publication should never be automatic, since in the unlikely case of a tie there are manual actions to be taken and the process may be delayed.

I think the buttons make sense, though. Set to now is clear, since we have a date selector there. If I removed the date selector in publish results, then I would change the button text to "Publish results". Let me play with it a little bit and I'll get back to you, but all changes I propose should be close to trivial.

On Mon, Apr 27, 2015 at 11:28 AM, Giulio Dujany notifications@github.com wrote:

Ok, add the banners if you wish, I guess it's just an html change.

I would prefer to keep the date selectors, it is nice to have it there when testing. A priori one can also set the publish date one hour after the end of the election, and then check the result but not modify the publish date and everything should work smoothly without admin intervention.

What you could do to make things more clear is change the name of all the set to now buttons to:

  • open election
  • close election
  • publish results

— Reply to this email directly or view it on GitHub https://github.com/gdujany/Condorcet/issues/17#issuecomment-96582403.

Dr. Albert Puig Navarro Laboratoire de Physique des Hautes Energies Ecole Polytechnique Fédérale de Lausanne (EPFL) BSP 614.4 (Cubotron UNIL) CH-1015 Lausanne EPFL Phone: 021 6939808 CERN Phone: 72518

gdujany commented 9 years ago

If there is a tie no manual actions by the admins should be taken but a vote in the CB is required. At that point it's not clear to me what would be made public (eg. the two candidates in the draw and the votes) but it may be nice to be able to set the "publish date" to a date after the CB meeting. All the intermediate ties during the iterations are automatically solved as the algorithm for solving them is clearly described in the Constitution.

To sum up I have a slightly strong opinion in keeping the possibility to keep the "publish date" settable as in the worse case is easy to just not use it.

apuignav commented 9 years ago

Fine, let's do this then! We keep the publish date settable :-) However, I am not so sure it's actually possible not to use it, the DB was complaining if I didn't set it. I would just set a sensible starting value to make sure results are not published in advance due to an overlook when configuring the election.

Albert

On Mon, Apr 27, 2015 at 11:54 AM, Giulio Dujany notifications@github.com wrote:

If there is a tie no manual actions by the admins should be taken but a vote in the CB is required. At that point it's not clear to me what would be made public (eg. the two candidates in the draw and the votes) but it may be nice to be able to set the "publish date" to a date after the CB meeting. All the intermediate ties during the iterations are automatically solved as the algorithm for solving them is clearly described in the Constitution.

To sum up I have a slightly strong opinion in keeping the possibility to keep the "publish date" settable as in the worse case is easy to just not use it.

— Reply to this email directly or view it on GitHub https://github.com/gdujany/Condorcet/issues/17#issuecomment-96587987.

Dr. Albert Puig Navarro Laboratoire de Physique des Hautes Energies Ecole Polytechnique Fédérale de Lausanne (EPFL) BSP 614.4 (Cubotron UNIL) CH-1015 Lausanne EPFL Phone: 021 6939808 CERN Phone: 72518

gdujany commented 9 years ago

Yes, the way it is now you have to set it. To be safe, in config.py you can set some date far away in the future.