Zenodo: global: контактная форма

Созданный на 20 нояб. 2016  ·  12Комментарии  ·  Источник: zenodo/zenodo

Добавьте контактную форму, чтобы упростить управление службой поддержки:

  • Форма должна просить людей включать прямые ссылки и быть точными. См., Например, https://github.com/support .
  • Контактная форма может автоматически определять, какой браузер и операционную систему они используют.
Enhancement

Все 12 Комментарий

Можно попробовать добавить это улучшение ...?

@ jainaman224 Да, это действительно очень помогло бы нашей поддержке :)

Основная идея заключается в том, что к нам (zenodo.org - сервис) обращаются многие люди по поводу общих проблем, которые обычно:

  • Удаление записи или обновление файла до записи где-нибудь.
  • Что-то делает со своей учетной записью.
  • Получение ошибки на странице (500 и т. Д.).

Очень часто они не включают много информации (например, упомянутую ОС, браузер), и очень часто они не указывают, какую запись они хотят удалить / обновить. Иногда они забывают указать, какой у них адрес электронной почты Zenodo (и очень часто он отличается от того, с которого они нам пишут).

Основная идея состоит в том, чтобы получить и включить как можно больше этой информации и отправить ее нам через форму, поэтому

  1. Получите основную информацию об агенте (браузер, ОС, IP). И отправьте его по электронной почте.
  2. Захватите пользователя, если он вошел в систему, и отправьте его адрес электронной почты + идентификатор пользователя в электронном письме (форма должна рекомендовать сначала войти в систему).
  3. Текстовое описание с указанием, какую информацию они должны включать:

    • Запишите URL-адрес или DOI, если это имеет отношение к проблеме.

    • Идентификатор ошибки, если он получен со страницы (мы можем легко проверить его на Sentry)

    • URL-адрес страницы, на которой может происходить сбой

    • GItHub username / orgname / reponame, если это связано с GitHub.

Задача состоит в том, чтобы реализовать пункты 1. и 2. Позже мы вместе сможем придумать красивый текст на форме (пункт 3.).

Эта форма, вероятно, должна отправить нам электронное письмо, где нижняя часть тела письма может включать предварительно отформатированную строку с этой информацией.

Нужно ли мне внедрять эту форму https://zenodo.org/support ...?

Текущая страница «/ support» - это просто статическая информация без какой-либо формы - пока она должна оставаться такой.

Вам нужно будет создать новую страницу (например, «/ support-form»), где вы должны определить простую контактную форму, похожую на GitHubs: https://github.com/support

Вот пример формы в Zenodo (эта форма предназначена для удаления записей администратором):

Шаблон:
https://github.com/zenodo/zenodo/blob/master/zenodo/modules/deposit/templates/zenodo_deposit/delete.html

Форма:
https://github.com/zenodo/zenodo/blob/master/zenodo/modules/deposit/forms.py

Вид:
https://github.com/zenodo/zenodo/blob/master/zenodo/modules/deposit/views.py#L142 -L211

Еще одна приятная функция - включить в форму радиокнопку, где пользователь может выбрать категорию проблемы, например:

Техническая поддержка, Политики Zenodo, Информационная поддержка, Другое (категории будут определены позже).

Эта информация может быть префиксом отправленного электронного письма:

«[Техническая поддержка]: остальная часть названия»

Было бы здорово. : +1:

Для парсинга пользовательского агента используйте https://github.com/ua-parser/uap-python

Пользователь должен иметь возможность видеть, какая информация отправляется нам (и, вероятно, иметь возможность отказаться)

@lnielsen Могу ли я включить его позже, когда будет утверждена базовая структура ...?

Помимо некоторых общих исправлений, PR от @ jainaman224 уже выглядит действительно круто: https://github.com/zenodo/zenodo/pull/1008

Чтобы сделать эту функцию готовой к эксплуатации, необходимы некоторые дальнейшие изменения:

  • [] Используйте uap-python
  • [] Должно быть два варианта формы.

    • Если вы вошли в систему, он должен предварительно заполнить и отобразить:

    • [x] Name (предварительно заполненное текстовое поле с полным именем пользователя - доступно для редактирования пользователем)

    • [x] Email (только ярлык) с надписью «Сотрудники Zenodo свяжутся с вами по электронной почте Zenodo :

    • Если вы не авторизованы:

    • [x] Name (пустое текстовое поле)

    • [x] Email (пустое текстовое поле)

  • [x] Тест ReCaptcha, чтобы нас не спамили
  • [x] Форма должна отображать информацию User-Agent, которая будет отправлена ​​от пользователя, то есть:
To better address your problem, the following information can be sent to us (recommended) alongside with your message:
Operating system: ...
Browser: ...
(more User-Agent info)

Рядом с ним должен быть флажок (включен по умолчанию) с надписью «[x] Отправить информацию о браузере и системе».

  • [x] Категория должна быть настроена в config.py следующим образом:
PAGES_SUPPORT_CATEGORIES = [
 ('Technical Support', "Please describe the error you are getting, include any error messages or link to screenshots which might be relevant"),
 ('File upload request', "Please include the URL of the updated file, and specify which record and file you want to replace. Please use publicly accessible URLs."),
 (...)
]

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

  • [] Категория должна показывать плавный переход между вариантами выбора, в идеале без излишнего количества (если таковой имеется) настраиваемого javascript, например этого элемента начальной загрузки: http://getbootstrap.com/javascript/#collapse

  • [] Электронное письмо с подтверждением должно быть отправлено пользователю после того, как оно было успешно отправлено нам.
    Этот вид не позволяет пользователю задать нам вопрос, а затем не получить ответ, потому что форма по какой-то причине не отправляет нам его сообщение. В форме должно быть указано, что он должен получить электронное письмо с подтверждением на свой почтовый ящик в течение 20 минут - в противном случае он должен повторить попытку или отправить нам электронное письмо непосредственно на [email protected].

  • [] Должна быть предусмотрена возможность загрузки файлов вместе с сообщением, которое следует отправить нам в виде вложения к электронному письму. Максимальный размер файла должен быть настраиваемым и отображать ошибку для больших файлов, предлагая вместо этого включить URL-адрес файла. Его не следует нигде хранить, а передавать через приложение (память) и отправлять в виде вложения электронной почты непосредственно в задаче.

    • [] В настоящее время отправляется в процессе веб-приложения из-за проблем с сериализацией файлов с сельдереем. Следует исправить либо отправкой необработанных байтов и имени файла, а затем сборкой файлового объекта внутри задачи.
    • [] Должна быть возможность выбрать несколько файлов для отправки.
    • [] Проверьте, можем ли мы использовать какой-нибудь более удобный виджет для выбора файлов с перетаскиванием.
  • [] Форма требует некоторого стиля и работы над содержанием (текст / описания / типы задач на выбор и т. Д.)

  • [] Модуль необходимо проверить с помощью линтеров Python.

@ jainaman224 Ваш вклад - уже хорошее начало, и я знаю, что это некоторые дополнительные требования. Если вам все еще интересно, вы можете продолжить работу над этим, но знайте, что принимать свой первый взнос не обязательно! :)

@lnielsen @krzysztof Я думаю, нам не нужно много информации от пользователя. Так что лучше пойти этим путем https://github.com/jainaman224/zenodo/blob/patch-1/zenodo/modules/pages/views.py#L57 # L60. Пожалуйста, поправьте меня, если я ошибаюсь.
Спасибо

@lnielsen @krzysztof Почему предпочтительнее использовать uap-python ?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги