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

Depuis la version 2.2
modifié par Nicolas Schreiber
sur 2025/07/23 10:47
Commentaire de modification : Update document after refactoring.
À la version 17.1
modifié par Nicolas Schreiber
sur 2026/01/12 15:46
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,11 +2,10 @@
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  
9 -L'export de données muséologiques vers un tableur met en évidence la particularité de leur organisation technique.
8 +L'export de données muséologiques vers un tableur (format csv ou excel natif) met en évidence la particularité de leur organisation technique.
10 10  
11 11  Pour pouvoir répondre aux exigence scientifiques de leur description, il n'est pas possible d'utiliser des grilles de saisie de type tableur, avec juste des lignes et des colonnes, il faudrait un nombre inifini de colonnes.
12 12  
... ... @@ -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,81 @@
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 +
417 +== Extraire un nombre défini de bloc chacun dans sa colonne ==
418 +
419 +Dans certains cas il peut etre interessant d'éclater les blocs et les champs d'un bloc dans des colonnes séparées
420 +
421 +C'est possible avec le subGroupDataIndex mais il fauit prévoir le nombre de colonnes maximum
422 +
423 +Veiller aussi à l'unicité des name en indisuant le nom du bloc dans le fieldName
424 +
425 +<group_field name="INTERVENANT1" fieldName="INTERVENANT" 
426 + label  = "Intervenants - groupe 1" 
427 + subGroupDataIndex ='1'
428 +~> 
429 +
430 + <field name='PERSONNE_INTERVENANT'  label="PERSONNE_INTERVENANT1"/> 
431 + <field name='FONCTION_INTERVENANT'  label="FONCTION_INTERVENANT1" /> 
432 + <field name='PRECISION_INTERVENANT' label="PRECISION_INTERVENANT1"/> 
433 +</group_field>
434 +
435 +<group_field name="INTERVENANT2" fieldName="INTERVENANT" 
436 + label  = "Intervenants - groupe 2" 
437 + subGroupDataIndex = '2'
438 +~> 
439 +
440 + <field name='PERSONNE_INTERVENANT'  label="PERSONNE_INTERVENANT2"/> 
441 + <field name='FONCTION_INTERVENANT'  label="FONCTION_INTERVENANT2" /> 
442 + <field name='PRECISION_INTERVENANT' label="PRECISION_INTERVENANT2"/> 
443 +</group_field>
444 +
445 +<group_field name="INTERVENANT3" fieldName="INTERVENANT" 
446 + label  = "Intervenants - groupe 3" 
447 + subGroupDataIndex ='3'
448 +~> 
449 +
450 + <field name='PERSONNE_INTERVENANT'  label="PERSONNE_INTERVENANT3"/> 
451 + <field name='FONCTION_INTERVENANT'  label="FONCTION_INTERVENANT3" /> 
452 + <field name='PRECISION_INTERVENANT' label="PRECISION_INTERVENANT3"/> 
453 +</group_field>
454 +
455 +
456 +[[image:1768228264778-201.png]]
457 +
458 +== Générer autant de lignes que de blocs répétables ==
459 +
460 +Cette option est utilisée dans l'export e-recolnat pour générer une ligne d'export pour chaque bloc identification d'un specimen (FLO-4677)
461 +
462 +On définit le nom du bloc concernée (un seul par export) dans l'entéte du fichier via recordFromGroupFieldName
463 +
464 +[[image:1768228658052-477.png]]
465 +
466 +[[image:1768228710793-297.png]]
467 +
468 +
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
... ... @@ -375,39 +375,29 @@
375 375  * des champs des notices liées a un des champs du bloc via le tag 'linked_field'
376 376  * des notices qui référencent la notice courante : tag 'reference' pour les liens parent/enfants. ce tag est étudié plus loin dans l'article
377 377  
378 -=== Ajout de données avant - après chaque sous-groupe ===
477 +
379 379  
380 -* **subGroupDataBefore **: séparateur avant les données d'un sous-groupe   (Chaine vide si non défini)
381 -* **subGroupDataSeparator **: séparateur entre les données d'un sous-groupe   (Espace si non défini)
382 -* **subGroupDataAfter **: séparateur après les donnes d'un sous-groupe    (Chaine vide si non défini)
383 -
384 -=== Ajout de données avant - après le groupe ===
385 -
386 -Uniquement si groupDataType="group" car la colonne unique contiendra une concaténation de tous les  sous-groupes en un seul groupe
387 -
388 -* **groupDataBefore **: séparateur avant les données du groupe    (Chaine vide si non défini)
389 -* **groupDataSubGroupSeparator **: séparateur entre les sous-groupes   (' / ' espace slash espace si non défini)
390 -* **groupDataAfter **: séparateur après les données du groupe   (Chaine vide si non défini)
391 -
392 392  === Exemple global ===
393 393  
394 -<**group_field **name="INTERVENANT"
395 - groupDataType              = "**group**"
396 - label                      = "Intervenants"
397 - groupDataBefore            = "- texte avant le groupe -\n"
398 - groupDataSubGroupSeparator = "\n{séparateur par défaut entre les sous groupe}\n"
399 - groupDataAfter             = "\n-texte aprés le groupe"
400 - subGroupDataBefore         = "- texte avant le sousgroupe - "
401 - subGroupDataSeparator      = " {séparateur par défaut dans le sous groupe} "
402 - subGroupDataAfter          = " - texte aprés avant le sousgroupe -"
403 -\\>
404 -\\ <field name='PERSONNE_INTERVENANT'  label='Intervenant'/> 
481 +<group_field name="INTERVENANT"
482 + groupDataType  = "group"
483 + label  = "Intervenants"
484 + groupDataBefore  = "groupDataBefore"
485 + groupDataSubGroupSeparator = "\ngroupDataSubGroupSeparator"
486 + subGroupDataBefore  = "\nsubGroupDataBefore"
487 + subGroupDataSeparator  = "\nsubGroupDataSeparator\n"
488 + subGroupDataAfter  = "\nsubGroupDataAfter"
489 + groupDataAfter  = "\ngroupDataAfter"
490 +~> 
491 +
492 + <field name='PERSONNE_INTERVENANT'  label='Intervenant'/> 
405 405   <field name='FONCTION_INTERVENANT'  label='Fonction ' dataBefore=" (" dataAfter=")"/> 
406 406   <field name='PRECISION_INTERVENANT'  label='Précisions intervenant ' dataJoinSeparator="\n"/> 
407 407  </group_field>
408 408  
409 -[[image:1698310122900-966.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
410 410  
498 +[[image:1768229192168-268.png||class="img-thumbnail"]]
499 +
411 411  == Filtre sur les données du groupe ==
412 412  
413 413  D'un certaine manière un bloc répétable peut être considéré comme une table liée embarquée dans la notice courante
... ... @@ -540,7 +540,7 @@
540 540  
541 541   <field name='ETAT_MODIFIE_LE'  label='Réalisé le/> 
542 542   <field name='ETAT_MODIFIE_PAR'  label='Réalisé par/> 
543 - **<linked_field name='EMPLACEMENT' label='Emplacement théorique'>**
632 +**<linked_field name='EMPLACEMENT' label='Emplacement théorique'>**
544 544   <field name='LABEL_PARENT' label='Empl. référence hiéra' display='true'/>
545 545   </linked_field>
546 546  
... ... @@ -610,12 +610,11 @@
610 610   subGroupDataSeparator = ", "
611 611   subGroupDataAfter     = "" >
612 612  
613 -*
702 +*
614 614  ** <linked_field name='BIEN' label='Bien'>
615 615  **~ <field name='DISPLAY' label='Bien' display='true'/>
616 616   </linked_field>
617 -
618 -</reference>**
706 +\\</reference>**
619 619  
620 620  **<reference source='musee' table='MUS_JOIN_COLIS_MOUV'**
621 621   groupDataType         = "subGroup"
... ... @@ -623,68 +623,144 @@
623 623   subGroupDataBefore    = ""
624 624   subGroupDataSeparator = ", "
625 625   subGroupDataAfter     = "" >
626 - **<linked_field name='MOUVEMENT_BIEN' label='Bien'>**
714 +**<linked_field name='MOUVEMENT_BIEN' label='Bien'>**
627 627   <field name='DISPLAY' label='Bien' display='true'/>
628 628   </linked_field>
629 629  </reference>
630 630  
631 631  
632 -= Autres paramétrages =
720 += Exporter des images (uniquement en format de sortie excel natif) =
633 633  
634 -== Conversions de dates et datations ==
722 +== Première image uniquement ==
635 635  
636 -**dataDateFormatDisplay**='yyyy-MM-dd'
724 +Toutes les options de séparateurs, textes avant et aprés, fonctionnent. tous les cghampsd e IDOCS sont exportables
637 637  
638 -dataDateFormatDisplay='yyyy'
726 +C'est l'option **subGroupDataIndex **qui permet de choisir l'image à exporter (premiere, deuxieme, troisieme...)
639 639  
640 -.....
728 +**Attention au choix de la résolution. **
729 +//résolution=LOW// (imagette) sera suffisant pour excel. Si vous prenez MEDIUM ou HIGH le poids du fichier excel risque d'etre éxagéréent conséquent, ce qui compliquera la manipulation du document final
730 +ne mettez pas une //dimImageXYInPixels// supérieurs à192, cela va ralentir le traitement et détérirore la qualité de l'imagette (192 est sa dimension par défaut dasn Flora)
641 641  
642 -//Cela fonctionne pour les champs dates, time et datation//
643 643  
644 -time <field name='CREATE_DATE'  label='Saisi le' dataDateFormatDisplay='yyyy-MM-dd'/>
733 +**<linked_records_document_records** name="PHOTO_INV"
734 + inputRecordFilter=""
735 + linkedRecordFilter=""
645 645  
646 -date <field name='ETAT_MODIFIE_LE'  label='Etat modifié le ' dataDateFormatDisplay='yyyy-MM-dd'/>
737 + groupDataType=""
738 + documentTypes="Document-Photo"
739 + subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
740 + subGroupDataMultMaxi=""
741 + **subGroupDataIndex="1">**
742 + <!~-~- champ de la table IDOCS ~-~->
743 + <field name="LABEL" label="Photo 1 : "/>
647 647  
648 -datation <field name='DATATION_BIEN_DEBUT' dataDateFormatDisplay='yyyy' /> Pour l'instant les dates Avant Jésus-Christ ne sont pas mentionnées comme telmes quand on applique cette conversion
745 + <!~-~- Imagette ~-~->
746 + <photo_document_file name="_PHOTO_1"
747 + label="Photo 1"
748 + inputRecordFilter=""
749 + documentTypes="Document-Photo"
649 649  
650 -(% class="box infomessage" %)
651 -(((
652 -Attention Excel applique ensuite ses propres automates de formatage à l'ouverture du fichier
653 -)))
751 +*
752 +** resolution="LOW"
753 + dimImageXYInPixels="192"**/>
754 + </linked_records_document_records>**
654 654  
655 -== valeur par défaut ==
756 +== Plusieurs images ==
656 656  
657 -**dataDefValue**="maValeurtextuelle"
758 +=== sur plusieurs colonnes ===
658 658  
659 -si le field, linked_field, concat, group_feld est vide, c'est cette valeur qui sera exportée
760 +Il est recommandé de positionner autant de colonnes que d'images à exporter, d'indiquer dans chque colonne le numéro de l'image (premiers, deuxieme, troisieme...) et de les positionner à la fin du tableau cara certaines colonnes seront forcéemnt vides
660 660  
661 -//Exemple : utilisé dans l'export e-recolnat pour avoir par défaut la colonne langue = FR sans devoir la saisir dans toutes les notices. si le champ Langue de  notice est non vide il écrasera la dataDefValue//
762 +Pour cela il suffit de dupliquer le bloc ci dessus et de choisir le bon **subGroupDataIndex="?" **dans chaque colonne
662 662  
663 -== Dones textuelles ajoutées en multilangue ==
764 +Pour ne pas compliquer la lecture du fichier excel il est préférable de ne pas exporter le nom du fichier à chaque fois
664 664  
665 -Flora gére des fichiers de mots clés pour la traduction des labels textuels dans les différentes languies (dans les fichiers *.properties)
766 +Exemple avec 4 images
666 666  
667 -[[image:1698311785574-970.png||height="133" width="841"]]
768 +<linked_records_document_records name="PHOTO_INV"
769 + documentTypes="Document-Photo"
770 + subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
771 + **subGroupDataIndex="1"**>
668 668  
669 -ces mots clés peuvent etre utilisés dans toutes les valeurs textuelles posées dans les tags
773 +**~
774 + **<photo_document_file name="**_PHOTO1**"
775 + label="**Photo1**"
776 + documentTypes="Document-Photo"
777 + resolution="LOW"
778 + dimImageXYInPixels="192"/>
779 + </linked_records_document_records>
670 670  
671 -//Exemple//
781 +<linked_records_document_records name="PHOTO_INV"
782 + documentTypes="Document-Photo"
783 + subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
784 + **subGroupDataIndex="2"**>
672 672  
673 -<field name='TYPE_UE'  label='Type Unité d_enregistrement ' dataBefore='**${menu.label.inventory} **: '/>
786 +**~
787 + **<photo_document_file name="**_PHOTO2**"
788 + label="**Photo2**"
789 + documentTypes="Document-Photo"
790 + resolution="LOW"
791 + dimImageXYInPixels="192"/>
792 + </linked_records_document_records>
674 674  
675 -[[image:1698311964289-353.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
794 +<linked_records_document_records name="PHOTO_INV"
795 + documentTypes="Document-Photo"
796 + subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
797 + **subGroupDataIndex="3"**>
676 676  
799 +**~
800 + **<photo_document_file name="**_PHOTO3**"
801 + label="**Photo3**"
802 + documentTypes="Document-Photo"
803 + resolution="LOW"
804 + dimImageXYInPixels="192"/>
805 + </linked_records_document_records>
677 677  
678 -== Export des liens ark vers les images ==
807 +<linked_records_document_records name="PHOTO_INV"
808 + documentTypes="Document-Photo"
809 + subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
810 + **subGroupDataIndex="4"**>
679 679  
680 -Il est toujorus délicat d'incorporer les images en tant que telles dans une colonne excel ou calc car cela rend enuite le fichier difficile à manipuler, et dans le cas de calc elels ne suivent pas les tris réalisés sur le tableau ce qui rend les onnées incohérentes
812 +**~
813 + **<photo_document_file name="**_PHOTO4**"
814 + label="**Photo4**"
815 + documentTypes="Document-Photo"
816 + resolution="LOW"
817 + dimImageXYInPixels="192"/>
818 + </linked_records_document_records>
681 681  
682 -de plus sur de gros volumes cela peut générer des fichiers de trop grande taille, surtout si on intégre les images originales au liue de se contenter des imagettes
820 +=== sur plusieurs lignes ===
683 683  
684 -Nous avons donc choisi de publier les images dans les tablmeurs vai des liens ark
822 +Avec les options ci dessous déclas dans un seul bloc
685 685  
686 -la colonne devra donc etre paramétrée ainsi
824 + <linked_records_document_records name="PHOTO_INV"
825 + documentTypes="Document-Photo"
826 + subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
687 687  
828 +*
829 +** subGroupDataMultMaxi="4"
830 + subGroupDataIndex="">
831 +\\**<photo_document_file name="_PHOTO"
832 + label="Photo"
833 + documentTypes="Document-Photo"
834 + resolution="LOW"
835 + dimImageXYInPixels="192"/>
836 + </linked_records_document_records>**
837 +
838 +Flora générera une seule colonne pour les images, et ajoutera ensuite autant de lignes (vides) que nécésssaire pour poistionner au maximum les 3 Images suivantes (total 4 images exportées=
839 +
840 +Cette disposition complique un peu la manipulation et la lecture des données dans excel à cause des lignes vides
841 +
842 +== (% id="cke_bm_1281128S" style="display:none" %) (%%)Export des liens ark vers les images ==
843 +
844 +Il est parfois délicat d'incorporer les images en tant que telles dans une colonne excel  car cela rend enuite le fichier difficile à manipule
845 +
846 +De plus sur de gros volumes cela peut générer des fichiers de trop grande taille, surtout si on intégre les images originales au liue de se contenter des imagettes
847 +
848 +Il st donc possible de publier les images via des liens ark
849 +
850 +la colonne devra  etre paramétrée ainsi
851 +
688 688  **name="PHOTO_INV" **=nom du champ contenant le lien vers la phototheque (si l'export concerne MUS_PHOTO on indiquera UNIQUE_KEY)
689 689  
690 690  **subGroupDataMultMaxi="1" **Nombre de notices photos lues**, **il est recommandé de ne mettre qu'un seul lien ark car de facto le lien sera automatiquemenrt clicable dans excel (aprés avoir cliqué dans la cellule)
... ... @@ -706,8 +706,7 @@
706 706   subGroupdataMultiValueSeparator="|"
707 707   subGroupDataMultMaxi="1"
708 708   >
709 -
710 - <class_extractor
873 +\\ <class_extractor
711 711   extractorClassName="com.ezida.services.musee.extractor.MusPhotoArkExtractor"
712 712   name="PHOTO_INV_ARK"
713 713   label=""
... ... @@ -724,22 +724,73 @@
724 724  
725 725  résultat obtenu.. avec un clic sur le lien ark exporté
726 726  
727 -[[image:1698400681257-169.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
890 +[[image:1698400681257-169.png]]
728 728  
729 729  
730 -Avec Excel vous pouvez utiliser ce lien ark pour intégrer l'image dans la cellule si vous le souhaitez, mais ce n'est pas automatique. le plus simple est de procéder par copie d'écran partielle
893 += Autres paramétrages =
731 731  
732 -* Touche Impr Ecran de votre ordinateur,
733 -* selection de la zone image à copier,
734 -* puis Edition/coller dans la cellule de votre choix
895 +== Conversions de dates et datations ==
735 735  
736 -SI aprés avoir appuyé sur Impr Ecran vous ne pouvez pas selectionner une zone à l'écran, utilisez un outil de capture. dans le présent arcticle nous avons utilisé le freeware Screenpresso
897 +**dataDateFormatDisplay**='yyyy-MM-dd'
737 737  
738 -//Note ! La ligne excel ne s'agrandit pas toute seule, à vous de le faire pour garder une bonne lisibilité. Dans Excel, si vous triez les lignes, les images ainsi collées vont suivre (mais pas dans calc de Libre office)//
899 +dataDateFormatDisplay='yyyy'
739 739  
740 -[[image:1698401052018-622.png]]
901 +.....
741 741  
903 +//Cela fonctionne pour les champs dates, time et datation//
742 742  
905 +time <field name='CREATE_DATE'  label='Saisi le' dataDateFormatDisplay='yyyy-MM-dd'/>
743 743  
907 +date <field name='ETAT_MODIFIE_LE'  label='Etat modifié le ' dataDateFormatDisplay='yyyy-MM-dd'/>
744 744  
745 -
909 +datation <field name='DATATION_BIEN_DEBUT' dataDateFormatDisplay='yyyy' /> Pour l'instant les dates Avant Jésus-Christ ne sont pas mentionnées comme telmes quand on applique cette conversion
910 +
911 +(% class="box infomessage" %)
912 +(((
913 +Attention Excel applique ensuite ses propres automates de formatage à l'ouverture du fichier
914 +)))
915 +
916 +== valeur par défaut ==
917 +
918 +**dataDefValue**="maValeurtextuelle"
919 +
920 +si le field, linked_field, concat, group_feld est vide, c'est cette valeur qui sera exportée
921 +
922 +//Exemple : utilisé dans l'export e-recolnat pour avoir par défaut la colonne langue = FR sans devoir la saisir dans toutes les notices. si le champ Langue de  notice est non vide il écrasera la dataDefValue//
923 +
924 +== Données textuelles ajoutées en multilangue ==
925 +
926 +Flora gére des fichiers de mots clés pour la traduction des labels textuels dans les différentes languies (dans les fichiers *.properties)
927 +
928 +[[image:1698311785574-970.png||height="133" width="841"]]
929 +
930 +ces mots clés peuvent etre utilisés dans toutes les valeurs textuelles posées dans les tags
931 +
932 +//Exemple//
933 +
934 +<field name='TYPE_UE'  label='Type Unité d_enregistrement ' dataBefore='**${menu.label.inventory} **: '/>
935 +
936 +[[image:1698311964289-353.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
937 +
938 +
939 +
940 +== Conversion données d'un champ en majuscules ==
941 +
942 +<field name='TITRE'  label='Titre' dataIsToMajus="true"/>
943 +
944 +== Masquer un contenu de champ en fonction d'un menu (champs sensibles) ==
945 +
946 +ci dessous si le uiser n'a pas le menu musee_menu_masque_champs_sensibles il pourra voir le champ
947 +
948 +<field name='TITRE'  label='Titre' dataIsToMajus="true" inputRecordFilter="('{user.hasMenu.musee_menu_masque_champs_sensibles}' = 'false')"/>
949 +
950 +== Ajouter le label du champ dans le contenu exporté ==
951 +
952 +<field name='TITRE'  label='Titre' dataBefore='{fieldLabel} :  ' />
953 +
954 +== Exporter des infos de paramétrage de champ ==
955 +
956 +fieldInfoName pouura prendre les 3 options label, linkTable, linkSource
957 +
958 +<field_desc_info name="_collec_liee" fieldName="COLLEC_LIEE"
959 + 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
1768228264778-201.png
Auteur
... ... @@ -1,0 +1,1 @@
1 +XWiki.NSR
Taille
... ... @@ -1,0 +1,1 @@
1 +10.9 KB
Contenu
1768228658052-477.png
Auteur
... ... @@ -1,0 +1,1 @@
1 +XWiki.NSR
Taille
... ... @@ -1,0 +1,1 @@
1 +9.5 KB
Contenu
1768228710793-297.png
Auteur
... ... @@ -1,0 +1,1 @@
1 +XWiki.NSR
Taille
... ... @@ -1,0 +1,1 @@
1 +10.6 KB
Contenu
1768229185769-507.png
Auteur
... ... @@ -1,0 +1,1 @@
1 +XWiki.NSR
Taille
... ... @@ -1,0 +1,1 @@
1 +22.8 KB
Contenu
1768229192168-268.png
Auteur
... ... @@ -1,0 +1,1 @@
1 +XWiki.NSR
Taille
... ... @@ -1,0 +1,1 @@
1 +22.8 KB
Contenu