Projet

Général

Profil

Development #54592

dashboard, ne pas charger toutes les cellules de la page

Ajouté par Frédéric Péters il y a presque 3 ans. Mis à jour il y a presque 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
04 juin 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Pour l'affichage d'une page toutes les cellules de celles-ci sont chargées,

    cells = CellBase.get_cells(
        page=page, select_related={'data_linkcell': ['link_page']}, prefetch_validity_info=True
    )

dans le cas d'une cellule tableau de bord, ça va faire plein de cellules qui ne seront pas affichées parce que pas pour la bonne personne, et qui n'auraient a priori même pas besoin d'être chargées parce qu'elles arriveront en fait via la mécanique de tuiles,

    def render(self, context):
        tiles = Tile.objects.filter(dashboard=self, user=context['user'])

Je ne suis jamais fan d'amener quelque chose de particuler à un composant dans le code général de rendu mais ça pourrait aider ici de ne pas charger pour le rendu de la page les cellules qui ont un placeholder en rapport avec le tableau de bord.

Ordre de grandeur :

_auto_tile 3511
_dashboard 1658
_suggested_tile 53434
content 10
footer 1
sidebar 7

Fichiers

Révisions associées

Révision 188be78e (diff)
Ajouté par Frédéric Péters il y a presque 3 ans

general: do not preload tile cells when rendering page (#54592)

Historique

#1

Mis à jour par Frédéric Péters il y a presque 3 ans

Idéalement on aurait eu un pattern clair pour le placeholder des tuiles mais ça n'est pas le cas.

#2

Mis à jour par Nicolas Roche il y a presque 3 ans

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

Testé ok.
Si j'ai bien compris à chaque fois que quelqu'un ajoute une tuile à son tableau de bord, ça crée une cellules '_placeholder' ?

#3

Mis à jour par Frédéric Péters il y a presque 3 ans

Ça ajoute une cellule attachée à la page tableau de bord. ("ça crée une cellules '_placeholder' je ne comprends pas mais non).

#4

Mis à jour par Nicolas Roche il y a presque 3 ans

J'étais juste surpris de voir autant de cellules _placeholder en testant,
mais à me relire, oui il n'y a rien à comprendre en fait.

#5

Mis à jour par Frédéric Péters il y a presque 3 ans

En fait je comprends (peut-être) seulement maintenant que ce que tu appelles "cellules _placeholder" c'est "cellules dont le placeholder commence par un underscore", correct ?

#6

Mis à jour par Nicolas Roche il y a presque 3 ans

Oui c'est ça, mais en fait j'ai vraiment rien à dire ici et j'aurais juste du valider sans poser de question.

#7

Mis à jour par Frédéric Péters il y a presque 3 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 188be78eaf67ff02d19d52fdb497ace33786c483
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Fri Jun 4 15:15:55 2021 +0200

    general: do not preload tile cells when rendering page (#54592)
#8

Mis à jour par Frédéric Péters il y a presque 3 ans

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

Formats disponibles : Atom PDF