Agregue un formulario de contacto para permitir una administración de soporte más fácil:
¿Puedo intentar agregar esta mejora ...?
@ jainaman224 Sí, eso sería de gran ayuda para nuestro apoyo :)
La idea principal es que muchas personas se pongan en contacto con nosotros (zenodo.org - el servicio), sobre problemas comunes, que suelen ser:
Muy a menudo, no incluyen mucha información (como el sistema operativo mencionado, el navegador) y, muy a menudo, no especifican qué registro quieren eliminar / actualizar. A veces se olvidan de mencionar cuál es su correo electrónico de Zenodo (y muy a menudo es diferente de aquel desde el que nos escriben).
La idea principal sería buscar e incluir tanta información como sea posible y enviárnosla a través del formulario, así
La tarea es implementar los puntos 1. y 2., podemos pensar en un texto agradable en el formulario (punto 3.) juntos más tarde.
Este formulario probablemente debería enviarnos un correo electrónico, donde la parte inferior del cuerpo del correo electrónico puede incluir una cadena preformateada con esta información.
¿Necesito implementar este formulario https://zenodo.org/support ...?
La página "/ support" actual es solo información estática sin ningún formulario; debería permanecer así por ahora.
Necesitaría crear una nueva página (por ejemplo: "/ support-form"), donde definiría un formulario de contacto simple similar a GitHubs: https://github.com/support
Aquí hay un ejemplo de un formulario en Zenodo (este en particular es para eliminar registros por parte del administrador):
Formulario:
https://github.com/zenodo/zenodo/blob/master/zenodo/modules/deposit/forms.py
Vista:
https://github.com/zenodo/zenodo/blob/master/zenodo/modules/deposit/views.py#L142 -L211
Otra característica interesante sería incluir un botón de opción en el formulario, donde el usuario puede seleccionar una categoría del problema, por ejemplo:
Soporte técnico, políticas de Zenodo, extensión, otros (categorías que se definirán más adelante).
Esta información podría ir como prefijo del correo electrónico enviado:
"[Soporte técnico]: el resto del título"
Que sería genial. : +1:
Para el análisis del agente de usuario, utilice https://github.com/ua-parser/uap-python
Un usuario debería poder ver qué información se nos envía (y probablemente poder optar por no participar)
@lnielsen ¿Puedo incluirlo más tarde una vez que se apruebe una estructura básica ...?
Aparte de algunas correcciones generales, las relaciones públicas de @ jainaman224 ya se ven muy bien: https://github.com/zenodo/zenodo/pull/1008
Para que esta función esté lista para producción, se requieren algunos cambios adicionales:
uap-python
Name
(campo de texto precargado con el nombre completo del usuario, editable por el usuario)Email
(solo una etiqueta) que dice "El personal de Zenodo se comunicará con usted mediante su correo electrónico de Zenodo : Name
(campo de texto vacío)Email
(campo de texto vacío)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)
Junto a eso, debería haber una casilla de verificación (habilitada de forma predeterminada) que diga "[x] Enviar la información del navegador y del sistema".
config.py
así: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."),
(...)
]
Cuando el usuario elige la categoría, se muestra un texto a continuación, que agrega más información de lo que el usuario debe incluir en su mensaje (según la categoría).
[] La categoría debe mostrar una transición suave entre las opciones, idealmente sin demasiado javascript personalizado (si lo hay), por ejemplo, este elemento de arranque: http://getbootstrap.com/javascript/#collapse
[] Se debe enviar un correo electrónico de confirmación al usuario después de que el correo electrónico se nos haya enviado correctamente.
Esto evita que el usuario nos haga una pregunta y luego no obtenga una respuesta porque el formulario no nos envía su mensaje por alguna razón. En el formulario debe indicarse que debe recibir un correo electrónico de confirmación en su bandeja de entrada dentro de los 20 minutos; si no es así, debe volver a intentarlo o enviarnos un correo electrónico directamente a [email protected]
[] Debería ser posible cargar un archivo junto con el mensaje, que debe enviarse como archivo adjunto de correo electrónico. El tamaño máximo de archivo debe ser configurable y mostrar un error para archivos más grandes sugiriendo incluir la URL del archivo en su lugar. No debe almacenarse en ningún lugar, sino pasar a través de la aplicación (memoria) y enviarse como archivo adjunto de correo electrónico directamente en una tarea.
[] El formulario requiere algo de estilo y trabajo en el contenido (texto / descripciones / tipos de problemas para elegir, etc.)
@ jainaman224 Su contribución ya es un buen comienzo, y sé que esos son algunos requisitos adicionales. Eres más que bienvenido a seguir trabajando en esto si todavía estás interesado, ¡pero debes saber que no es obligatorio aceptar tu primera contribución! :)
@lnielsen @krzysztof Creo que no necesitamos mucha información del usuario. Entonces, ir de esta manera sería mejor https://github.com/jainaman224/zenodo/blob/patch-1/zenodo/modules/pages/views.py#L57 # L60. Por favor, corríjame si estoy equivocado.
Gracias
@lnielsen @krzysztof ¿ uap-python
?