Zenodo: グローバル:お問い合わせフォーム

作成日 2016年11月20日  ·  12コメント  ·  ソース: zenodo/zenodo

お問い合わせフォームを追加して、サポート管理を容易にします。

  • フォームは、直接リンクを含めて正確にするように人々に求める必要があります。 たとえば、 https://github.com/supportを参照して
  • お問い合わせフォームは、使用しているブラウザとOSを自動的に検出できます。
Enhancement

全てのコメント12件

この拡張機能を追加してみることはできますか...?

@ jainaman224はい、それは実際に私たちのサポートに大きな助けになるでしょう:)

主なアイデアは、多くの人が一般的な問題について私たち(zenodo.org-サービス)に連絡することです。これは通常、次のとおりです。

  • レコードを削除するか、ファイルをどこかのレコードに更新します。
  • 彼らのアカウントで何かをしている。
  • ページでエラーが発生する(500秒など)。

多くの場合、それらには多くの情報(前述のOS、ブラウザーなど)が含まれておらず、削除/更新するレコードを指定していないことがよくあります。 時々彼らは彼らのZenodoメールが何であるかについて言及するのを忘れます(そしてそれは彼らが私たちに書いているものとは非常にしばしば異なります)。

主なアイデアは、その情報をできるだけ多く取得して含め、フォームから送信することです。

  1. 基本的なエージェント情報(ブラウザー、OS、IP)をキャプチャします。 そしてそれをメールで送ってください。
  2. ユーザーがログインしている場合はそのユーザーをキャプチャし、電子メールとユーザーIDを電子メールで送信します(フォームでは最初にログインすることをお勧めします)。
  3. 含めるべき情報を指定するテキスト説明:

    • 問題に関連する場合は、URLまたはDOIを記録します。

    • ページから取得した場合のエラーID(Sentryで簡単に確認できます)

    • 彼らのためにクラッシュする可能性のあるページのURL

    • GitHubに関連する場合は、GItHubユーザー名/組織名/リポジトリ名。

タスクは、ポイント1と2を実装することです。後で、フォーム(ポイント3)に素敵なテキストを一緒に考えることができます。

このフォームはおそらく私たちに電子メールを送信するはずです。電子メール本文の下部には、この情報を含む事前にフォーマットされた文字列を含めることができます。

このフォームを実装する必要がありますhttps://zenodo.org/support ...?

現在の「/ support」ページは、フォームのない静的な情報です。今のところ、このままである必要があります。

新しいページ(例:「/ support-form」の下)を作成する必要があります。ここで、GitHubsに似た簡単な連絡フォームを定義します: https

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

もう1つの優れた機能は、フォームにラジオボタンを含めることです。このボタンで、ユーザーは問題のカテゴリを選択できます。例:

テクニカルサポート、Zenodoポリシー、アウトリーチ、その他(カテゴリは後で定義されます)。

この情報は、送信された電子メールのプレフィックスとして使用できます。

「[テクニカルサポート]:タイトルの残りの部分」

それは素晴らしいことだ。 :+1:

ユーザーエージェントの解析には、 https://github.com/ua-parser/uap-pythonを使用して

ユーザーは、送信された情報を確認できる必要があります(おそらく、オプトアウトできる必要があります)。

@lnielsen基本構造が承認されたら、後で含めることはできますか...?

いくつかの一般的な修正は別として、 @ jainaman224によるPRはすでに本当にクールに見えます: https

この機能を本番環境に対応させるには、さらにいくつかの変更が必要です。

  • [] uap-python使用する
  • []フォームには2つのバリエーションがあるはずです。

    • ログインしている場合は、事前に入力して表示する必要があります。

    • [x] Name (ユーザーのフルネームが事前に入力されたテキストフィールド-ユーザーが編集可能)

    • [x] Email (ラベルのみ)「ZenodoスタッフがZenodoメールで返信します: [email protected] 」(変更不可)

    • ログインしていない場合:

    • [x] Name (空のテキストフィールド)

    • [x] Email (空のテキストフィールド)

  • [x]スパムを取得しないようにReCaptchaテスト
  • [x]フォームには、ユーザーから送信されるユーザーエージェント情報が表示されます。
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

  • []確認メールは、メールが正常に送信された後にユーザーに送信する必要があります。
    この種の方法では、フォームが何らかの理由でメッセージを送信しないため、ユーザーが質問をしてから返信が得られないようにします。 フォームには、20分以内に受信トレイに確認メールが届くように記載する必要があります。そうでない場合は、再試行するか、 team @ zenodo.orgに直接メールを送信して

  • []メッセージと一緒にファイルをアップロードできる必要があります。メッセージは電子メールの添付ファイルとして送信されます。 最大ファイルサイズは構成可能であり、大きなファイルの場合はエラーを表示し、代わりにファイルへのURLを含めることを提案する必要があります。 どこにも保存しないでください。アプリケーション(メモリ)を介して渡され、タスクで直接電子メールの添付ファイルとして送信されます。

    • []セロリのファイルシリアル化の問題により、現在webappプロセスで送信しています。 生のバイトとファイル名を送信してから、タスク内でファイルオブジェクトをアセンブルすることによって修正する必要があります。
    • []送信する複数のファイルを選択できる必要があります。
    • []より優れたドラッグアンドドロップファイルセレクタウィジェットを使用できるかどうかを確認します。
  • []フォームには、コンテンツのスタイル設定と作業が必要です(テキスト/説明/選択する問題の種類など)

  • []モジュールは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 評価