Мы организуем фотоконкурс для участников нашего форума. Всё практически готово, остаётся только решить вопрос с управлением заявками и голосованием.
Вот текущий план:
Создать новую категорию: Фотоконкурсы.
Создать новую подкатегорию (например, Фотоконкурс 2023), куда участники будут загружать свои работы. Каждая фотография будет отдельной темой. Ответы должны быть отключены. Я не хочу, чтобы люди писали «Классное фото, Дэйв!» и тому подобное. Подкатегория должна представлять собой просто галерею изображений. Я создам отдельную подкатегорию «Обсуждение», чтобы люди могли обсуждать работы конкурса и прочее.
Участники должны иметь возможность голосовать (ставить лайки) за работы. Победителем станет тот, у кого будет больше всего голосов к моменту окончания конкурса.
Я вижу несколько проблем на горизонте:
Подозреваю, что отключение ответов при одновременном разрешении ставить лайки может быть взаимоисключающими функциями в Discourse, что сделает этот подход неосуществимым.
Кажется, невозможно включить право create для группы, не включив также право reply. Поэтому я установил и активировал плагин restricted replies (на тестовом сервере) и создал новую категорию, чтобы проверить, работает ли это, но я не вижу новой опции в настройках безопасности. Я использую последнюю бета-версию Discourse.
План «Б» для проведения конкурса — включить настройку категории «Требовать одобрения модератором всех новых ответов». Это потребует от меня больше работы, но хотя бы я смогу перенаправлять неуместные посты в категорию для обсуждений и не разочаровывать пользователей, которые не понимают, почему (потому что они не читали описание категории!) не могут отвечать. Я ещё не тестировал эту настройку; я предполагаю, что она будет работать именно так.
У кого-нибудь есть более лучшие идеи, советы или опыт выполнения чего-то подобного?
Вы можете создать ссылку для отправлений, которая будет отправлять сообщение в групповой почтовый ящик, например, модераторам, и попросить вашу команду модераторов перемещать новые посты в категорию, где пользователи смогут читать, но не создавать новые сообщения и не отвечать.
Установка автоматического закрытия на 1 минуту была бы довольно эффективным решением, однако я обнаружил и установил плагин для голосований, и закрытие темы также предотвращает подачу голосов за неё.
Автоматическое удаление ответов через минуту было бы ещё одним способом очистки подкатегории, но, насколько я могу судить, это возможно только для каждой темы отдельно, а не на уровне категории.
Похоже, что на данный момент единственным жизнеспособным вариантом является отправка всех ответов на модерацию. К сожалению, их нельзя одновременно перенаправить в другую категорию, что означает либо их удаление (что вызовет раздражение у пользователей, которые вполне обоснованно скажут, что кнопка «Ответить» вообще не должна быть доступна), либо принятие, а затем разделение/объединение ответа в другую подкатегорию — это потребует от меня больше работы, но обеспечит несколько лучший пользовательский опыт.
Вебхуки и CSS в данный момент остаются неизведанной территорией, а я хочу запустить конкурс в эти выходные. Однако я могу изучить их позже. Это будет хорошим поводом расширить свои знания.
Голосование за темы также работает в категориях, где у пользователей есть разрешение «просматривать», но нет возможности создавать темы или отвечать.
Использование ссылки для создания заранее заполненного личного сообщения в групповом ящике, как описано в этом руководстве:
позволит модераторам выполнить начальный ручной шаг по переносу записей в категорию конкурса, после чего за них можно будет голосовать, но комментировать их будет нельзя. Если для конкурса есть критерии участия, то темы можно будет проверять на этом этапе или просто переносить их группами несколько раз в день.
Поскольку количество голосов за темы по умолчанию ограничено, планируете ли вы разрешать голосование до получения всех записей?
Я запустил конкурс в эти выходные и сейчас перехватываю ответы, чтобы они не попадали в категорию. Я задумывался о проверке всех заявок, но тогда решил отказаться от этого, так как у меня не было достаточно веских причин — до настоящего момента. Существуют определённые правила конкурса. Похоже, не все считают необходимым их читать…
Я позволяю людям голосовать сразу. Только после запуска я подумал, что, возможно, было бы лучше провести все голосования, скажем, в последнюю неделю.
Если конкурс окажется успешным, мы, вероятно, проведём его снова в следующем году, поэтому я сохраняю все эти отличные предложения.