chamilo / chamilo-lms

Chamilo is a learning management system focused on ease of use and accessibility
https://chamilo.org
GNU General Public License v3.0
804 stars 480 forks source link

Message d'erreur alléatoire en visonnement d'un parcours #2751

Closed andreboivin closed 4 years ago

andreboivin commented 5 years ago

Décrivez le problème Fri Dec 07 08:05:54.953373 2018] [:error] [pid 30825] [client 204.19.80.254:49193] New LP - scorm_api - Could not load oItem item, referer: https://www.ticformation.ca/main/lp/lp_controller.php?action=view&lp_id=92&id_session=0&cidReq=REMPLACEMENTDECOMPOSANTSMOD52017&id_session=0&gidReq=0&gradebook=0&origin=

Comment le reproduire Aucune idée, j'ai refait le même parcours sans problème

Comportement attendu

Bureau (à compléter au mieux):

**Serveur

Contexte additionnel Le problème était présent avec les versions précédentes de Chamilo (1.11...) Dans le log des accès apache: 204.19.80.254 - - [07/Dec/2018:08:05:54 -0500] "GET /main/lp/scorm_api.php HTTP/1.1" 200 479 "https://www.ticformation.ca/main/lp/lp_controller.php?action=view&lp_id=92&id_session=0&cidReq=REMPLACEMENTDECOMPOSANTSMOD52017&id_session=0&gidReq=0&gradebook=0&origin=" "Mozilla/5.0 (Windows NT 6.1; rv:63.0) Gecko/20100101 Firefox/63.0"

Est-ce qu'il y aurait une façon de voir quel élément du parcours est en faute?

Coursenligne commented 5 years ago

Peut-être lié à un souci que je viens d'avoir. Création d'un module avec le logiciel auteur => OK avec test. Export/import du module => OK Accès au module : 2 étapes OK, puis à la 3ème, message indiquant que je n'ai pas accès ou que la session a expiré. Affichage des champs pour se loguer. Après login : gros message d'erreur. Point noté : lorsque la souris survole un point du sommaire du cours, un affichage montre que l'accès n'est pas autorisé.

Test croisé : Import du cours dans un cours existant de test (et fonctionnel). Le souci persiste. Je joins un PDF montrant le phénomène. erreur_plate_forme.pdf

Nota le serveur est bien en mode production.

Coursenligne commented 5 years ago

Piste : J'ai installé une préprod et une prod sur le même ordinateur. Les deux plateformes pointent sur la même instance de PHPMyadmin, mais avec un nom différent pour les 2 BDD Chamilo, et bien entendu des noms d'utilisateurs différents. Il semble que le cloisonnement des deux BDD se fasse mal côté serveur (WAMP). J'ai retiré la préprod et, à priori, le souci est réglé.

ywarnier commented 5 years ago

Bonjour @andreboivin Le message d'erreur lui-même est assez courant et pas du tout important: les parcours utilisant beaucoup JavaScript, il arrive assez souvent que plusieurs messages soient envoyés en même temps du navigateur au serveur, et que 2 messages (A puis B pour l'exemple) soient envoyés dans cet ordre mais arrivent au serveur dans un ordre différent (B puis A), ce qui met le message "A" (qui était sensé arriver avant) dans une situation ambigüe, pour laquelle il ne trouve plus les objets qu'il attendait (parce que ces objets ont été "nettoyés" par B en attendant).

ywarnier commented 5 years ago

@Coursenligne problème non lié, mais si tu fais une copie de prod vers preprod sur le même serveur, Chamilo ne mélange pas les DBs. Par contre, il mélange les URLs si celles-ci n'ont pas été nettoyées manuellement. Une bonne méthode pour éviter ça est de faire un dump SQL de prod et, avant de le restaurer comme préprod, d'y remplacer toutes les occurences de l'URL de prod par l'URL de préprod. En parallèle, aussi remplacer toutes les occurences de l'URL de prod dans le répertoire app/ du portail préprod (une fois copié, sinon tu vas casser la BdD de prod).