Difference between revisions of "Help:Опросы и голосования"

From Wiki4Intranet
Jump to: navigation, search
(Массовая правка: замена PCRE \n{3,}<noinclude>\[\[Category:Справка\]\]</noinclude> на <noinclude>Category:Справка</noinclude>)
 
(10 intermediate revisions by 3 users not shown)
Line 3: Line 3:
 
Опросы бывают следующих основных типов:
 
Опросы бывают следующих основных типов:
  
= Режимы =
+
== Режимы ==
  
== CHECKS ==
+
=== CHECKS ===
  
 
Возможность отметки любого предложенного варианта (по одному разу). Пример:
 
Возможность отметки любого предложенного варианта (по одному разу). Пример:
Line 38: Line 38:
 
Это тип опроса по умолчанию. То есть можно проголосовать за любое количество предложенных вариантов, но только один раз.
 
Это тип опроса по умолчанию. То есть можно проголосовать за любое количество предложенных вариантов, но только один раз.
  
== POINTS ==
+
=== POINTS ===
  
«POINTS N» — голосование с определенным (N) количеством голосов, которых можно распределить по предложенным вариантам.
+
«POINTS N» — голосование с определенным (N) количеством голосов, которых можно распределить по предложенным вариантам.
  
 
Пример:
 
Пример:
Line 69: Line 69:
 
</poll>
 
</poll>
  
«Ключевая» строка в этом примере, задающая нужный режим — «POINTS 7».
+
«Ключевая» строка в этом примере, задающая нужный режим — «POINTS 7».
  
 
Можно использовать ключевую строку «ALTERNATIVE»
 
Можно использовать ключевую строку «ALTERNATIVE»
 
для задания режима «POINTS 1», то есть выбора только одного варианта из предложенных.
 
для задания режима «POINTS 1», то есть выбора только одного варианта из предложенных.
  
= Авторизация =
+
== Авторизация ==
  
 
Опрос можно сделать авторизованным, то есть запретить голосование анонимным пользователям, которые учитываются по IP-адресам. Для этого используется ключевая строка «'''AUTHORIZED'''». Анонимные пользователи увидят только список вариантов и строку «вы должны войти в систему, чтобы участвовать в голосовании». Зарегистрированные пользователи [[{{SITENAME}}]] увидят форму голосования и/или результаты.
 
Опрос можно сделать авторизованным, то есть запретить голосование анонимным пользователям, которые учитываются по IP-адресам. Для этого используется ключевая строка «'''AUTHORIZED'''». Анонимные пользователи увидят только список вариантов и строку «вы должны войти в систему, чтобы участвовать в голосовании». Зарегистрированные пользователи [[{{SITENAME}}]] увидят форму голосования и/или результаты.
  
Есть ещё более жёсткий вариант, полностью скрывающий и голосование, и варианты ответов от анонимных пользователей — «'''AUTHORIZED_DISPLAY'''».
+
Есть ещё более жёсткий вариант, полностью скрывающий и голосование, и варианты ответов от анонимных пользователей — «'''AUTHORIZED_DISPLAY'''».
  
 
  <nowiki>
 
  <nowiki>
Line 100: Line 100:
 
http://www.dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/90000/8000/900/98950/98950.strip.gif
 
http://www.dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/90000/8000/900/98950/98950.strip.gif
  
== Ограничение по IP-адресам ==
+
=== Ограничение по IP-адресам ===
  
 
Обычно при голосовании не учитываются IP-адреса, то есть вы можете проголосовать несколько раз с одного компьютера и разных учётных записей. Чтобы запретить это, служит опция «<tt>RESTRICT_IP</tt>», аналогично прочим указываемая в начале опроса.
 
Обычно при голосовании не учитываются IP-адреса, то есть вы можете проголосовать несколько раз с одного компьютера и разных учётных записей. Чтобы запретить это, служит опция «<tt>RESTRICT_IP</tt>», аналогично прочим указываемая в начале опроса.
  
= Работа =
+
== Работа ==
  
Сценарий работы очень простой — любой пользователь, пока не исчерпал свои возможности по голосованию (чтобы текущие результаты опроса не влияли на его выбор), видит интерфейс выбора для опроса (при этом, ему указывают, сколько голосов для этого опроса у него осталось). Как только пользователь «исчерпал» свои голоса, он видит общую статистику по голосованию в виде таблицы, с ленточной диаграммой, количеством голосов и процентным распределением.
+
Сценарий работы очень простой — любой пользователь, пока не исчерпал свои возможности по голосованию (чтобы текущие результаты опроса не влияли на его выбор), видит интерфейс выбора для опроса (при этом, ему указывают, сколько голосов для этого опроса у него осталось). Как только пользователь «исчерпал» свои голоса, он видит общую статистику по голосованию в виде таблицы, с ленточной диаграммой, количеством голосов и процентным распределением.
  
{{caution}} Опрос идентифицируется своим текстом — то есть с момента запуска опроса в голосование,
+
{{caution}} Опрос идентифицируется своим текстом — то есть с момента запуска опроса в голосование,
 
в тексте опроса нельзя менять ни буквы (иначе это будет другой опрос, для которого подсчет голосов начнется заново).
 
в тексте опроса нельзя менять ни буквы (иначе это будет другой опрос, для которого подсчет голосов начнется заново).
  
Line 114: Line 114:
  
 
Обычно опрос не имеет конца, то есть информация собирается и показывается, пока в ней есть потребность.
 
Обычно опрос не имеет конца, то есть информация собирается и показывается, пока в ней есть потребность.
Если опрос стал не нужен — его можно удалить с [[{{SITENAME}}]]-страницы, а результаты зафиксировать — например, в виде [[Help:Ленточная диаграмма|Ленточной диаграммы]].
+
Если опрос стал не нужен — его можно удалить с [[{{SITENAME}}]]-страницы, а результаты зафиксировать — например, в виде [[Help:Ленточная диаграмма|Ленточной диаграммы]].
  
Тем не менее, существует опция «<tt>END_POLL YYYY-MM-DD</tt>», где YYYY-MM-DD — дата (YYYY — год, MM — месяц, DD — день), позволяющая автоматически закончить опрос, начиная с даты YYYY-MM-DD. То есть, начиная с этой даты, все пользователи, вне зависимости от того, голосовали они или нет, увидят только результаты и не увидят формы голосования.
+
Тем не менее, существует опция «<tt>END_POLL YYYY-MM-DD</tt>», где YYYY-MM-DD — дата (YYYY — год, MM — месяц, DD — день), позволяющая автоматически закончить опрос, начиная с даты YYYY-MM-DD. То есть, начиная с этой даты, все пользователи, вне зависимости от того, голосовали они или нет, увидят только результаты и не увидят формы голосования.
  
== Скрытие результатов ==
+
=== Скрытие результатов ===
  
 
Специально для спецагентов и «секретных» опросов существует опция «<tt>HIDE_RESULTS</tt>», позволяющая скрывать результаты голосования от рядовых пользователей, по крайней мере, до конца опроса. Проголосовавшие пользователи увидят только сообщение «Вы уже проголосовали, всего проголосовало столько-то человек, а результаты будут (или не будут) доступны после даты YYYY-MM-DD». Результаты не будут показаны никогда, если опрос не имеет конца, то есть, если не указана опция END_POLL. В базе данных они, естественно, будут сохранены, и могут быть извлечены оттуда любым человеком, имеющим прямой доступ к БД.
 
Специально для спецагентов и «секретных» опросов существует опция «<tt>HIDE_RESULTS</tt>», позволяющая скрывать результаты голосования от рядовых пользователей, по крайней мере, до конца опроса. Проголосовавшие пользователи увидят только сообщение «Вы уже проголосовали, всего проголосовало столько-то человек, а результаты будут (или не будут) доступны после даты YYYY-MM-DD». Результаты не будут показаны никогда, если опрос не имеет конца, то есть, если не указана опция END_POLL. В базе данных они, естественно, будут сохранены, и могут быть извлечены оттуда любым человеком, имеющим прямой доступ к БД.
  
== Разрешение переголосования ==
+
=== Разрешение переголосования ===
  
Чтобы разрешить отозвать свой голос и проголосовать заново, нужно добавить опцию «<tt>REVOTE</tt>», она же кому как больше нравится — <tt>ALLOW_REVOTE</tt>, <tt>ALLOW_RECALL</tt>.
+
Чтобы разрешить отозвать свой голос и проголосовать заново, нужно добавить опцию «<tt>REVOTE</tt>», она же кому как больше нравится — <tt>ALLOW_REVOTE</tt>, <tt>ALLOW_RECALL</tt>.
 +
Если добавить эту опцию после создания опроса, могут быть потеряны ранее отданные голоса.
  
== Нецелостный («тупой», «небезопасный») режим ==
+
=== Нецелостный («тупой», «небезопасный») режим ===
  
Опция <tt>UNSAFE ID=УникальнаяСтрока</tt> даёт вашему голосованию идентификатор, равный этой уникальной строке, после чего в голосование можно добавлять/удалять вопросы, менять заголовок и опции. Голосовалка будет вести себя тупо — считать количества по НОМЕРАМ ответов и показывать их всегда для этого голосования. То есть если вы удалите ответ из середины, все голоса за ответы, стоящие ниже него, собьются. Также всегда любой может подсмотреть результаты небезопасного голосования, даже если они скрыты, добавив соответствующую опцию и даже не сохраняя страницу, а делая предпросмотр. В то же время путём указания UNSAFE ID=ID реального (безопасного) голосования подсмотреть его результаты невозможно.
+
Опция <tt>UNSAFE ID=УникальнаяСтрока</tt> даёт вашему голосованию идентификатор, равный этой уникальной строке, после чего в голосование можно добавлять/удалять вопросы, менять заголовок и опции. Голосовалка будет вести себя тупо — считать количества по НОМЕРАМ ответов и показывать их всегда для этого голосования. То есть если вы удалите ответ из середины, все голоса за ответы, стоящие ниже него, собьются. Также всегда любой может подсмотреть результаты небезопасного голосования, даже если они скрыты, добавив соответствующую опцию и даже не сохраняя страницу, а делая предпросмотр. В то же время путём указания UNSAFE ID=ID реального (безопасного) голосования подсмотреть его результаты невозможно.
  
== Открытые голосования ==
+
=== Привязка к названию страницы ===
  
Иногда возникает необходимость делать открытые для всех, неанонимные, голосования — например, в опросах по реализации каких-нибудь фич. Для этого нужно указать опцию <tt>OPEN</tt> — тогда для тех, кто ещё не проголосовал, будет показано предупреждение о том, что их голос будет показан всем, а те, кто проголосовал, увидят имена/IP всех проголосовавших рядом с каждой опцией.
+
Иногда может возникать желание включать один и тот же опрос на разные страницы посредством шаблона. Однако, так как его ID генерируется из оригинального текста, без применения шаблонных преобразований, получится, что на всех этих страницах опрос покажет одинаковые результаты. Чтобы такого не происходило, нужно добавить опцию <tt>UNIQUE</tt> — она привязывает результаты голосования к странице, на которой оно показывается.
  
= Синтаксис =
+
=== Открытые голосования ===
  
Синтаксис опросов построчный (то есть каждый элемент — строка), и представлен на этом графе.
+
Иногда возникает необходимость делать открытые для всех, неанонимные, голосования — например, в опросах по реализации каких-нибудь фич. Для этого нужно указать опцию <tt>OPEN_VOTERS</tt> — тогда для тех, кто ещё не проголосовал, будет показано предупреждение о том, что их голос будет показан всем, а те, кто проголосовал, увидят имена/IP всех проголосовавших рядом с каждой опцией.
 +
 
 +
Также есть опция <tt>OPEN_RESULTS</tt>, которая совмещает форму голосования с результатами и показывает их всем, даже ещё не проголосовавшим, пользователям.
 +
 
 +
=== Email-оповещение ===
 +
 
 +
Для голосования можно указать опцию <tt>VOTES_TO_EMAIL=N</tt> (N — неотрицательное число). Если она указана, то при наборе как минимум N голосов все пользователи, следящие за страницей с голосованием (обычное вики-слежение, или «наблюдение»), будут получать результаты голосования на свои email-адреса (адреса для этого должны быть подтверждены). Смысл такого слежения — асинхронность: забросил голосовалку, следишь за страницей и ждёшь, пока начнёт работать [[rupedia:Закон больших чисел|закон больших чисел]], то есть результаты голосования начнут что-то значить.
 +
 
 +
== Синтаксис ==
 +
 
 +
Синтаксис опросов построчный (то есть каждый элемент — строка), и представлен на этом графе.
 
В вопросах и вариантах ответа можно ограниченно использовать вики-разметку (все, что можно выразить одной строчкой).
 
В вопросах и вариантах ответа можно ограниченно использовать вики-разметку (все, что можно выразить одной строчкой).
  
Line 143: Line 154:
 
   rankdir=LR; ranksep=0.4; node[fontsize=10];
 
   rankdir=LR; ranksep=0.4; node[fontsize=10];
 
   start [label="<poll>"];
 
   start [label="<poll>"];
   option [label="ОПЦИЯ (варианты):\n    AUTHORIZED\l    ALTERNATIVE\l    POINTS N\l    END_POLL YYYY-MM-DD\l    HIDE_RESULTS\l    RESTRICT_IP\l    UNSAFE ID=УникальнаяСтрока\l    REVOTE\l    OPEN"];
+
   option [label="ОПЦИЯ (варианты):\n    AUTHORIZED\l    ALTERNATIVE\l    POINTS N\l    END_POLL YYYY-MM-DD\l    HIDE_RESULTS\l    RESTRICT_IP\l    UNSAFE ID=УникальнаяСтрока\l    UNIQUE\l    REVOTE\l    OPEN_RESULTS\l    OPEN_VOTERS\l    VOTES_TO_EMAIL=N"];
 
   end [label="</poll>"];
 
   end [label="</poll>"];
 
   question [label="Вопрос"];
 
   question [label="Вопрос"];
Line 158: Line 169:
 
</graph>
 
</graph>
  
{{replicate-from-custiswiki-to-all}}
+
<noinclude>[[Category:Справка]]</noinclude>
{{replicate-from-custiswiki-to-lib}}
+
{{replicate-from-custiswiki-to-tools}}
+
[[Category:{{SITENAME}}:Справка]]
+
{{replicate-from-custiswiki-to-tools}}
+

Latest revision as of 14:56, 1 September 2015

В Wiki4Intranet есть возможность проводить различные опросы и голосования, с целью оценить популярность продуктов или для выбора разумного решения.

Опросы бывают следующих основных типов:

Режимы

CHECKS

Возможность отметки любого предложенного варианта (по одному разу). Пример:

<poll>
Какие программы и системы, вы используете в повседневной работе:
[[{{SITENAME}}]]
[[Bugzilla]]
[[Bonsai]]
[[TeX]]
[[CVS]]
[[Oracle]]
[[Python]]
Erwin
Open Office
</poll>
 

Какие программы и системы, вы используете в повседневной работе:

Это тип опроса по умолчанию. То есть можно проголосовать за любое количество предложенных вариантов, но только один раз.

POINTS

«POINTS N» — голосование с определенным (N) количеством голосов, которых можно распределить по предложенным вариантам.

Пример:

<poll>
POINTS 7
Распределите ваши симпатии по фирмам-производителям автомобилей:
TOYOTA 
NISSAN
ALFA-ROMEO
BETA-ROMEO
GAMMA-ROMEO
OPEL
VAZ
</poll>
 

Распределите ваши симпатии по фирмам-производителям автомобилей:

You have 7 points to vote.
  •  TOYOTA
  •  NISSAN
  •  ALFA-ROMEO
  •  BETA-ROMEO
  •  GAMMA-ROMEO
  •  OPEL
  •  VAZ

«Ключевая» строка в этом примере, задающая нужный режим — «POINTS 7».

Можно использовать ключевую строку «ALTERNATIVE» для задания режима «POINTS 1», то есть выбора только одного варианта из предложенных.

Авторизация

Опрос можно сделать авторизованным, то есть запретить голосование анонимным пользователям, которые учитываются по IP-адресам. Для этого используется ключевая строка «AUTHORIZED». Анонимные пользователи увидят только список вариантов и строку «вы должны войти в систему, чтобы участвовать в голосовании». Зарегистрированные пользователи Wiki4Intranet увидят форму голосования и/или результаты.

Есть ещё более жёсткий вариант, полностью скрывающий и голосование, и варианты ответов от анонимных пользователей — «AUTHORIZED_DISPLAY».

<poll>
AUTHORIZED
ALTERNATIVE
Вам нравится работать в нашей компании?
Да
Нет
</poll>
 

Вам нравится работать в нашей компании?

  1. Да
  2. Нет

You must be logged in to vote.

98950.strip.gif

Ограничение по IP-адресам

Обычно при голосовании не учитываются IP-адреса, то есть вы можете проголосовать несколько раз с одного компьютера и разных учётных записей. Чтобы запретить это, служит опция «RESTRICT_IP», аналогично прочим указываемая в начале опроса.

Работа

Сценарий работы очень простой — любой пользователь, пока не исчерпал свои возможности по голосованию (чтобы текущие результаты опроса не влияли на его выбор), видит интерфейс выбора для опроса (при этом, ему указывают, сколько голосов для этого опроса у него осталось). Как только пользователь «исчерпал» свои голоса, он видит общую статистику по голосованию в виде таблицы, с ленточной диаграммой, количеством голосов и процентным распределением.

Caution.svg Опрос идентифицируется своим текстом — то есть с момента запуска опроса в голосование, в тексте опроса нельзя менять ни буквы (иначе это будет другой опрос, для которого подсчет голосов начнется заново).

Конец опроса

Обычно опрос не имеет конца, то есть информация собирается и показывается, пока в ней есть потребность. Если опрос стал не нужен — его можно удалить с Wiki4Intranet-страницы, а результаты зафиксировать — например, в виде Ленточной диаграммы.

Тем не менее, существует опция «END_POLL YYYY-MM-DD», где YYYY-MM-DD — дата (YYYY — год, MM — месяц, DD — день), позволяющая автоматически закончить опрос, начиная с даты YYYY-MM-DD. То есть, начиная с этой даты, все пользователи, вне зависимости от того, голосовали они или нет, увидят только результаты и не увидят формы голосования.

Скрытие результатов

Специально для спецагентов и «секретных» опросов существует опция «HIDE_RESULTS», позволяющая скрывать результаты голосования от рядовых пользователей, по крайней мере, до конца опроса. Проголосовавшие пользователи увидят только сообщение «Вы уже проголосовали, всего проголосовало столько-то человек, а результаты будут (или не будут) доступны после даты YYYY-MM-DD». Результаты не будут показаны никогда, если опрос не имеет конца, то есть, если не указана опция END_POLL. В базе данных они, естественно, будут сохранены, и могут быть извлечены оттуда любым человеком, имеющим прямой доступ к БД.

Разрешение переголосования

Чтобы разрешить отозвать свой голос и проголосовать заново, нужно добавить опцию «REVOTE», она же кому как больше нравится — ALLOW_REVOTE, ALLOW_RECALL. Если добавить эту опцию после создания опроса, могут быть потеряны ранее отданные голоса.

Нецелостный («тупой», «небезопасный») режим

Опция UNSAFE ID=УникальнаяСтрока даёт вашему голосованию идентификатор, равный этой уникальной строке, после чего в голосование можно добавлять/удалять вопросы, менять заголовок и опции. Голосовалка будет вести себя тупо — считать количества по НОМЕРАМ ответов и показывать их всегда для этого голосования. То есть если вы удалите ответ из середины, все голоса за ответы, стоящие ниже него, собьются. Также всегда любой может подсмотреть результаты небезопасного голосования, даже если они скрыты, добавив соответствующую опцию и даже не сохраняя страницу, а делая предпросмотр. В то же время путём указания UNSAFE ID=ID реального (безопасного) голосования подсмотреть его результаты невозможно.

Привязка к названию страницы

Иногда может возникать желание включать один и тот же опрос на разные страницы посредством шаблона. Однако, так как его ID генерируется из оригинального текста, без применения шаблонных преобразований, получится, что на всех этих страницах опрос покажет одинаковые результаты. Чтобы такого не происходило, нужно добавить опцию UNIQUE — она привязывает результаты голосования к странице, на которой оно показывается.

Открытые голосования

Иногда возникает необходимость делать открытые для всех, неанонимные, голосования — например, в опросах по реализации каких-нибудь фич. Для этого нужно указать опцию OPEN_VOTERS — тогда для тех, кто ещё не проголосовал, будет показано предупреждение о том, что их голос будет показан всем, а те, кто проголосовал, увидят имена/IP всех проголосовавших рядом с каждой опцией.

Также есть опция OPEN_RESULTS, которая совмещает форму голосования с результатами и показывает их всем, даже ещё не проголосовавшим, пользователям.

Email-оповещение

Для голосования можно указать опцию VOTES_TO_EMAIL=N (N — неотрицательное число). Если она указана, то при наборе как минимум N голосов все пользователи, следящие за страницей с голосованием (обычное вики-слежение, или «наблюдение»), будут получать результаты голосования на свои email-адреса (адреса для этого должны быть подтверждены). Смысл такого слежения — асинхронность: забросил голосовалку, следишь за страницей и ждёшь, пока начнёт работать закон больших чисел, то есть результаты голосования начнут что-то значить.

Синтаксис

Синтаксис опросов построчный (то есть каждый элемент — строка), и представлен на этом графе. В вопросах и вариантах ответа можно ограниченно использовать вики-разметку (все, что можно выразить одной строчкой).

[svg]