Re: Discussion avant pull request sur autorisati on pour accès à <:bouton_cache_desactiver:>

6ril <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
Le 24/01/2019 à 23:55, Cerdic a écrit :
> Hello,
> 
> Il y a deux questions dans ta question en fait :)
> 
> Ton besoin de départ est d’invalider le cache après une modif 
> éditoriale, et c’est donc ma réponse initiale : il faut utiliser la 
> fonction suivre_invalideur() à laquelle on passe un identifiant d’objet
> 
> Comment ça marche en dessous, ça dépend, ça a évolué au gré des versions 
> de SPIP… :)
> 
> Il y a eu autre fois une table de gestion des caches, et l’invalidation 
> d’un identifiant cherchait tous les caches concernés et les effaçait.
> Mais la mise à jour de cette table des caches coutait beaucoup d’énergie 
> et de performance.
> 
> Actuellement on est arrivé au point ou il est apparu que le compromis 
> qui marche le mieux le plus souvent c’est de ne pas chercher à faire 
> dans la finesse. Quand un objet éditorial est publié et que 
> suivre_invalideur() est appelé il met juste à jour un flag 
> dernière_modif dans les metas, et ensuite la gestion de cache considère 
> que tous les caches plus anciens sont invalides, ce qui implique leur 
> mise à jour au prochain affichage.
> 
> Donc oui *actuellement* ecrire_meta('derniere_modif', time()) suffit à 
> actualiser tout le cache
> *MAIS* tu ne dois surtout pas faire ça dans tes modifs éditoriales, car 
> demain ça pourait marcher autrement et ton code n’invaliderait plus rien.
> Par contre, en appelant la fonction suivre_invalideur() tu t’assures que 
> ça marchera toujours, avec le cache tel qu’il est géré maintenant ou 
> plus tard, ou avec un plugin qui modifie le comportement du cache etc.
> 

Hello,
Merci de nouveau pour cette réponse instructive. Cela confirme ce que 
j'imaginais, suivre_invalideur(obj/id_obj) relève de la bonne pratique 
qui garantie la pérennité du code dans l'évolution du core.

Me reste à normaliser mes objets pour pouvoir profiter pleinement de 
l'invalidation, même si 
suivre_invalideur("n_importe_quel_param_autre_qu_objet") semblerait 
suffir aujourd’hui en l'état actuel du code, si je ne me trompe pas.
J'arrête le hs pour ne plus polluer ici et reviendrait certainement sur 
le groupe user pour ce qui est de la déclaration de mes objets.
Merci de nouveau pour le temps et la peine passés pour me répondre et 
bonne journée.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.