Modifié par Nicolas Schreiber le 2026/01/12 15:46

Depuis la version 6.1
modifié par Nicolas Schreiber
sur 2025/08/05 09:55
Commentaire de modification : Il n'y a aucun commentaire pour cette version
À la version 16.1
modifié par Nicolas Schreiber
sur 2026/01/12 15:12
Commentaire de modification : Il n'y a aucun commentaire pour cette version

Résumé

Détails

Propriétés de la Page
Titre
... ... @@ -1,1 +1,1 @@
1 -Fonctions avancées : paramétrage des exports tabulés paramétrables
1 +Fonctions avancées : modification des exports tabulés paramétrables
Contenu
... ... @@ -2,7 +2,6 @@
2 2  {{toc/}}
3 3  {{/box}}
4 4  
5 -page en cours de construction
6 6  
7 7  = A savoir avant de commencer =
8 8  
... ... @@ -128,7 +128,7 @@
128 128  * **dataMultiValueSeparator : **separateur de champ multivalue (Si non defini c'est celui qui est defini dans l'attribut   multiValueSeparator du tag 'table', ou si non defini c'est '/' slash par defaut)
129 129  * **dataAfter : **separateur apres la donnee du champ répété en cas de multivaluation   (Chaine vide si non defini)
130 130  
131 -**Exemple : <field name='INTERPRETATION'  label='Interpretation'  dataBefore="texte avant " dataAfter=" texte aprés" dataMultiValueSeparator=" ; "/>**
130 +**Exemple : <field name='INTERPRETATION'  label='Interpretation'  dataBefore="texte avant : " dataAfter=" (texte aprés)" dataMultiValueSeparator=" ; "/>**
132 132  
133 133  [[image:1698221647528-156.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
134 134  
... ... @@ -229,6 +229,8 @@
229 229  * de ne pas perdre les libellés de champs (on les indiquera dans **dataBefore**)
230 230  * de n'avoir des séparateurs de champs que si un au moins des champs précédents est non vide...sinon le contenu de la colonne commencera par un séparateur (on les indiquera dans **dataJoinSeparator**)
231 231  
231 +La concat peut etre vue comme une "variable" que l'on va pouboir utiliser à sa guise
232 +
232 232  == A minima ==
233 233  
234 234  on va donc créer une "boite" qui va assembler les données de la colonne en concaténant les champs cités
... ... @@ -246,7 +246,7 @@
246 246  
247 247  == Ajout de données avant - aprés ==
248 248  
249 -Cette "boite" concat est vue comme un "groupe" de données. a ce titre il est possible de lui adjoindre les paramétres suivants
250 +Cette "boite" concat est vue comme un "groupe" de données. a ce titre il est possible de lui adjoindre les paramètres suivants
250 250  
251 251  * **groupDataBefore **: donnee avant le groupe
252 252  * **groupDataAfter **: donnee apres le groupe
... ... @@ -265,11 +265,11 @@
265 265   <field name='DESCRIPTION_INTRINSEQUE'  dataJoinSeparator="\n"/>
266 266  **</concat>**
267 267  
268 -//A noter les \n qui se transforment en retour à la ligne dans la colonne et le datajoinSeparator qui poermet de choisir si on veut un point virgule ou un retour ligne entre chaque champs//
269 +//A noter les \n qui se transforment en retour à la ligne dans la colonne et le datajoinSeparator qui permet de choisir si on veut un point virgule ou un retour ligne entre chaque champs//
269 269  
270 270  [[image:1698235351939-869.png]]
271 271  
272 -== Ajout de données par défaut entre les champs du groupe ==
273 +== Ajout de données par défaut entre les champs de la concat ==
273 273  
274 274  Dans l'exemple ci-aprés, on a positionnés les séparateurs de champs dans chacun des champs avec le DataJoinSeparator
275 275  
... ... @@ -298,7 +298,8 @@
298 298  
299 299  (% class="box infomessage" %)
300 300  (((
301 -les notions de subGroupDataBefore et subGroupDataAfter peuvent aussi etre paramétrées mais n'ont pas grand intéret dans les concat, elles seront plutôt utilisées dans le cas des blocs répétables
302 +Les notions de subGroupDataBefore et subGroupDataAfter peuvent aussi etre paramétrées mais n'ont pas grand intéret dans les concat, elles seront plutôt utilisées dans le cas des blocs répétables.
303 +Les concat ont donc un comportement trés similiare aux groupes de groupDataType = "group", à la différence qu'on peut y mettre n'importe quel champ dedans
302 302  )))
303 303  
304 304  = Export des champs d'un bloc répétable =
... ... @@ -307,20 +307,40 @@
307 307  
308 308  Globalement il ressemblera beaucoup à un concat, à la différence prés qu'un concat ne se joue qu'une seule fois, alors que le bloc de champs se jouera dans l'export autant de fois qu'il y a de groupe saisis dans la notice courante
309 309  
310 -(% class="box infomessage" %)
311 -(((
312 312  On peut se representer cela comme une boucle d'éxécution qui tournera tant qu'il existe encore un bloc répété à exporter
313 -)))
314 314  
315 315  //Exemple avec un bloc de champ répétable contenant 3 champs avec une saisie lacunaire (il est rare que tous les champs soient remplis dans un bloc)//
316 316  
317 -[[image:1698249410427-526.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
316 +[[image:1768226297481-108.png]]
318 318  
319 -le paramétrage de l'export sera défini tel que :
318 +== groupDataType~=group ==
320 320  
320 +On va boucler sur les blocs répétables en concaténant les champs qu'il contient, et chaque bloc sera concaténé au précédent (avec groupDataSubgroupSeparator). chaque "bloc" est vu comme un subGroup.
321 +
322 +Dans le cas des groupDataType=group, les subGroup sont regroupés dans une seule "variable"
323 +
324 +il sera possible de définir les data de concaténation ci dessous
325 +
326 + **groupDataBefore**=" données en début de groupe"
327 +
328 +*
329 +** subGroupDataBefore **= "données en début de chaque sous-group"
330 + **subGroupDataSeparator ** = "données entre chaque champ du sous-groupe"**
331 +** subGroupDataAfter** = "\données à la fin de chaque sous-groupe"
332 +\\ **groupDataSubGroupSeparator**=" donnée insérée entre chaque subgroup"**
333 +
334 + **groupDataAfter**="données en fin de groupe
335 +
336 +Cela permet donc un formatage plus fin car ion eput agir à tous les niveaux de la concatenation, notemment le **groupDataSubGroupSeparator **qui permet de gérér les séparateur entre les sous-groupes
337 +\\rappel : un sous-groupe correspond dans le MCD, un bloc répétable est un bloc type="set" posé dans un bloc type="selection"
338 +
339 +[[image:1768223007353-115.png]]
340 +
341 +Exemple avec juste deux retours lignes entre chaque sous-groupe
342 +
321 321  **~ <group_field name="INTERVENANT"
322 322   groupDataType              = "group"
323 - label                      = "Intervenants"
345 + label                      = "Intervenants-group"
324 324   groupDataSubGroupSeparator = "\n\n"
325 325  \\>  **
326 326  
... ... @@ -331,7 +331,7 @@
331 331  
332 332  et génerera la colonne ci dessous
333 333  
334 -[[image:1698249964685-586.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
356 +[[image:1768226409578-347.png||class="img-thumbnail"]]
335 335  
336 336  (% class="box infomessage" %)
337 337  (((
... ... @@ -346,11 +346,22 @@
346 346  Un sous-groupe est un ensemble de champs qui appartiennent a la même entite :  au meme bloc de champs (type=set), a la même notice liée ou a la même notice qui référence la notice courante
347 347  )))
348 348  
349 -Il est possible de choisir un** type= "sous groupe"**
371 +== groupDataType~=subGroup ==
350 350  
373 +le fonctionnement est différent, car il n'y a pas "une seule variable" concaténant tous les sous-groupes, mais autant de "sous-variables" que de blocs. On ne peut donc poser que les séparateurs suivants
374 +
375 +**subGroupDataBefore **= "données en début de chaque sous-group"
376 + **subGroupDataSeparator ** = "données entre chaque champ du sous-groupe"
377 +**subGroupDataAfter** = "\données à la fin de chaque sous-groupe"
378 +
379 +Chaque sous-groupe sera ensuite "posé" dans la colonne avec le compressChar=" ; " définit dans l'entête du format
380 +
351 351   <group_field name="INTERVENANT"
352 -**groupDataType   ** = **"SubGroup"**
353 - label                      = "Intervenants"
382 +**~ groupDataType   ** = **"subGroup"**
383 + label                      = "Intervenants - uibgroup"
384 +
385 + subGroupDataBefore = "intervenant : "
386 + subGroupDataAfter = "\n"
354 354  ~> 
355 355  
356 356   <field name='PERSONNE_INTERVENANT'  label='Intervenant'/> 
... ... @@ -358,15 +358,29 @@
358 358   <field name='PRECISION_INTERVENANT'  label='Précisions intervenant ' dataJoinSeparator="\n"/> 
359 359  </group_field>
360 360  
361 -(% class="wikigeneratedid" %)
362 -Dans ce cas chaque élément du groupe générera sa propre colonne, donc ce n'est pas trés différent d'avoir positionné ces 3 champs directement dans le template etp, sans tenir compte du group_field, ou bien directement dans un concat, mais avec la contrainte de ne pouvoir y inclure que des champs du bloc répétable courant
363 363  
395 +[[image:1768226447728-811.png||class="img-thumbnail"]]
364 364  
365 -A noter que pour les type=SUbGroup le label du group_field est ignoré et que ce sont les labels de chaque élément qui sont pris en compte dans les intitulé de colonne
397 +le groupDataType="subgroup" est donc peu utilisé, sauf dans les exports au format xml car ils permettent de conserver la répétabilité des blocs, et donc de répéter les noeux dans le format xml de sortie
366 366  
367 -[[image:1698308536947-443.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
399 += sans groupDataType =
368 368  
401 +SI on ne précise pas de groupDataType le moteur les considère comme ue arbre xml complet avec un noeud pour chaque sous-groupe et un noeud pour chaque champ. ça ne peut pas vraiment se matérialiser dans un export colonné, donc dans ce cas les données sont exportées "champ" par "champ", chaque champ étant regroupé dans une colonne avec le compressChar=" ; " définit dans l'entête du format.
402 +De facto on perd la lisibilité du bloc
369 369  
404 +<group_field name="INTERVENANT" 
405 + label  = "Intervenants - sans groupDataType" 
406 +~> 
407 +
408 + <field name='PERSONNE_INTERVENANT'  /> 
409 + <field name='FONCTION_INTERVENANT'  dataBefore=" (" dataAfter=")"/> 
410 + <field name='PRECISION_INTERVENANT'  dataJoinSeparator="\n"/> 
411 +</group_field>
412 +
413 +[[image:1768227008672-422.png]]
414 +
415 +les groupes sans groupDAtaTYpe seront essentiellement utilisés dans les exports OAI:LIDO pour ocnserver les imbrications de champs et blocs dans le format xml de sortie
416 +
370 370  == Paramétrages complémentaires pour les blocs répétables ==
371 371  
372 372  il est possible d'inclure aussi dans un group_field
... ... @@ -649,7 +649,7 @@
649 649   documentTypes="Document-Photo"
650 650   subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
651 651   subGroupDataMultMaxi=""
652 - **subGroupDataIndex="1">**
699 + **subGroupDataIndex="1">**
653 653   <!~-~- champ de la table IDOCS ~-~->
654 654   <field name="LABEL" label="Photo 1 : "/>
655 655  
... ... @@ -679,7 +679,7 @@
679 679  <linked_records_document_records name="PHOTO_INV"
680 680   documentTypes="Document-Photo"
681 681   subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
682 - **subGroupDataIndex="1"**>
729 + **subGroupDataIndex="1"**>
683 683  
684 684  **~
685 685   **<photo_document_file name="**_PHOTO1**"
... ... @@ -692,7 +692,7 @@
692 692  <linked_records_document_records name="PHOTO_INV"
693 693   documentTypes="Document-Photo"
694 694   subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
695 - **subGroupDataIndex="2"**>
742 + **subGroupDataIndex="2"**>
696 696  
697 697  **~
698 698   **<photo_document_file name="**_PHOTO2**"
... ... @@ -705,7 +705,7 @@
705 705  <linked_records_document_records name="PHOTO_INV"
706 706   documentTypes="Document-Photo"
707 707   subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
708 - **subGroupDataIndex="3"**>
755 + **subGroupDataIndex="3"**>
709 709  
710 710  **~
711 711   **<photo_document_file name="**_PHOTO3**"
... ... @@ -718,7 +718,7 @@
718 718  <linked_records_document_records name="PHOTO_INV"
719 719   documentTypes="Document-Photo"
720 720   subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
721 - **subGroupDataIndex="4"**>
768 + **subGroupDataIndex="4"**>
722 722  
723 723  **~
724 724   **<photo_document_file name="**_PHOTO4**"
... ... @@ -739,8 +739,7 @@
739 739  *
740 740  ** subGroupDataMultMaxi="4"
741 741   subGroupDataIndex="">
742 -
743 - **<photo_document_file name="_PHOTO"
789 +\\ **<photo_document_file name="_PHOTO"
744 744   label="Photo"
745 745   documentTypes="Document-Photo"
746 746   resolution="LOW"
... ... @@ -782,8 +782,7 @@
782 782   subGroupdataMultiValueSeparator="|"
783 783   subGroupDataMultMaxi="1"
784 784   >
785 -
786 - <class_extractor
831 +\\ <class_extractor
787 787   extractorClassName="com.ezida.services.musee.extractor.MusPhotoArkExtractor"
788 788   name="PHOTO_INV_ARK"
789 789   label=""
... ... @@ -849,11 +849,24 @@
849 849  [[image:1698311964289-353.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
850 850  
851 851  
852 -== ==
853 853  
898 +== Conversion données d'un champ en majuscules ==
854 854  
900 +<field name='TITRE'  label='Titre' dataIsToMajus="true"/>
855 855  
902 +== Masquer un contenu de champ en fonction d'un menu (champs sensibles) ==
856 856  
904 +ci dessous si le uiser n'a pas le menu musee_menu_masque_champs_sensibles il pourra voir le champ
857 857  
906 +<field name='TITRE'  label='Titre' dataIsToMajus="true" inputRecordFilter="('{user.hasMenu.musee_menu_masque_champs_sensibles}' = 'false')"/>
858 858  
859 -
908 +== Ajouter le label du champ dans le contenu exporté ==
909 +
910 +<field name='TITRE'  label='Titre' dataBefore='{fieldLabel} :  ' />
911 +
912 +== Exporter des infos de paramétrage de champ ==
913 +
914 +fieldInfoName pouura prendre les 3 options label, linkTable, linkSource
915 +
916 +<field_desc_info name="_collec_liee" fieldName="COLLEC_LIEE"
917 + fieldInfoName="linkTable"/>
1768223007353-115.png
Auteur
... ... @@ -1,0 +1,1 @@
1 +XWiki.NSR
Taille
... ... @@ -1,0 +1,1 @@
1 +300.9 KB
Contenu
1768226297481-108.png
Auteur
... ... @@ -1,0 +1,1 @@
1 +XWiki.NSR
Taille
... ... @@ -1,0 +1,1 @@
1 +47.9 KB
Contenu
1768226409578-347.png
Auteur
... ... @@ -1,0 +1,1 @@
1 +XWiki.NSR
Taille
... ... @@ -1,0 +1,1 @@
1 +9.9 KB
Contenu
1768226447728-811.png
Auteur
... ... @@ -1,0 +1,1 @@
1 +XWiki.NSR
Taille
... ... @@ -1,0 +1,1 @@
1 +11.6 KB
Contenu
1768227008672-422.png
Auteur
... ... @@ -1,0 +1,1 @@
1 +XWiki.NSR
Taille
... ... @@ -1,0 +1,1 @@
1 +14.0 KB
Contenu