Когда я создаю опрос с несколькими вариантами ответов, я могу задать минимальное и максимальное количество выборов перед активацией кнопки «Голосовать», но, похоже, это не работает для голосования по ранжированному выбору.
Если я создам опрос с пятью вариантами:
poll type=ranked_choice results=always min=1 max=3 public=false chartType=bar
Параметр max=3, кажется, не действует; пользователь всё ещё может ранжировать четыре или все варианты.
Параметр min=1 работает только если он равен 1. Если я установлю его на 2 или больше, опрос сам себя отменяет и превращается просто в маркированный список.
Возможно, это сделано намеренно, или это проблема, специфичная для работы ранжированного выбора?
У нас есть случай использования, когда мы хотим, чтобы пользователи ранжировали минимальное количество вариантов опроса, и ранжированный выбор предпочтительнее выбора нескольких вариантов.
Да, эта функция сейчас не поддерживается, но я бы точно не назвал это ошибкой.
Возможно, интерфейс Markdown слишком либерален, что вводит в заблуждение, и вы вполне можете утверждать, что это небольшая ошибка. Однако для тех, кто знаком с методом мгновенного повторного голосования, не должно быть сюрпризом, что это не часть алгоритма.
Это не является стандартной функцией голосования с выбором по рангам (Instant Run-off Voting), где избиратель имеет право выбрать количество кандидатов, которых он хочет ранжировать, и может воздержаться от ранжирования остальных.
Представьте, что вы ограничиваете кого-то на бумажном бюллетене. Кто-то может назвать ваш бюллетень испорченным, если вы ранжируете 4 из 5 кандидатов, хотя в инструкциях было указано, что можно выбрать только 3. Но, скорее всего, это не является обычной практикой, так как это вызовет путаницу и приведет к большому количеству испорченных бюллетеней, что может расстроить избирателей.
Как вы видите, в форме нет вводящей в заблуждение настройки для ранжированного выбора. Следовательно, ошибка не здесь. Я понимаю, что она по-прежнему отображается в оболочке Markdown для опросов, и это может заставить вас полагать, что она может иметь какой-то эффект.
Я считаю, что это справедливее оформить как запрос на новую функцию (#feature request). Переношу его туда.
Я был бы рад поработать над этим, если меня наймут для этой задачи (я не являюсь членом команды Discourse и как фрилансер, не получающий зарплату, время — деньги…), рассмотрите возможность публикации в Marketplace или напишите мне в личные сообщения для получения расценок, если это важно для вас. Я с большим удовольствием отправлю pull request, если это будет приемлемо.