Répondre

Veuillez composer votre message et l'envoyer
Options
Si vous êtes un être humain ne changez pas le contenu de ces deux champs.

Retour

Résumé de la discussion (messages les plus récents en premier)

jonas
04-03-2009 23:39

Damned: y'a des collections avec des id dupliqués ??

Oui j'ai aussi été surpris. Mais après envoi d'un mail à Tian développeur de GCstar il m'a confirmé que c'était possible et que ces ids n'était là qu'a titre indicatif (GCstar ne s'en sert pas, d'ou cette rev161 ... à améliorer). Pour ton cas en cas de problème tu peux toujours éditer l'xml à la main pour corriger le tire.

Veux-tu que je te mette au propre un plugin pour les favoris et alertes ?

Très très volontier, je l'ajouterai au site de démonstration wink.

Peux tu remplir la petit fiche : http://forum.jonas.tuxfamily.org/forum/ … php?id=140 la petite image réprésentative peux être par exemple une capture du lien permettant de mettre en favoris ou un logo (voir site demo pour des exemples).

Si il y a besoin je peux héberger le plugin chez mon hébergeur (si ce dernier est sous une licence libre, condition d'utilisation de mon hébergeur préféré : tuxfamily !)

Mario
04-03-2009 19:57

Damned: y'a des collections avec des id dupliqués ??
Vu mes modifs, c'est des coups à perdre des infos ça .. j'vais ajouter un gros warning.

En tout cas j'ai presque fini. Juste la démo du wordpress qui a planté (!). Tout le monde apprécie ton soft, vraiment. Merci pour le support.

Veux-tu que je te mette au propre un plugin pour les favoris et alertes ?
La partie gestion des emprunts et moins réutilisable à mon avis, j'ai mis trop de trucs spécifiques à notre asso (importation des adhérents depuis un fichier csv, gestion d'une info sur les cotisation pas payées, envoi d'un mail de rappel, login etc etc)

jonas
03-03-2009 20:51

Bon si quelque heure c'est pour demain : ce n'est pas trop grave car c'est un changement introduit dans la rev161 (donc récupère bdd.php d'une version précédente qui reprend l'id de l'xml gcstar) et j'ai recement remarqué que cella introduisait un autre bug.

Bref des changements à ce niveau sont à prévoir mais pour l'instant je ne sais pas comment je vais procédé avec les collections ayant de id dupliqué hmm)

Mario
03-03-2009 10:34

Arg, j'ai un gros bug ...

Pour les favoris, et les emprunts, je mémorise item['id'] pour identifier le DVD favorisé, ou emprunté ..
Et j'ai l'impression que ce 'id' change quand je modifie le gcs ...

ARG !!

Pourtant dans le gcs le champ 'id' n'est pas modifié ..

Edit: d'après ce que je comprends de bdd.php, l''id' de item est en fait un compteur propre à gcweb. Pourtant le gcs contient un champ id (unique et assez stable) dans l'item ..
J'ai l'impression qu'il suffirait de supprimer les lignes 59, 61 et 110 pour que ça roule ..

(évidemment je me rends compte de ça qques heures avant la démo officielle ... et le transfert du blog wordpress se passe mal aussi, et la salle de formation n'est pas installée MDR )
(la routine quoi)

jonas
02-03-2009 22:08

Pour le fichier render.php : je vais faire la modif.

Pour le configurateur : En l'état le configurateur ne peut pas écrire lui même les options du plugin dans un fichier. Ce serait donc au plugin lui même de gérer ça. L'intégration n'est pas compliqué, en plus de "l'include" il faudrait que je définisse un valeur "$authentification = True" pour que l'écriture du plugin soit un peu plus simple (mais elle reste compliqué). Toujours pour ?

Par contre la modif dans le thème elle ne serra pas apportée car je pense qu'elle est très spécifique à l'utilisation que tu fais de GCweb.

En tout cas félicitation pour les modifs! elle ne sont pas négligeable.

Mario
02-03-2009 13:38

Ok, j'ai mis un touch sur le fichier gcs. Ca marche, merci.

Au passage:
Dans le fichier render.php: j'ai déplacé l'appel aux plugins 4render sous les lignes d'initialisation de la collection active, comme ça mon plugin a accès à cette information.
Dans le configurateur: ce serait pas mal d'inclure un point pour la config des plugins .. un truc comme plugins4config .. ou alors faire appel à une fonction de chaque plugin .. mais là on ne pourrait plus déclarer de variable globale depuis un plugin ... (je parle là du script php qui génère le fichier conf/config.php)
Dans le thème: j'ai ajouté une champ de recherche rapide dans le champ emprunteur; et un tri sur date d'emprunt (pour voir les DVD qui tardent à revenir)

A venir: un model pour afficher les adhérents de l'association, un bouton pour afficher tous les DVD empruntés, un envoi de mail de relance aux indélicats qui gardent trop longtemps les DVDs, optimisation des model favoris et alertes (là c'est franchement bourrin).

jonas
01-03-2009 16:23

?purge ne recréer que le cache de la page courante (à la dokuwiki).

Question: comment faire pour forcer un raz de tout le cache bdd ?

À chaque affichage ou juste pour faire un peu de nettoyage ?

Pour le nettoyage : * il faut supprimer les fichiers dans /cache/bdd (via un client ftp par ex ou plus simplement via la page de config une des coches en bas de page ou un unlink pas si bourrin que ça).
Sinon on peut faire un "touch" sur la fichier de sauvegarde de GCstar (qui serra alors plus récent que les fichiers cache d'ou regénération du cache).

Pour ne pas utilisé le fonction de cache lors de l'affichage de certaine page : le plus pratique est ce court-circuté la variable de configuration ("$conf['noCacheBDD'] = True" je crois)

Mario
01-03-2009 15:14
jonas a écrit :

Bon dimanche ...

Heureusement il pleut wink

J'ai résolu mon bug: propriété position, tout simplement.
Presque tout marche, c'est cool.
J'ai juste du désactiver le cache à cause de certaines recherches ..

Question: comment faire pour forcer un raz de tout le cache bdd ?
J'ajoute ?purge à l'url mais ça n'efface pas les recherches mises en cache.

(au pire je vais faire un gros unlink bien bourrin ..)

jonas
01-03-2009 11:26

Pas trouvé .. Pourtant ça doit exister.

Il me semble avoir vu quelque chose sur framasoft dernièrement → retourvé ! (pas très compliquer, 2ème élément dans le flux RSS big_smile, ajouter lundi dernier sur le site framasoft) http://www.framasoft.net/article4826.html

[edit]

Framasoft a écrit :

CollectionLibre est davantage adapté aux collections d’objets et d’œuvres. Il ne sera donc pas adapté aux collections de DVD, de livres ou de bouteilles de vin. Il sera par contre très pratique pour répertorier du mobilier, des œuvres d’art, des objets anciens ou contemporains.

hmm
[/edit]

J'ai finalement déplacé le code des favoris et alertes dans un plugin, mais il faut adapter le thème bien sûr.

En faite, depuis un moment (bien avant tes premier message sur le forum) je me demandais si je n'ajoutais pas dans les fichiers de thème à un endroit arbitraire des "[c]echo $item['str_plugin4item'][/c]" dans item*.php "[c]echo $item['str_plugin4list'][/c]" dans list*.php.

J'ai réutilisé ton code js pour faire un popup sur un lien qui se trouve dans la div .scroll

Par "popup" tu veux dire une div qui apparait/disparait comme les description en page d'acceuil ?

Si oui, essaie peut-être avec un z-index (auteur de la div) pour qu'elle passe au-dessus de la div scroll (mais z-index et asser mal supporter par les navigateur ... et pas seulement IE ...
Si non, petit capture ou lien.

Je dois montrer le système mardi soir .. hum.

Bon dimanche ...

Mario
28-02-2009 23:25
jonas a écrit :

J'utilise GCstar pour une utilisation perso et je pense qu'il a plutôt été prévu pour ce genre d'utilisation. Donc honnêtement (je suis content que quelqu'un fouille de la code, le comprenne, et me fasse de remarque) n'existe t'il pas des applications de gestion de collection dédiée au type d'utilisation de ton association ?

Pas trouvé .. Pourtant ça doit exister.

J'ai finalement déplacé le code des favoris et alertes dans un plugin, mais il faut adapter le thème bien sûr.
Pour les emprunts j'ai fait un autre plugin, ça marche presque.
En fait j'ai juste un pb de html/css à résoudre !!

J'ai réutilisé ton code js pour faire un popup sur un lien qui se trouve dans la div .scroll (model list)!; or cette div a une propriété overflow hidden, et si on l'enlève c'est moche. Mais avec ce hidden mon popup est tronqué, parce qu'il est plus gros que la div scroll ..
Je galère là, je suis nul en css ..

Je dois montrer le système mardi soir .. hum.

jonas
28-02-2009 15:41
Jonas a écrit :

Je pense que le mieuc c'est que je créer un autre niveau ou les plugins peuvent agire. Mais j'hésite ou :
  * Juste avant les filtres et le tri
  * Ou juste apres ?

... le résultat des actions de filtre et tri est mis en cache ... donc juste après (préfix "aftercache")

[edit] oups ! pas très claire, les modifs sont présentes sur la dernière révison

jonas
28-02-2009 12:32

La gestion du cache à beaucoup évolué dans les phase de développement.
  * Au début c'est le code html de chaque page qui était mise en cache, mais le volume de fichier cache était trèèèèèèèèèèèèès énorme
  * Ensuite les fichiers cache avais un durée de vie d'une semaine, mais la ausi le volume de fichier était important
  * Finalement certain avec une durée de vie de quelques minutes (ceux qui filtre les élément et tri en non standard, le temps d'une visite pour que quand on change de page le travail de tri et filtre ne soit pas refait) et certain on une durée de vie illimitée (préciser dans le fichier de configuration).

Donc que chaque visiteur écrive un cache propre à ces favoris n'est pas un problème. Quelque minute après sont déparre il serra effacer. C'est le même problème que le visteur qui surf sur le site et qui créer de "filtre" très particulier.

Concernant les "hooks", effectivement : complexe sad

(au fait, le président de mon association trouve que gcstar est trop complexe pour gérer les emprunts de DVD, donc je vais sûrement modifier gcweb pour qu'il gère ça aussi ... sad )

J'utilise GCstar pour une utilisation perso et je pense qu'il a plutôt été prévu pour ce genre d'utilisation. Donc honnêtement (je suis content que quelqu'un fouille de la code, le comprenne, et me fasse de remarque) n'existe t'il pas des applications de gestion de collection dédiée au type d'utilisation de ton association ? (Je n'en connais pas mais je n'ai jamais chercher). En plus actuellement GCweb n'écrit rien dans la BDD (et pour écrire dans cette dernière je pense qu'un base SQL serait tout de même bien pratique).

(je viens de réaliser qu'on charge la bdd sérialisée à chaque affichage de page, même pour une page avec un seul film affiché ... wow)

Oui, un peu pour les raisons cité au début de ce message. Et de toute façon quand on affiche un élément, il y a le nombre de page, et 4 autres éléments afficher donc on ne pourrait pas stocker uniquement l'id courant.

Mario
27-02-2009 23:53

Bon bon bon

J'ai bien réfléchi, en gros l'idée du plugin pour les favoris c'est de peindre l'item en favori dans la bdd lors du chargement de celle ci par le visiteur, en fonction d'une info stockée dans un cookie. Le gag c'est que du coup le cache doit être propre à ce visiteur, en session par exemple; du coup on perd beaucoup de l'interêt du cache !
Chaque visiteur en crée un à chaque visite !

Donc soit ces fonctions sont insérées dans le coeur de gcweb, soit il faut modifier la gestion des plugins pour en faire des vrais plugins, avec une fonction d'initialisation et des "hooks" pour les branchements. Ce qui me paraît complexe ...


(au fait, le président de mon association trouve que gcstar est trop complexe pour gérer les emprunts de DVD, donc je vais sûrement modifier gcweb pour qu'il gère ça aussi ... sad )
(je viens de réaliser qu'on charge la bdd sérialisée à chaque affichage de page, même pour une page avec un seul film affiché ... wow)

jonas
27-02-2009 22:28

Par contre ce qui est dommage c'est qu'il faut quand même modifier le template

Je dirais qu'il faut fournir des explications sur "comment modifier le template" et fournir les fichiers du template par défaut modifié.

Voire tout simplement stocker le fichier cache dans une variable session

Les plugins "bdd_..." agissent juste après la lecture complête de l'xml mais juste avant l'écriture en cache (ligne 118 inc/bdd.php) donc si on sauve à ce moment dans une variable session la cache "fichier" serra quand même écrit avec la bdd du visiteur.

Je pense que le mieuc c'est que je créer un autre niveau ou les plugins peuvent agire. Mais j'hésite ou :
  * Juste avant les filtres et le tri
  * Ou juste apres ?

Mario
27-02-2009 10:26

Tu as raison pour la transformation en plugin, je regarderai. Surtout sur la simplification du code du template (virer le if isAlerte() supprimer alerte else ajouteralerte etc etc ..)
Par contre ce qui est dommage c'est qu'il faut quand même modifier le template ...

Pour le filtre ce serait pas mal quand même, parce que là y'a un bug: le compteur d'éléments affichés est faux quand on affiche tous les favoris, et vu où il est calculé on peut pas le corriger depuis le model .. (à part avec un ugly hack en javascript).
Pour le cache, il suffirait d'utiliser le session ID. Voire tout simplement stocker le fichier cache dans une variable session.

Pied de page des forums

Propulsé par FluxBB