Project

General

Profile

Development #34372

import csv, faire défiler les lignes du rapport, pas la page

Added by Benjamin Dauvergne 3 months ago. Updated 3 months ago.

Status:
Nouveau
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
27 Jun 2019
Due date:
% Done:

0%

Patch proposed:
No
Planning:
No

Description

Je pense qu'il serait utile que la page s'affiche immédiatement quelque soit le nombre de ligne avec un cadre réduit en hauteur sur le <tbody/> du tableau et un overflow-y: scroll, ça devrait faciliter la vie du navigateur pour le rendu (avec un table-layout: fixed aussi); sur un import de 50 000 lignes la vue est difficilement utilisable.

History

#1 Updated by Frédéric Péters 3 months ago

Ou une pagination, parce qu'une page avec 50000 lignes, c'est en soit un problème. (j'ai juste testé 3 colonnes et 10000 lignes et ça faisait déjà une page de 8 Mo). Le table-layout: fixed peut aider (mais j'ai une crainte sur le comportement pour des champs un peu long comme l'adresse), le scroll fait seulement au niveau du tableau, par contre, je pense que non, que ça sera pire (principalement en pensant à la navigation au clavier, scroller la page est plus facile).

#2 Updated by Benjamin Dauvergne 3 months ago

Le format pickle n'est pas exactement pratique pour paginer, à la rigueur il faudrait que je produise du sqlite ou alors que je fasse des paquets de 100 lignes en pickle.

#3 Updated by Frédéric Péters 3 months ago

Sur mon test à 10000 lignes,

-            {% for row in importer.rows %}
+            {% for row in importer.rows|slice:"1000:1100" %}

fait passer le temps de génération de la page de 7,1 secondes à 1,7 secondes, c'est sûr pas fameux mais toujours mieux (sur l'idée que l'utilisateur est intéressé par les premières lignes, pour s'assurer que sa correspondance de colonnes est bien ok), l'autre utilité du rapport ce serait la lecture/analyse des lignes avec des erreurs, et là ça gagnerait à avoir la possibilité de n'afficher que celles-ci (ticket #34407).

#4 Updated by Benjamin Dauvergne 3 months ago

Sur mon test à 50000 ligne avec slice ça descend à 10s, ce n'est pas utilisable, même en paginant 1,7s on s'ennuie vite. Oui pour n'afficher que les erreurs par défaut, on verra pour le reste. Pour 1000 lignes au Nord ça marche suffisamment bien, je ne sais pas si la volumétrie risque d'augmenter, ou si on contraire ce sera toujours plus faible à l'avenir (là ce serai l'import initial).

#5 Updated by Pierre Cros 3 months ago

Dans l'utilisation prévue aujourd'hui au NOrd ce sera toujours plus faible : utilisation quotidienne pour 15 personnes (et on est bien là juste sur de l'import initial).

Même étendu à l'ensemble du département (dans quelques mois), on aura un import initial x3 peut-être, mais pour l'utilisation quotidienne ça restera raisonnable.

Also available in: Atom PDF