Je souhaite fusionner plusieurs anciens sites dans un nouveau. Je souhaite récupérer les articles et les documents associés.
J'ai fait un premier essai en fusionnant la base du nouveau site avec celle de l'ancien, puis j'ai copié mon dossier IMG sur l'autre?
Or, souci ce ne sont pas les adresses des vignettes du nouveau site que j'ai mais un lien vers la vignette de l'ancien... Après en cliquant sur la vignette on affiche la bonne photo !!
A tout hasard je précise que je n'ai pas touché à la boîte qui permet de rajouter l'url d'origine en faisant le dump... (je n'ai pas compris à quoi ça servait)
En ce qui concerne la référence aux documents et vignettes lors d'un import de BD par fusion, l'idée est justement de ne pas obliger à faire l'union des 2 répertoires IMG qui est une opération limite infaisable quand on a un simple accès FTP, et pose le pb des documents de meme nom sur 2 sites. Le principe est donc que tout les docs importés sont marqués comme "distant", vers le IMG/ de l'ancien site. Si celui-ci a déménagé (et en particulier si on a réussi à fusionner son IMG avec celui du site receveur), la boite ci-dessus permet de donner la nouvelle URL.
J’ai fait un premier essai en fusionnant la base du nouveau site avec celle de l’ancien, puis j’ai copié mon dossier IMG sur l’autre?
Or, souci ce ne sont pas les adresses des vignettes du nouveau site que j’ai mais un lien vers la vignette de l’ancien… Après en cliquant sur la vignette on affiche la bonne photo !!
L’essai est là : A tout hasard je précise que je n’ai pas touché à la boîte qui permet de rajouter l’url d’origine en faisant le dump… (je n’ai pas compris à quoi ça servait)
En ce qui concerne la référence aux documents et vignettes lors d’un import de BD par fusion, l’idée est justement de ne pas obliger à faire l’union des 2 répertoires IMG qui est une opération limite infaisable quand on a un simple accès FTP,
Je pensais que simplement en copiant un dossier IMG-A sur un dossier IMG-B on remplissait avec les fichiers de A…
et pose le pb des documents de meme nom sur 2 sites.
Oui, le risque existe, il faut juste en être conscient
Le principe est donc que tout les docs importés sont marqués comme « distant », vers le IMG/ de l’ancien site. Si celui-ci a déménagé (et en particulier si on a réussi à fusionner son IMG avec celui du site receveur), la boite ci-dessus permet de donner la nouvelle URL.
OK, mais c’est exactement le contraire qu’il y a de marqué sur le site : " "… pas de destination…
Est-ce qu’il y aurait une petite requête sql toute simple qui permettrait de nettoyer les liens dans la zone fichier , suprimmer ? Ou je recommence à zéro ? Je peux, je ne perds pas grand chose. Jacques
Je pensais que simplement en copiant un dossier IMG-A sur un dossier IMG-B on remplissait avec les fichiers de A...
Simplement ? il y a des sous-répertoires qu'il faut fusionner un à un !
Le principe est donc que tout les docs importés sont marqués comme "distant", vers le IMG/ de l'ancien site. Si celui-ci a déménagé (et en particulier si on a réussi à fusionner son IMG avec celui du site receveur), la boite ci-dessus permet de donner la nouvelle URL.
OK, mais c'est exactement le contraire qu'il y a de marqué sur le site : "Eventuellement, URL du site d'origine : "... pas de destination...
Oui, c'est pas très clair, mais "destination" serait trompeur aussi car pourrait faire croire que les docs vont être recopiés.
Il faudrait dire plutôt "URL actuelle du répertoire IMG de la sauvegarde (si différente de l'URL du site d'origine)".
Est-ce qu'il y aurait une petite requête sql toute simple qui permettrait de nettoyer les liens dans la zone fichier , suprimmer "http://monsite.org"?
Je ne comprends pas bien l'état actuel justifiant une telle requête. Je rappelle que le formulaire de gestion de document, dans le cas d'un doc distant, dispose d'un bouton permettant de l'importer. C'est du coup par coup, mais ça peut suffire.
Oui, c'est pas très clair, mais "destination" serait trompeur aussi car pourrait faire croire que les docs vont être recopiés.
Il faudrait dire plutôt "URL actuelle du répertoire IMG de la sauvegarde (si différente de l'URL du site d'origine)".
Oui ça serait mieux
Est-ce qu'il y aurait une petite requête sql toute simple qui permettrait de nettoyer les liens dans la zone fichier , suprimmer "http://monsite.org"?
Je ne comprends pas bien l'état actuel justifiant une telle requête. Je rappelle que le formulaire de gestion de document, dans le cas d'un doc distant, dispose d'un bouton permettant de l'importer. C'est du coup par coup, mais ça peut suffire.
J'ai un peu plus de 600 images. Je ne suis certes pas sûr d'avoir une vignette pour chacun Donc effectivement une par une c'est faisable, en prenant le temps.
Je vais essayer en local via phpmyadmin
SELECT REPLACE({fichier},'http://monsite.org','') from {spip_documents}
Si ça marche je la lance sur le site !
Bonne journée,
En effet dans mon cas c'est relativement simple de fusionner les dossiers IMG (enfin je pense pouvoir arriver à fusionner les dossiers de trois ou quatre sites, dont certains avec très peu de documents il est vrai). Il est donc justifié de vouloir fusionner les bases avec une nouvelle adresse et de ne pas être trompé par un libellé aléatoire...
Par ailleurs j'ai du mal à imaginer qu'il y ait beaucoup de cas où on va fusionner les bases pour garder les images sur le site distant... mais je me trompe peut-être...
Par contre la requête que je pensais faire pour modifier les 800 liens erronés de mon site ne fonctionne pas en mysql 5. Je n'ai donc pas d'autre solution que de recommencer à zéro : détruire mon site et recommencer. Ce qui n'a pas d'importance dans mon cas mais qui pourrait être délicat pour d'autres...
Alors où je suis complètement nul, où la fusion de site (avec documents)
est impossible dans SPIP 2.
J'ai donc réinstallé mon site avec deux bases en cochant fusion et en indiquant -comme dit dans le thread - l'adresse de mon nouveau site... Et j'ai maintenant un lien hypertexte vers mon nouveau site... Exit mon portfolio...
Ou alors il faut peut-être préciser que la fusion de sites est réservée aux experts ? C'est con pour moi, c'est exactement ce qu e je voulais faire, et je pensais bien réussir à me débrouiller du dossier IMG.
Ben j'ai juste essayé de faire ce qui semblait recommandé... et c'est le souk.
J'essaie de réexpliquer en parlant mieux :
1 - J'installe spip sur une nouvelle base
2 - en cochant fusion je prends une sauvegarde d'un site : je mets l'adresse de mon nouveau site dans la boîte indiquée.(puisque mes images sont dans mon dossier IMG)
3 - en cochant fusion je prends une autre sauvegarde et je mets également l'adresse du nouveau site dans la boîte...
4 - le résultat est que je n'ai que des liens vers des images distantes qu'il me faudrait importer une par une..
Ah je vois, tu t'attendais à ce que le fait de donner la même URL que le site lui-même ferait que les documents ne seraient plus vus comme distants ? Si c'est ça, c'est une bonne idée ça devrait être possible de le faire. En attendant ça marche pas comme ça: c'est considéré comme distant bien que le distance soit nulle. C'est déjà pas mal parce qu'au moins tous les documents sont concentrés au même endroit.
Ben j'ai juste essayé de faire ce qui semblait recommandé... et c'est le souk.
J'essaie de réexpliquer en parlant mieux :
1 - J'installe spip sur une nouvelle base
2 - en cochant fusion je prends une sauvegarde d'un site : je mets l'adresse de mon nouveau site dans la boîte indiquée.(puisque mes images sont dans mon dossier IMG)
3 - en cochant fusion je prends une autre sauvegarde et je mets également l'adresse du nouveau site dans la boîte...
4 - le résultat est que je n'ai que des liens vers des images distantes qu'il me faudrait importer une par une..
Ah je vois, tu t'attendais à ce que le fait de donner la même URL que le site lui-même ferait que les documents ne seraient plus vus comme distants ?
Oui !
Si c'est ça, c'est une bonne idée ça devrait être possible de le faire. En attendant ça marche pas comme ça: c'est considéré comme distant bien que le distance soit nulle. C'est déjà pas mal parce qu'au moins tous les documents sont concentrés au même endroit.
Et c'est pour ça que je cherchais une petite requête mysql simple qui puisse enlever l'adresse superflue "http://…etc…" et remplacer la notion de document distant en document local (remplacer oui par non dans la base)
Si ce n'est pas possible je vais écraser ma base avec la sauvegarde la plus importante et faire fusion uniquement avec les petites bases et importer les documents un par un...
Ben j'ai juste essayé de faire ce qui semblait recommandé... et c'est le souk.
J'essaie de réexpliquer en parlant mieux :
1 - J'installe spip sur une nouvelle base
2 - en cochant fusion je prends une sauvegarde d'un site : je mets l'adresse de mon nouveau site dans la boîte indiquée.(puisque mes images sont dans mon dossier IMG)
3 - en cochant fusion je prends une autre sauvegarde et je mets également l'adresse du nouveau site dans la boîte...
4 - le résultat est que je n'ai que des liens vers des images distantes qu'il me faudrait importer une par une..
Ah je vois, tu t'attendais à ce que le fait de donner la même URL que le site lui-même ferait que les documents ne seraient plus vus comme distants ?
Oui !
Si c'est ça, c'est une bonne idée ça devrait être possible de le faire. En attendant ça marche pas comme ça: c'est considéré comme distant bien que le distance soit nulle. C'est déjà pas mal parce qu'au moins tous les documents sont concentrés au même endroit.
Et c'est pour ça que je cherchais une petite requête mysql simple qui puisse enlever l'adresse superflue "http://…etc…" et remplacer la notion de document distant en document local (remplacer oui par non dans la base)
peut etre simplement :
update spip_documents set fichier=REPLACE(fichier,'http://…',''),distant='non'
Et c'est pour ça que je cherchais une petite requête mysql simple qui puisse enlever l'adresse superflue "http://…etc…" et remplacer la notion de document distant en document local (remplacer oui par non dans la base)
peut etre simplement :
update spip_documents set fichier=REPLACE(fichier,'http://…',''),distant='non'
Oui c'est ça ça marche !!
Par contre j'ai oublié de rajouter le / à la fin de mon lien... Et ça ne marche pas avec /IMG... ! Donc je peux réinstaller ma sauvegarde ... Mais c'est pas grave maintenant j'ai une requête qui marche et qui permet de s'en sortir !!
Et c'est pour ça que je cherchais une petite requête mysql simple qui puisse enlever l'adresse superflue "http://…etc…" et remplacer la notion de document distant en document local (remplacer oui par non dans la base)
peut etre simplement :
update spip_documents set fichier=REPLACE(fichier,'http://…',''),distant='non'
Oui c'est ça ça marche !!
Par contre j'ai oublié de rajouter le / à la fin de mon lien... Et ça ne marche pas avec /IMG... ! Donc je peux réinstaller ma sauvegarde ... Mais c'est pas grave maintenant j'ai une requête qui marche et qui permet de s'en sortir !!
mais non, repasse juste une couche :
update spip_documents set fichier=REPLACE(fichier,'/IMG/','IMG/')