En client léger lorsque l’on souhaite sélectionner les lignes ou les cellules d’un tableau la sélection ne semble pas fonctionner correctement (une partie des cellules sélectionnées ne le restent pas). C’est le cas en particulier lorsque les lignes/cellules sélectionnées ne sont pas affichées en même temps à l’écran (c’est à dire lorsqu’il est nécessaire d’utiliser la barre de défilement). On constate souvent ce problème lorsque l’on utilise la fonction copier/coller puisqu’une partie des cellules ne sera pas copiée.
Il existe un paramètre OPX2 qui définit le nombre maximum de cellules chargées en cache dans un tableau sur un poste bureautique en client léger. Ceci permet d’éviter de dégrader les performances d’affichage pour les tableaux contenant un grand nombre de cellules.
Il s'agit des paramètres suivants :
Ce paramètre permet de limiter la quantité d'information envoyée à l'applet
JAVA, dans le cas de gros tableaux de données, si le nombre de cellules du tableau
excède cette limite, seule la page affichée est envoyée à l’applet.
Ce paramètre permet de limiter la quantité d’information envoyée au navigateur,
dans le cas de gros tableaux de données, si le nombre de cellules du tableau
excède cette limite, seule la page affichée est envoyée.
Dans le cas d’un tel tableau, les données envoyées à l’applet sont donc limitées à celles affichées à l’écran. Il ne sera donc pas possible d’étendre la sélection de cellules dans ce tableau au delà des cellules affichées. Par conséquence, la fonction de copier/coller, par exemple, ne pourra pas être réalisée sur la totalité des données de la table mais seulement sur celles affichées à l’écran.
Le caractère « aléatoire » du problème vient justement de la valeur de ces paramètres et de la taille des tableaux affichés. Par exemple, si on fixe les paramètres à 5 000, une sélection de dans un tableau de 2 000 cellules ne posera aucun problème même si les données ne sont pas affichable en même temps à l’écran car toutes les données du tableau seront chargées dans le cache de l’applet ou du navigateur. En revanche pour un tableau de 6 000 cellules il ne sera pas possible de sélectionner plus de cellules que celles affichées à l’écran.
L’augmentation de la valeur des paramètres précédents peut poser des problèmes de performance. Elle n’est donc pas une solution générale au problème rencontré. En fonction du besoin réel des utilisateurs il peut être envisagé un export « Excel » ou pdf des données du tableau. Il sera donc nécessaire de revenir au besoin fonctionnel pour élaborer une solution adaptée permettant de contourner cette limite technique. Pour rappel, en client lourd ce problème ne se pose pas car toutes les données sont chargées.
Si vous êtes familiers au monde du développement, le terme DevOps ne doit pas vous être inconnu. Cependant, les pratiques liées aux DevOps n’étant pas sans failles, nous nous tournons de plus en plus vers la notion de Platform engineering. Mais à quoi ça sert ? Et comment le mettre en place ? C’est ce que nous allons voir dans cet article. Bonne lecture !
Affichage et administration des différents utilisateurs d’une application Symfony
Découvrez la planche #52 !