Retour : Page Principale > sommaire aide > sommaire aide-mémos
Il crée un fichier mailbox. Il faut donc ensuite l'importer dans la liste ezmlm avec un autre script perl mbox2ezmlm.pl. La procédure est expliquée ici :
http://ezmlm-www.sourceforge.net/howto-mbox.html
$cookie_jar->set_cookie(0, "interrupt", "1&".time."&$main::msg", '/', '.groups.yahoo.com');
Lignes : 857, 890 et 895
Tous les fichiers de scripts nécessaires se trouvent le dossier : /home/vpopmail/scripts/ du serveur
Copier coller le contenu dans la page dans un fichier que l'on nommera nom_de_la_liste.csv .
Penser à cocher la virgule comme séparateur lorsqu'on l'ouvre et choisir UTF8 comme encodage.
Oublié : le CSV indique pour certains inscrits "Pas de mail" (consultation uniquement), ces emails n'auraient pas dû être inscrits aux listes (ils l'ont été)
0) l'indexation se fait par défaut sur ce dernier
1) le champ "Date:" n'est pas fiable (format de date non-standard de certains client mél), date impromptue de l'ordinateur de l'utilisateur (eg: 1904), ...
1") en aucune manière nous ne devons modifier ce champ
2) le champ "Received:" est plus fiable, mais en de rare occasion il est manquant, mais auquel cas existe le champ "X-Received"
C'est pourquoi mbox2ezmlm.pl a été modifié pour contenir le code suivant dans sa boucle principale :
Cela assure la présence du champ et donc indexation et archivage.
Cependant :
3) les index qui sont générés à partir de ce champ ont besoin d'être dans un format accepté par ezmlm-archive
Cette ligne par exemple, est correcte :
Mais celle-ci ne l'est pas :
En effet listserv ajoute le préfixe non-standard " by [aq]\d;" ce qui créé des indexes alors corrompus illisibles par ezmlm-archive.
Deux solutions s'offrent à nous : modifier les emails correspondant (moins d'une dizaine pour "botanique" (ex "botanicae"), ou bien modifier les "index".
Cette seconde solution est de loin la meilleure :
* moins de fichiers traités
* moins de pattern complexes
* pas d'altération des emails d'origine
La commande suivante résoud donc la problématique :
Procédure de migration d'une liste de discussion de yahoo vers tela
Robots Yahoo avec EZMLM
Avant de mettre en place ce que j'indique ci-dessous, il me semble nécessaire de récupérer les mails des listes Yahoo via le robot Perl que l'on avait testé.Il crée un fichier mailbox. Il faut donc ensuite l'importer dans la liste ezmlm avec un autre script perl mbox2ezmlm.pl. La procédure est expliquée ici :
http://ezmlm-www.sourceforge.net/howto-mbox.html
- Créer une liste avec Ezmlm-web portant le même nom que la liste Yahoo sur le domaine tela-botanica.org et modifier seulement :
- autoriser tout le monde à poster sur la liste
- autoriser l'archivage
- modifier le préfixe en utilisant le même que sur Yahoo
- S'inscrire comme receveur des messages de cette liste
- Inscrire la liste tb-pterido@tela-botanica.org à la liste Yahoo tb-pterido@yahoogroupes.fr via thunderbird virtual identity et l'email tb-pterido-subscribe@yahoogroupes.fr
- Répondre au message de confirmation envoyé par Yahoo tjrs avec l'identité virtuelle en modifiant l'adresse de réponse par celle d'envoi de Yahoo
- Sur votre machine, lancer la récupération des messages yahoo dans une mbox. Pour ce faire, il faut les logins et mots de passe de deux comptes utilisateurs inscrit à la liste : ./yahooscript.sh -g tela-botanicae -m ./archives/tb-pterido.mbox --user1 login1 --pass1 mdp1 --user2 login2 --pass2 mdp2
- Envoyer le fichier mbox sur le serveur dans le dossier /home/vpopmail/scripts/archives/
- Se connecter à Sequoia
- Passer sous le compte vpopmail : su vpopmail
- Se rendre dans : cd /home/vpopmail/scripts/
- Récupération dans un fichier mbox puis alimentation des archives de la liste Ezmlm avec les anciens messages Yahoo : ./yahoo2ezmlm.sh -l tb-pterido -n nbre_message_max
- Éditer le fichier editor de la liste et remplacer son contenu par l'exemple donné plus bas dans cette page (en modifiant le nom de la liste suivant les besoins)
- Créer une copie du fichier editor : cp editor editor.sauv
- En cas de modification de la liste via Ezmlm-web le fichier editor sera modifié, il est donc impératif de ne pas le faire et en cas de problème d'utiliser la copie de sauvegarde...
- Puisqu'on a supprimer la ligne contenant la commande reject d'ezmlm, la liste de diffusion peut disparaitre de Qmail admin... Elle n'est donc plus accessible ni modifiable par Qmail admin...
Exemple de contenu du fichier editor pour les listes où un robot est inscrit
| grep -i '^sender: tb-pterido@yahoogroupes.fr' || (echo "Ssender incorrect! Different de : tb-pterido@yahoogroupes.fr"; exit 100; ) | grep -i '^reply-to: tb-pterido@yahoogroupes.fr' || (echo "Reply-to incorrect! Different de : tb-pterido@yahoogroupes.fr"; exit 100; ) |/usr/local/bin/ezmlm/ezmlm-send-yahoo -C '/home/vpopmail/domains/tela-botanica.org/tb-pterido' |/usr/local/bin/ezmlm/ezmlm-warn '/home/vpopmail/domains/tela-botanica.org/tb-pterido' || exit 0
Listes de discussion avec un robot
| Nom liste | date |  nb messages téléchargés | Yahoo ID dernier message | nb messages Yahoo | Notes | Robot actif |
| Amorphophallus_et_araceae | 13/09 | 3274 | 3300 | 3300 msg | Attention pour yahoo2mbox : le nom du groupe est avec des majuscules : Amorphophallus_et_araceae | non |
| apiferafr | 13/09 | 8688 | 8757 | 8760 msg | non | |
| arbresvenerables | 13/09 | 660 | 684 | 755 msg | À partir du message 460, le contenu n'a pas été stocké dans Yahoo qui affiche le message "Ce message ne peut être consulté parce que ce groupe a dépassé ses limites de stockage. Veuillez réessayer plus tard. " | non |
| botanorm | 13/09 | 1348 | 1392 | 1392 msg | non | |
| cartorhone | 13/09 | 50 | 50 | 50 msg | non | |
| Gestionnature | 13/09 | 1026 | 1038 | 1038 msg | Attention pour yahoo2mbox : le nom du groupe est avec des majuscules : Gestionnature | non |
| INFLORALHP | 13/09 | 1058 | 1067 | 1067 msg | Attention pour yahoo2mbox : le nom du groupe est en majuscule : INFLORALHP | non |
| plantes_carnivores | 13/09 | 15920 | 16002 | 16004 msg | non | |
| plantes_et_legendes | 13/09 | 605 | 607 | 607 msg | non | |
| Rubus | 13/09 | 1469 | 1469 | 1469 msg | non | |
| Tela-Sylva | 13/09 | 802 | 806 | 806 msg | non |
Listes de discussion migrées vers Tela Botanica
Indexation active : si NON nécessite de récupérer à nouveau les messages depuis Yahoo et être réindexé| Nom liste | date | nb messages téléchargés | Yahoo ID dernier message | nb messages Yahoo | Notes | migrée (nouveau mail @tela-botanica.org) | Membres prévenus | |
tb-Afrique-du-Nord | 13/09 | 7825 | 7845 | 7845 msg | Attention pour yahoo2mbox : le nom du groupe est avec des majuscules : tb-Afrique-du-Nord | fait afrique-du-nord) | oui |
| tb-eflore | 13/09 | 964 | 964 | 994 msg | Réindexer les messages puis supprimer la liste de Yahoo | fait (eflore) | non | |||||||||
| tb-ethnobota | 13/09 | 2634 | 2645 | 2645 msg | fait (ethnobota) | non | ||||||||||
| tb-herbiers | 13/09 | 1324 | 1372 | 1372 msg | Des personnes était inscrites à la liste tela-botanica.org... Elles ont été supprimées Il faut créer un espace projet privé pour cette liste | (herbiers) | non | |||||||||
| tb-messicoles | 13/09 | 376 | 384 | 384 msg | fait (messicoles) | non | ||||||||||
| tb-phytosocio | 13/09 | 3568 | 3575 | 3575 msg | fait (phytosocio) | oui | ||||||||||
| tb-plte-envahissante | 13/09 | 891 | 920 | 920 msg | fait (envahissantes) | non | ||||||||||
| tb-pterido | 13/09 | 2747 | 2757 | 2757 msg | fait (pterido) | non | ||||||||||
| tb-tropical | 13/09 | 1481 | 1481 | 1481 msg | fait (tropical) | non | ||||||||||
| tb-chorologie | 13/09 | 1328 | 1328 | 1328 msg | fait (chorologie) | oui | ||||||||||
| tb-pilotage-projets | 13/09 | 340 | 340 | 0 ? msg | pilotage-projets | non | ||||||||||
| tela-botanicae | 13/09 | 41427 | 41957 | 42006 msg | fait (botanique) | non |
Notes
- la liste tela-botanicae peut servir de modèle car elle fonctionne correctement
- les listes Amorphophallus_et_araceae, Gestionnature, infloralhp, arbresvenerables, tb-Afrique-du-Nord marchent avec Yahoo2mbox mais il faut bien respecter la casse des noms des groupes
- il manque les 1000 premiers message de la liste apiferafr
- indexation bizarre de la liste tb-herbiers (les fichiers YYYYMM contiennent des numéros de message qui n'existaient pas à ce moment là )
Patch Yahoo2mbox
Pour faire fonctionner Yahoo2mbox en août 2013, il a été nécessaire de rajouter la ligne de code suivant devant chaque requête ( $ua->simple_request($request) ) de message Yahoo :$cookie_jar->set_cookie(0, "interrupt", "1&".time."&$main::msg", '/', '.groups.yahoo.com');
Lignes : 857, 890 et 895
Migrer une liste de discussion de Yahoo vers tela botanica
Une liste Yahoo est nommée de la manière : nom_de_la_liste@yahoogroups.frTous les fichiers de scripts nécessaires se trouvent le dossier : /home/vpopmail/scripts/ du serveur
- rapatrier les messages de la liste Yahoo dans un fichier mbox qui servira à alimenter la liste Tela :http://www.tela-botanica.net/tela-nota/post/2008/06/06/35-recuperer-des-listes-de-discussion-yahoo-sous-ezmlm
- Si le dossier n'existe pas créer une nouvelle liste de discussion sur Tela Botanica et l'associer au projet http://www.tela-botanica.org/page:liste_projets?id_projet=numerodeprojet&act=16, lui donner le même nom que la liste Yahoo et laisser domaine = "tela-botanica.org"
- Copier le fichier mbox obtenu sur le serveur dans le dossier : /home/vpopmail/scripts/archives/
- Bien vérifier que le fichier se nomme nom_de_la_liste.mbox
- Lancer le script transfert-vers-ezmlm-tela-botanica.sh avec les bons paramètres qui permet de réalimenter la liste de discussion nouvellement crée avec les messages rapatriés.
- Renommer le fichier editor en editor.old et générer à nouveau le fichier editor (enregistrer la configuration de la liste via list.tela-botanica.org) dans le dossier /home/vpopmail/domains/tela-botanica.org/
- Si le calendrier des messages ou bien les fils de discussions n'apparaissent pas correctement dans l'appli projet, lancer les script /usr/local/bin/ezmlm-idx, /usr/local/bin/ezmlm-archive et /home/vpopmail/scripts/ezmlm-archive.sh
Exporter la liste des participants
Pour exporter la liste des participants à une liste Yahoo, il faut aller sur le site de Yahoo, dans la liste désirée, aller dans membres et cliquer sur exporter (en haut à droite de la liste des membres).Copier coller le contenu dans la page dans un fichier que l'on nommera nom_de_la_liste.csv .
Penser à cocher la virgule comme séparateur lorsqu'on l'ouvre et choisir UTF8 comme encodage.
Oublié : le CSV indique pour certains inscrits "Pas de mail" (consultation uniquement), ces emails n'auraient pas dû être inscrits aux listes (ils l'ont été)
Mail type
Voir le mail type à envoyer pour la migration (remplacer adresse, nom et numéro du projet et la date dans le mail) ://Chers participant(e)s, Les participant(e)s à la liste de discussion Bryophytes, mais non-inscrits sur le site de Tela Botanica, ne connaissent peut-être pas encore l'espace de travail collaboratif qui est mis à leur disposition dans l'espace projet du site Tela Botanica (wikini, porte-documents, liste des participants). http://www.tela-botanica.org/page:liste_projets?id_projet=55&act=resume Cet espace s'enrichit aujourd'hui de sa propre liste de discussion (forum). http://www.tela-botanica.org/page:liste_projets?id_projet=55&act=forums A ce titre, nous avons procédé à la migration des messages de la liste Yahoo vers le forum Tela. Tout l'historique des messages envoyés est ainsi conservé et accessible. Dorénavant, nous vous invitons à ne plus utiliser l'adresse actuelle de la liste Yahoo <tb-bryophyta@yahoogroupes.fr>. Et nous vous prions d'utiliser la nouvelle adresse du forum Bryophytes <tb-bryophyta@tela-botanica.org> Enfin, pour accéder aux messages du forum Bryophytes deux cas de figure se présentent : - vous êtes participant(e) à la liste de discussion Bryophytes et DÉJÀ INSCRIT(E) sur le site de Tela Botanica rendez-vous sur la page du groupe Bryophytes, en cliquant sur le lien suivant http://www.tela-botanica.org/page:liste_projets?id_projet=55&act=resume consultez les messages du forum, en cliquant sur le lien suivant http://www.tela-botanica.org/page:liste_projets?id_projet=55&act=forums ou cliquer sur "s'inscrire à la liste" pour recevoir les messages directement dans votre boite mail. - vous êtes participant(e) à la liste de discussion Bryophytes et NON-INSCRIT(E) sur le site de Tela Botanica étape 1 : inscrivez-vous à Tela Botanica, rapide et gratuit ! en cliquant sur le lien suivant http://www.tela-botanica.org/page:inscription étape 2 : inscrivez-vous au projet Bryophytes, en cliquant sur le lien suivant http://www.tela-botanica.org/page:liste_projets?id_projet=55&act=resume et, si vous souhaitez recevoir les messages directement dans votre boite mail, cocher "Recevoir les message du forum" sinon vous pourrez simplement consulter les messages, en cliquant sur le lien suivant http://www.tela-botanica.org/page:liste_projets?id_projet=55&act=forums La fermeture du forum Yahoo aura lieu lundi 29 mars à 12h00. Si vous rencontrez des difficultés lors de ces étapes, n'hésitez pas à me contacter. bien cordialement, (signature)//
Fin de la migration
Une fois ces manipulations effectuées, et le délai de transition écoulé, supprimer la liste Yahoo en allant dans le menu option du groupe, cliquer sur supprimer le groupe.Subtilités liées à l'indexation et l'archivage
L'indexation ezmlm-idx se base soit sur le champ "Date:" de l'email en provenance du client soit le champ "Received:" issu du serveur de list (Yahoo à l'origine, puis qmail).0) l'indexation se fait par défaut sur ce dernier
1) le champ "Date:" n'est pas fiable (format de date non-standard de certains client mél), date impromptue de l'ordinateur de l'utilisateur (eg: 1904), ...
1") en aucune manière nous ne devons modifier ce champ
2) le champ "Received:" est plus fiable, mais en de rare occasion il est manquant, mais auquel cas existe le champ "X-Received"
C'est pourquoi mbox2ezmlm.pl a été modifié pour contenir le code suivant dans sa boucle principale :
# ezmlm peut indexer par Date ou Received
# "date" n'est pas un format uniforme exploitable
# "received" n'est pas toujours présent
# C'est ce dernier cas que nous évitons afin de pouvoir
# utiliser ezmlm-idx -D en toute sécurité sans altérer
# la date des messages.
if (!$message->header("Received")) {
$message->header_set("Received", $message->header("X-Received"));
}
Cela assure la présence du champ et donc indexation et archivage.
Cependant :
3) les index qui sont générés à partir de ce champ ont besoin d'être dans un format accepté par ezmlm-archive
Cette ligne par exemple, est correcte :
Received: (qmail 15456 invoked from network); 9 Sep 1999 20:01:06 -0000
Mais celle-ci ne l'est pas :
Received: (listserv 1.276); by a1; 05 Nov 1999 19:06:18 -0000
En effet listserv ajoute le préfixe non-standard " by [aq]\d;" ce qui créé des indexes alors corrompus illisibles par ezmlm-archive.
Deux solutions s'offrent à nous : modifier les emails correspondant (moins d'une dizaine pour "botanique" (ex "botanicae"), ou bien modifier les "index".
Cette seconde solution est de loin la meilleure :
* moins de fichiers traités
* moins de pattern complexes
* pas d'altération des emails d'origine
La commande suivante résoud donc la problématique :
find REPERTOIRE_EZEMLM -name index -exec sed -i 's/ by [qa].;//' {} \;