Lorsqu’on fait un export tar.gz éclaté (json) d’un module une partie du paramétrage des vues n’est pas exporté, le contenu de l’onglet “Page d’accueil”.
Steps to reproduce
A partir du module de Demo :
Modifier le paramétrage de la vue DemoAdminHome afin de compléter tous les champs de l’onglet “Page d’accueil” :
Quand on regarde le contenu du fichier DemoAdminHome.json présent dans l’archive on constate qu’il manque le paramétrage de l’onglet “Page d’accueil” dont le thème :
Remarque
Je voulais essayer avec la dernière version 6.0.16 mais quand j’utilise ce tag j’ai une version 6.1.0 à la place …
Les images 6.0.16 ont été rebuildées, ça devrait être bon. Désolé pour ce raté.
Pour mémoire, bien que la 6.1 soit officiellement releasée, les tags 6-latest[-light]* et 6[-light] restent pour le moment calées sur la 6.0. La raison est que pour le moment il n’est pas possible d’upgrader directement de la 5.3 à la 6.1 (il faut passer par la 6.0). Les tags 6-latest[-light]* et 6[-light] seront basculés sur la 6.1 lorsque cette possibilité sera offerte.
Après avoir retesté sur des instances 6.0 à jour avec le module Demo exporté et importé en tar.gz (i.e. JSON eclaté), à l’arrivée il manque effectivement le thème sur la vue DemoAdminHome.
NB: il y a le même symptôme en JSON non éclaté donc c’est un pb lié au format JSON, en XML non éclaté et en XML éclaté il n’y a pas le pb
Au debugger on voit que les instances utilisées pour les exports de modules JSON déclenchés depuis la UI (via boutons d’export ou via un commit Git) sont des instances “treeview” : tree_ajax_* ce qui explique le pb car il y a des règles de visibilité d’attributs sur l’objet View qui sont lié au fait que l’instance soi une instance “batch”`
Solution 1 = considérer que ces instances Ajax liées à ce treeview technique ModuleTV sont des batch instances… ça marchera mais c’est très moche
Solution 2 = diffuser l’information que c’est un export de module pour utiliser des instances “batch” et pas des instances “treeview”
Effectivement, il me semble plus propre d’utiliser des instances batch (prefix eai_) dans le cas du treeview qui est utilisé pour sérialiser le module en JSON (éclaté en répertoires ou non).
Si l’instance de l’objet racine de l’arbre est un Module batch, tout l’arbre le sera.
On va faire ça rapidement.