Zenodo: عالمي: نموذج الاتصال

تم إنشاؤها على ٢٠ نوفمبر ٢٠١٦  ·  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-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 هل يمكنني إدراجه لاحقًا بمجرد الموافقة على الهيكل الأساسي ...؟

بصرف النظر عن بعض الإصلاحات العامة ، تبدو العلاقات العامة بواسطة @ jainaman224 رائعة بالفعل: https://github.com/zenodo/zenodo/pull/1008

لجعل هذه الميزة جاهزة للإنتاج ، يلزم إجراء بعض التغييرات الإضافية:

  • [] استخدم uap-python
  • [] يجب أن يكون هناك نوعان مختلفان من النموذج.

    • إذا قمت بتسجيل الدخول ، فيجب أن يملأ ويعرض مسبقًا:

    • [x] Name (حقل نص مملوء مسبقًا بالاسم الكامل للمستخدم - قابل للتعديل بواسطة المستخدم)

    • [س] 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."),
 (...)
]

عندما يختار المستخدم الفئة ، يتم عرض نص أدناه ، والذي يضيف بعض المعلومات الإضافية عما يجب على المستخدم تضمينه في رسالته (حسب الفئة).

  • [] يجب أن تعرض الفئة انتقالًا سلسًا بين الاختيارات ، من الناحية المثالية بدون الكثير من جافا سكريبت المخصص (إن وجد) ، على سبيل المثال عنصر التمهيد هذا: http://getbootstrap.com/javascript/#collapse

  • [] يجب إرسال بريد إلكتروني للتأكيد إلى المستخدم بعد إرسال البريد الإلكتروني إلينا بنجاح.
    يمنع هذا النوع المستخدم من طرح سؤال علينا ومن ثم عدم الحصول على رد لأن النموذج لا يرسل لنا رسالته لسبب ما. في النموذج ، يجب الإشارة إلى أنه يجب أن يتلقى رسالة تأكيد بالبريد الإلكتروني على صندوق الوارد الخاص به في غضون 20 دقيقة - إذا لم يكن كذلك ، فيجب عليه إعادة المحاولة أو إرسال بريد إلكتروني إلينا مباشرة إلى [email protected]

  • [] ينبغي أن يكون من الممكن تحميل الملفات جنبًا إلى جنب مع الرسالة ، والتي يجب إرسالها إلينا كمرفق بالبريد الإلكتروني. يجب أن يكون الحد الأقصى لحجم الملف قابلاً للتكوين وعرض خطأ للملفات الأكبر حجمًا مما يقترح تضمين عنوان URL للملف بدلاً من ذلك. لا ينبغي تخزينها في أي مكان ، ولكن يتم تمريرها عبر التطبيق (الذاكرة) وإرسالها كمرفق بريد إلكتروني مباشرة في مهمة.

    • [] يتم حاليًا إرسال عملية webapp بسبب مشاكل تسلسل الملفات مع الكرفس. يجب إصلاحه إما عن طريق إرسال البايت الخام واسم الملف ثم تجميع كائن الملف داخل المهمة.
    • [] ينبغي أن يكون من الممكن تحديد ملفات متعددة للإرسال.
    • [] تحقق مما إذا كان بإمكاننا استخدام بعض عناصر واجهة مستخدم محدد ملفات السحب والإفلات الأجمل.
  • [] يتطلب النموذج بعض التصميم والعمل على المحتوى (النص / الأوصاف / أنواع المشكلات للاختيار وما إلى ذلك)

  • [] الوحدة النمطية تحتاج إلى فحص مع linters الثعبان.

@ jainaman224 مساهمتك هي بالفعل بداية جيدة ، وأنا أعلم أن هذه بعض المتطلبات الإضافية. أنت مرحب بك لمواصلة العمل على هذا إذا كنت لا تزال مهتمًا ، ولكن اعلم أنه ليس من الإلزامي قبول مساهمتك الأولى! :)

lnielsenkrzysztof أعتقد أننا لا نحتاج الكثير من المعلومات من المستخدم. لذلك ، سيكون السير بهذه الطريقة أفضل https://github.com/jainaman224/zenodo/blob/patch-1/zenodo/modules/pages/views.py#L57 # L60. يرجى تصحيح لي إذا كنت مخطئا.
شكرا لك

lnielsenkrzysztof لماذا يفضل استخدام uap-python ؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات