Annonce

#1 2011-05-09 18:08:21

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Smart Albums - Cherche testeurs

edit : je cherche des testeurs http://fr.piwigo.org/forum/viewtopic.ph … 42#p170242
_______

C'est bon je suis chaud, je veux faire un truc bien tordu !

Pour ceux à qui ça ne dis rien un Smart Album (ou album dynamique en bon français) est un album auquel on applique des contraintes (tags, date, nombre d'éléments) et tous les éléments correspondants à ces critères font alors partie de l'album.

J'ai découvert le concept avec PicsEngine 3 (que j'utilise comme portfolio sur mon site), après les premières minutes de déroute on se rend compte que c'est vraiment extrêmement puissant !

Comme cette fonctionnalité est régulièrement demandée je vais tenter d'en faire un plugin... mais plus j'y pense plus je perçois de difficultés de parcours :p


Au début je pensais faire simple : des champs pour ajouter des critères sur la page de gestion des albums virtuels qui serviraient à construire une requête SQL dont les résultats seraient ajoutés à la variable $page['items'], le système se charge du reste (enfin je crois....)

Seulement voila :
- si je ne me trompe pas, au début du processus l'album serait virtuellement vide pour Piwigo => pas d'affichage
- comment le cache utilisateurs réagirait ? déjà qu'en temps normal je ne sais pas exactement comment il fonctionne....

C'est pourquoi je me disais qu'il serait plus simple (à défaut de plus efficace) d'avoir une mise à jour manuelle ou semi-automatique des associations images<->albums. Je m'explique :
- les critères définis au départ servent bien à faire une requête SQL, mais les résultats sont ajoutés à la table IMAGE_CATEGORY
- ainsi les images ne serait pas réellement automatiquement liées à l'album mais on peu facilement ajouter un bouton de synchro bien placé et/ou un chron-job pour régénérer les associations

En somme au lieu d'avoir un autre type d'album on aurait un système qui ferait le boulot de l'admin plus ou moins automatiquement.


Et si vous avez les idées plus claires que moi, je suis tout ouïe !


====
projet de critères :

# tags :
    - tous les tags...
    - un des tags...
    - aucun des tags...
    - chacun des tags
# date :
    - ajouté le...
    - ajouté avant le...
    - ajouté après le...
# limiter à x images
# critère basé sur les exifs ? (impossible si les infos ne sont pas dans la bdd)

Dernière modification par mistic100 (2011-05-21 18:22:27)

Hors ligne

#2 2011-05-09 19:55:18

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: Smart Albums - Cherche testeurs

C'est ce dont je me sers aussi avec Lightroom (ca porte le même nom) pour créer mes albums :-)
Du coup je n'ai plus besoin pour ma galerie mais pour les autres ça servira toujours.

Bon courage car en effet, le cache utilisateur semble être un truc bien "tordu" à prendre en compte.


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#3 2011-05-10 11:08:16

flop25
Équipe Piwigo
2006-07-06
6544

Re: Smart Albums - Cherche testeurs

ho tient mais quelle idée ^^

pour le cache demander son diagnostic à plg p@t ou celui qui y a le plus participé
Sinon perso dans le core ce serait encore mieux car en plugin cela risque d'être encore plus dur et plus lourd à charger

allez ne perd pas la main, t chaud là !

Dernière modification par flop25 (2011-05-10 11:18:17)

Hors ligne

#4 2011-05-11 09:39:28

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Smart Albums - Cherche testeurs

Sur iPhoto (mac), ca existe aussi (album intelligent).

Je pense que c'et pas trop compliqué à faire... moi, je partirai de ce qui se fait en section spéciale (plus vues, plus commentées, etc...). Jette un oeil à [extension by P@t] Most Commented ou [extension by P@t] Has High. Pas besoin de se soucier du cache utilisateur.
Voila pour le principe de base... la seule différence que je vois, c'est que tu ne veux pas une section spéciale, mais bien un album. Dans [extension by Piwigo Team] Extended Description, j'ai fait une balise [redirect] qui permet de rediriger une catégorie vers un lien spécifique. Il suffit de t'en inspirer pour rediriger ton "smart album" vers la section spéciale qui va bien...


P@t

Hors ligne

#5 2011-05-11 18:31:40

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: Smart Albums - Cherche testeurs

P@t a écrit:

Dans [extension by Piwigo Team] Extended Description, j'ai fait une balise [redirect] qui permet de rediriger une catégorie vers un lien spécifique. Il suffit de t'en inspirer pour rediriger ton "smart album" vers la section spéciale qui va bien...

Pierrick dira que c'est du "bricolage" car ce n'est pas très "user friendly".


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#6 2011-05-11 20:47:00

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Smart Albums - Cherche testeurs

Gotcha a écrit:

P@t a écrit:

Dans [extension by Piwigo Team] Extended Description, j'ai fait une balise [redirect] qui permet de rediriger une catégorie vers un lien spécifique. Il suffit de t'en inspirer pour rediriger ton "smart album" vers la section spéciale qui va bien...

Pierrick dira que c'est du "bricolage" car ce n'est pas très "user friendly".

J'ai pas dit qu'il fallait faire pareil... je voulais juste mettre mistic sur la piste du code, pas de la balise redirect!


P@t

Hors ligne

#7 2011-05-12 20:07:35

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Smart Albums - Cherche testeurs

j'attaque la création des requêtes SQL, les plus dures étant celle avec les tags
pour rappel il y a les choix suivants :
- tous les tags
- un des tags
- aucun des tags
- seulement les tags

pour le second et le troisième choix je vois comment faire :

Code:

SELECT i.id 
FROM piwigo_images AS i 
INNER JOIN piwigo_image_tag AS t 
ON i.id = t.image_id
WHERE tag_id IN (8, 12)

ou NOT IN pour 'aucun de tags'

mais les autres je sèche un peu... est-ce qu'on peut le faire uniquement en SQL ou il faut que je les sélectionne en PHP, auquel cas le processus sera beaucoup plus lourd, surtout sur les grosses galeries.

Hors ligne

#8 2011-05-12 20:17:04

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Smart Albums - Cherche testeurs

Pas compris... Quelle requête pose problème?


P@t

Hors ligne

#9 2011-05-12 20:44:21

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Smart Albums - Cherche testeurs

chercher les images qui possèdent au moins tous les tags ....
chercher les images qui possèdent que les tags ....

Dernière modification par mistic100 (2011-05-12 20:45:01)

Hors ligne

#10 2011-05-13 00:06:11

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Smart Albums - Cherche testeurs

en fait

Code:

SELECT i.id 
FROM piwigo_images AS i 
INNER JOIN piwigo_image_tag AS t 
ON i.id = t.image_id
WHERE tag_id NOT IN (8, 12)

ne fonctionne pas pour avoir les images qui n'ont aucun de tags dans la liste

bon j'ai un filtre sur quatre qui fonctionne, c'est déjà ça ^^
mais pour les reste je sens que ça va être une vraie usine à gaz

Hors ligne

#11 2011-05-13 01:01:56

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Smart Albums - Cherche testeurs

j'ai eu une illumination... regarde comment c'est fait dans PicsEngine (originale comme idée ^^)
et je suis mal barré

voici un exemple de requête générée pour "Seulement les tags 5 et 6"

Code:

SELECT *
FROM (
  (

    SELECT NULL AS lastcomment_date, photos . *
    FROM `pe_photos` AS photos
    LEFT JOIN `pe_photos_tags` AS photos_tags1 ON photos_tags1.photo_id = photos.id
    LEFT JOIN `pe_photos_tags` AS photos_tags2 ON photos_tags2.photo_id = photos.id
    WHERE NOT
    EXISTS (

      SELECT *
      FROM `pe_photos_tags` AS photos_tags0
      WHERE photos_tags0.photo_id = photos.id && photos_tags0.tag_id NOT
      IN ( 5, 6 )
    ) && photos_tags1.tag_id = '5' && photos_tags2.tag_id = '6'
    GROUP BY photos.id
    ORDER BY photos.uploaded DESC
  )
) AS photos
ORDER BY photos.uploaded DESC

oO

he ben je peux vous dire que le plugin n'est pas près de sortir

Hors ligne

#12 2011-05-13 10:39:50

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: Smart Albums - Cherche testeurs

Rvelices travail sur la fonction de recherche. Peux-être devrais-tu te rapprocher de lui pour savoir où il en est et voir ensemble s'il ne serait pas préférable que tu attendes qu'il termine son travail pour l'utiliser :-)


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#13 2011-05-13 13:45:17

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Smart Albums - Cherche testeurs

j'ai réussi !!!
finalement une fois qu'un comprend la logique du programmeur, c'est facile ^^

je vous fait pas le détail, en plus Michael (créateur de PE) utilise de la POO, moi pas, alors c'est un peu plus moche

Hors ligne

#14 2011-05-13 15:26:11

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Smart Albums - Cherche testeurs

bon, tout va bien pour l'instant... sauf FCBKComplete
pour permettre à l'admin d'ajouter autant qu'il veut de filtres, j'ajoute des lignes à la liste avec jQuery, à chaque fois il faut réinitialiser les "event handler", ça fonctionne très bien pour DatePicker mais pour FCBKComplete ça foire pas mal

voici mon code http://pastie.org/1896793
vous remarquerez que j'ajoute une classe "fcbk_initialized" pour éviter d'appliquer plusieurs fois le plugin au champs, sans ça, ça plantait complètement, mais là ça continue à pas être joyeux, voir capture

pour cette capture il y avait un champ avec le tag "blue", puis j'en ai ajouté un autre.... on voit qu'il l'a quand même à moitié appliqué au premier, et les "tooltip" ne disparaissent plus

Hors ligne

#15 2011-05-13 21:30:17

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Smart Albums - Cherche testeurs

Je n'ai pas du tout eu le temps de regarder pour les requêtes, mais je suis sur qu'on va trouver plus simple ;-)
J'essaierai de regarder ce weekend... Sinon, notifie plg, il va trouver les requêtes en deux temps trois mouvements...


P@t

Hors ligne

Pied de page des forums

Propulsé par FluxBB

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