perte des discussions dans les forums

perte des discussions dans les forums

par Chambrin Jean-Yves,
Nombre de réponses : 18
Bonjour,
Une aventure qui m'était déjà arrivée lors de mes premiers essais:
J'ai perdu toutes mes discussions de forum sur la plateforme.
J'ai vérifié mes tables de formum qui semblent être correctes:
Les forums sont bien référenciés
Les discussions aussi
mais rien ne s'affiche sur la plateforme.


Les affichages sont contradictoires, car il me trouve bien le nombre de discussions ouvertes ( dans la liste des forums) mais ne m'n affiche aucune en me disant qu'il n'y a pas de discussion d'ouverte.
Je crèe une nouvelle discussion eslle est correctement ajoutée, mais n'apparaît pas non plus

Si quelqu'un a déjà eu le pb?
Jean-Yves
Moyenne des évaluations  -
En réponse à Chambrin Jean-Yves

Re: perte des discussions dans les forums

par Chambrin Jean-Yves,
Bonjour,
Je viens après avoir tenté plusieurs solutions de réinstallerune version vierge de moodle et je retrouve le même problème:
-Pas d'affichage des files de discussion dans moodle
-Si je consulte les discussions associées à un utilisateur (messages des forums dans le profil de l'utilisateur), elles s'affichent correctement.
Je n'y comprend plus rien
JYC
En réponse à Chambrin Jean-Yves

Re: perte des discussions dans les forums

par Chambrin Jean-Yves,
Bonjour,
Je me sens un peu seul face à un pb sans doute serveur
Après avoir activé le report d'erreur php, voici le message que j'obtiens:



Unknown column 'd.usermodified' in 'on clause'

SELECT p.id,p.subject,p.modified,p.discussion,p.userid, d.name, d.timemodified, d.usermodified, d.groupid, u.firstname, u.lastname, u.email, u.picture , um.firstname AS umfirstname, um.lastname AS umlastname FROM mdl_forum_discussions d, mdl_forum_posts p, mdl_user u LEFT JOIN mdl_user um on (d.usermodified = um.id) WHERE d.forum = '3' AND p.discussion = d.id AND p.parent = 0 AND p.userid = u.id ORDER BY d.timemodified DESC

(Il n'y a pas encore de sujet de discussion dans ce forum)

Alors qu'il existe bien des messages
ci-joint le contenu des tables forum et forum_discussion

Annexe ScreenHunter_009.jpg
En réponse à Chambrin Jean-Yves

Re: perte des discussions dans les forums

par Chambrin Jean-Yves,
Je continue à me répondre,
J'ai lancé la requête proposée et affichée comme erreur directement dans phpmyadmin et j'ai eu le même message d'erreur sur d.usermodified dans la clause JOIN. Je commence a me demander si mes pbs ne sont pas apparus lors du passage à MySQL 5
MySQL 5.0.13-rc-Debian_0
Visiblement la requete
SELECT p.id,p.subject,p.modified,p.discussion,p.userid, d.name, d.timemodified, d.usermodified, d.groupid, u.firstname, u.lastname, u.email, u.picture , um.firstname AS umfirstname, um.lastname AS umlastname FROM mdl_forum_discussions d, mdl_forum_posts p, mdl_user u LEFT JOIN mdl_user um on (d.usermodified = um.id) WHERE d.forum = '3' AND p.discussion = d.id AND p.parent = 0 AND p.userid = u.id ORDER BY d.timemodified DESC
n'est pas acceptée
Y aurait-il un spécialiste de MySql?
En réponse à Chambrin Jean-Yves

Re: perte des discussions dans les forums

par Chambrin Jean-Yves,
Bonjour,
Suite et fin
Décidément, j'ai l'impression de naviguer seul, mais je continue.

J'ai trouvé les corrections à faire, mais je ne suis pas sûr que ce soit les seules, pour tous ceux qui envisagent une mise à jour de MySQL, il faut modifier le fichier
/moodle/mod/forum/lib.php
à partir de la ligne 1298 (ajouter des paranthèses dans la clause WHERE)

Ci joint le fichier corrigé, est-il possible de transmettre le post sur les instances de développement pour en vérifier le bien fondé. Je ne suis qu'un développeur du dimanche.
grand souriregrand sourireMes forums sont réapparusgrand sourire
Ton avis Nicolas ?
Jean-Yves

En réponse à Chambrin Jean-Yves

Re: perte des discussions dans les forums

par Chambrin Jean-Yves,
Bonjour
je continue mon solo, mais je pense que cela devrait intéresser quelques administrateurs
La requete incriminée est la suivante dans la page d'affichage des discussions d'un forum

SELECT p.id,p.subject,p.modified,p.discussion,p.userid, d.name, d.timemodified, d.usermodified, d.groupid, u.firstname, u.lastname, u.email, u.picture , um.firstname AS umfirstname, um.lastname AS umlastname FROM mdl_forum_discussions d, mdl_forum_posts p, mdl_user u LEFT JOIN mdl_user um on (d.usermodified = um.id) WHERE d.forum = '3' AND p.discussion = d.id AND p.parent = 0 AND p.userid = u.id ORDER BY d.timemodified DESC

après visite du site
http://dev.mysql.com/doc/refman/5.0/en/upgrading-from-4-1.html
j'ai trouvé l'erreur dans la requete
la version 5 nécessite l'usage des parenthèzes

SELECT p.id,p.subject,p.modified,p.discussion,p.userid, d.name, d.timemodified, d.usermodified, d.groupid, u.firstname, u.lastname, u.email, u.picture , um.firstname AS umfirstname, um.lastname AS umlastname FROM (mdl_forum_discussions d, mdl_forum_posts p, mdl_user u) LEFT JOIN mdl_user um on (d.usermodified = um.id) WHERE d.forum = '3' AND p.discussion = d.id AND p.parent = 0 AND p.userid = u.id ORDER BY d.timemodified DESC

cette fois la requête passe bien
Il me reste à vérifier dans quel fichier c'est écrit pour modif.
Peut-être que Nicolas a un tuyau et peut-être faudrait-il renvoyer le message vers les équipes de dévelloppement?
Jean-Yves
A suivre...
Moyenne des évaluations Utile (1)
En réponse à Chambrin Jean-Yves

Re: perte des discussions dans les forums

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Bonjour,

et bravo pour tes investigations sourire

A mon sens, oui, il faut faire suivre le problème, et sa solution vers les équipes de développement !

Juste par curiosité, quelle version exacte de Moodle as tu utilisé pour tes tests ?
Car peut-être (à vérifier) que ton problème aurait été corrigé dans les mises à jour quotidiennes...
En réponse à Chambrin Jean-Yves

Re: perte des discussions dans les forums

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Non, je ne sais pas de quel fichier il s'agit triste, mais tout comme Séverin, je suis d'avis qu'il est indispensable de remonter le bogue : http://moodle.org/bugs/
En réponse à Nicolas Martignoni

Re: perte des discussions dans les forums

par Chambrin Jean-Yves,
Le fichier n'est pas passé,je transmet l'extrait à modifier

return get_records_sql("SELECT $postdata, d.name, d.timemodified, d.usermodified, d.groupid,
                                   u.firstname, u.lastname, u.email, u.picture $umfields
                              FROM ( {$CFG->prefix}forum_discussions d,
                                   {$CFG->prefix}forum_posts p,
                                   {$CFG->prefix}user u ) 
                                   $umtable
                             WHERE d.forum = '$forum'
                               AND p.discussion = d.id
                               AND p.parent = 0
                               AND p.userid = u.id $groupselect $userselect
                          ORDER BY $forumsort $limit");
c'est /moodle/mod/forum/lib.php
la première paranthèse est ligne 1298
J'ai téléchargé cette version 1.52 Built Daily il y a deux jours

Mon anglais est trop approximatif pour faire un post en anglais
Jean-Yves

En réponse à Chambrin Jean-Yves

Re: perte des discussions dans les forums

par Vincent Mabillot,
Je confirme l'efficacité de la solution.
(faudrait que je fasse une mise à jour avec la 1.5.3+... mais j'ai pas le temps de prendre le risque d'un upgrade)

Ce qui m'étonne c'est le brusque changement.
Mes forums fonctionnaient parfaitement il y a encore quelques jours et soudain plus de visualisation, d'affichage correct de ceux-ci.

Je soupçonne mon hébergeur (free.fr) d'avoir fait un upgrade de mysql... de l'inconvénient d'utiliser un hébergeur gratos... mais tous les hébergeurs payants ne sont pas plus sérieux sur les infos techniques.
En réponse à Vincent Mabillot

Re: perte des discussions dans les forums

par Chambrin Jean-Yves,
Bonjour Vincent,
Jusqu'à présent, je fais des upgrates assez régulièrement de ma plateforme, et je n'ai j'amais eu de pépin de migration (bien sur, il peut y avoir un début à tout). Il me semble que le mode de fonctionnement de Moodle permet d'avoir une bonne confiance dans le processus. Cela ne veut pas dire qu'il ne faut pas faire de sauvegarde régulièrement.
Pour ma part, je sauvegarde automatiquement toutes les nuits sur un autre serveur les dossiers Moodledata et le dosssier Mysql/Moodle en conservant en archive les sauvegardes J, J-1 et J-7 ce qui me permet de minimiser la place.
Les difficultés que je rencontre (pour ne pas avoir pris le temps d'étudier une solution stable et commode) c'est dans les modifications que je peux apporter à Moodle
Celle-ci sont à renégocier après chaque mise à jour triste
Un peu d'ordre (et moins de pression) me permettrais sans doute de résoudre ce pb.sourire
Jean-Yves

En réponse à Chambrin Jean-Yves

Re: perte des discussions dans les forums

par Vincent Mabillot,
Méthodiquement, tes précautions sont pertinentes.
En fait je relatais un upgrade "discret" de MySql par mon hébergeur et dont je n'ai pas été informé. Car il y a quelques jours tout marchais convenablement au niveau des forums et sans qu'il n'y ait eu de modifs des scripts moodle, il y a eu des dysfonctionnements.
Après vérification, j'ai constaté qu'en effet free.fr est passé d'un mysql4 à mysql5
En réponse à Vincent Mabillot

Re: perte des discussions dans les forums

par Ludovic Dr,
une question a propos des forums (pour pas reouvrir un sujet...), si on supprime un utilisateur de la base de donnée de moodle, est ce que les messages qu'il aura posté dans les forums seront perdus ?
En réponse à Ludovic Dr

Re: perte des discussions dans les forums

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Non, ses messages seront conservés.

En fait, lorsque l'on supprime un utilisateur d'un Moodle à l'interface graphique, il n'est pas vraiment effacé, mais simplement marqué comme n'existant plus.
Moyenne des évaluations Utile (1)
En réponse à Nicolas Martignoni

Re: perte des discussions dans les forums

par Chambrin Jean-Yves,
Bonjour,
Non, mais ..... à priori ...

Si tu supprimes l'utilisateur ...de la base de donnée, les messages ne sont plus affichés
JY
En réponse à Chambrin Jean-Yves

Re: perte des discussions dans les forums

par Jo Lopez,

même problème en Finlande triste

Georges

En réponse à Jo Lopez

Re: perte des discussions dans les forums

par Jo Lopez,

Bonjour Jean-Yves

La solution est sur le forum anglais

I found the problem and the solution. It looks like it might be a result of a change in MySQL 5. It has to do with the order of the tables in the FROM clause in the SQL statement. On line 1296 of mod/forum/lib.php you need to change the order of the FROM clause. This is what it should look like:

FROM {$CFG->prefix}user u,
{$CFG->prefix}forum_posts p,
{$CFG->prefix}forum_discussions d

Notice that I changed the order of the user table and the forum_discussion table.

Grâce à ce message, nous avons résolu notre problème en Finlande.

Est-ce que cela t'aide ?

Georges

En réponse à Jo Lopez

Re: perte des discussions dans les forums

par Chambrin Jean-Yves,
Bonjour,
Pour l'instant, je suis resté à MySQL 4, mais j'ai vu passer me
semble-t-il un POST de Nicolas nous avisant que le pb était réglé avec la 1.5.3+
Merci
Jean-Yves