DJCarlos a écrit:
Si je dis que j'ai rien compris cest grave docteur?
Blague a part, meme s'il faut aller faire des sauvegardes de partout et bidouiller j'arriverai si on m'explique donc ca m'inquete pas trop.
Pour l'histoire des categories virtuelles.. j'y avais pas pense peut etre ce serai une facon simplifie de resoudre le probleme.. je vais me renseigner et lire la documentation car a vrai dire je connais tres peu de ca. (prive public je vois.. ais je vois pas comment enlever les droits d'une categorie mais je vais trouver.)
En tout cas merci a tous de votre temps de reflection
Tu fais bien de ne pas t'inquiéter...
Si tu suis mes indications confirmées par z0rglub et laurent.
La procédure viendra.
Peut être que dans 8 jours mais elle viendra, et elle marchera à condition de ne pas se tromper.
En attendant, étudie les catégories virtuelles, c'est ce qui libère le webmaster de ses anciennes erreurs en terme de stockage.
Après on se fiche bien pas mal de savoir où sont les images du moment qu'on les trouve là où elles sont.
C'est ce qui fait la grande différence de PhpWebGallery par rapport aux autres galeries, sur ce plan l'équipe a encore beaucoup d'avance.
Ceux qui n'utilisent pas ou n'ont pas encore compris passent à coté de quelque chose de géant, c'est une idée de z0rglub.
8-)
Hors ligne
z0rglub a écrit:
Dans ma liste d'idées à implémenter, il y a le "move smart detection" lors de la synchronisation.
Je voulais juste savoir où en était cette idée car moi aussi c'est devenu un peu le bord... car je n'avait pas vu au départ l'organisation futur de ma gallerie.
Il faut que je revois aussi le mode de fonctionnement des catégories virtuels car je dois mal les utiliser. A la première utilisation, j'ai trouvé ça pas trop pratique. Sinon pourquoi ne serait-il pas possible directement dans l'administration, onglet "Déplacer" de Catégories, de pouvoir déplacer également les catégories physiques à la manière des catégories virtuelles.
En pousant la réflection un peu plus loin, pourquoi ne pas, lorsque l'on ajoute des photos en php dans une nouvelle gallerie, après la synchronisation avoir des catégories virtuelles que l'on peut donc déplacer à sa guise dans l'arboressance de son site ?
Merci et bonne journée
Dernière modification par pierred (2007-06-18 19:38:13)
Hors ligne
pierred a écrit:
z0rglub a écrit:
Dans ma liste d'idées à implémenter, il y a le "move smart detection" lors de la synchronisation.
Je voulais juste savoir où en était cette idée car moi aussi c'est devenu un peu le bord... car je n'avait pas vu au départ l'organisation futur de ma gallerie.
La solution est vraiment dans les catégories virtuelles. Je détaille un peu ma méthode, d'autre sont surement valables.
J'ai créé un dossier "Réel" dans lequel je mets tous les dossiers de toutes les images que je souhaite montrer, à plat ou presque. Je crée ensuite une arborescence modifiable à souhait de catégories virtuelles, que j'alimente avec mes catégories réelles. Il se trouve qu'à pas grand chose prés, j'utilise une catégorie virtuelle par catégorie réelle. Mais je sui libre de la ré-organisation.
Résumé :
- Toutes les images dans une catégorie "Réel" interdite au public.
- Tout ce qu'on -//:---\spam dans du virtuel, organisé.
Cordialement,
Philippe LAGARDE
Hors ligne
Graou a écrit:
Il se trouve qu'à pas grand chose près, j'utilise une catégorie virtuelle par catégorie réelle. Mais je suis libre de la ré-organisation.
A ce moment, pourquoi ne pas dès la synchronisation faire des catégories ré-organisable à souhait ? On ne garderait les catégories virtuelles que si l'on veut faire une compilation de photos appartenant à différentes catégories. En plus dans l'administration, catégorie, gérer, on n'aurait pas toutes nos catégories en double !!!
Merci et bonne journée
PierreD
Hors ligne
Bonjour à tous.
Je remonte ce topic, car j'aimerais connaitre les manipulations à envisager sur les tables SQL après avoir modifié l'arborescence de mon FTP.
Sauf erreur de ma part, je n'ai pas vraiment trouvé de réponse, hormis les catégories virtuelles. Mais je souhaiterais tout de même réorganiser physiquement mon FTP pour faciliter l'administration et la lisibilité pour moi.
Je vous explique ma situation. Je n'avais pas envisagé correctement l'évolution de ma galerie http://sebouvard.free.fr.
Voici dans les grandes lignes comment je procède (bien sur, il y a des exceptions) :
1/ Physiquement, j'ai une arborescence physique pour administrer ma galerie. La majeur partie des catégories physiques sont privées : il s'agit de photo de famille et accessible à 2 groupes en fonctions (famille ou amis ou les deux).
2/ Les catégories virtuelles me servent à organiser les photos pour le guest ou accessible à d'autres utilisateurs inconnus (groupe Inconnu).
Voici l'arborescence physique de la galerie :
Ce que je souhaite faire (toujours pour faciliter l'administration de la galerie), c'est :
- déplacer 80_ans dans 2007
- créer une nouvelle catégorie physique à la racine ==> People
- déplacer Lucie dans la catégorie People.
Bien entendu, je souhaite conserver les commentaires et ne pas devoir repositionner les droits (ce qui est le moins important) !!! Donc si je fais cela et que je synchronise ==> Tout est perdu.
A priori, je dois :
1/ noter l'ID des catégories déplacer.
2/ modifier dans les tables certaines informations pour les entrées se référant aux catégories déplacées.
Le problème c'est le point #2. D'une part je ne connais pas suffisamment SQL même si point je me débrouille. D'autre part, je ne connais pas assez l'organisation des tables et toutes leurs relations.
Il me semble qu'il faut que je fasse :
1/ un UPDATE de `phpwebgallery_images`.path pour toute les 'phpwebgallery_images`.storage_category_id que j'ai déplacé du type `phpwebgallery_images`= LEFT(`phpwebgallery_images`, X).'/2007'.RIGHT(`phpwebgallery_images`, Y)
2/ un UPDATE de `phpwebgallery_categorie's.uppercats pour Lucie et 80 ans et leur sous catégorie.
3/ Je ne vois rien d'autre.
Je dois vous avouez que je ne suis pas des plus pressé, mais j'aimerais bien mettre cela en place au plus vite. En attendant lorsque cela me prendra vraiment, je mettrais en place des catégories virtuelles en attendant.
De mon côté, je poursuis mes recherche sur ma galerie de test http://sebouvard.test.free.fr. Si j'arrive à valider que la méthode est la bonne, je vous demanderais de valider et/ou de m'aider pour les requêtes SQL.
Merci de votre aide, je pense que si l'on peut valider ensemble la procédure pour déplacer des catégories physiques, de nombreux utilisateurs seraient satisfait.
Seb
Hors ligne
Avant tout de chose, sauvegarde de la base avant d'aller jardiner dedans.
Puis on oubliera bien volontiers le path de la table _images car il est calculé et reconstruit par la maintenance des catégorie et des images.
Le problème est de bien faire la manip correctement dans la table _categories
j'aurai bien besoin de refaire des tests.
Sont à modifier:
- id_uppercat (donne l'id de la catégorie parente ou NULL)
- uppercats (C'est le champ le plus important)
et dans une moindre mesure:
- rank et,
- global_rank
enfin attention au site_id (ne pas en changer).
Quelques explications:
id_uppercat
- sera NULL si la catégorie est à la racine du site
- sinon c'est l'id de la catégorie (physique) parente
uppercats c'est la liste des id de la lignée directe séparée par des virgules et incluant la catégorie en cours. Exemple:
- ./galleries/asie/inde/2007
asie(12) inde(24) 2007(63)
Pour la catégorie 63, uppercats vaudra: 12,24,63
et id-uppercat: 24
rank et global_rank fonctionnent selon le même principe à la nuance près que rank n'est jamais null
rank c'est la position dans l'affichage
exemple:
Asie en (3) de la galerie
Inde pourrait être en (3) de l'Asie
et 2007 en (1) de l'inde
Nous aurons donc pour 2007 un global_rank: 3,3,1
Quelques questions/réponses:
- Doit-on changer le rank quand on déplace une catégorie? Oui.
- Est-ce changer le rank d'une catégorie doit avoir des conséquences sur les autres ranks? Oui.
- Est-ce que changer l'uppercat d'une catégorie doit impacter les catégories filles? Oui.
Courage fuyons!!!
8-)
Hors ligne
Oui pour les sauvegardes bien sur.
Je suis en peu maniaque d'ailleurs sur ce point.
J'ajouterais même que je ne ferais pas cela sans valider avant sur ma galerie de test qui est une quasi réplique de ma galerie de prod.
Je vais étudier ce que tu viens de dire je pense que d'autres questions vont suivre. Notament sur rank et global_rank.
Finalement cela ne semble plus si monstrueu, que je ne le pensais au début.
Faut juste faire attention à tout et penser à tout et ne surtout rien oublier!?
Merci
Seb
Hors ligne
yserver a écrit:
Notament sur rank et global_rank
Ben justement, ça y est les questions fusent :
- rank définie la position d'affichage dans la categorie et global_rank reprend toutes l'arborescences des rank des catégories mères ?
- si rank et global_rank, je ne les met pas à jour lors du déplacement ?
- si il s'agit bien de la position d'affichage de mes catégories, je dois pouvoir simplement le mettre à jour depuis l'interface d'admin dans gérer, non?
Merci encore
Je continue de chercher.
Hors ligne
rank devrait être réactualisé en théorie.
C'est ce que je voudrais bien tester...
Prenons l'exemple d'une catégorie virtuelle qu'on déplace
on fait un move_categories( .... ) cf. ./admin/include/functions.php
Là, il est codé:
- la mise à jour de id_uppercat
- update_uppercats();
- ordering();
- update_global_rank();
- puis une resynchro des droits (pour les cas de passage en public ou privé qui sont changés par la manip) et que nous ne voulons justement pas changer dans le cadre d'un déplacement physique).
update_uppercats() mettra à jour les uppercats lists
ordering() va réactualiser les ranks
update_global_rank() reconstituera les global_rank lists
C'est parce que les fonctions existent qu'on pourra toujours faire quelque chose de bien.
Mais il ne faut pas se presser...
8-)
Hors ligne
C'est encore moi.
C'est pour vous tenir informé, vous tous qui voullez déplacer vos catégorie physique.
Attention le résulta que j'indique là reste à confirmer.
Pour effectuer le déplacement de la catégorie physique Lucie et les sous catégories associées de la racine de la galerie vers une catégorie physique elle aussi à la racine de la galerie, j'ai procédé comme suit :
1/ création du répertoire People (qui accueillera plus tard le dossier Lucie et s'est sous dossier) à la racine de la galerie
2/ synchronisation (la nouvelle catégorie physique est créée, normal, disons ID 102)
3/ sur PHPmyadmin modifiaction de uppercats ==> simplement ajouter 102, au début du champs
4/ je navigue alors sans aucun problème sur la galerie tout est corect!?
5/ déplacement via FTP de Lucie dans le dossier People
Voilà, c'est fini
Je passe alors au test :
- Navigation dans la nouvelle catégorie physique et toutes les autres sous catégories physique. ==> OK. (Je n'ai pas vérifier le commentaire et les autorisation à ce stade. J'était trop contant que cela fonctionne.)
- Je n'y crois pas j'affiche une image. ==> C'est toujours OK.
- Je lance une maintenance avec <Mettre à jour les informations des catégories> et <Mettre à jour les informations des images>.
- Navigation dans la nouvelle catégorie physique et toutes les autres sous catégories physique. ==> c'est toujours OK. (Je n'ai pas vérifier le commentaire et les autorisation à ce stade. J'était trop contant que cela fonctionne.)
- Je lance une syncronisations ==> OK de nombreuses images sont MAJ.
- navigation dans la nouvelle catégorie physique et toutes les autres sous catégories physique ==> c'est toujours OK, là par contre je vérifie, la présence des comentaires et les compteurs sont toujours là et correct.
- je vérifie les groupes associé à la catégorie tout est toujours correcte comme avant.
Voila mon experience finalement cela c'est révélé très simple.
J'attire votre attention si vous souhaitez faire la même chose que pour ce qui me concernes la catégorie d'arrivé était à la racine et la catégorie que j'ai déplacé aussi. Cela explique peut être l'absence de problème, alors que la méthode ne semble pas très valide.*
Cependant, je n'ai fait cela que sur une galerie de test. J'attend, si quelqu'un pouvait me confirmer que je n'est pas de risque d'effet de bord.
Si non je prendrais mes responsabilité (sauvegarde puis modif et tant pis pour moi)
Seb
Hors ligne
VDigital a écrit:
rank devrait être réactualisé en théorie.
C'est ce que je voudrais bien tester...
Prenons l'exemple d'une catégorie virtuelle qu'on déplace
on fait un move_categories( .... ) cf. ./admin/include/functions.php
Là, il est codé:
- la mise à jour de id_uppercat
- update_uppercats();
- ordering();
- update_global_rank();
- puis une resynchro des droits (pour les cas de passage en public ou privé qui sont changés par la manip) et que nous ne voulons justement pas changer dans le cadre d'un déplacement physique).
update_uppercats() mettra à jour les uppercats lists
ordering() va réactualiser les ranks
update_global_rank() reconstituera les global_rank lists
C'est parce que les fonctions existent qu'on pourra toujours faire quelque chose de bien.
Mais il ne faut pas se presser...
8-)
Lorsque j'ai fait la manipulation que j'explique plus haut, j'ai fait attention à rank et global_rank pour une des catégorie que j'ai modifié:
j'avai 4 et 4. Lorsque j'ai modifié uppercats en 102,X j'ai aussi positionné rank = 4 et global_rank=4,4 un peu comme ca au pif.
Par la suite je suis retourné voir rank et global_rank ont été mis à jours automatiquement comme le rank de People était 6.
Félicitation à toute l'équipe qui a vraiment bien bossé sur ce projet. PWG est fantastique.
Hors ligne
j'ai pas tout (y a beaucoup à lire) mais y aurait-y pas plus simple ?
j'ai rapidement regardé la table COMMENTS, le commentaire est rattaché l'ID d'une image.
quand on déplace physiquement une image, la synchro la détruit et la table IMAGES et la recrée aussi sec avec un nouvel ID.
On perd le lien avec les commentaires.
J'ai résolu le problème avec l'historique :
- on créer une table temporaire qui mémorise l'ID au nom de fichier
- après synchro, un retrouve via le nom de fichier l'ancien ID, et du coup on peut réaffecter le nouvel ID à la place de l'ancien
çà doit être possible à faire avec les commentaires non ?
la seule limitation, c'est que si on a deux images différentes avec le même nom de fichier, çà marche pas...
Hors ligne
J'explique à grum
Un commentaire est relié à une image quelque soit sa catégorie (image_id est un attribut de la table _comments).
Reconnais que si on arrive à maintenir l'id de l'image, on ne perdra pas le commentaire.
L'id de l'image est relié à la catégorie par category_id dans la table _image_category.
Si l'id de la catégorie n'est pas supprimé, il n'y a pas de raison de perdre l'image.
Qu'est-ce qui provoque dans la synchro la suppression de l'id de la catégorie?
1 - Le fait la catégorie soit renommée : On ne lui changera pas son nom.
2 - Le fait qu'on la déplace: Oui!
C'est le point 2 qui nous intéresse.
Je la déplace, je remets en place les uppercats id, mais je laisse l'id de la catégorie bien en place.
Les maintenances des catégories et des images feront le reste.
Lors de la synchro il verra que rien a bougé, donc aucun perte.
C'est ce que nous essayons de concevoir.
Que l'on perde de l'historique c'est possible, je ne suis pas allé étudier la question.
On ne perdra ni description ni commentaire.
Et si on fait attention, les droits devraient fonctionner sans pb.
Restaient les permalinks mais eux également ne craindront rien.
8-)
Hors ligne
quelque chose m'échappe là :)
bon, je réflexionne et je reviens à la charge après !
(en plus j'ai 15000réponses à faire à propos de mypolls)
Hors ligne
Concerant l'historique ==> Il est lui aussi conservé.
Tout ce que j'ai pu vérifier indique que la manipulation qui consite simplement à modifier uppercats de la categorie que je viens de déplacer suffit pour permettre de déplacer une catégorie physique, tout en conservant toutes les données qui lui sont rataché.
Le moteur semble tellement bien pensé, que cela peut marcher simplement comme cela.
Je vais poursuivre mes tests sur d'autre catégorie physique qui ne se trouve pas à la racine de la galerie, pour vérifier si cela est généralisable.
Si c'est bien le cas, la procédure pour déplacer une catégorie physique semble très simple finalement ==> Un petit plugin (c'est peut être dangereux)
Bon soirée
Hors ligne