ghforum / ghf

1 stars 0 forks source link

Download Monitor Legacy Importer #80

Closed koudjdj closed 11 years ago

koudjdj commented 11 years ago

Download Monitor a été entièrement recodé par Mike Jolley. Le nouveau plugin gère les downloads grâce à un custom post type. Un add-on (DLM Legacy Importer) est donc mis a disposition pour importer et convertir les anciens packages vers ce nouveau format.

J'ai réussi sans problème à importer les downloads du site SSER (6 packages). Par contre, sur le site du genevahf, l'importation s'arrête après 48 packages traités.

A première vue, le problème ne vient pas du temps d’exécution du PHP.

Causes possibles:

koudjdj commented 11 years ago

Les fichiers sont stockés dans

/wp-content/blogs.dir/2/files/downloads/ANNEE/MOIS/NAME.EXT

pour les fichiers du GenevaHF (ghf.global)

Dw21 commented 11 years ago

Prochaines étapes discutée lors de la réunion du GHFdev team le 08.08.2013

  1. Envoyer un email sur le forum/mike jolley --> Bastien
  2. Trouver l'URL de stockage des fichiers --> Bastien --> OK
  3. Voir dans la liste des download si accent --> Bastien
evrenkiefer commented 11 years ago

Un rapport d'erreur a été envoyé sur github (https://git hub.com/mikejolley/download-monitor/issues/69). Point numéro un --> OK.

evrenkiefer commented 11 years ago

@koudjdj et moi avons checké tout les fichiers et voici la liste de ceux qui pourraient être la racine du mal.

abtr commented 11 years ago

J'ai un regardé votre liste de fichiers, Je pense que vous avez visé juste: Essayez cela: Premier test: 1)Sauvegarder ces fichiers et leur emplacement sur le serveur pour les remettre en cas de pb. 2)Remplacer les accents dans les noms de fichiers, par leur lettre sans accent. 3)Dans l'ancien download monitor essayer de modifier les références à ces fichiers en les updatant si possible. 4)Relancer l'upload.

Si cela ne fonctionne pas mieux, il y a d'autres stratégies mais à mon avis cela devrait fonctionner.

Solution 2: Est-il possible de voir exactement dans quelles pages sont utilisés ces fichiers?Si ils sont utilisés uniquement une fois en bas d'un article, j'ai une solution simple qui devrait fonctionner par contre si ils sont utilisés dans x articles chacun, dans les forums etc.. c'est un peu plus dur. La solution consiste a effacer proprement le lien du fichier dans download monitor (ancien), en recréer un nouveau ensuite dans le nouveau download monitor grâce au fichiers sauvegardés et renommés et le réattribuer aux bons articles,forum,groupe etc...

Si je propose cette deuxième solution c'est qu'étant donné qu'il y a seulement 10 fichiers posant problème, c'est plus rapide comme cela.

Dites moi si la solution 1 fonctionne.

Par la suite, il faudra observer suite à votre import le comportement du nouveau download monitor et surtout tester des fichiers avec accents et voir si il les supprime automatiquement ou si il y a une option pour le faire.

Si le pb persiste, d’autres pistes viendront la semaine prochaine si le concepteur du plugin nous répond.

Dw21 commented 11 years ago

Magnifique! Du coup, j'ai essayé de renommer les fichiers en supprimant les accents (sur le serveur test). Ce qui se passe est un peu suprenant. Pour certains fichiers, je n'ai aucun problème pour les renommés. Pour d'autres, je n'ai arrive pas comme décrit précémement ici: https://github.com/ghforum/ghf/issues/69

En changeant les permissions du fichier de 664 à 777 --> je parviens à modifier le nom du fichier! ça pourrait aussi faire partie de la solution du problème N69.

On peut maintenant ressayer de faire l'importation pour vois si a ça a résolu notre problème. Merci et bon WE!

koudjdj commented 11 years ago

J'ai fait les actions suivantes:

  1. Supprimer les 48 downloads actuels (pour éviter les doublons)
  2. Relancer l'importation

Résultat: Toujours le même problème --> l'importation s'arrête, un message d'erreur "Erreur Serveur" s'affiche et seulement 48 downloads sont importés.

Je me demande si on ne devrait pas modifier également les noms de fichiers dans la base de données, dans les tables de l'ancienne version de Download Monitor. Le chemin de chaque fichier doit y être référencé et du coup l'importation plante parce que les fichiers sont introuvables.

voir http://wordpress.org/support/topic/how-to-52?replies=1

Dw21 commented 11 years ago

Je suis en train de regarder sur la base de donnée.

koudjdj commented 11 years ago

Je vois que @Dw21 a réussi a importer 328 downloads sur 441. Y a t-il un nom de fichier que tu n'as pas pu modifier?

Dw21 commented 11 years ago

Bien vu @koudjdj . Finalement j'ai pu débloquer un peu la situation. Voici un résumé de ce que j'ai fait.

  1. Changement des accents dans la base données --> toujours 48 résultats après importation.
  2. Supprimer une entrée au hasard --> seulement 47 entrées sont importées
  3. Suppression de l'entrée suivante aux derniers imports dans la base de donnée --> pas de changement
  4. Suppression de Ala Alwan (dernière entrée à fonctionner) -->
  5. Vérification sur plateforme en production: a. Les chemins sont justes b. L'image est très grosse 2mb (n'a pas été réduite selon instructions)
  6. Importation fonctionne jusqu'à 317 - Judith Watt où le fichier image est volumineux > 1 mega a. Test --> remplace l'image par une de taille plus petit b. Efface l'ensemble des fichiers importés c. Recommence l'importation
  7. 316 résultats --> suppression Nalini Saligram (image volumineuse également )
  8. Nouvelle importation : Blocage à 328 : Séverine Schusselé --> image > 1 mb
  9. Nouveau blocage à Kostchan (image > 2 mb) à 344
  10. Je m'arrête ici car il est déjà tard et j'en ai marre d'attendre 10 min à chaque importation. Je vais finir d'effectuer les importations en début de semaine prochaine.

Ensuite, je propose la stratégie suivante: Réduire la taille des images volumineuses sur le serveur production + en profiter pour supprimer les duplicats d'image car il y en beaucoup.

Ensuite on pourra faire le transfert. Si certains ne fonctionne pas on les ajoutera manuellement.

abtr commented 11 years ago

bonne nouvelle, on y arrive petit à petit. Il faudra par contre peut-être limiter la taille des fichiers ou images pour le futur car on risque d'en avoir beaucoup plus dans le futur.

evrenkiefer commented 11 years ago

J'ai demandé de l'aide au développeur et le problème pourrait venir de la quantité de mémoire. https://github.com/mikejolley/download-monitor/issues/69

abtr commented 11 years ago

tu as vu ce qu'il te répond, c'est peut être la solution: More importantly though, you can repeat the process multiple times - it will skip existing downloads. Je vais essayer de regarder dans le fichier ini de php comme il le recommande

Dw21 commented 11 years ago

Bastien peux-tu nettoyer les images à doubles dans le gestionnaire + réduire la taille des fichiers supérieurs à 1mb pour les images en production.

koudjdj commented 11 years ago

Bon, j'ai étudié Download Monitor dans son intégralité. Voici ce qui en est ressorti:

Dans la version précédente du plugin, les thumbnails étaient stockées dans un dossier à part (/htdocs/wp-content/blogs.dir/2/files/downloads/thumbnails/) et étaient liés au fichier correspondant par un simple lien. C'était le plugin qui les gérait et WP ne s'occupait de rien.

Dans la nouvelle version du plugin, les downloads sont désormais un custom post type avec en prime la possibilité de leur attribuer une image à la une ("featured image"). Download Monitor Legacy Importer va donc pour chaque download le convertir vers ce nouveau CPT, aller chercher son image dans le dossier "thumbnails" et le copier dans le dossier par défaut des "featured images" (/htdocs/wp-content/blogs.dir/2/files).

Jusque là, c'est facile! Maintenant on a deux -petits- problèmes:

  1. Les images que l'on avait dans le dossier thumbnails étaient immenses! (jusqu'à 5742x3744 !!). Je me suis occupé de les réduire en leur attribuant à toute une largeur de 300px (hauteur auto). Ce qui a fait passer la taille total du dossier thumbnails de 96.2 Mo à 8.08 Mo !
  2. Notre deuxième problème concerne l'approche de notre thème Arras envers les images uploadées (de tous types). Il va créer des doublons de chaque image à des tailles différentes. On peut définir ces dimensions dans les préférences du thème. En l’occurrence, ça ne devrait rien changer pour notre import de downloads mais il faudra peut-être réfléchir à terme à l'utilité de cette fonction qui risque de saturer nos serveurs pour pas grand chose.

Ceci étant dit, je crois que nous sommes désormais prêt à importer nos documents vers le nouveau DLM.

koudjdj commented 11 years ago

Importation réussie! Apparemment tout fonctionne. 447 downloads ont été importés en moins d'une minute. Pour l'instant, je ne constate aucun problème (sous Chrome du moins).

Dw21 commented 11 years ago

Merci et bravo! on arrive au bout de ce ticket. Je te propose de faire encore quelque tests:

Ensuite on pourra mettre en production ces changements!

koudjdj commented 11 years ago

Ok, j'ai refait toute une batterie de tests en recommençant même toute l'importation et tout c'est bien passé. J'ai également créé de nouveaux downloads et une nouvelle catégorie. Par contre, je n'ai pas trouvé de manière simple pour mettre tous les downloads en "members only". Théoriquement, on devrait le faire un par un mais il doit y avoir un moyen de changer ça dans la base de données.

Dw21 commented 11 years ago

Excellent! on discute demain des prochaines étapes.

koudjdj commented 11 years ago

Migration et importation effectuées avec succès en production! Il faudra juste que @Dw21 mette le nez dans la base de données pour mettre tous les downloads en "members only".

Dw21 commented 11 years ago

Ok tout semble fonctionne et les downloads ont pu être mis en members only (grâce à Alexandre).

Attendre un peu de temps: Nettoyer la base de données: supprimer ancienne table Supprimer les fichiers qui ne sont plus utilisés (ancien dossier thumbnail) sur le gestionnaire de fichier