Projet

Général

Profil

Development #74306

wcs: résoudre la liste des ids de fiche de manière paresseuse

Ajouté par Benjamin Dauvergne il y a environ un an. Mis à jour il y a environ un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
08 février 2023
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

On a constaté (#74257) qu'en présence de cellules fiches en mode tableau, la résolution des ids des cellules fiches avait lieu au rendu ajax de toutes les cellules, sans que l'utilisation ne puisse vraiment rendre cela indolore.

Ce que je propose c'est qu'au lieu de stocker dans le contexte directement la liste des ids résolues on y stocke une fonction paresseuse qui mettra en cache la liste des ids au premier usage. Ainsi si la fiche en cours de rendu ajax n'en a pas l'utilité il n'y aura aucun appel.


Fichiers

Révisions associées

Révision 285fb4e7 (diff)
Ajouté par Benjamin Dauvergne il y a environ un an

tests: test lazy resolve of templated card ids (#74306)

This new test checks if the presence of a table mode card cell force
other cells in the page to make requests to w.c.s.

Révision b3977ab0 (diff)
Ajouté par Benjamin Dauvergne il y a environ un an

wcs: resolve card_ids lazily (#74306)

The class LazyValue is a thunk1 like in lazy evaluated language it is
initialized with a function needing no argument and store its result on
first call.

Direct access to the context to get the ids is replaced by calls to new
method WcsCardCell.get_card_ids(context). Original get_card_ids() is
renamed resolve_card_ids() and used with LazyValue to implement the lazy
evaluation of card_ids.

[1]: https://en.wikipedia.org/wiki/Thunk

Historique

#2

Mis à jour par Benjamin Dauvergne il y a environ un an

  • Assigné à mis à Benjamin Dauvergne
#3

Mis à jour par Benjamin Dauvergne il y a environ un an

Je dois encore pondre un test qui montre l'effet sur une cellule texte dans la même page.

#4

Mis à jour par Robot Gitea il y a environ un an

Benjamin Dauvergne (bdauvergne) a ouvert une pull request sur Gitea concernant cette demande :

#5

Mis à jour par Robot Gitea il y a environ un an

  • Statut changé de Solution proposée à Solution validée

Lauréline Guérin (lguerin) a approuvé une pull request sur Gitea concernant cette demande :

#6

Mis à jour par Robot Gitea il y a environ un an

  • Statut changé de Solution validée à Résolu (à déployer)

Frédéric Péters (fpeters) a mergé une pull request sur Gitea concernant cette demande :

#7

Mis à jour par Transition automatique il y a environ un an

  • Statut changé de Résolu (à déployer) à Solution déployée
#8

Mis à jour par Transition automatique il y a environ un an

Automatic expiration

Formats disponibles : Atom PDF