[Résolu] portage Dokeos 2.0 Chamilo

Moderator: Coursenligne

[Résolu] portage Dokeos 2.0 Chamilo

Postby lverdier » Sat Nov 05, 2011 1:33 am

Bonsoir,
Pour que les collègues et élèves puissent travailler dès lundi je voudrais me faire un programme php qui entre dans les deux systèmes afin de d'importer les utilisateurs profs (login/passwd) et les documents dans la version stable de chamilo :
- Récupérer les utilisateurs de dokeos dont le mdp md5 et le recréer dans chamilo : quelles tables sont à lire et à modifier
- recréer les jonctions profs-cours : quelles tables et quels champs ? (les cours on t bien été recrées via la création en lots)

Ensuite je voudrais importer le contenu des cours et plus particilèrement les pj :
- déplacement physique des fichiers et répertoires
- créations des entrées dans les tables cours correspondantes
idem, quelles tables et quels champs ?

Merci de votre aide, bien entendu je mettrai mon code et mes retours d'xp en ligne
lverdier
 
Posts: 55
Joined: Wed Jan 12, 2011 9:52 am

Re: portage Dokeos 2.0 Chamilo

Postby dauzeine » Sat Nov 05, 2011 9:28 am

bonjour
pour les user/pwd : la table est 'main_user'
pour les formations : toutes les tables commençant par 'course'
Ce que je dis là est pour Chamilo bien entendu.
david
dauzeine
 
Posts: 121
Joined: Wed Jan 20, 2010 5:58 am

Re: portage Dokeos 2.0 Chamilo

Postby ywarnier » Sat Nov 05, 2011 2:12 pm

Bonjour lverdier,

Pour les utilisateurs, je ne pense pas qu'il y ait de grande variation. À mon avis tu peux passer les éléments de la table main_user tels quels de D à C.

Pour les relations cours-profs (à moins que tu n'utilises les sessions), il suffira de passer la table course_rel_user (en entier). Pas non plus de modification majeure de ce côté.

Pour la migration des cours et de leur contenu, et au lieu de recommencer à zéro, je te suggère *très fortement* de ne pas recommencer depuis 0 mais de jeter un oeil au code disponible dans le répertoire main/coursecopy/ et en particulier à import_backup.php (et aux différentes classes définies dans le répertoire "classes/".

Tu découvriras probablement qu'il ne manque que 2-3 choses pour que ça fonctionne avec le format Dok€os, et ce sera beaucoup plus réutilisable pour nous par la suite.

Mon intuition est qu'ils ont simplement changé de façon peu originale le nom de quelques éléments. Une façon rapide de savoir ce qu'il en est serait de:
- créer un cours avec un document dans Chamilo
- créer un cours avec le même document dans D.
- comparer les fichiers de data des deux paquets

En effet, les fichiers de data sont simplement des structures d'objets en PHP qui ont été "sérialisées" (aplaties dans un format de simple string texte). C'est donc assez facile à lire à l'oeil nu, et aussi à comparer.

Soit dit en passant, merci de nous joindre (dans ce forum) un fichier .dat issu de Dok€os, ça nous facilitera le travail pour t'aider par la suite.
ywarnier
 
Posts: 983
Joined: Wed Dec 16, 2009 3:12 pm

Re: portage Dokeos 2.0 Chamilo

Postby lverdier » Sun Nov 06, 2011 6:00 pm

Merci pour ta réponse, j'y ai travaillé tout ce WE,

Voilà quelle a été ma démarche :
1 - Copie des fichiers via un script bash
2 - Installation en ligne via l'interface http
3 - Création des catégories de cours (via import sql dans la table course_category)
4 - Importation des utilisateurs à partir de l'export csv de dokeos2
5 - Importation des classes via script php (solution locale)
6 - Association élèves-classes via script php (solution locale)
7 - Attribution des bons mdp hashés md5 via script php (solution locale)
8 - Importation des cours : l'export Dokeos ne contient pas le username comme l'attend chamilo mais le couple prenom nom -> synchronisation difficile des utilisateurs !
9 - Importation des utilisateurs dans les cours : il faut croiser les tables user et course_rel_user des deux système. Fait via un script php (solution locale)
10 - Importation des documents liés aux cours :
pour chacune des sous-bases des cours je remplie la table document avec le chemin poitant vers le folder ou le file, j'ai testé avec les répertoires que j'ai copié dans les différents "course/document" mais ça ne marche pas. je ne vois pas pourquoi.

Du coup j'ai regardé sur le serveur les cours créés par Chamilo dans l'arborescence, et je vois :
document dropbox group index.php page scorm temp upload work

Rien de particulier qui fasse que les répertoires créés n'apparaissent pas.

Où est la ruse ?
lverdier
 
Posts: 55
Joined: Wed Jan 12, 2011 9:52 am

Re: portage Dokeos 2.0 Chamilo

Postby lverdier » Sun Nov 06, 2011 6:05 pm

Voilà le fichier dat d'un des cours généré par dokeos2, que même dokeos2 ne peut pas lire...
Attachments
course_info.dat.zip
Fichier dat compressé
(24.2 KiB) Downloaded 44 times
lverdier
 
Posts: 55
Joined: Wed Jan 12, 2011 9:52 am

Re: portage Dokeos 2.0 Chamilo

Postby ywarnier » Sun Nov 06, 2011 7:14 pm

La "ruse" pour les documents est que leur visibilité est déclarée dans la table item_property de chaque cours. Typiquement un type d'outil "document", un type d'action "DocumentAdded", un responsable sous forme de l'ID utilisateur, une référence au document lui-même (=son ID dans la table "document") et une visibilité ("1" pour visible). Le reste est plus ou moins évident.
ywarnier
 
Posts: 983
Joined: Wed Dec 16, 2009 3:12 pm

Re: portage Dokeos 2.0 Chamilo

Postby lverdier » Sun Nov 06, 2011 11:10 pm

Super, je me penche là-dessus demain et je vous tiens au courant.
Merci.
lverdier
 
Posts: 55
Joined: Wed Jan 12, 2011 9:52 am

Re: portage Dokeos 2.0 Chamilo

Postby lverdier » Tue Nov 08, 2011 8:49 am

Au niveau de la structure des tables il y a tout de même quelque chose que je trouve illogique autant dans dokeos que dans chamilo :
pourquoi y a t-il une entrée "tutor_name" alors que ce champ n'a aucune existante sachant qu'il est composé par la concaténation deux champs de la table "user" ? Pourquoi simplement ne pas mettre "tutor_user_id" qui pointerait vers le "user_id" ?
lverdier
 
Posts: 55
Joined: Wed Jan 12, 2011 9:52 am

Re: portage Dokeos 2.0 Chamilo

Postby lverdier » Tue Nov 08, 2011 11:38 am

Ca y est, j'ai pu transporter les pj par une copie physique des fichiers dans les bon répertoires, leur déclaration dans la table document de la base du cours, et par la déclaration dans la table property.
Merci de votre aide !
lverdier
 
Posts: 55
Joined: Wed Jan 12, 2011 9:52 am

Re: portage Dokeos 2.0 Chamilo

Postby ywarnier » Sat Apr 07, 2012 10:16 pm

Bonjour Laurent,

Comme ça fait un certain temps que ce fil de discussion n'avance plus et que tu as apparemment pu migrer sans problème majeur, ce serait intéressant de partager les éléments scriptés de ta migration, histoire que d'autres puissent en profiter.

Si tu as des doutes sur l'utilité du processus, disons que le rendre publique permet *au moins* de récupérer le code toi-même si tu venais un jour à en avoir besoin d'ici quelques mois.

Yannick
ywarnier
 
Posts: 983
Joined: Wed Dec 16, 2009 3:12 pm

Next

Return to French

Who is online

Users browsing this forum: No registered users and 1 guest

cron

[Résolu] portage Dokeos 2.0 Chamilo

Moderator: Coursenligne

[Résolu] portage Dokeos 2.0 Chamilo

Postby lverdier » Sat Nov 05, 2011 1:33 am

Bonsoir,
Pour que les collègues et élèves puissent travailler dès lundi je voudrais me faire un programme php qui entre dans les deux systèmes afin de d'importer les utilisateurs profs (login/passwd) et les documents dans la version stable de chamilo :
- Récupérer les utilisateurs de dokeos dont le mdp md5 et le recréer dans chamilo : quelles tables sont à lire et à modifier
- recréer les jonctions profs-cours : quelles tables et quels champs ? (les cours on t bien été recrées via la création en lots)

Ensuite je voudrais importer le contenu des cours et plus particilèrement les pj :
- déplacement physique des fichiers et répertoires
- créations des entrées dans les tables cours correspondantes
idem, quelles tables et quels champs ?

Merci de votre aide, bien entendu je mettrai mon code et mes retours d'xp en ligne
lverdier
 
Posts: 55
Joined: Wed Jan 12, 2011 9:52 am

Re: portage Dokeos 2.0 Chamilo

Postby dauzeine » Sat Nov 05, 2011 9:28 am

bonjour
pour les user/pwd : la table est 'main_user'
pour les formations : toutes les tables commençant par 'course'
Ce que je dis là est pour Chamilo bien entendu.
david
dauzeine
 
Posts: 121
Joined: Wed Jan 20, 2010 5:58 am

Re: portage Dokeos 2.0 Chamilo

Postby ywarnier » Sat Nov 05, 2011 2:12 pm

Bonjour lverdier,

Pour les utilisateurs, je ne pense pas qu'il y ait de grande variation. À mon avis tu peux passer les éléments de la table main_user tels quels de D à C.

Pour les relations cours-profs (à moins que tu n'utilises les sessions), il suffira de passer la table course_rel_user (en entier). Pas non plus de modification majeure de ce côté.

Pour la migration des cours et de leur contenu, et au lieu de recommencer à zéro, je te suggère *très fortement* de ne pas recommencer depuis 0 mais de jeter un oeil au code disponible dans le répertoire main/coursecopy/ et en particulier à import_backup.php (et aux différentes classes définies dans le répertoire "classes/".

Tu découvriras probablement qu'il ne manque que 2-3 choses pour que ça fonctionne avec le format Dok€os, et ce sera beaucoup plus réutilisable pour nous par la suite.

Mon intuition est qu'ils ont simplement changé de façon peu originale le nom de quelques éléments. Une façon rapide de savoir ce qu'il en est serait de:
- créer un cours avec un document dans Chamilo
- créer un cours avec le même document dans D.
- comparer les fichiers de data des deux paquets

En effet, les fichiers de data sont simplement des structures d'objets en PHP qui ont été "sérialisées" (aplaties dans un format de simple string texte). C'est donc assez facile à lire à l'oeil nu, et aussi à comparer.

Soit dit en passant, merci de nous joindre (dans ce forum) un fichier .dat issu de Dok€os, ça nous facilitera le travail pour t'aider par la suite.
ywarnier
 
Posts: 983
Joined: Wed Dec 16, 2009 3:12 pm

Re: portage Dokeos 2.0 Chamilo

Postby lverdier » Sun Nov 06, 2011 6:00 pm

Merci pour ta réponse, j'y ai travaillé tout ce WE,

Voilà quelle a été ma démarche :
1 - Copie des fichiers via un script bash
2 - Installation en ligne via l'interface http
3 - Création des catégories de cours (via import sql dans la table course_category)
4 - Importation des utilisateurs à partir de l'export csv de dokeos2
5 - Importation des classes via script php (solution locale)
6 - Association élèves-classes via script php (solution locale)
7 - Attribution des bons mdp hashés md5 via script php (solution locale)
8 - Importation des cours : l'export Dokeos ne contient pas le username comme l'attend chamilo mais le couple prenom nom -> synchronisation difficile des utilisateurs !
9 - Importation des utilisateurs dans les cours : il faut croiser les tables user et course_rel_user des deux système. Fait via un script php (solution locale)
10 - Importation des documents liés aux cours :
pour chacune des sous-bases des cours je remplie la table document avec le chemin poitant vers le folder ou le file, j'ai testé avec les répertoires que j'ai copié dans les différents "course/document" mais ça ne marche pas. je ne vois pas pourquoi.

Du coup j'ai regardé sur le serveur les cours créés par Chamilo dans l'arborescence, et je vois :
document dropbox group index.php page scorm temp upload work

Rien de particulier qui fasse que les répertoires créés n'apparaissent pas.

Où est la ruse ?
lverdier
 
Posts: 55
Joined: Wed Jan 12, 2011 9:52 am

Re: portage Dokeos 2.0 Chamilo

Postby lverdier » Sun Nov 06, 2011 6:05 pm

Voilà le fichier dat d'un des cours généré par dokeos2, que même dokeos2 ne peut pas lire...
Attachments
course_info.dat.zip
Fichier dat compressé
(24.2 KiB) Downloaded 44 times
lverdier
 
Posts: 55
Joined: Wed Jan 12, 2011 9:52 am

Re: portage Dokeos 2.0 Chamilo

Postby ywarnier » Sun Nov 06, 2011 7:14 pm

La "ruse" pour les documents est que leur visibilité est déclarée dans la table item_property de chaque cours. Typiquement un type d'outil "document", un type d'action "DocumentAdded", un responsable sous forme de l'ID utilisateur, une référence au document lui-même (=son ID dans la table "document") et une visibilité ("1" pour visible). Le reste est plus ou moins évident.
ywarnier
 
Posts: 983
Joined: Wed Dec 16, 2009 3:12 pm

Re: portage Dokeos 2.0 Chamilo

Postby lverdier » Sun Nov 06, 2011 11:10 pm

Super, je me penche là-dessus demain et je vous tiens au courant.
Merci.
lverdier
 
Posts: 55
Joined: Wed Jan 12, 2011 9:52 am

Re: portage Dokeos 2.0 Chamilo

Postby lverdier » Tue Nov 08, 2011 8:49 am

Au niveau de la structure des tables il y a tout de même quelque chose que je trouve illogique autant dans dokeos que dans chamilo :
pourquoi y a t-il une entrée "tutor_name" alors que ce champ n'a aucune existante sachant qu'il est composé par la concaténation deux champs de la table "user" ? Pourquoi simplement ne pas mettre "tutor_user_id" qui pointerait vers le "user_id" ?
lverdier
 
Posts: 55
Joined: Wed Jan 12, 2011 9:52 am

Re: portage Dokeos 2.0 Chamilo

Postby lverdier » Tue Nov 08, 2011 11:38 am

Ca y est, j'ai pu transporter les pj par une copie physique des fichiers dans les bon répertoires, leur déclaration dans la table document de la base du cours, et par la déclaration dans la table property.
Merci de votre aide !
lverdier
 
Posts: 55
Joined: Wed Jan 12, 2011 9:52 am

Re: portage Dokeos 2.0 Chamilo

Postby ywarnier » Sat Apr 07, 2012 10:16 pm

Bonjour Laurent,

Comme ça fait un certain temps que ce fil de discussion n'avance plus et que tu as apparemment pu migrer sans problème majeur, ce serait intéressant de partager les éléments scriptés de ta migration, histoire que d'autres puissent en profiter.

Si tu as des doutes sur l'utilité du processus, disons que le rendre publique permet *au moins* de récupérer le code toi-même si tu venais un jour à en avoir besoin d'ici quelques mois.

Yannick
ywarnier
 
Posts: 983
Joined: Wed Dec 16, 2009 3:12 pm

Next

Return to French

Who is online

Users browsing this forum: No registered users and 1 guest

cron

Social network

Youtube

Subscribe to our newsletter

Leave us your e-mail in the box below, then make sure you approve the confirmation e-mail you will receive

 


 

Upcoming events