Extension:SecurePoll

This page is a translated version of the page Extension:SecurePoll and the translation is 100% complete.
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
  • $wgSecurePollUseLogging
  • $wgSecurePollKeepPrivateInfoDays
  • $wgSecurePollGpgSignKey
  • $wgSecurePollGPGCommand
  • $wgSecurePollCreateWikiGroups
  • $wgSecurePollSingleTransferableVoteEnabled
  • $wgSecurePollTranslationImportSourceUrl
  • $wgSecurePollUseNamespace
  • $wgSecurePollCreateRemoteScriptPath
  • $wgSecurePollCreateWikiGroupDir
  • $wgSecurePollShowErrorDetail
  • securepoll-create-poll
  • securepoll-view-voter-pii
Quarterly downloads 18 (Ranked 130th)
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.
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

יש להוסיף את ההרשאה "securepoll-create-poll" לקבוצות משתמשים רלוונטיות. כדי להקצות זכות זו למפעילי מערכת, יש להוסיף ל-LocalSettings.php את הדבר הבא:

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

זה מאפשר לכל מפעילי המערכת ליצור סקרים, אבל זה לא מאפשר לכל מפעילי המערכת לנהל סקר מסוים (כולל עריכות סקר, צפייה בנתוני משתמשים וכו'). מנהלים של הצבעה מאובטחת מסוימת מוגדרים בעת יצירה או עריכה של סקר. רק בעלי ההרשאה "electionadmin" רשאים לנהל סקר. כדי להוסיף קבוצה זו, יש להוסיף ל-LocalSettings.php את הדבר הבא:

$wgGroupPermissions['electionadmin'] = [];

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

אופן השימוש

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

ישנן שתי דרכים ליצור הצבעה מאובטחת חדשה: יצירה באופן ידני קובץ 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

  • ניתן לעבד את תוצאות ההצבעה באמצעות 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
  • הצבעות מאובטחות בשיטת הקול הנייד מאפשר יצירת פיגומים שמהם ניתן לספור קולות.

תיעוד

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

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

עדכונים

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

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

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