Annonce

#1 2006-02-28 18:28:29

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

[evolution] liens source/destination entre catégories

Je suis en cours de développement de la fonctionnalité source/destination décrite sur la page [wiki] fr:fonctionnalites:categorie_source.

Une question un peu en suspens est la gestion des suppressions de liens source/destination. Que fait-on au niveau des liens image/catégorie ?

Une solution a été proposée dans le wiki, mais elle ne me convient pas vraiment. Voici ce que je propose, après réflexion pendant la phase de développement:

Code:

The rule is the following: if an image belong to the category and to the
source, we suppose it comes from the source. If the source/destination
link is broken, we delete the image/category link if the only origin of
the link was the broken categories link.

Example: "=>" means "source of". Between brackets the associated images.

A (1,2,9) => \
              |=> C (1,2,3,4,5,9) => D (1,2,3,4,5,6,9)
B (3,4,9) => /

In category C, we suppose (1,2) come from A, (3,4) from B, 9 from A or B
and 5 was manually added. In category D, 6 was added manually.

If we break A=>C, C and D loose (1,2) but not 9 because it can come from
B. If we break C=>D, D loose (3,4,5,9) but not 6 because it was
associated manually to 9.

(extrait de l'entête de la fonction delete_sources)

Quel est votre avis sur la question ?


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#2 2006-02-28 18:33:08

vimages
Membre
2004-03-27
2429

Re: [evolution] liens source/destination entre catégories

logique, tout simplement ..... et la logique doit prédominer..... pour qu'à l'usage cela soit simple et non générateur d'erreur... :o)

Hors ligne

#3 2006-02-28 19:05:05

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: [evolution] liens source/destination entre catégories

z0rglub a écrit:

Code:

Example: "=>" means "source of". Between brackets the associated images.

A (1,2,9) => \
              |=> C (1,2,3,4,5,9) => D (1,2,3,4,5,6,9)
B (3,4,9) => /

In category C, we suppose (1,2) come from A, (3,4) from B, 9 from A or B
and 5 was manually added. In category D, 6 was added manually.

If we break A=>C, C and D loose (1,2) but not 9 because it can come from
B. If we break C=>D, D loose (3,4,5,9) but not 6 because it was
associated manually to 9.

Imaginons que l'on casse tous les liens:
Cela signifie que C=(5) et D=(6), n'est-ce pas?
Je reconstruis B=>C alors C=(3,4,5,9) et D ne change pas, nous sommes d'accord.
Je reconstruis C=>D alors D=(3,4,5,6,9) et C ne change pas.
Jusque là tout va bien, c'est exactement ce que tu obtenais en cassant A=>C.

Reprenons à imaginons que l'on casse tous les liens:
Je construis C=>D alors D=(5,6) et C ne change pas.
Je construis B=>C alors C=(3,4,5,9) mais que devient D, 2 cas de figure:
1 - D reste identique =(5,6).
2 - D par transitivité récupère sa valeur D=(3,4,5,6,9).

Je pencherai naturellement pour le cas 2, mais je reconnais que cela devient plus compliqué.
Je serais à 200% si tu te limites au cas 1 (beaucoup plus simple pour les novices).
Dans le cas 1, il faut resolliciter la fonction C=>D pour que D retrouve les images du cas 2.

Suis resté clair?
8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#4 2006-02-28 21:21:25

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: [evolution] liens source/destination entre catégories

VDigital, c'est le cas 2 qui est déjà codé sur ma copie de travail locale :-)

Dans l'exemple que je donne, la table #categories_link contient 3 enregistrements:

- A=>C
- B=>C
- C=>D

Mais lorsque je vérifie que toutes les images associées aux sources le sont aux destinations, je commence par résoudre la question de transitivité, ce qui me donne virtuellement 2 liens supplémentaires :

- A=>D
- B=>D

Au final, D a pour sources {A,B,C}, donc toute image associée à l'une de ces catégories l'est automatiquement à D.

VDigital a écrit:

Je serais à 200% si tu te limites au cas 1 (beaucoup plus simple pour les novices).

Pas d'accord que ce soit plus simple pour les novices. Evidemment, pour les novices, il ne faut pas parler de transitivité, mais dire la règle : "toute image associée à une source l'est aussi à ses destinations". En conséquence dans notre exemple, toute image associée à C (quelle que soit l'origine de l'association, manuelle ou par lien source/destination) l'est à D.

(ce dev m'amuse bien, on pousse à fond l'utilisation des catégories pour la classification)


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#5 2006-02-28 21:24:02

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: [evolution] liens source/destination entre catégories

A quel moment ai-je oublié de dire que la première règle est de jamais détruire les liens physiques ? (correspondant à #images.storage_category_id qui va disparaître au profit de #image_category.is_storage)


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#6 2006-02-28 22:16:05

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: [evolution] liens source/destination entre catégories

z0rglub a écrit:

VDigital, c'est le cas 2 qui est déjà codé sur ma copie de travail locale :-)

(ce dev m'amuse bien, on pousse à fond l'utilisation des catégories pour la classification)

Ok. Reçu 5/5

Je ne sais pas si "toute image associée à une source l'est aussi à ses destinations" sera clair pour tout le monde.
Ça l'est pour nous au moins.


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#7 2006-02-28 22:18:17

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: [evolution] liens source/destination entre catégories

z0rglub a écrit:

A quel moment ai-je oublié de dire que la première règle est de jamais détruire les liens physiques ? (correspondant à #images.storage_category_id qui va disparaître au profit de #image_category.is_storage)

Je suis au courant mais pourquoi fais-tu cette remarque ici dans ce topic?


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#8 2006-02-28 22:23:02

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: [evolution] liens source/destination entre catégories

VDigital a écrit:

z0rglub a écrit:

A quel moment ai-je oublié de dire que la première règle est de jamais détruire les liens physiques ? (correspondant à #images.storage_category_id qui va disparaître au profit de #image_category.is_storage)

Je suis au courant mais pourquoi fais-tu cette remarque ici dans ce topic?

Parce que rien ne dit que l'image 3 n'appartienne pas physiquement à C. Dans ce cas là, il ne faut pas détruire le lien. Attention à ne pas confondre catégorie virtuelle et lien virtuel (je me rends compte que ce n'est pas toujours clair)


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#9 2006-02-28 22:34:27

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: [evolution] liens source/destination entre catégories

Bien vu !!!
Et une image associée dans une catégorie virtuelle via le panier? Elle disparaitrait?


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#10 2006-02-28 22:40:55

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: [evolution] liens source/destination entre catégories

VDigital a écrit:

Et une image associée dans une catégorie virtuelle via le panier? Elle disparaitrait?

Relis bien les posts précédents :-) La réponse est "ça dépend si l'image est également associé à la source".


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#11 2006-02-28 22:43:43

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: [evolution] liens source/destination entre catégories

z0rglub a écrit:

VDigital a écrit:

Et une image associée dans une catégorie virtuelle via le panier? Elle disparaitrait?

Relis bien les posts précédents :-) La réponse est "ça dépend si l'image est également associé à la source".

La réponse est: non (sans relire).
Tu respecteras les associations explicites.

Bravo !!!


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#12 2006-03-01 00:03:04

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [evolution] liens source/destination entre catégories

Pourra-t-on exclure?

A (1,2,9) => \
              |=> C (1,4,5,9) Mais où sont les 2 et 3?
B (3,4,9) => /

Car c'est ce que je fais avec mes catégories virtuelles qui ne sont qu'une partie de catégorie physique.


Et 2ement, si après avec avoir fait une réunion de A et B en C, C et D en E, E et A en F (ca rien ca!), ect... que j'arrive à Z et que je suis content du Z mais que je veux supprimer les X, Y, W, peut-on fixer le Z?

Hors ligne

#13 2006-03-01 01:11:14

mathiasm
Former Piwigo Team
2006-02-06
2692

Re: [evolution] liens source/destination entre catégories

@rub: pour l'exclusion, je ne pense pas. tu vas garder tes exclusions en virtuelles, mais je pense que tes virtuelle spourront être catégories-sources pour une catégorie destination qui sera, elle, filtrée.
Donc le processus d'exclusion reste le même: catégorie virtuelle sans les images indésirables. Je laisse Pierrick confirmer.

pour ton 2e point on rejoint le problème de l'arret de l'alimentation dont on n'a pas encore parler (cf. wiki et topic).

Dernière modification par mathiasm (2006-03-01 01:12:34)

Hors ligne

#14 2006-03-01 05:15:48

rvelices
Équipe Piwigo
2005-12-29
1417

Re: [evolution] liens source/destination entre catégories

Je n'avais meme pas vu cette evolution jusqua maintenant. z0rglub, je suis d'accord avec la solution que tu proposes. C'est la plus logique.

Au sujet des permissions: Si j'ai le lien A=>B, et je n'ai pas la permission de voir A, alors je suppose qu'en regardant B, les photos de A ne vont pas apparaitre. Correct?

Personellement j'aurai un tres fort interet pour ce dev si on peut gerer pas seulement les elements directement composant la source, mais aussi recursivement les elements des categories filles de la source. Par exemple: je defini le lien A+recursif=>B, alors en B ca me -//:---\spam les elements de B + tous les elements de A et les fils de A. Le but est aussi de pouvoir faire A+recursif=>A par exemple. Au niveau de la table il suffit de rajouter une colonne, mais est-ce qu'il sera difficile de gerer ca ? En fait c'est quelque chose de ce genre qui m'a manque au tout debut quand j'ai choisi d'utiliser pwg.

Hors ligne

#15 2006-03-01 06:54:40

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: [evolution] liens source/destination entre catégories

rub a écrit:

Pourra-t-on exclure?

A (1,2,9) => \
              |=> C (1,4,5,9) Mais où sont les 2 et 3?
B (3,4,9) => /

Car c'est ce que je fais avec mes catégories virtuelles qui ne sont qu'une partie de catégorie physique.


Et 2ement, si après avec avoir fait une réunion de A et B en C, C et D en E, E et A en F (ca rien ca!), ect... que j'arrive à Z et que je suis content du Z mais que je veux supprimer les X, Y, W, peut-on fixer le Z?

La réponse est sans doute non à ta question.
Par contre tes idées collent à la réalité et c'est ce qu'il faut savoir faire.
Je pense que z0rglub en est à peu près à ce point dans sa réflexion.
Bravo.


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact