UNIMOODLE / p31_mod

GNU General Public License v3.0
0 stars 0 forks source link

Validación "WEBSERVICE" #47

Open jmerinogranizo opened 6 days ago

jmerinogranizo commented 6 days ago

Si no recuerdo mal de las reuniones realizadas, cuando existía una actividad de certificado con validación de tipo "WEBSERVICE", cuando un usuario lo solicitaba la emisión ya sea certificado de alumno como de profesor, debía aparecerle en estado en progreso e incluyéndole un mensaje que debía solicitarlo vía el sistema externo (administración electrónica o lo que fuera).

Al ejecutar las tareas programadas, se sigue quedando en progreso (como debe) pero no se muestra mensaje.

juacas commented 5 days ago

Cierto, los plugins tienen que implementar un método que devuelva un texto para mostrar junto al estado actual de la petición. Por ejemplo get_state_description() o similar.

elena3ip commented 5 days ago

Está en el código, rama develop, función get_status_messages()

El estado en vez de ser un string, es un button que al pinchar sale un tooltip con el mensaje image

jmerinogranizo commented 5 days ago

Ya lo veo Elena, no me había dado cuenta. No sé si el profesor se dará cuenta o no. En el caso en que lo mantengamos de esa manera, creo que debería ser un texto a incluir en un settings del subplugin y que fuera multiidioma como por ejemplo el settings del core custommenuitems.

elena3ip commented 5 days ago

Ya es multiidioma, podeis cambiar el mensaje desde la personalización de idiomas de la plataforma, basta con buscar el texto con clave 'inprogress_msg' del plugin 'certifygenvalidation_webservice'

jmerinogranizo commented 5 days ago

Hola Elena, pero un usuario administrador neofito sabría acceder a los lang y luego tenerlo en cuenta en cada actualización. A ver qué comentan mis compañeros.

juacas commented 5 days ago

La internacionalización está bien así: los textos se personalizan por configuración de los "languagepacks" en el menú de idiomas de Moodle y no se pierden en las actualizaciones.

No obstante, algo raro pasa en mi equipo:

En la vista /mod/certifygen/view.php?id=xxx del profesor no se ve el botón ni el texto. image

En la vista de estudiante, veo: image

No veo ni botón ni el texto del status.

Al menos el solicitante debería ver el mensaje explícitamente en la pantalla. De todas formas: El tooltip no es adecuado para esta información.

Aparece un warning:

( ! ) Warning: Attempt to read property "id" on string in /var/www/html/moodle40/lib/classes/event/base.php on line 907
--
Argument $record must be an instance of stdClass.
line 894 of /lib/classes/event/base.php: call to debugging()
line 64 of /mod/certifygen/view.php: call to core\event\base->add_record_snapshot()
Fields list in snapshot record does not match fields list in 'certifygen'. Record is missing fields: id, course, modelid, name, intro, introformat, usermodified, timecreated, timemodified
line 903 of /lib/classes/event/base.php: call to debugging()
line 64 of /mod/certifygen/view.php: call to core\event\base->add_record_snapshot()

1 | 0.0040 | 381800 | {main}( ) | .../view.php:0
2 | 0.1175 | 2758848 | core\event\base->add_record_snapshot( $tablename = 'certifygen', $record = '1' ) | .../view.php:64

¿Será algún problema de actualización del modelo de base de datos?

Version plugin: 2024091104 Version moodle: 4.1.7 Commit: commit 1da10bc04b20713e35a86b17eafcb572bb7f8222 Author: elena elena@tresipunt.com Date: Thu Sep 12 23:59:53 2024 +0200

jmerinogranizo commented 2 days ago

Dicho queda entonces. Acepto que se cambie en la personalización del idioma en vez de como settings. Espero que no haya gente que no sepa hacerlo. En cuanto al error, a mí no me da ni como profesor: imagen Ni como alumno: imagen

De todas formas, estoy de acuerdo con Juan Pablo:

Al menos el solicitante debería ver el mensaje explícitamente en la pantalla. De todas formas: El tooltip no es adecuado para esta información.

No sé cómo de complicado será cambiarlo a mensaje explícito, ya que un porcentaje de usuarios no se dará cuenta que tiene que pasar por encima del texto del estado.

xpazv commented 2 days ago

Proponemos mostrar un icono de advertencia, junto al estado, que muestre el tooltip con el mensaje explicito.

juacas commented 2 days ago

Prefiero que la columna "Estado" tenga un texto completo. No veo la necesidad de usar un componente tipo Botón para un elemento del UI que no desencadena una acción. Los botones son para las acciones. Las etiquetas para la información al usuario. Además el mensaje devuelto por el método get_status_messages() es de interés directo en todo momento, por lo menos para el solicitante.

Veo cierta utilidad que en las vistas de administrador se reduzca la información de los listados para no saturar el UI, pero no en las vistas de los solicitantes donde toda la información útil debe mostrarse explícitamente.