Jump to content

Extension:SecurePoll

From mediawiki.org
This page is a translated version of the page Extension:SecurePoll and the translation is 99% complete.
Outdated translations are marked like this.
MediaWiki extensions manual
SecurePoll
Release status: stable
Implementation Special page
Description מאפשר בחירות, סקרים והצבעות אחרות
Author(s) Tim Starlingשיחה
Latest version 3.0.0 (עדכונים שוטפים)
Compatibility policy Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.25+
Database changes Yes
Tables securepoll_entity
securepoll_msgs
securepoll_properties
securepoll_elections
securepoll_questions
securepoll_options
securepoll_voters
securepoll_votes
securepoll_strike
securepoll_lists
securepoll_cookie_match
License GNU General Public License 2.0 or later
Download
  • $wgSecurePollTempDir
  • $wgSecurePollMostActiveWikisThreshold
  • $wgSecurePollUseLogging
  • $wgSecurePollKeepPrivateInfoDays
  • $wgSecurePollUseNamespace
  • $wgSecurePollSingleTransferableVoteEnabled
  • $wgSecurePollGPGCommand
  • $wgSecurePollCreateWikiGroups
  • $wgSecurePollGpgSignKey
  • $wgSecurePollTranslationImportSourceUrl
  • $wgSecurePollCreateRemoteScriptPath
  • $wgSecurePollExcludedWikis
  • $wgSecurePollCreateWikiGroupDir
  • $wgSecurePollShowErrorDetail
  • securepoll-create-poll
  • securepoll-edit-poll
  • securepoll-view-voter-pii
Quarterly downloads 22 (Ranked 107th)
Public wikis using 889 (Ranked 269th)
Translate the SecurePoll extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

התוסף SecurePoll הוא הרחבה לדף מיוחד לבחירות, סקרים והצבעות אחרות. הוא משמש בעיקר לבחירות לדירקטוריון קרן ויקימדיה ולבחירות לוועדות בוררות, ושימש בין היתר להצבעת המעבר לרישיון ויקימדיה.

צילומי מסך

התקנה

  • Download and move the extracted SecurePoll folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/SecurePoll
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'SecurePoll' );
    
  • Run the update script which will automatically create the necessary database tables that this extension needs.
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

In addition, you will need to add some user groups and user rights to your LocalSettings.php file. Here is one way to do it, which gives a new group called electionadmin the power to do everything in SecurePoll (create polls, edit polls, see voter IP addresses):

$wgGroupPermissions['electionadmin']['securepoll-create-poll'] = true;
$wgGroupPermissions['electionadmin']['securepoll-edit-poll'] = true;
$wgGroupPermissions['electionadmin']['securepoll-view-voter-pii'] = true;

Once this group is created, a bureaucrat can add someone to the group using Special:UserRights. Then that person can visit Special:SecurePoll to view polls, create polls, edit polls, tally polls, etc.

Each poll's data is compartmentalized. You can have 100 electionadmins, but if you only add one electionadmin to a particular poll, only that one electionadmin will be able to edit that particular poll or see user IPs. If an electionadmin is removed from a poll, they will lose access to it.

securepoll-view-voter-pii is used for "scrutineering" a poll, which involves looking at a list of voter IPs, user agents, and X-Forwarded-For headers to look for cheating (secret duplicate votes by sockpuppets). Because this involves looking at voter IP addresses and other sensitive, personal, de-anonymizing data, it is a sensitive user right, so only trusted users should be assigned to the electionadmin group.

It is possible to split securepoll-view-voter-pii into a separate group. You can use a config such as the one below to create a group called scrutineer that contains the securepoll-view-voter-pii right, separating it from the electionadmin group:

$wgGroupPermissions['electionadmin']['securepoll-create-poll'] = true;
$wgGroupPermissions['electionadmin']['securepoll-edit-poll'] = true;

$wgGroupPermissions['scrutineer']['securepoll-create-poll'] = true;
$wgGroupPermissions['scrutineer']['securepoll-edit-poll'] = true;
$wgGroupPermissions['scrutineer']['securepoll-view-voter-pii'] = true;

A user also needs to be added to the poll (and hence have the securepoll-edit-poll right) in order to view PII - securepoll-view-voter-pii by itself has no effect.

אופן השימוש

יצירה הצבעה מאובטחת חדשה

ישנן שתי דרכים ליצור הצבעה מאובטחת חדשה: יצירה באופן ידני קובץ XML וייבוא שלו, או השתמשות בממשק המשתמש במיוחד:הצבעה מאובטחת.

ידני

כדי ליצור הצבעה מאובטחת באופן ידני, יש צורך לעשות את הדברים הבאים:

  1. לכתוב קובץ XML
  2. לייבא אותו באמצעות פקודת הממשק import.php

בתיקיית הבדיקות תוכלו למצוא ארבעה קבצים לדוגמה:

  • 3way-test.xml
  • approval-test.xml
  • radio-range.xml
  • schulze-test.xml info

כדי לייבא הצבעה מאובטחת, יש לבצע את הפעולות הבאות מתיקיית cli:

extensions/SecurePoll/cli$ php import.php ../test/3way-test.xml

כדי לייבא הצבעה מאובטחת באמצעות docker, יש לבצע את הפעולות הבאות מתיקיית cli:

docker-compose exec mediawiki php extensions/SecurePoll/cli/import.php extensions/SecurePoll/test/radio-range.xml

דרך ממשק המשתמש

משתמש עם ההרשאה securepoll-create-poll יכול ליצור הצבעה מאובטחת חדשה באמצעות Special:SecurePoll.

כדי ליצור הצבעה מאובטחת חדשה, יש למלא את שדות החובה בטופס היצירה. ייתכן וכי יש לטפל באופן מיוחד בשדות הבאים:

  • רק חברים בקבוצת electionadmin מורשים להוסיף מנהלי הצבעות מאובטחות. אם $wgSecurePollUseLogging מוגדר כ-true, הוא יירשם בכל פעם שמנהל יתווסף להצבעה מאובטחת או יוסר ממנה. ניתן לראות את היומנים ב-Special:SecurePollLog.
  • כדי ליצור הצפנה להצבעה מאובטחת, יש לבחור את שיטת ההצפנה. במידה ותבחרו ב-GnuPG, יש ליצור מפתח הצפנה ציבורי ומפתח פענוח פרטי. יש להזין את מפתח ההצפנה לטופס היצירה, ולשמור את המפתח הפרטי בטוח איפשהו במצב לא מקוון (יהיה צריך אותו לספירת הקולות, לאחר סיום ההצבעה המאובטחת). ניתן לראות דוגמה מפורטת לכך כאן.

לאחר כל זה, ניתן לראות את ההצבעה המאובטחת במיוחד:הצבעה מאובטחת.

עריכה של הצבעה מאובטחת קיימת

רק מנהלי הצבעות מאובטחות יכולים לערוך שדות של הצבעות מאובטחות קיימות. בשביל לבצע זאת, הם יכולים לבצע זאת דרך "עריכה" במיוחד:הצבעה מאובטחת.

לפני כל תחילת הצבעה מאובטחת, ניתן יהיה לערוך כל דבר בנוגע להצבעה המאובטחת. במידה וההצבעה המאובטחת מתקיימת, לא ניתן יהיה לשנות חלק מהשדות.

עריכה של ההגדרות לבעלי זכויות הצבעה בהצבעה מאובטחת קיימת

רק מנהלי הצבעות מאובטחות יכולים לערוך את ההגדרות לבעלי זכויות ההצבעה בהצבעה מאובטחת קיימת. בשביל לבצע זאת, הם יכולים לבצע זאת דרך "זכות הצבעה" במיוחד:הצבעה מאובטחת.

תרגום הצבעה מאובטחת קיימת

רק מנהלי הצבעות מאובטחות יכולים לתרגם הצבעות מאובטחות לשפות אחרות. בשביל לבצע זאת, הם יכולים לבצע זאת דרך "תרגום" במיוחד:הצבעה מאובטחת.

צפיית רשימת מצביעים

כל אחד יכול לראות את רשימת המצביעים של כל הצבעה מאובטחת, אלא אם תכונות השקיפות של הסקר הושבתו כאשר הסקר נוצר.

מנהלי הצבעות מאובטחות יכולים לראות רשימת המצביעים, יחד עם מידע פרטי משתמשים שעשויים לסייע בזיהוי בוחרים כפולים (למשל כתובות IP, מידע על סוכן משתמש, קובצי Cookie משותפים). במידה ו-$wgSecurePollUseLogging יוגדר כ-true, מנהלי ההצבעות המאובטחות יוכלו לקבל מידע פרטי משתמשים. את היומנים האלו ניתן לראות במיוחד:הצבעה מאובטחת.

מפעילי מערכת רשאים למחוק כל הצבעת משתמש מאובטחת שלפי דעתם מהווה כפילות למשתמש אחר (בובת קש, טרול וכו').

ספירת הקולות

רק מנהלי הצבעות מאובטחות יכולים לחשב את תוצאות ההצבעה המאובטחת. בשביל לבצע זאת, הם יכולים לבצע זאת דרך "חישוב תוצאות" במיוחד:הצבעה מאובטחת.

במידה ותוצאות ההצבעה חושבה בעבר, זה יוצג בכל מקרה בדף. במידה ולא או אם ברצונך לבצע ספירה חוזרת, קיים טופס לתחילת ספירה חוזרת.

  • אם הסקר אינו מוצפן, לחיצה על "חישוב תוצאות" תהיה אפשרית באופן מיידי.
  • אם ההצבעה המאובטחת מוצפנת, ייתכן ויהיה צריך להזין מידע נוסף. לדוגמה, אם ההצבעה המאובטחת משתמשת ב-GnuPG, יש להזין את מפתח הפענוח הפרטי וללחוץ על "חישוב תוצאות". אם להצבעה המאובטחת מוצפנת יש קולות רבים, ייתכן שייקח זמן רב עד שיחושבו התוצאות. ייתכן כי תצטרכו לבדוק שוב מאוחר יותר לקבלת התוצאות הסופיות.

לאחר כל זה, ניתן לראות את ההצבעה המאובטחת במיוחד:הצבעה מאובטחת.

שיטת הקול הנייד

כדי לאפשר שימוש בשיטת הקול הנייד, יש להוסיף זאת ל-LocalSettings.php.

$wgSecurePollSingleTransferableVoteEnabled = true;

למידע נוסף על כך, ניתן למצוא על כך כאן.

כנ"ל לגבי יישום אלגוריתם כללי.

כברירת מחדל, המכסה היא + .000001. המכסה היא הערך המינימלי של הקולות כדי להבטיח מושב.

1. הגדירו את המכסה.
2. הגדירו את ההצבעות לפי שיטת שולצה.
3. הכריזו על המועמדים שעברו את המכסה.
4. העבירו קולות עודפים ממועמדים נבחרים אל מועמדים אחרים.
5. חזרו על שלבים 3 ו-4 עד שלא ייבחרו מועמדים חדשים (תחת מערכות מסוימות, בשלב זה ניתן יהיה להעביר הצבעות בשלב זה למנצחים או למפסידים קודמים; זה עשוי להשפיע על התוצאה).
אם כל המושבים אוישו, אזי התהליך הסתיים. אחרת:
6. הסרו מועמד אחד או יותר, בדרך כלל המועמד הנמוך ביותר או כל המועמדים שהקולות המשולבים שלהם פחותים מהקולות של המועמד הנמוך ביותר שנותר.
7. העבירו קולות עודפים ממועמדים מודחים אל מועמדים אחרים.
8. חזרו על שלבים 3–7 עד שכל המושבים אוישו.

המכסה בהצבעות מאובטחות אלו מוגדרת כמכסת ירידה.

floor( no. votes / (no. seats + 1) ) + 1

השיטה להעברת קולות ממועמדים נבחרים או מודחים תהיה בשיטת Meek:

JobRunner

  • ניתן לעבד את תוצאות ההצבעה באמצעות [[Manual:Job queue |JobRunner]]. יש להקפיד ליצור JobRunner עבור משימה זו או לבצע את המשימה באופן ידני.
  • ניתן לעבד את תוצאות ההצבעה גם על ידי הפעלת סקריפט באופן ידני:

כדי לעבד את תוצאות ההצבעה, יש לבצע את הפעולות הבאות מתיקיית cli:

extensions/SecurePoll/cli/tally.php

כדי לעבד את תוצאות ההצבעה באמצעות MediaWiki-Docker, יש לבצע את הפעולות הבאות מתיקיית cli:

docker-compose exec mediawiki php extensions/SecurePoll/cli/tally.php

יצירת הצבעות מאובטחות בשיטת הקול הנייד

  • הצבעות מאובטחות בשיטת הקול הנייד ניתן לבצע מ-extensions/SecurePoll/cli.
  • כדי ליצור הצבעות מאובטחות בשיטת הקול הנייד, יש לבצע את הפעולות הבאות מתיקיית cli:
extensions/SecurePoll/cli/generateTestElection.php
  • הצבעות מאובטחות בשיטת הקול הנייד מאפשר יצירת פיגומים שמהם ניתן לספור קולות.

Redirect polls

If you are using SecurePoll in a wikifarm, it is possible to configure it to create a main election on a vote wiki, and then it will also create a redirect poll on a different wiki, with a vote link that points back to the vote wiki.

תיעוד

הצבעה מאובטחת

לתיעוד הכללי של התוסף, ניתן למצוא כאן.

עדכונים

לעדכונים בתוסף, ניתן למצוא כאן.

הסבר על תוצאות שיטת הקול הנייד

להסבר על תוצאות שיטת הקול הנייד, ניתן למצוא כאן.