Open jmerinogranizo opened 6 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.
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
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.
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'
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.
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.
En la vista de estudiante, veo:
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
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: Ni como alumno:
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.
Proponemos mostrar un icono de advertencia, junto al estado, que muestre el tooltip con el mensaje explicito.
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.
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.