ellooooo
J'ai réussi ma migration....
Etape 1 : avoir les tables de Myalbum et de ExtGallery dans la base de données
Etape 2 : Recréer à l'identique les catégories d'albums : les valeurs des colonnes extgallery >>>> myAlbum
cat_id>>>cid
cat_pid>>>PID
cat_name>>>title
cat_imgurl>>>imgurl
Les autres colonnes peuvent rester vides.
INSERT INTO xoops_extgallery_publiccat (cat_id, cat_pid, cat_name, cat_imgurl) SELECT cid, pid, title, imgurl FROM xoops_myalbum_photos
Etape 3 : Paramétrer les préférences d'Extgallery
Etapte 4 : Checker que les categories dans Extgallery apparaissent bien sur le site.
Etape 5 : récupérer les photos myalbum dans le répertoire "uploads/photos" et les déposer dans le repertoire "modules/extgallery/batch"
Etape 6 : Importer les photos dans une catégorie. Elle servira de tampon. Cela permet a ExtGallerie d'appliquer ses informations de tailles, nom de fichier, etc... Les informations essentielles qu'il faut laisser creer par Extgallery sont : photo_name, photo_orig_name, photo_size, photo_res_x, photo_res_y, photo_have_large.
Tout se passe ensuite sur la table extgallery_publicphoto
Etape 7 : il faut se débrouiller pour que la primary key de MyAlbum soit la même que ExtGallery. Dans Myalbum, lorsqu'on importe une photo, il la renomme et lui donne un numéro qui sera son ID en base (le LID).
Extgallery lui, incrémente le photo_id à partir de 0. Par contre lors de l'import par batch, il met dans photo_title le nom du fichier issu de Myalbum. Nous avons donc une correspondance entre la table de Myalbum et Extgallery.
Faites un
UPDATE extgallery_publicphoto SET photo_title = photo_id
Maintenant le LID de MyAlbum et identique au photo_id de ExtGallery.
Etape 9 :
Il faut insérer les informations utiles des photos de Myalbum dans Extgallery : le nombre de hits, les votes, l'utilisateur qui a posté la photo, etc, etc...
Passez la requete :
UPDATE xoops_extgallery_publicphoto SET photo_title=(SELECT title FROM xoops_myalbum_photos WHERE xoops_myalbum_photos.lid = xoops_extgallery_publicphoto.photo_id)
Cela permet d'avoir le titre de la photo, souvent les utilisateurs lors de l'upload dans myAlbum mettent un nom de photo qui résume son objet, cela sert description. Et c'est plus beau que d'avoir une référence définie par le script d'import de ExtGallery
Refaites autant de fois que nécessaire cette requête, en modifiant l'intitulé de colonne que vous voulez importer :
UPDATE xoops_extgallery_publicphoto SET photo_hits=(SELECT hits FROM xoops_myalbum_photos WHERE xoops_myalbum_photos.lid = xoops_extgallery_publicphoto.photo_id)
Celle là, pour avoir le nombre de hits.
Faites-le pour les intitulés : Intitulé Extgallery >>> intitulé MyAlbum
Photo_title >>> title
Photo_hits >>> hits
Photo_comments>>>comments
Photo_rating>>>rating
photo_nbrating>>>votes
photo_date>>>>date
Cat_id>>>cid
uid>>>submitter
Vérifiez dans le module que vos photos ont bien leurs informations associées.
Maintenant, il faut recréer les vignettes (je ne sais pas si c'est obligatoir mais je l'ai fait) pour qu'elles apparaissent dans leur album (il faut les sortir de l'abum tampon)
Et faites une mise à jour du module...
tadaaaa : extgallery est migré.
J'espère que j'ai été clair dans mes explications mais je ne suis pas un expert dans ce genre de pratiques.