Bug après dernière mise à jour (3.11.3)

Re: Bug après dernière mise à jour (3.11.3)

par Christian Bocquet,
Nombre de réponses : 32
Avatar Moodleurs particulièrement utiles

Bonjour,

Vous auriez ou vous auriez eu un champ de profil nommé groupe.

A vérifier s'il existe toujours et pourquoi il bloque la page d'enregistrement des modifications.

Pas de solution depuis votre message précédent ici ?

Christian

En réponse à Christian Bocquet

Re: Bug après dernière mise à jour (3.11.3)

par Raymond Menant,
Bonjour,

Oui, j'ai créé un champs de profil nommé groupe. Il se trouve dans une catégorie créée aussi que j'ai nommé classe.
Comment puis-je voir ce qui bloque ? Je sui allé dans la base de donnée, mais je ne sais pas où chercher l'erreur et comment la chercher.
Donc j'ai toujours le problème.
Merci pour votre aide
Raymond
En réponse à Raymond Menant

Re: Bug après dernière mise à jour (3.11.3)

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Normalement, les enregistrements se font dans la table mdl_config_plugins.

Par exemple, pour le premier réglage "Correspondance de données (groupe)" de "Base de données externe", j'obtiens dans la table cet enregistrement :

Au total, ce sont 15 enregistrements (4 réglages pour chacune des méthodes d'authentification auth_bd, auth_cas, auth_ldap et 3 réglages pour auth_shibboleth) qui se font dans cette table.

Moyenne des évaluations Utile (1)
En réponse à Christian Bocquet

Re: Bug après dernière mise à jour (3.11.3)

par Raymond Menant,
Bonjour Christian,

Merci car j'ai résolu grâce à tes indication le premier bug concernant l'impossibilité de sortir de la page "nouveaux réglages...". J'ai modifier toutes les entrées de type "field_map_profile_field_groupe" en changeant le G majuscule par un g miniscule.

Par contre, j'ai toujours le second bug quand j'active le bloc "Vue d'ensemble des cours". J'ai toujours le popup :



En fait j'ai ce popup à chaque bloc que je veux activer.

Aurais-tu une piste pour ce problème qui concerne ce bloc ?

Merci pour ton aide

Raymond
Moyenne des évaluations Utile (1)
En réponse à Raymond Menant

Re: Bug après dernière mise à jour (3.11.3)

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonsoir,

Le bloc « Vue d'ensemble des cours » est un bloc du tableau de bord. Comme il doit apparaître dans le tableau de bord par défaut de tous les utilisateurs, si vous l'avez supprimé*, il faut le recréer en passant par le chemin :
Administration du site -> Présentation -> Tableau de bord par défaut

La configuration de ce bloc (thème Boost) est celle de la copie d'écran ci-dessous :



Si ça marche, il faut ensuite "Réinitialiser le tableau de bord de tous les utilisateurs".

Christian

* En effet dans un de vos messages, vous écriviez :
"Pour l'invalicoursemodule je viens de découvrir que cela concerne le bloc "vue d'ensemble des cours". J'ai pour le moment supprimé ce bloc en attendant de trouver une solution."
A mon avis la suppression de ce bloc myoverview est à éviter.

En réponse à Christian Bocquet

Re: Bug après dernière mise à jour (3.11.3)

par Raymond Menant,
Bonsoir Christian,

Il semble que cela soit plus complexe. J'ai suivi votre démarche, mais le l'erreur apparaît. Elle apparaît d'ailleurs dès que je veux ajouter un bloc.

J'ai activé le mode debogage maximum et j'obtiens le popup suivant avec le code :


Détail du code indiqué dans la fenêtre :

Error code: invalidcoursemodule
* line 236 of /lib/modinfolib.php: moodle_exception thrown
* line 1890 of /lib/modinfolib.php: call to course_modinfo->get_cm()
* line 1078 of /lib/completionlib.php: call to cm_info::create()
* line 82 of /completion/classes/progress.php: call to completion_info->get_data()
* line 210 of /course/classes/external/course_summary_exporter.php: call to core_completion\progress::get_course_progress_percentage()
* line 62 of /course/classes/external/course_summary_exporter.php: call to core_course\external\course_summary_exporter::get_course_progress()
* line 125 of /lib/classes/external/exporter.php: call to core_course\external\course_summary_exporter->get_other_values()
* line 3880 of /course/externallib.php: call to core\external\exporter->export()
* line ? of unknownfile: call to core_course_external::{closure}()
* line 3881 of /course/externallib.php: call to array_map()
* line 261 of /lib/externallib.php: call to core_course_external::get_enrolled_courses_by_timeline_classification()
* line 81 of /lib/ajax/service.php: call to external_api::call_external_function()
Merci pour votre aide
Raymond

En réponse à Raymond Menant

Re: Bug après dernière mise à jour (3.11.3)

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour Raymond,

Il se pourrait qu'une partie du code de Moodle ne soit pas bien "arrivée" lors de la première mise à jour. Aussi, je suggère de répéter la mise à jour avec un code 3.11.3 tout neuf.
De cette façon, nous écarterions un problème de fichiers source endommagés ou incohérents.

À bientôt,
Patrick
En réponse à Patrick Lemaire

Re: Bug après dernière mise à jour (3.11.3)

par Raymond Menant,
Bonjour Patrick,

Merci pour ta réponse. Je fais la mise à jour avec le cpanel de mon hébergeur (o2switch), comment faire pour répéter la mise à jour ?

Merci

Raymond
En réponse à Raymond Menant

Re: Bug après dernière mise à jour (3.11.3)

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonjour,

Si vous faites les mises à jour avec Softaculous , je pense qu'il faudra attendre la prochaine version 3.11.4.

En réponse à Christian Bocquet

Re: Bug après dernière mise à jour (3.11.3)

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Bonjour,
Quand les mises à jour réalisées avec Softaculous sont incorrectes (très très rarement) je me vois contraint de supprimer manuellement le contenu de Moodle en conservant le config.php, (le renommer par exemple) puis de décompresser la version téléchargée sur ce site dans ce dossier en y réincorporant le config.php d'origine.
Attention, le fichier zippé de la nouvelle version de Moodle se décompresse dans un nouveau dossier "moodle". Il sera peut-être nécessaire de déplacer les fichiers dans le dossier d'origine.
Puis j'effectue les nombreuses mise à jour des plugins tiers qui ont disparus du dossier principal Moodle.
Au pire, quand une mise à jour dure très longtemps sans résultat, je demande à o2switch (à Romain par exemple...) d'essayer de faire une mise à jour pour moi.
Mais il est sans doute possible de le faire beaucoup plus simplement à l'aide du terminal sur ce dossier à l'aide d'une commande Git.
du genre :
sudo git pull
Daniel
En réponse à Raymond Menant

Re: Bug après dernière mise à jour (3.11.3)

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonjour,

Pouvez-vous accéder à la page d'accueil de tous les cours où vous êtes inscrits, c'est-à-dire ceux qui devraient apparaître dans le bloc « Vue d'ensemble des cours », sans qu'il y ait un message d'erreur ?

En réponse à Christian Bocquet

Re: Bug après dernière mise à jour (3.11.3)

par Raymond Menant,
Bonjour,

Merci pour les réponses sourire
Quand je vais dans tableau de bord, et qu'il y a le bloc "vue d'ensemble des cours" j'ai le message d'erreur.
En ouvrant les cours à venir pour vérifier, je constate que j'ai un cours qui a aussi un message d'erreur, qui ressemble à celui des blocs. Mais les autres cours n'ont pas ce problème... Bizarre ...


Bien cordialement

Raymond
En réponse à Raymond Menant

Re: Bug après dernière mise à jour (3.11.3)

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonsoir,

Je n'utilise pas le plugin tiers block_completion_progress. Je suppose que vous avez installé la dernière version compatible avec Moodle 3.11.

Dans ce cours, qui a aussi un message d'erreur, pouvez-vous vérifier que tous les modules, activités ou ressources (en espérant qu'il n'y en a pas trop), s'ouvrent sans message d'erreur ? Pour cela, vous pouvez récupérer les id des modules de ce cours dans la table mdl_course_modules.
Si le module est un devoir, on l'ouvre par l'adresse:
/mod/assign/view.php?id=xxx
Si le module est un test, on l'ouvre par l'adresse:
/mod/quiz/view.php?id=xxx
Si c'est une étiquette, on l'édite par l'adresse:
/course/modedit.php?update=xxx

etc...

Christian



En réponse à Christian Bocquet

Re: Bug après dernière mise à jour (3.11.3)

par Raymond Menant,
Bonsoir,

J'ai les ID dans la table. Quand j'appelle avec un ID d'un autre cours, cela fonctionne. Par contre les ID de ce cours aucun ne fonctionne pour aucune activité ???

Raymond
En réponse à Raymond Menant

Re: Bug après dernière mise à jour (3.11.3)

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Bonjour Raymond,
Peux-tu te connecter en tant qu'administrateur et aller dans Développement > Editeur XMLDB puis cliquer sur Vérifier les clés étrangères ?
Est-ce que tu obtiens des erreurs ?
Moyenne des évaluations Utile (1)
En réponse à Jean-Gabriel DEPINOY

Re: Bug après dernière mise à jour (3.11.3)

par Raymond Menant,

Bonjour Jean-Gabriel,

J'ai 8 erreurs. Voici le journal des erreurs : 


Mais je ne comprends pas ce que cela veut dire

Merci pour l'aide

Raymond

En réponse à Raymond Menant

Re: Bug après dernière mise à jour (3.11.3)

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Il s'agit d'erreurs que Moodle a identifiées dans ta base de données.
Tu peux lancer ces requêtes dans PhpMyAdmin (attention: il faut retirer les { } et faire précéder les noms des tables par mdl_
Tu dois ensuite supprimer le premier t1 et le premier t2 de la requête et remplacer les suivants par les noms des 2 tables concernées.
Dans ton premier exemple, ça devient:
select * from mdl_tool_dataprivacy_request left join mdl_user on mdl_tool_dataprivacy_request.dpo = mdl_user.id where mdl_tool_dataprivacy_request.dpo is not null and mdl_id is null
Tu repères les numéros des lignes à supprimer dans les tables (ici, dans la table mdl_tool_dataprivacy_request) et tu les supprimes de la base de données.
Pour la première table, tu peux supprimer tout son contenu car il est indiqué qu'elle contient 57 lignes d'erreurs alors qu'elle contient 57 enregistrements.
Moyenne des évaluations Utile (1)
En réponse à Jean-Gabriel DEPINOY

Re: Bug après dernière mise à jour (3.11.3)

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Autre piste, tu peux ajouter à la fin de l'adresse de ton site /moodle/admin/tool/health
Moodle va analyser ton site et diagnostiquer des problèmes éventuels.
Il propose normalement une solution quand il repère un problème.
Moyenne des évaluations Utile (1)
En réponse à Jean-Gabriel DEPINOY

Re: Bug après dernière mise à jour (3.11.3)

par Raymond Menant,
J'ai essayé et là il m'indique qu'il n'y a aucune erreur détectée sourire
En réponse à Raymond Menant

Re: Bug après dernière mise à jour (3.11.3)

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
C'est déjà une bonne chose.
Il reste à nettoyer la base de données avec les différentes requêtes.
En réponse à Jean-Gabriel DEPINOY

Re: Bug après dernière mise à jour (3.11.3)

par Raymond Menant,
J'ai fait ce que tu me dit. Et je vois les lignes à supprimer. Toutefois je ne trouve pas comment les supprimer car les cases à cocher ne sont pas disponibles.
J'ai une question, y aura-t-il un risque à supprimer ces lignes ?
Merci

En réponse à Raymond Menant

Re: Bug après dernière mise à jour (3.11.3)

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Tu as 2 solutions :
Première solution: tu ouvres dans une deuxième page PhpMyAdmin la table mdltt_grade_item_history, et tu supprimes toutes les lignes qui ont pour ID ceux qui sont donnés par ta requête (1569, 1570, 1571, 1572, 1857, ...).
Deuxième solution: tu transformes ta requête avec un DELETE au lieu d'un SELECT. Mais attention, la requête change de syntaxe. Il faut taper:
DELETE mdltt_grade_item_history FROM mdltt_grade_item_history LEFT JOIN mdltt_course ON mdltt_grade_item_history.courseid=mdltt_course.id WHERE mdltt_grade_item_history.courseid IS NOT NULL AND mdltt_courseid IS NULL
En fait, il faut remplacer le SELECT par le DELETE et le * par le nom de la première table.
Par précaution, fais une copie de ta base avant de faire la manip, mais pour ma part, je n'ai jamais eu aucun problème depuis de nombreuses années que je procède ainsi.
Une fois que tu as exécuté la requête DELETE, il indique le nombre de lignes de ta base de données supprimées. Par précaution, vérifie bien que ça correspond au nombre indiqué par Moodle sur la page qui propose les requêtes à taper.
Moyenne des évaluations Utile (1)
En réponse à Jean-Gabriel DEPINOY

Re: Bug après dernière mise à jour (3.11.3)

par Raymond Menant,
Bonjour Jean-Gabriel,

Merci encore pour ton aide.
J'ai suivi tes recommandations et cela fonctionne, j'ai pu nettoyer la base. Et je n'ai plus le bug "Invalidcoursemobile".

Mais la restauration d'un cours (retrouvé grâce à un autre fil de discussion) reproduit des violations. Et le cours ne s'ouvre pas alors que la restauration se passe bien, je vois les sections, je peux choisir ce que je veux restaurer...
Y a-t-il une possibilité de solutionner cela pour toi et pourquoi cette restauration reproduit des violations des extérieures ?

Merci pour l'aide

Raymond

En réponse à Raymond Menant

Re: Bug après dernière mise à jour (3.11.3)

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonsoir Raymond,

Si tu n'as plus le bug "Invalidcoursemobile" en ouvrant le seul cours qui posait problème, il me semble qu'il n'est plus utile d'essayer de le restaurer à partir d'une sauvegarde, qui pourrait être corrompue... non ..?

Christian

En réponse à Christian Bocquet

Re: Bug après dernière mise à jour (3.11.3)

par Raymond Menant,
Bonsoir Christian,

En fait le bug "Invalidcoursemobile" je l'avais lorsque j'activais le bloc "vue d'ensemble des cours"
Pour le cours c'est après que j'ai vu que ce cours était corrompu.
J'aimerais le récupérer si c'est possible.
Raymond
En réponse à Raymond Menant

Re: Bug après dernière mise à jour (3.11.3)

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
C'est difficile de répondre comme ça.
J'essaye de comprendre pourquoi ton cours ne fonctionne pas.
Soit ta sauvegarde est corrompue (mais tu avais déjà l'erreur avant de restaurer le cours).
Sinon, je me demande si tu n'aurais pas supprimé un plugin depuis la création de ce cours qui serait utilisé uniquement dans ce cours ?
Peut-être que d'autres personnes auront d'autres pistes et sauront décrypter les messages d'erreur.
En réponse à Jean-Gabriel DEPINOY

Re: Bug après dernière mise à jour (3.11.3)

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Est-ce que l'éditeur XMLDB donne les mêmes requêtes et les mêmes erreurs que la première fois ?
En réponse à Jean-Gabriel DEPINOY

Re: Bug après dernière mise à jour (3.11.3)

par Raymond Menant,

Bonsoir,

Il y a des ressemblances et des différences :


Merci pour l'expertise

Raymond

En réponse à Raymond Menant

Re: Bug après dernière mise à jour (3.11.3)

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
Désolé mais la capture d'écran n'est pas lisible. Pourrais-tu en redéposer une avec une meilleure résolution pour vérifier les requêtes qu'il propose ?
En réponse à Jean-Gabriel DEPINOY

Re: Bug après dernière mise à jour (3.11.3)

par Raymond Menant,

Bonjour Jean-Gabriel,

Voici une capture que j'espère de meilleure qualité (il faut éviter de se mettre en réponses emboitées pour être plus lisible me semble-t-il)

Merci pour l'aide


En réponse à Raymond Menant

Re: Bug après dernière mise à jour (3.11.3)

par Jean-Gabriel DEPINOY,
Avatar Moodleurs particulièrement utiles
OK. Maintenant, est-ce que tu pourrais donner les captures d'écran des résultats de chacune de ces requêtes. Il semblerait que ce cours crée notamment des problèmes dans les notes.
Tu peux me les envoyer en messagerie privée si tu préfères pour ne pas trop surcharger cette discussion.
(Merci pour le tuyau des réponses emboîtées, je n'avais jamais remarqué... On en apprend tous les jours 😃).
En réponse à Christian Bocquet

Re: Bug après dernière mise à jour (3.11.3)

par Raymond Menant,
Bonjour,

Ce problème est résolu. J'ai remplacé dans la base les champs qui avaient groupe avec un G Majuscule, par un g minuscule.

Merci
Raymond
Moyenne des évaluations Utile (1)