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

Depuis 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
À la version 2.2
modifié par Nicolas Schreiber
sur 2025/07/23 10:47
Commentaire de modification : Update document after refactoring.

Résumé

Détails

Propriétés de la Page
Titre
... ... @@ -1,1 +1,1 @@
1 -Fonctions avancées : modification des exports tabulés paramétrables
1 +Fonctions avancées : paramétrage des exports tabulés paramétrables
Contenu
... ... @@ -2,10 +2,11 @@
2 2  {{toc/}}
3 3  {{/box}}
4 4  
5 +page en cours de construction
5 5  
6 6  = A savoir avant de commencer =
7 7  
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.
9 +L'export de données muséologiques vers un tableur met en évidence la particularité de leur organisation technique.
9 9  
10 10  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.
11 11  
... ... @@ -127,7 +127,7 @@
127 127  * **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)
128 128  * **dataAfter : **separateur apres la donnee du champ répété en cas de multivaluation   (Chaine vide si non defini)
129 129  
130 -**Exemple : <field name='INTERPRETATION'  label='Interpretation'  dataBefore="texte avant : " dataAfter=" (texte aprés)" dataMultiValueSeparator=" ; "/>**
131 +**Exemple : <field name='INTERPRETATION'  label='Interpretation'  dataBefore="texte avant " dataAfter=" texte aprés" dataMultiValueSeparator=" ; "/>**
131 131  
132 132  [[image:1698221647528-156.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
133 133  
... ... @@ -228,8 +228,6 @@
228 228  * de ne pas perdre les libellés de champs (on les indiquera dans **dataBefore**)
229 229  * 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**)
230 230  
231 -La concat peut etre vue comme une "variable" que l'on va pouboir utiliser à sa guise
232 -
233 233  == A minima ==
234 234  
235 235  on va donc créer une "boite" qui va assembler les données de la colonne en concaténant les champs cités
... ... @@ -247,7 +247,7 @@
247 247  
248 248  == Ajout de données avant - aprés ==
249 249  
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
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
251 251  
252 252  * **groupDataBefore **: donnee avant le groupe
253 253  * **groupDataAfter **: donnee apres le groupe
... ... @@ -266,11 +266,11 @@
266 266   <field name='DESCRIPTION_INTRINSEQUE'  dataJoinSeparator="\n"/>
267 267  **</concat>**
268 268  
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//
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//
270 270  
271 271  [[image:1698235351939-869.png]]
272 272  
273 -== Ajout de données par défaut entre les champs de la concat ==
272 +== Ajout de données par défaut entre les champs du groupe ==
274 274  
275 275  Dans l'exemple ci-aprés, on a positionnés les séparateurs de champs dans chacun des champs avec le DataJoinSeparator
276 276  
... ... @@ -299,8 +299,7 @@
299 299  
300 300  (% class="box infomessage" %)
301 301  (((
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
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
304 304  )))
305 305  
306 306  = Export des champs d'un bloc répétable =
... ... @@ -309,40 +309,20 @@
309 309  
310 310  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
311 311  
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 +)))
313 313  
314 314  //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)//
315 315  
316 -[[image:1768226297481-108.png]]
317 +[[image:1698249410427-526.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
317 317  
318 -== groupDataType~=group ==
319 +le paramétrage de l'export sera défini tel que :
319 319  
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 -
343 343  **~ <group_field name="INTERVENANT"
344 344   groupDataType              = "group"
345 - label                      = "Intervenants-group"
323 + label                      = "Intervenants"
346 346   groupDataSubGroupSeparator = "\n\n"
347 347  \\>  **
348 348  
... ... @@ -353,7 +353,7 @@
353 353  
354 354  et génerera la colonne ci dessous
355 355  
356 -[[image:1768226409578-347.png||class="img-thumbnail"]]
334 +[[image:1698249964685-586.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
357 357  
358 358  (% class="box infomessage" %)
359 359  (((
... ... @@ -368,22 +368,11 @@
368 368  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
369 369  )))
370 370  
371 -== groupDataType~=subGroup ==
349 +Il est possible de choisir un** type= "sous groupe"**
372 372  
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 -
381 381   <group_field name="INTERVENANT"
382 -**~ groupDataType   ** = **"subGroup"**
383 - label                      = "Intervenants - uibgroup"
384 -
385 - subGroupDataBefore = "intervenant : "
386 - subGroupDataAfter = "\n"
352 +**groupDataType   ** = **"SubGroup"**
353 + label                      = "Intervenants"
387 387  ~> 
388 388  
389 389   <field name='PERSONNE_INTERVENANT'  label='Intervenant'/> 
... ... @@ -391,81 +391,15 @@
391 391   <field name='PRECISION_INTERVENANT'  label='Précisions intervenant ' dataJoinSeparator="\n"/> 
392 392  </group_field>
393 393  
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
394 394  
395 -[[image:1768226447728-811.png||class="img-thumbnail"]]
396 396  
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
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
398 398  
399 -= sans groupDataType =
367 +[[image:1698308536947-443.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
400 400  
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
403 403  
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 -
469 469  == Paramétrages complémentaires pour les blocs répétables ==
470 470  
471 471  il est possible d'inclure aussi dans un group_field
... ... @@ -474,29 +474,39 @@
474 474  * des champs des notices liées a un des champs du bloc via le tag 'linked_field'
475 475  * 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
476 476  
477 -
378 +=== Ajout de données avant - après chaque sous-groupe ===
478 478  
479 -=== Exemple global ===
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)
480 480  
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 -~> 
384 +=== Ajout de données avant - après le groupe ===
491 491  
492 - <field name='PERSONNE_INTERVENANT'  label='Intervenant'/> 
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 +=== Exemple global ===
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'/> 
493 493   <field name='FONCTION_INTERVENANT'  label='Fonction ' dataBefore=" (" dataAfter=")"/> 
494 494   <field name='PRECISION_INTERVENANT'  label='Précisions intervenant ' dataJoinSeparator="\n"/> 
495 495  </group_field>
496 496  
409 +[[image:1698310122900-966.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
497 497  
498 -[[image:1768229192168-268.png||class="img-thumbnail"]]
499 -
500 500  == Filtre sur les données du groupe ==
501 501  
502 502  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
... ... @@ -629,7 +629,7 @@
629 629  
630 630   <field name='ETAT_MODIFIE_LE'  label='Réalisé le/> 
631 631   <field name='ETAT_MODIFIE_PAR'  label='Réalisé par/> 
632 -**<linked_field name='EMPLACEMENT' label='Emplacement théorique'>**
543 + **<linked_field name='EMPLACEMENT' label='Emplacement théorique'>**
633 633   <field name='LABEL_PARENT' label='Empl. référence hiéra' display='true'/>
634 634   </linked_field>
635 635  
... ... @@ -699,11 +699,12 @@
699 699   subGroupDataSeparator = ", "
700 700   subGroupDataAfter     = "" >
701 701  
702 -*
613 +*
703 703  ** <linked_field name='BIEN' label='Bien'>
704 704  **~ <field name='DISPLAY' label='Bien' display='true'/>
705 705   </linked_field>
706 -\\</reference>**
617 +
618 +</reference>**
707 707  
708 708  **<reference source='musee' table='MUS_JOIN_COLIS_MOUV'**
709 709   groupDataType         = "subGroup"
... ... @@ -711,144 +711,68 @@
711 711   subGroupDataBefore    = ""
712 712   subGroupDataSeparator = ", "
713 713   subGroupDataAfter     = "" >
714 -**<linked_field name='MOUVEMENT_BIEN' label='Bien'>**
626 + **<linked_field name='MOUVEMENT_BIEN' label='Bien'>**
715 715   <field name='DISPLAY' label='Bien' display='true'/>
716 716   </linked_field>
717 717  </reference>
718 718  
719 719  
720 -= Exporter des images (uniquement en format de sortie excel natif) =
632 += Autres paramétrages =
721 721  
722 -== Première image uniquement ==
634 +== Conversions de dates et datations ==
723 723  
724 -Toutes les options de séparateurs, textes avant et aprés, fonctionnent. tous les cghampsd e IDOCS sont exportables
636 +**dataDateFormatDisplay**='yyyy-MM-dd'
725 725  
726 -C'est l'option **subGroupDataIndex **qui permet de choisir l'image à exporter (premiere, deuxieme, troisieme...)
638 +dataDateFormatDisplay='yyyy'
727 727  
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)
640 +.....
731 731  
642 +//Cela fonctionne pour les champs dates, time et datation//
732 732  
733 -**<linked_records_document_records** name="PHOTO_INV"
734 - inputRecordFilter=""
735 - linkedRecordFilter=""
644 +time <field name='CREATE_DATE'  label='Saisi le' dataDateFormatDisplay='yyyy-MM-dd'/>
736 736  
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 : "/>
646 +date <field name='ETAT_MODIFIE_LE'  label='Etat modifié le ' dataDateFormatDisplay='yyyy-MM-dd'/>
744 744  
745 - <!~-~- Imagette ~-~->
746 - <photo_document_file name="_PHOTO_1"
747 - label="Photo 1"
748 - inputRecordFilter=""
749 - documentTypes="Document-Photo"
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
750 750  
751 -*
752 -** resolution="LOW"
753 - dimImageXYInPixels="192"**/>
754 - </linked_records_document_records>**
650 +(% class="box infomessage" %)
651 +(((
652 +Attention Excel applique ensuite ses propres automates de formatage à l'ouverture du fichier
653 +)))
755 755  
756 -== Plusieurs images ==
655 +== valeur par défaut ==
757 757  
758 -=== sur plusieurs colonnes ===
657 +**dataDefValue**="maValeurtextuelle"
759 759  
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
659 +si le field, linked_field, concat, group_feld est vide, c'est cette valeur qui sera exportée
761 761  
762 -Pour cela il suffit de dupliquer le bloc ci dessus et de choisir le bon **subGroupDataIndex="?" **dans chaque colonne
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 dnotice est non vide il écrasera la dataDefValue//
763 763  
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
663 +== Dones textuelles ajoutées en multilangue ==
765 765  
766 -Exemple avec 4 images
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)
767 767  
768 -<linked_records_document_records name="PHOTO_INV"
769 - documentTypes="Document-Photo"
770 - subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
771 - **subGroupDataIndex="1"**>
667 +[[image:1698311785574-970.png||height="133" width="841"]]
772 772  
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>
669 +ces mots clés peuvent etre utilisés dans toutes les valeurs textuelles posées dans les tags
780 780  
781 -<linked_records_document_records name="PHOTO_INV"
782 - documentTypes="Document-Photo"
783 - subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
784 - **subGroupDataIndex="2"**>
671 +//Exemple//
785 785  
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>
673 +<field name='TYPE_UE'  label='Type Unité d_enregistrement ' dataBefore='**${menu.label.inventory} **: '/>
793 793  
794 -<linked_records_document_records name="PHOTO_INV"
795 - documentTypes="Document-Photo"
796 - subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
797 - **subGroupDataIndex="3"**>
675 +[[image:1698311964289-353.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
798 798  
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>
806 806  
807 -<linked_records_document_records name="PHOTO_INV"
808 - documentTypes="Document-Photo"
809 - subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
810 - **subGroupDataIndex="4"**>
678 +== Export des liens ark vers les images ==
811 811  
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>
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
819 819  
820 -=== sur plusieurs lignes ===
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
821 821  
822 -Avec les options ci dessous déclas dans un seul bloc
684 +Nous avons donc choisi de publier les images dans les tablmeurs vai des liens ark
823 823  
824 - <linked_records_document_records name="PHOTO_INV"
825 - documentTypes="Document-Photo"
826 - subGroupDataFilter="(IDOC_ACCESSIBILITY = 1)"
686 +la colonne devra donc etre paramétrée ainsi
827 827  
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 -
852 852  **name="PHOTO_INV" **=nom du champ contenant le lien vers la phototheque (si l'export concerne MUS_PHOTO on indiquera UNIQUE_KEY)
853 853  
854 854  **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)
... ... @@ -870,7 +870,8 @@
870 870   subGroupdataMultiValueSeparator="|"
871 871   subGroupDataMultMaxi="1"
872 872   >
873 -\\ <class_extractor
709 +
710 + <class_extractor
874 874   extractorClassName="com.ezida.services.musee.extractor.MusPhotoArkExtractor"
875 875   name="PHOTO_INV_ARK"
876 876   label=""
... ... @@ -887,73 +887,22 @@
887 887  
888 888  résultat obtenu.. avec un clic sur le lien ark exporté
889 889  
890 -[[image:1698400681257-169.png]]
727 +[[image:1698400681257-169.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
891 891  
892 892  
893 -= Autres paramétrages =
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
894 894  
895 -== Conversions de dates et datations ==
732 +* Touche Impr Ecran de votre ordinateur,
733 +* selection de la zone image à copier,
734 +* puis Edition/coller dans la cellule de votre choix
896 896  
897 -**dataDateFormatDisplay**='yyyy-MM-dd'
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
898 898  
899 -dataDateFormatDisplay='yyyy'
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)//
900 900  
901 -.....
740 +[[image:1698401052018-622.png]]
902 902  
903 -//Cela fonctionne pour les champs dates, time et datation//
904 904  
905 -time <field name='CREATE_DATE'  label='Saisi le' dataDateFormatDisplay='yyyy-MM-dd'/>
906 906  
907 -date <field name='ETAT_MODIFIE_LE'  label='Etat modifié le ' dataDateFormatDisplay='yyyy-MM-dd'/>
908 908  
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"/>
745 +
1768223007353-115.png
Auteur
... ... @@ -1,1 +1,0 @@
1 -XWiki.NSR
Taille
... ... @@ -1,1 +1,0 @@
1 -300.9 KB
Contenu
1768226297481-108.png
Auteur
... ... @@ -1,1 +1,0 @@
1 -XWiki.NSR
Taille
... ... @@ -1,1 +1,0 @@
1 -47.9 KB
Contenu
1768226409578-347.png
Auteur
... ... @@ -1,1 +1,0 @@
1 -XWiki.NSR
Taille
... ... @@ -1,1 +1,0 @@
1 -9.9 KB
Contenu
1768226447728-811.png
Auteur
... ... @@ -1,1 +1,0 @@
1 -XWiki.NSR
Taille
... ... @@ -1,1 +1,0 @@
1 -11.6 KB
Contenu
1768227008672-422.png
Auteur
... ... @@ -1,1 +1,0 @@
1 -XWiki.NSR
Taille
... ... @@ -1,1 +1,0 @@
1 -14.0 KB
Contenu
1768228264778-201.png
Auteur
... ... @@ -1,1 +1,0 @@
1 -XWiki.NSR
Taille
... ... @@ -1,1 +1,0 @@
1 -10.9 KB
Contenu
1768228658052-477.png
Auteur
... ... @@ -1,1 +1,0 @@
1 -XWiki.NSR
Taille
... ... @@ -1,1 +1,0 @@
1 -9.5 KB
Contenu
1768228710793-297.png
Auteur
... ... @@ -1,1 +1,0 @@
1 -XWiki.NSR
Taille
... ... @@ -1,1 +1,0 @@
1 -10.6 KB
Contenu
1768229185769-507.png
Auteur
... ... @@ -1,1 +1,0 @@
1 -XWiki.NSR
Taille
... ... @@ -1,1 +1,0 @@
1 -22.8 KB
Contenu
1768229192168-268.png
Auteur
... ... @@ -1,1 +1,0 @@
1 -XWiki.NSR
Taille
... ... @@ -1,1 +1,0 @@
1 -22.8 KB
Contenu