Я предлагаю изменить эту формулировку на «присваивание значка набору пользователей», так как группа в Discourse имеет конкретное значение, а набор случайных адресов электронной почты в CSV-файле им не является .
При массовом добавлении пользователей в группу система ожидает список имён пользователей. При массовом добавлении пользователей к значку система ожидает файл .csv с адресами электронной почты.
Лично я предпочитаю список имён пользователей, так как его гораздо проще получить с форумов, не проходя через административные процедуры, и у меня есть несколько приёмов в Excel, позволяющих быстро создать список для копирования и вставки. Раньше я массово назначал значки, добавляя список в временную группу, а затем менял запрос для значка, чтобы он назначался всей этой группе. Когда появилась функция «Назначить значок группе пользователей», я надеялся сократить один шаг…
Есть ли способ сделать метод со списком пользователей допустимой альтернативой для массового назначения значков?
Если первый элемент списка содержит символ «@», то импортировать по электронной почте, иначе — по имени пользователя.
Также мы могли бы быть немного более гибкими в отношении формата этого списка.
Мы могли бы просто требовать, чтобы адреса электронной почты или имена пользователей располагались на отдельных строках, а затем выполнить split("\n"), удалить пустые строки, убрать все завершающие «,» и удалить любые пары одинарных или двойных кавычек (например, gsub(/^['"]|['"]$/, "")).
Я понимаю, что это сложно и может привести к разрастанию функционала, но мне интересно, не могла бы со временем панель администратора стремиться к большей согласованности во всех массовых операциях администрирования? Например:
Массовое присвоение значков: Выберите значок, затем загрузите CSV-файл с адресами электронной почты пользователей.
Массовое добавление пользователей в группу: Выберите группу, затем вставьте список имен пользователей или адресов электронной почты, по одному в строке.
Массовое приглашение пользователей в Discourse: Загрузите CSV-файл, содержащий адреса электронной почты пользователей (с возможностью указать группу(ы), в которую их добавить, и начальное сообщение, которое им показать).
Очевидно, что у этих операций есть общие черты, но также и явные различия, поскольку они не выполняют одну и ту же задачу. Насколько легко будет выработать единую парадигму интерфейса для всех массовых действий администратора — я не знаю. Но я решил поднять этот вопрос здесь, так как тема обсуждается.
Из всех трёх вариантов на данный момент самым удобным мне кажется «Массовое добавление в группу» с функцией «Вставить список имён пользователей или адресов электронной почты, по одному в строке».
Очень часто я хочу пригласить нескольких пользователей (скажем, 5–10), и метод приглашения по одному довольно раздражающе медленный, а метод приглашения через CSV — немного хлопотный и требует запуска другой программы или ручного редактирования CSV-файла. Даже если загрузка CSV-файла останется для действительно огромных массовых приглашений, было бы здорово иметь диалоговое окно «Пригласить пользователей», похожее на то, что используется при «Массовом добавлении в группу». Конечно, оно могло бы принимать только адреса электронной почты, по одному в строке, но это вполне приемлемо.
Хотя это всё ещё не так просто, как вставка списка имён пользователей в поле, это огромный шаг вперёд по сравнению с необходимостью использовать электронные адреса! Есть ли планы по унификации массовой обработки добавления пользователей в группы или к бейджикам? Я не программист, но мне это кажется кодом, который можно переиспользовать
Если отмечен флажок «Может выдаваться несколько раз» (находится в нижней части страницы администрирования значка), вы должны иметь возможность выдавать значок несколько раз таким образом.
У меня эта функция включена, но при импорте CSV-файла (даже если это просто список пользователей, у которых уже есть значок) он не выдается повторно. Мне приходится вручную выдавать значок пользователю, прежде чем он появится в списке как выданный несколько раз.
Можно ли вручить значок вручную одному или двум людям, а не загружать CSV-файл?
По какой-то причине значок «энтузиаст», который должен присваиваться за 10 дней подряд входа в систему, не выдается пользователю, который заходил в систему 12 дней подряд.
Я считаю, что эта значок довольно надёжный, но иногда разница между часовыми поясами и UTC может создать обратное впечатление.
На данный момент я не думаю, что можно вручную выдавать этот значок, но создание CSV-файла с именами пользователей занимает всего пару секунд. Я только что проверил это на Google Таблицах со своего телефона, и это было очень быстро.