From d4f0338195d1fa9879aa8de07ef8604c448d45f1 Mon Sep 17 00:00:00 2001
From: philippe tcheriatinsky <philippe.tcherniatinsky@inrae.fr>
Date: Wed, 20 Nov 2024 10:52:06 +0100
Subject: [PATCH 01/13] modification pgadmin

---
 docker-compose.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docker-compose.yml b/docker-compose.yml
index 843b904..61165e6 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -22,7 +22,7 @@ services:
     networks:
       - default
   pgadmin:
-    image: dpage/pgadmin4:8.11
+    image: dpage/pgadmin4:8.13
     ports:
       - "8083:80"
     volumes:
-- 
GitLab


From 01531be5cc51b313278689706588e96527d5b73d Mon Sep 17 00:00:00 2001
From: philippe tcheriatinsky <philippe.tcherniatinsky@inrae.fr>
Date: Wed, 20 Nov 2024 10:52:37 +0100
Subject: [PATCH 02/13] Ajout des details pour health

---
 src/main/resources/application.properties | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 9f3b183..3717e18 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -33,6 +33,13 @@ management.endpoints.web.exposure.include=${MANAGEMENT_ENDPOINT_WEB_EXPOSURE_INC
 management.info.env.enabled=true
 management.info.build.enabled=true
 management.info.git.enabled=true
+management.health.mail.enabled=true
+management.health.db.enabled=true
+management.health.ping.enabled=true
+management.health.diskspace.enabled=true
+management.endpoint.health.show-components=always
+management.endpoint.health.show-details=always
+
 info.application.name=openADOM Application
 info.application.description=This is the openAdom application
 info.application.version=2.0.1
-- 
GitLab


From 688350fb97f5ed193265fd71c1d72bf7e6ac921b Mon Sep 17 00:00:00 2001
From: philippe tcheriatinsky <philippe.tcherniatinsky@inrae.fr>
Date: Wed, 20 Nov 2024 13:43:20 +0100
Subject: [PATCH 03/13] Correction des roles

---
 README.md                                                      | 3 +--
 .../fr/inra/oresing/persistence/AuthenticationService.java     | 2 +-
 src/main/java/fr/inra/oresing/persistence/UserRepository.java  | 2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index eca2744..eb18153 100644
--- a/README.md
+++ b/README.md
@@ -97,9 +97,8 @@ Afin d'essayer l'application, il faut pouvoir se connecter. Il faut pour cela cr
 INSERT INTO OreSiUser (id, login, password, email, accountstate,  authorizations) values ('5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9'::uuid, 'openadom','$2a$12$4gAH34ZwgvgQNS0pbR5dGem1Nle0AT/.UwrZWfqtqMiJ0hXeYMvUG', 'poussin@inrae.fr', 'active','{}');
 DROP ROLE IF EXISTS "5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9";
 CREATE ROLE "5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9";
-COMMENT ON ROLE "5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9" IS 'openadom'
+COMMENT ON ROLE "5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9" IS 'openadom';
 GRANT "openAdomAdmin" TO "5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9" WITH INHERIT TRUE;
--- Permettre à openAdomTechUser de se connecter en tant que ce rôle
 GRANT "5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9" TO "openAdomTechUser" WITH INHERIT TRUE;
 
 ```
diff --git a/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java b/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java
index bdec1b4..ff53f0d 100644
--- a/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java
+++ b/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java
@@ -128,7 +128,7 @@ public class AuthenticationService {
         final Predicate<OreSiUser> checkPassword = user -> BCrypt.verifyer()
                 .verify(password.toCharArray(), user.getPassword().toCharArray())
                 .verified;
-        CurrentUserRoles currentUserRoles = getCurrentUserRoles();
+        CurrentUserRoles currentUserRoles = getCurrentUserRoles(getByIdOrLogin(login).getId().toString());
         LoginAdminResult loginAdminResult = userRepository.findByLogin(login)
                 .filter(checkPassword)
                 .map(user -> toLoginResult(user, currentUserRoles))
diff --git a/src/main/java/fr/inra/oresing/persistence/UserRepository.java b/src/main/java/fr/inra/oresing/persistence/UserRepository.java
index 4df7e82..7e02ae9 100644
--- a/src/main/java/fr/inra/oresing/persistence/UserRepository.java
+++ b/src/main/java/fr/inra/oresing/persistence/UserRepository.java
@@ -164,7 +164,7 @@ public class UserRepository extends JsonTableRepositoryTemplate<OreSiUser> imple
                     WHERE m_1.member = t_1.grpid
                 )
                 SELECT COALESCE(:rolename, CURRENT_USER) currentuser,r.rolname AS usrname,t.issuper issuper,
-                       array_agg(m.rolname) memberof
+                       array_agg(DISTINCT m.rolname) memberof
                 FROM membership_tree t, pg_roles r, pg_roles m
                 WHERE t.grpid = m.oid AND t.userid = r.oid
                 AND COALESCE(:rolename, CURRENT_USER)=r.rolname
-- 
GitLab


From b755cd12b230f3d720ad90ee37d813266f1c931b Mon Sep 17 00:00:00 2001
From: philippe tcheriatinsky <philippe.tcherniatinsky@inrae.fr>
Date: Wed, 20 Nov 2024 17:47:19 +0100
Subject: [PATCH 04/13] =?UTF-8?q?Modification=20des=20r=C3=B4les=20ajout?=
 =?UTF-8?q?=20dans=20application(s)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../authorization/role/CurrentUserRoles.java  | 48 +++++++++++++------
 .../persistence/AuthenticationService.java    | 37 +++++++++-----
 .../fr/inra/oresing/rest/OreSiService.java    | 13 +++--
 .../application/ApplicationLightResult.java   | 43 +++++++++++++++++
 .../model/application/ApplicationResult.java  |  4 +-
 .../CurrentApplicationUserRolesResult.java    | 28 +++++++++++
 .../authorization/CurrentUserRolesResult.java | 29 +++++++++++
 .../model/authorization/LoginAdminResult.java |  4 +-
 .../inra/oresing/rest/OreSiResourcesTest.java |  4 +-
 9 files changed, 172 insertions(+), 38 deletions(-)
 create mode 100644 src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java
 create mode 100644 src/main/java/fr/inra/oresing/rest/model/authorization/CurrentApplicationUserRolesResult.java
 create mode 100644 src/main/java/fr/inra/oresing/rest/model/authorization/CurrentUserRolesResult.java

diff --git a/src/main/java/fr/inra/oresing/domain/repository/authorization/role/CurrentUserRoles.java b/src/main/java/fr/inra/oresing/domain/repository/authorization/role/CurrentUserRoles.java
index db3c525..7359c85 100644
--- a/src/main/java/fr/inra/oresing/domain/repository/authorization/role/CurrentUserRoles.java
+++ b/src/main/java/fr/inra/oresing/domain/repository/authorization/role/CurrentUserRoles.java
@@ -4,53 +4,59 @@ import fr.inra.oresing.domain.OreSiUser;
 import fr.inra.oresing.domain.application.Application;
 
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 import java.util.UUID;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 
-public record CurrentUserRoles (List<String> memberOf, boolean isDataBaseSuper, OreSiUser user){
+public record CurrentUserRoles(List<String> memberOf, boolean isDataBaseSuper, OreSiUser user) {
 
-    public static final CurrentUserRoles EMPTY = new CurrentUserRoles( null, false,null);
+    public static final CurrentUserRoles EMPTY = new CurrentUserRoles(null, false, null);
 
     public CurrentUserRoles(final String currentUser, final List<String> memberOf) {
-        this(memberOf,false,null);
+        this(memberOf, false, null);
     }
 
-    public String userLogin(){
+    public String userLogin() {
         return Optional.ofNullable(user).map(OreSiUser::getLogin).orElse(null);
     }
 
-    public UUID userId(){
+    public UUID userId() {
         return Optional.ofNullable(user).map(OreSiUser::getId).orElse(null);
     }
 
-    public boolean isOpenAdomAdmin(){
+    public boolean isOpenAdomAdmin() {
         return memberOf().contains(OreSiRole.openAdomAdmin().getAsSqlRole());
     }
 
-    public static CurrentUserRoles empty(){
+    public static CurrentUserRoles empty() {
         return EMPTY;
     }
-    public boolean isApplicationCreator(){
+
+    public boolean isApplicationCreator() {
         return Optional.ofNullable(memberOf())
                 .map(roles -> roles.stream()
                         .anyMatch(List.of(
                                 OreSiRole.applicationCreator().getAsSqlRole(),
                                 OreSiRole.openAdomAdmin().getAsSqlRole()
-                                )::contains)
+                        )::contains)
                 )
                 .orElse(false);
     }
 
 
     public CurrentUserRoles(
-                            final List<String> memberOf,
-                            final boolean isDataBaseSuper,
-                            final OreSiUser user) {
-        this.memberOf = memberOf==null?List.of():List.copyOf(memberOf);
+            final List<String> memberOf,
+            final boolean isDataBaseSuper,
+            final OreSiUser user) {
+        this.memberOf = memberOf == null ? List.of() : List.copyOf(memberOf);
         this.isDataBaseSuper = isDataBaseSuper;
         this.user = user;
     }
-    public CurrentUserRoles withUSer(OreSiUser user){
+
+    public CurrentUserRoles withUSer(OreSiUser user) {
         return new CurrentUserRoles(memberOf(), isDataBaseSuper(), user);
     }
 
@@ -61,4 +67,18 @@ public record CurrentUserRoles (List<String> memberOf, boolean isDataBaseSuper,
     public boolean userManagerOf(Application application) {
         return memberOf().contains(OreSiRole.userManagerOf(application).getAsSqlRole());
     }
+
+    public  Map<String, List<String>> applicationRoles() {
+        return memberOf().stream()
+                .map(Pattern.compile("(.*)_(applicationManager|userManager|reader|writer)")::matcher)
+                .filter(Matcher::matches)
+                .collect(Collectors.groupingBy(
+                        m -> m.group(1),
+                        Collectors.mapping(m -> m.group(2), Collectors.toList())
+                ));
+    }
+
+    public List<String> applicationRoles(UUID applicationid) {
+        return applicationRoles().get(applicationid.toString());
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java b/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java
index ff53f0d..006d7c4 100644
--- a/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java
+++ b/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java
@@ -8,6 +8,7 @@ import fr.inra.oresing.domain.repository.authorization.role.*;
 import fr.inra.oresing.mail.EmailService;
 import fr.inra.oresing.domain.OreSiUser;
 import fr.inra.oresing.rest.CreateUserRequest;
+import fr.inra.oresing.rest.model.authorization.CurrentUserRolesResult;
 import fr.inra.oresing.rest.CreateUserResult;
 import fr.inra.oresing.rest.OreSiApiRequestContext;
 import fr.inra.oresing.domain.exceptions.authentication.authentication.NotopenAdomAdminException;
@@ -68,7 +69,6 @@ public class AuthenticationService {
 
     /**
      * Utilise le rôle de l'utilisateur courant pour l'accès à la base de données.
-     *
      */
     public OreSiRoleToAccessDatabase setRoleForClient() {
         final OreSiRoleToAccessDatabase roleToAccessDatabase = request.getRequestClient().role();
@@ -78,7 +78,6 @@ public class AuthenticationService {
 
     /**
      * Prend le role du openAdomAdmin qui a le droit de tout faire
-     *
      */
     public OreSiopenAdomAdminRole setRoleAdmin() {
         setRole(OreSiRole.openAdomAdmin());
@@ -88,7 +87,6 @@ public class AuthenticationService {
     /**
      * Prend le role du user passe en parametre, les requetes suivant ne pourra
      * pas faire des choses que l'utilisateur n'a pas le droit de faire
-     *
      */
     OreSiRoleToAccessDatabase setRole(final OreSiRoleToAccessDatabase roleToAccessDatabase) {
         db.setRole(roleToAccessDatabase);
@@ -128,7 +126,12 @@ public class AuthenticationService {
         final Predicate<OreSiUser> checkPassword = user -> BCrypt.verifyer()
                 .verify(password.toCharArray(), user.getPassword().toCharArray())
                 .verified;
-        CurrentUserRoles currentUserRoles = getCurrentUserRoles(getByIdOrLogin(login).getId().toString());
+        CurrentUserRoles currentUserRoles = Optional.ofNullable(login)
+                .map(this::getByIdOrLogin)
+                .map(OreSiUser::getId)
+                .map(UUID::toString)
+                .map(this::getCurrentUserRoles)
+                .orElse(null);
         LoginAdminResult loginAdminResult = userRepository.findByLogin(login)
                 .filter(checkPassword)
                 .map(user -> toLoginResult(user, currentUserRoles))
@@ -190,7 +193,7 @@ public class AuthenticationService {
                 oreSiUser.getLogin(),
                 oreSiUser.getEmail(),
                 oreSiUser.getAccountstate().name(),
-                currentUserRoles,
+                CurrentUserRolesResult.of(currentUserRoles),
                 oreSiUser.getAuthorizations(),
                 oreSiUser.getChartes()
         );
@@ -484,14 +487,15 @@ public class AuthenticationService {
         return rolesForRole.memberOf().contains(role.getAsSqlRole());
     }
 
-    public CurrentUserRoles getCurrentUserRoles(){
+    public CurrentUserRoles getCurrentUserRoles() {
         return userRepository.getRolesForCurrentUser();
     }
-    public CurrentUserRoles getCurrentUserRoles(String userIdOrRoleName){
+
+    public CurrentUserRoles getCurrentUserRoles(String userIdOrRoleName) {
         Optional<OreSiUser> oreSiUser = Optional.ofNullable(userIdOrRoleName)
                 .flatMap(userRepository::findByLoginOrId);
         CurrentUserRoles rolesForCurrentUser = userRepository.getRolesForCurrentUser(userIdOrRoleName);
-        if(oreSiUser.isPresent()) {
+        if (oreSiUser.isPresent()) {
             rolesForCurrentUser = rolesForCurrentUser.withUSer(oreSiUser.get());
         }
         return rolesForCurrentUser;
@@ -502,7 +506,7 @@ public class AuthenticationService {
     }
 
     public List<LoginApplicationResult> getApplicationAuthorizations(Application application) {
-        Function<Map<String, Timestamp>, Timestamp> getCharteTimestamp = chartes->chartes.get(application.getId().toString());
+        Function<Map<String, Timestamp>, Timestamp> getCharteTimestamp = chartes -> chartes.get(application.getId().toString());
         CurrentUserRoles currentUserRolesForCurrentUser = getCurrentUserRoles();
         if (currentUserRolesForCurrentUser.applicationManagerOf(application)) {
             return userRepository.findAll().stream()
@@ -558,14 +562,14 @@ public class AuthenticationService {
                     .filter(oreSiUser -> OreSiUser.OreSiUserStates.active == oreSiUser.getAccountstate())
                     .map(user -> {
                         OreSiUserRole userRole = getUserRole(user.getId());
-                        return toLoginResult(user,getCurrentUserRoles(userRole.getAsSqlRole()));
+                        return toLoginResult(user, getCurrentUserRoles(userRole.getAsSqlRole()));
                     })
                     .collect(Collectors.toList());
         } else if (currentUserRoles.isApplicationCreator()) {
             return userRepository.findAll().stream()
                     .map(user -> {
                         OreSiUserRole userRole = getUserRole(user.getId());
-                        return toLoginResult(user,getCurrentUserRoles(userRole.getAsSqlRole()));
+                        return toLoginResult(user, getCurrentUserRoles(userRole.getAsSqlRole()));
                     })
                     .collect(Collectors.toList());
         } else {
@@ -574,7 +578,16 @@ public class AuthenticationService {
     }
 
     public OreSiUser getByIdOrLogin(final String userIdOrLogin) {
-        return userRepository.findByLogin(userIdOrLogin).orElseGet(() -> userRepository.findById(UUID.fromString(userIdOrLogin)));
+        return userRepository.findByLogin(userIdOrLogin)
+                .orElseGet(() -> {
+                    UUID id = null;
+                    try {
+                        id = UUID.fromString(userIdOrLogin);
+                    } catch (Exception e) {
+                        return null;
+                    }
+                    return userRepository.findById(id);
+                });
     }
 
     @Transactional
diff --git a/src/main/java/fr/inra/oresing/rest/OreSiService.java b/src/main/java/fr/inra/oresing/rest/OreSiService.java
index 1a7c4ec..6a5354b 100644
--- a/src/main/java/fr/inra/oresing/rest/OreSiService.java
+++ b/src/main/java/fr/inra/oresing/rest/OreSiService.java
@@ -30,6 +30,7 @@ import fr.inra.oresing.domain.filesenderclient.FileSenderInternationalisation;
 import fr.inra.oresing.domain.filesenderclient.FileSenderInternationalisationForBuildBundleReport;
 import fr.inra.oresing.domain.filesenderclient.FileSenderInternationalisationForDownloadDatasetQuery;
 import fr.inra.oresing.domain.groovy.GroovyContextHelper;
+import fr.inra.oresing.domain.repository.authorization.role.CurrentUserRoles;
 import fr.inra.oresing.domain.repository.authorization.role.OreSiUserRole;
 import fr.inra.oresing.domain.rightsrequest.RightsRequest;
 import fr.inra.oresing.domain.repository.authorization.OperationType;
@@ -45,6 +46,7 @@ import fr.inra.oresing.rest.model.additionalfiles.AdditionalBinaryFileResult;
 import fr.inra.oresing.rest.model.additionalfiles.CreateAdditionalFileRequest;
 import fr.inra.oresing.rest.model.additionalfiles.exception.AdditionalFileParamsParsingResult;
 import fr.inra.oresing.rest.model.additionalfiles.exceptions.BadAdditionalFileParamsSearchException;
+import fr.inra.oresing.rest.model.application.ApplicationLightResult;
 import fr.inra.oresing.rest.model.application.ApplicationResult;
 import fr.inra.oresing.rest.model.authorization.*;
 import fr.inra.oresing.rest.model.data.DefaultLineCheckerResult;
@@ -226,7 +228,7 @@ public class OreSiService {
         final String nameOrId = application.getId().toString();
         Map<String, Map<AuthorizationsForUserResult.Roles, Boolean>> authorizations = withDatatypes || withReferenceType ? getAuthorizationsDatatypesRights(nameOrId, datatypeComponents.keySet()) : new HashMap<>();
         final Configuration configuration = withConfiguration ? application.getConfiguration() : null;
-        final Boolean isAdministrator = isAdmnistrator(application);
+        CurrentUserRoles currentUserRoles = authenticationService.getCurrentUserRoles();
         final ApplicationResult applicationResult = new ApplicationResult(
                 application.getId().toString(),
                 Optional.ofNullable(application).map(Application::getName).orElseThrow(IllegalArgumentException::new),
@@ -247,7 +249,7 @@ public class OreSiService {
                 additionalFilesWithFields,
                 rightsRequest,
                 configuration,
-                isAdministrator,
+                CurrentApplicationUserRolesResult.of(currentUserRoles, application.getId()),
                 application.findDependantNodesByDataName());
         return applicationResult;
     }
@@ -691,6 +693,7 @@ public class OreSiService {
         final Stream<Application> applicationForAdmin = repository.application().findAllStream();
         final AtomicLong progres = new AtomicLong(0);
         progression.fluxSink().next(new ReactiveTypeProgress(progres.get()));
+        CurrentUserRoles currentUserRoles = authenticationService.getCurrentUserRoles();
         applicationForAdmin
                 .map(application -> applicationForUser.stream()
                         .filter(app -> app.getId().equals(application.getId()))
@@ -698,6 +701,7 @@ public class OreSiService {
                         .orElse(application.applicationAccordingToRights())
                 )
                 .map(application -> application.filterFieldsAndHidden(filters))
+                .map(application -> ApplicationLightResult.of(application,currentUserRoles))
                 .forEach(application -> {
                     progression.fluxSink().next(new ReactiveTypeResult(application));
                     final double prog = progres.incrementAndGet() / ((double) applicationForUser.size());
@@ -940,11 +944,6 @@ public class OreSiService {
         return store;
     }
 
-    public Boolean isAdmnistrator(final Application application) {
-        UUID requestUserId = request.getRequestUserId();
-        return authorizationService.isApplicationCreator(application, requestUserId);
-    }
-
     public void getCharte(final OutputStream out, final HttpServletResponse response, final String nameOrId, final AdditionalFilesInfos additionalFilesInfos) throws IOException {
         AdditionalFileParamsParsingResult additionalFileParamsParsingResult = getAdditionalFileSearchHelper(nameOrId, additionalFilesInfos);
         final AdditionalFileSearchHelper additionalFileSearchHelper = additionalFileParamsParsingResult.getResult();
diff --git a/src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java
new file mode 100644
index 0000000..fd6e0a2
--- /dev/null
+++ b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java
@@ -0,0 +1,43 @@
+package fr.inra.oresing.rest.model.application;
+
+import fr.inra.oresing.domain.application.Application;
+import fr.inra.oresing.domain.application.configuration.Configuration;
+import fr.inra.oresing.domain.application.configuration.Node;
+import fr.inra.oresing.domain.application.configuration.RightRequestDescription;
+import fr.inra.oresing.domain.application.configuration.StandardDataDescription;
+import fr.inra.oresing.domain.application.configuration.internationalization.Internationalizations;
+import fr.inra.oresing.domain.checker.type.FieldType;
+import fr.inra.oresing.domain.repository.authorization.role.CurrentUserRoles;
+import fr.inra.oresing.rest.model.authorization.AuthorizationsForUserResult;
+import fr.inra.oresing.rest.model.authorization.CurrentApplicationUserRolesResult;
+import fr.inra.oresing.rest.model.authorization.CurrentUserRolesResult;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.sql.Timestamp;
+import java.util.*;
+import java.util.function.Consumer;
+import java.util.function.Predicate;
+
+
+public record ApplicationLightResult(
+        Application application,
+        CurrentApplicationUserRolesResult currentApplicationUserRolesResult,
+        boolean hasSignedCharte,
+        boolean hasSignedLastCharte
+) {
+
+    public static ApplicationLightResult of(Application application, CurrentUserRoles currentUserRoles) {
+        Timestamp charteSignedAt = currentUserRoles.user().getChartes().get(application.getId());
+        Timestamp lastChartes = application.getLastChartes();
+        return new ApplicationLightResult(
+                application,
+                CurrentApplicationUserRolesResult.of(
+                        currentUserRoles,
+                        application.getId()),
+                charteSignedAt != null,
+                charteSignedAt != null && lastChartes.before(charteSignedAt)
+        );
+    }
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java
index b668d4b..f18139c 100644
--- a/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java
+++ b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java
@@ -1,8 +1,10 @@
 package fr.inra.oresing.rest.model.application;
 
+import fr.inra.oresing.domain.application.Application;
 import fr.inra.oresing.domain.application.configuration.internationalization.Internationalizations;
 import fr.inra.oresing.domain.checker.type.FieldType;
 import fr.inra.oresing.domain.application.configuration.*;
+import fr.inra.oresing.domain.repository.authorization.role.CurrentUserRoles;
 import fr.inra.oresing.rest.model.authorization.AuthorizationsForUserResult;
 import lombok.Getter;
 import lombok.Setter;
@@ -26,7 +28,7 @@ public record ApplicationResult(
         Map<String, AdditionalFile> additionalFiles,
         ApplicationResult.RightsRequest rightsRequest,
         Configuration configuration,
-        Boolean isAdministrator,
+        fr.inra.oresing.rest.model.authorization.CurrentApplicationUserRolesResult isAdministrator,
         Map<String,Set<String>> dependantNodesByDataName
 ) {
 
diff --git a/src/main/java/fr/inra/oresing/rest/model/authorization/CurrentApplicationUserRolesResult.java b/src/main/java/fr/inra/oresing/rest/model/authorization/CurrentApplicationUserRolesResult.java
new file mode 100644
index 0000000..d123e8d
--- /dev/null
+++ b/src/main/java/fr/inra/oresing/rest/model/authorization/CurrentApplicationUserRolesResult.java
@@ -0,0 +1,28 @@
+package fr.inra.oresing.rest.model.authorization;
+
+import fr.inra.oresing.domain.repository.authorization.role.CurrentUserRoles;
+
+import java.util.List;
+import java.util.UUID;
+
+public record CurrentApplicationUserRolesResult(
+        List<String> applicationRoles,
+        UUID userId,
+        String userLogin,
+        boolean isOpenAdomAdmin,
+        boolean isApplicationCreator,
+        List<String> memberOf,
+        boolean isDataBaseSuper
+) {
+    public static final CurrentApplicationUserRolesResult of(CurrentUserRoles currentUserRoles, UUID applicationid) {
+        return new CurrentApplicationUserRolesResult(
+                currentUserRoles.applicationRoles(applicationid),
+                currentUserRoles.userId(),
+                currentUserRoles.userLogin(),
+                currentUserRoles.isOpenAdomAdmin(),
+                currentUserRoles.isApplicationCreator(),
+                currentUserRoles.memberOf(),
+                currentUserRoles.isDataBaseSuper()
+        );
+    }
+}
diff --git a/src/main/java/fr/inra/oresing/rest/model/authorization/CurrentUserRolesResult.java b/src/main/java/fr/inra/oresing/rest/model/authorization/CurrentUserRolesResult.java
new file mode 100644
index 0000000..3b1e392
--- /dev/null
+++ b/src/main/java/fr/inra/oresing/rest/model/authorization/CurrentUserRolesResult.java
@@ -0,0 +1,29 @@
+package fr.inra.oresing.rest.model.authorization;
+
+import fr.inra.oresing.domain.repository.authorization.role.CurrentUserRoles;
+
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+public record CurrentUserRolesResult(
+        Map<String, List<String>> applicationRoles,
+        UUID userId,
+        String userLogin,
+        boolean isOpenAdomAdmin,
+        boolean isApplicationCreator,
+        List<String> memberOf,
+        boolean isDataBaseSuper
+) {
+    public static final CurrentUserRolesResult of(CurrentUserRoles currentUserRoles) {
+        return new CurrentUserRolesResult(
+                currentUserRoles.applicationRoles(),
+                currentUserRoles.userId(),
+                currentUserRoles.userLogin(),
+                currentUserRoles.isOpenAdomAdmin(),
+                currentUserRoles.isApplicationCreator(),
+                currentUserRoles.memberOf(),
+                currentUserRoles.isDataBaseSuper()
+        );
+    }
+}
diff --git a/src/main/java/fr/inra/oresing/rest/model/authorization/LoginAdminResult.java b/src/main/java/fr/inra/oresing/rest/model/authorization/LoginAdminResult.java
index 62749b7..e13a025 100644
--- a/src/main/java/fr/inra/oresing/rest/model/authorization/LoginAdminResult.java
+++ b/src/main/java/fr/inra/oresing/rest/model/authorization/LoginAdminResult.java
@@ -16,12 +16,12 @@ public record LoginAdminResult(UUID id,
                                boolean openAdomAdmin,
                                Set<String> authorizations,
                                Map<String, Timestamp> chartes,
-                               CurrentUserRoles currentUserRoles) {
+                               CurrentUserRolesResult currentUserRoles) {
     public LoginAdminResult(UUID id,
                             String login,
                             String email,
                             String state,
-                            CurrentUserRoles currentUserRoles,
+                            CurrentUserRolesResult currentUserRoles,
                             Set<String> authorizations,
                             Map<String, Timestamp> chartes) {
         this(id,
diff --git a/src/test/java/fr/inra/oresing/rest/OreSiResourcesTest.java b/src/test/java/fr/inra/oresing/rest/OreSiResourcesTest.java
index 8402ac2..f91ece6 100644
--- a/src/test/java/fr/inra/oresing/rest/OreSiResourcesTest.java
+++ b/src/test/java/fr/inra/oresing/rest/OreSiResourcesTest.java
@@ -963,8 +963,8 @@ public class OreSiResourcesTest {
             Assert.assertEquals(1,
                     Arrays.stream(getApplicationsFlux(authCookie, "ALL"))
                             .filter(s -> "REACTIVE_RESULT".equals(JsonPath.parse(s).read("$.type", String.class)))
-                            .filter(s -> JsonPath.parse(s).read("$.result.data", List.class).contains("sites"))
-                            .filter(s -> !JsonPath.parse(s).read("$.result.data", List.class).contains("type de fichiers"))
+                            .filter(s -> JsonPath.parse(s).read("$.result.application.data", List.class).contains("sites"))
+                            .filter(s -> !JsonPath.parse(s).read("$.result.application.data", List.class).contains("type de fichiers"))
                             .count()
             );
             mockMvc.perform(get("/api/v1/applications/monsore")
-- 
GitLab


From 9772651f7031a7f45f5fd32d9c67538ca265a783 Mon Sep 17 00:00:00 2001
From: philippe tcheriatinsky <philippe.tcherniatinsky@inrae.fr>
Date: Fri, 22 Nov 2024 11:08:29 +0100
Subject: [PATCH 05/13] Modification getApplication (s)

---
 .../oresing/persistence/UserRepository.java   |  2 +-
 .../fr/inra/oresing/rest/OreSiService.java    |  2 +-
 .../application/ApplicationLightResult.java   |  8 +++-
 .../model/application/ApplicationResult.java  |  3 +-
 .../authorization/AuthorizationsResult.java   |  5 +++
 .../fixtures/applications/errors/errors.json  |  2 +-
 .../ore/monsore/changeMonsore.txt             | 34 +++++++--------
 .../ore/monsore/createMonsore.txt             | 42 +++++++++----------
 .../ore/monsore/validateMonsore.txt           | 20 ++++-----
 9 files changed, 65 insertions(+), 53 deletions(-)

diff --git a/src/main/java/fr/inra/oresing/persistence/UserRepository.java b/src/main/java/fr/inra/oresing/persistence/UserRepository.java
index 7e02ae9..b549c22 100644
--- a/src/main/java/fr/inra/oresing/persistence/UserRepository.java
+++ b/src/main/java/fr/inra/oresing/persistence/UserRepository.java
@@ -111,7 +111,7 @@ public class UserRepository extends JsonTableRepositoryTemplate<OreSiUser> imple
                       SELECT r.oid, r.rolname, m.member, m.roleid
                       FROM pg_roles r
                       JOIN pg_auth_members m ON r.oid = m.roleid
-                      WHERE r.rolname = ANY(:rolenames)
+                      WHERE r.rolname = ANY(:roleNames)
                     UNION ALL
                       SELECT r.oid, r.rolname, m.member, m.roleid
                       FROM pg_roles r
diff --git a/src/main/java/fr/inra/oresing/rest/OreSiService.java b/src/main/java/fr/inra/oresing/rest/OreSiService.java
index 6a5354b..7b1a971 100644
--- a/src/main/java/fr/inra/oresing/rest/OreSiService.java
+++ b/src/main/java/fr/inra/oresing/rest/OreSiService.java
@@ -701,7 +701,7 @@ public class OreSiService {
                         .orElse(application.applicationAccordingToRights())
                 )
                 .map(application -> application.filterFieldsAndHidden(filters))
-                .map(application -> ApplicationLightResult.of(application,currentUserRoles))
+                .map(application -> ApplicationLightResult.of(application, currentUserRoles))
                 .forEach(application -> {
                     progression.fluxSink().next(new ReactiveTypeResult(application));
                     final double prog = progres.incrementAndGet() / ((double) applicationForUser.size());
diff --git a/src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java
index fd6e0a2..f388cb2 100644
--- a/src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java
+++ b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java
@@ -1,5 +1,6 @@
 package fr.inra.oresing.rest.model.application;
 
+import fr.inra.oresing.domain.OreSiUser;
 import fr.inra.oresing.domain.application.Application;
 import fr.inra.oresing.domain.application.configuration.Configuration;
 import fr.inra.oresing.domain.application.configuration.Node;
@@ -15,6 +16,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.sql.Timestamp;
+import java.time.Instant;
 import java.util.*;
 import java.util.function.Consumer;
 import java.util.function.Predicate;
@@ -28,7 +30,11 @@ public record ApplicationLightResult(
 ) {
 
     public static ApplicationLightResult of(Application application, CurrentUserRoles currentUserRoles) {
-        Timestamp charteSignedAt = currentUserRoles.user().getChartes().get(application.getId());
+        Timestamp charteSignedAt = Optional.ofNullable(currentUserRoles)
+                .map(CurrentUserRoles::user)
+                .map(OreSiUser::getChartes)
+                .map(chartes->chartes.get(application.getId()))
+                .orElse(null);
         Timestamp lastChartes = application.getLastChartes();
         return new ApplicationLightResult(
                 application,
diff --git a/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java
index f18139c..e4621ed 100644
--- a/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java
+++ b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java
@@ -6,6 +6,7 @@ import fr.inra.oresing.domain.checker.type.FieldType;
 import fr.inra.oresing.domain.application.configuration.*;
 import fr.inra.oresing.domain.repository.authorization.role.CurrentUserRoles;
 import fr.inra.oresing.rest.model.authorization.AuthorizationsForUserResult;
+import fr.inra.oresing.rest.model.authorization.CurrentApplicationUserRolesResult;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -28,7 +29,7 @@ public record ApplicationResult(
         Map<String, AdditionalFile> additionalFiles,
         ApplicationResult.RightsRequest rightsRequest,
         Configuration configuration,
-        fr.inra.oresing.rest.model.authorization.CurrentApplicationUserRolesResult isAdministrator,
+        CurrentApplicationUserRolesResult currentApplicationUserRolesResult,
         Map<String,Set<String>> dependantNodesByDataName
 ) {
 
diff --git a/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java b/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java
index 224d9b3..2900b81 100644
--- a/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java
+++ b/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java
@@ -10,9 +10,14 @@ public record AuthorizationsResult(
         String applicationName,
         Boolean applicationCreator,
         Boolean applicationManager,
+        Boolean isAdministrator,
         Boolean userManager,
         Boolean applicationUser, Boolean activeApplicationUser
 ) {
+    public AuthorizationsResult(Map<String, List<AuthorizationParsed>> userAuthorization, Map<String, AuthorizationParsed> publicAuthorization, String applicationName, Boolean applicationCreator, Boolean applicationManager, Boolean userManager, Boolean applicationUser, Boolean activeApplicationUser) {
+        this(userAuthorization, publicAuthorization, applicationName, applicationCreator, applicationManager, applicationCreator||applicationManager, userManager, applicationUser, activeApplicationUser);
+    }
+
     public AuthorizationsResult {
     }
 }
\ No newline at end of file
diff --git a/ui/cypress/fixtures/applications/errors/errors.json b/ui/cypress/fixtures/applications/errors/errors.json
index 9f6668a..95edaf1 100644
--- a/ui/cypress/fixtures/applications/errors/errors.json
+++ b/ui/cypress/fixtures/applications/errors/errors.json
@@ -1 +1 @@
-{"testUnknownReferenceNameForChecker":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > sites > OA_basicComponents > tze_type_nom > OA_checker > OA_params > OA_reference > OA_name","referenceName":"tr_type_de_sites"}},"time":"2024-11-19T20:42:18.226074731","type":"REACTIVE_ERROR"}],"testUnexpectedNameTagInComputedComponents":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > pem > OA_computedComponents > site_bassin > OA_tags","notExpectedDomainTags":["contextt"]}},"time":"2024-11-19T20:43:30.851670702","type":"REACTIVE_ERROR"}],"testUnknownReferenceNameForDynamicColumns":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_reference","referenceName":"type_de_site"}},"time":"2024-11-19T20:42:48.004481509","type":"REACTIVE_ERROR"}],"testmissingComponentNameForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_component"}},"time":"2024-11-19T20:42:07.765287766","type":"REACTIVE_ERROR"}],"testMissingOrBadTypeVersionApplication":[{"errortype":"ValidationError","result":{"message":"badVersionPattern","params":{"givenVersion":"deux","path":"OA_application"}},"time":"2024-11-19T20:42:09.501750655","type":"REACTIVE_ERROR"}],"testUnexpectedReferencesForComputation":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-19T20:42:00.74587182","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-19T20:42:00.746429265","type":"REACTIVE_ERROR"}],"testmissingRequiredValueInTimeScopeInSubmission":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_timeScope > OA_component"}},"time":"2024-11-19T20:43:16.675034627","type":"REACTIVE_ERROR"}],"testMissingNameApplication":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_application > OA_name"}},"time":"2024-11-19T20:43:37.881896821","type":"REACTIVE_ERROR"}],"testUnexpectedReferencesForDefaultValue":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-19T20:42:06.0274471","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-19T20:42:06.027762048","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"invalidComponentReferenceForSubmissionScopeReference","params":{"componentReference":"proj","submissionReference":"projet","path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 2"}},"time":"2024-11-19T20:43:57.932391588","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataI18ndisplay":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > especes > OA_i18nDisplayPattern > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:44:05.023292934","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataI18n":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > especes > OA_i18n > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:42:58.468764781","type":"REACTIVE_ERROR"}],"testUnexpectedSections":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["OA_application","OA_version","OA_data","OA_additionalFiles","OA_rightsRequest","OA_tags"],"path":"OA_version > OA_application > OA_data > OA_unexpectedTag > OA_rightsRequest > OA_tags","unexpectedSections":["OA_unexpectedTag"]}},"time":"2024-11-19T20:42:51.44582221","type":"REACTIVE_ERROR"}],"testBadEnumSectionTypeInSubmission":[{"errortype":"ValidationError","result":{"message":"badEnumSectionType","params":{"givenValue":"OA_VERSIONINGY","path":"OA_data > pem > OA_submission > OA_strategy","acceptedValues":["OA_INSERTION","OA_VERSIONING"]}},"time":"2024-11-19T20:42:14.679163875","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInRightsRequestDescription":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_rightsRequest > OA_i18n > OA_description > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:43:43.400649109","type":"REACTIVE_ERROR"}],"testUnknownNameAuthorizationScopeInFileNameSubmission":[{"errortype":"ValidationError","result":{"message":"unknownNameReferenceScope","params":{"path":"OA_submission > OA_fileName > OA_referenceScopes > site_bassine","knownAuthorizationScope":["site_bassin","projet"],"unknownAuthorizationScope":"site_bassine"}},"time":"2024-11-19T20:43:41.640151661","type":"REACTIVE_ERROR"}],"testMissingMandatorySectionsInConstantComponents":[{"errortype":"ValidationError","result":{"message":"missingMandatoriesSections","params":{"missingMandatoriesSections":["OA_rowNumber"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-19T20:42:54.965556499","type":"REACTIVE_ERROR"}],"testInvalidMinMaxForCheckerDate":[{"errortype":"ValidationError","result":{"message":"invalidMinMaxForCheckerDate","params":{"declaredPattern":"dd/MM/yyyy","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params","declaredMinValue":"12/31/1980","declaredMaxValue":"31/12/2024"}},"time":"2024-11-19T20:42:02.535501818","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"invalidMinMaxForCheckerDate","params":{"declaredPattern":"dd/MM/yyyy","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params","declaredMinValue":"31/12/1980","declaredMaxValue":"12/31/2024"}},"time":"2024-11-19T20:43:05.561032703","type":"REACTIVE_ERROR"}],"testBadNameApplication":[{"errortype":"ValidationError","result":{"message":"unsupportedNameApplication","params":{"path":"OA_application","nameApplication":"F4KE app!cat°"}},"time":"2024-11-19T20:42:46.296179162","type":"REACTIVE_ERROR"}],"testBadVersionApplication":[{"errortype":"ValidationError","result":{"message":"badVersionPattern","params":{"givenVersion":"-2","path":"OA_application"}},"time":"2024-11-19T20:42:34.007325272","type":"REACTIVE_ERROR"}],"testUnknownColumnNumberToFirstRowLineInConstantComponents":[{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderColumnNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-19T20:43:07.364845225","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderColumnNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-19T20:44:06.773315563","type":"REACTIVE_ERROR"}],"testBadBuilderVersion":[{"errortype":"ValidationError","result":{"message":"unsupportedOpenadomVersion","params":{"path":"OA_version","actualVersion":"2","expectedVersion":"2.0.1"}},"time":"2024-11-19T20:42:35.777151716","type":"REACTIVE_ERROR"}],"testMissingReferenceNameForChecker":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > sites > OA_basicComponents > tze_type_nom > OA_checker > OA_params > OA_reference > OA_name","referenceName":"toto"}},"time":"2024-11-19T20:42:11.252754666","type":"REACTIVE_ERROR"}],"testBadNameTag":[{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > especes","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-19T20:42:49.737270424","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > type_de_sites","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-19T20:42:49.737939185","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > sites","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-19T20:42:49.738104164","type":"REACTIVE_ERROR"}],"testReturnMultiplesErrors":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > site > OA_basicComponents > zet_chemin_parent > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-19T20:43:52.178072527","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-19T20:43:52.178439162","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_defaultValue > OA_references","referenceName":"sites"}},"time":"2024-11-19T20:43:52.178509856","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_computedComponents > site_bassin > OA_checker > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-19T20:43:52.178649469","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_computedComponents > site_bassin > OA_defaultValue > OA_references","referenceName":"sites"}},"time":"2024-11-19T20:43:52.178681643","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-19T20:43:52.178818139","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"sites"}},"time":"2024-11-19T20:43:52.178873048","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_validations > reference > OA_validations > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-19T20:43:52.179122851","type":"REACTIVE_ERROR"}],"testEmptyFile":[{"errortype":"ValidationError","result":{"message":"emptyFile","params":{}},"time":"2024-11-19T20:42:44.513731668","type":"REACTIVE_ERROR"}],"testunknownComponentNameForAuthorization":[{"errortype":"ValidationError","result":{"message":"unknownComponentForComponentName","params":{"unknownComponent":"proj","knownComponents":["site_bassin","site","tel_experimental_site","projet","espece","chemin"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 2 > OA_component"}},"time":"2024-11-19T20:42:41.031991951","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownNameReferenceScope","params":{"path":"OA_submission > OA_fileName > OA_referenceScopes > projet","knownAuthorizationScope":["site_bassin","proj"],"unknownAuthorizationScope":"projet"}},"time":"2024-11-19T20:42:41.032127215","type":"REACTIVE_ERROR"}],"testMissingNameChecker":[{"errortype":"ValidationError","result":{"message":"missingCheckerName","params":{"path":"OA_data > sites > OA_basicComponents > tze_type_nom","acceptedCheckerNames":["OA_reference","OA_float","OA_date","OA_groovyExpression","OA_boolean","OA_integer","OA_string"]}},"time":"2024-11-19T20:43:03.711252254","type":"REACTIVE_ERROR"}],"testduplicatedComponentInPatternComponent":[{"errortype":"ValidationError","result":{"message":"duplicatedComponentHeaderInPatternComponent","params":{"duplicatedPathes":["OA_data > pem > OA_patternComponents > tel_value > OA_componentQualifiers > tel_date","OA_data > pem > OA_patternComponents > tel_value > OA_componentAdjacents > tel_date"],"path":"OA_data > pem > OA_patternComponents > tel_value > OA_componentAdjacents > tel_date","qualifierName":"tel_date","data":"pem","patternComponent":"tel_value"}},"time":"2024-11-19T20:43:20.226228091","type":"REACTIVE_ERROR"}],"testMissingComponentNameValidation":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_validations > reference > OA_components"}},"time":"2024-11-19T20:43:00.193834727","type":"REACTIVE_ERROR"}],"testInvalidPatternForCheckerDate":[{"errortype":"ValidationError","result":{"message":"invalidPatternForCheckerDate","params":{"badPattern":"bb/MM/yyyy","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params > OA_pattern"}},"time":"2024-11-19T20:42:23.512946754","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInAuthorizationScopes":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_i18n > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:43:27.319250663","type":"REACTIVE_ERROR"}],"testunknownComponentInTimeScopeInSubmission":[{"errortype":"ValidationError","result":{"message":"unknownComponentForComponentName","params":{"unknownComponent":"dates","knownComponents":["date"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_timeScope > OA_component"}},"time":"2024-11-19T20:42:30.594942088","type":"REACTIVE_ERROR"}],"testMissingPatternForCheckerDate":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params > OA_pattern"}},"time":"2024-11-19T20:42:19.949225968","type":"REACTIVE_ERROR"}],"testUnexpectedReferencesForDefaultValueInConstantComponents":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-19T20:43:29.051759749","type":"REACTIVE_ERROR"}],"testSuperieurImportHeaderRowNumberToFirstRowLineInConstantComponents":[{"errortype":"ValidationError","result":{"message":"badConstantImportHeaderRowNumber","params":{"givenRowNumber":8,"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_rowNumber","firstRowLine":7}},"time":"2024-11-19T20:42:32.305430308","type":"REACTIVE_ERROR"}],"testNegativeImportHeaderRowNumberInConstantComponents":[{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderRowNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_rowNumber"}},"time":"2024-11-19T20:42:12.983407345","type":"REACTIVE_ERROR"}],"testUnexpectedNameTagInData":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > especes","notExpectedDomainTags":["contxet"]}},"time":"2024-11-19T20:44:01.50190075","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > type_de_sites","notExpectedDomainTags":["contxet"]}},"time":"2024-11-19T20:44:01.503507669","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > sites","notExpectedDomainTags":["contxet"]}},"time":"2024-11-19T20:44:01.503733893","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataDynamicComponents":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_exportHeader > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:43:48.616274686","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInTags":[{"errortype":"ValidationError","result":{"message":"unsuportedI18nKeyLanguage","params":{"path":"OA_tags > test"}},"time":"2024-11-19T20:42:27.066454883","type":"REACTIVE_ERROR"}],"testNegativeColumnNumberToFirstRowLineInConstantComponents":[{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderColumnNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-19T20:43:53.964618399","type":"REACTIVE_ERROR"}],"testUnExpectedReservedTagPatternForDomainTag":[{"errortype":"ValidationError","result":{"message":"illegalDomainTagPattern","params":{"reservedTagNames":["HiddenTag[tagDefinition=HIDDEN_TAG]"],"path":"OA_tags","expectedPattern":"^[a-z][a-z_0-9]*[a-z0-9]$"}},"time":"2024-11-19T20:43:36.147429666","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > especes","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:36.147590821","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > projet","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:36.14828847","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > type_de_sites","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:36.148500026","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > sites","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:36.148658269","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_tags","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:36.149080701","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > pem","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:36.149177061","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataInConstantComponentsExportheaderI18n":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_exportHeader > OA_description > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:43:23.724175873","type":"REACTIVE_ERROR"}],"testMissingRequiredSections":[{"errortype":"ValidationError","result":{"message":"missingVersionApplication","params":{"path":"","actualVersion":"2.0.1"}},"time":"2024-11-19T20:43:25.529059741","type":"REACTIVE_ERROR"}],"testMissingReferencesForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingMandatoriesSections","params":{"missingMandatoriesSections":["OA_reference"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_exportHeader > OA_component > OA_i18n"}},"time":"2024-11-19T20:42:39.259378725","type":"REACTIVE_ERROR"}],"testMissingRequiredValueForChecker":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > sites > OA_basicComponents > tze_type_nom > OA_checker > OA_params > OA_reference > OA_name"}},"time":"2024-11-19T20:42:25.34395418","type":"REACTIVE_ERROR"}],"testMissingAnyMandatorySectionsInConstantComponents":[{"errortype":"ValidationError","result":{"message":"missingAnyMandatoriesSections","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_importHeaderTarget > OA_rowNumber","anyMandatorySections":["OA_columnName","OA_columnNumber"]}},"time":"2024-11-19T20:43:39.73482784","type":"REACTIVE_ERROR"}],"testMissingBuilderVersion":[{"errortype":"ValidationError","result":{"message":"missingVersionApplication","params":{"path":"OA_version","expectedVersion":"2.0.1"}},"time":"2024-11-19T20:43:21.967207348","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInAuthorizationScopesExportheader":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 1 > OA_exportHeader > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:42:56.725636947","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataExportheaderI18n":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > especes > OA_computedComponents > my_computed_column > OA_exportHeader > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:42:04.260215834","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInApplication":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_application > OA_i18n > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:43:12.930932012","type":"REACTIVE_ERROR"}],"testUnknownCheckerName":[{"errortype":"ValidationError","result":{"message":"unknownCheckerName","params":{"path":"OA_data > sites > OA_basicComponents > tze_type_nom","checkerName":"reference","acceptedCheckerNames":["OA_reference","OA_float","OA_date","OA_groovyExpression","OA_boolean","OA_integer","OA_string"]}},"time":"2024-11-19T20:42:37.544000119","type":"REACTIVE_ERROR"}],"testUnknownReferenceColumnToLookForHeaderInDataDynamicComponents":[{"errortype":"ValidationError","result":{"message":"unknownReferenceColumnToLookForHeader","params":{"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_referenceComponentToLookForHeader","listColumnsNameReference":["tze_definition_en","tze_definition_fr","tze_nom_en","tze_nom_fr","tze_nom_key"],"columnNameReference":"nom_key","referenceName":"type_de_sites"}},"time":"2024-11-19T20:42:16.471556677","type":"REACTIVE_ERROR"}],"testBadNameTagInDynamicComponents":[{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_tags","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-19T20:43:18.475162946","type":"REACTIVE_ERROR"}],"testMissingRequiredValueForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_reference"}},"time":"2024-11-19T20:42:42.773525931","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInValidation":[{"errortype":"ValidationError","result":{"message":"duplicateKey","params":{"columnNumber":8,"lineNumber":248,"duplicateKeys":"sites"}},"time":"2024-11-19T20:42:53.203203623","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"duplicatedComponentHeader","params":{"duplicatedImportHeader":["zet_nom_key","zet_chemin_parent"],"path":"OA_data > sites","duplicatedHeader":"zet_chemin_parent","data":"sites"}},"time":"2024-11-19T20:43:32.595251838","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_validations > reference > OA_i18n > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:43:34.342058081","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"duplicatedComponentName","params":{"duplicatedPathes":["OA_data > pem > OA_constantComponents > tel_experimental_site","OA_data > pem > OA_patternComponents > tel_experimental_site"],"path":"OA_data > pem > OA_patternComponents > tel_experimental_site","componentName":"tel_experimental_site"}},"time":"2024-11-19T20:43:46.875456947","type":"REACTIVE_ERROR"}],"testMissingAnyMandatoriesSectionsForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingMandatoriesSections","params":{"missingMandatoriesSections":["OA_reference","OA_component"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_exportHeader > OA_i18n"}},"time":"2024-11-19T20:43:45.161867851","type":"REACTIVE_ERROR"}],"testInvalidNaturalKey":[{"errortype":"ValidationError","result":{"message":"invalidNaturalKey","params":{"path":"OA_data > especes","invalidNaturalKeyElements":["espNom"],"expectedComponentLabel":["colonne_homonyme_entre_referentiels","esp_definition_en","my_computed_column","esp_nom","esp_definition_fr"]}},"time":"2024-11-19T20:43:14.942226253","type":"REACTIVE_ERROR"}],"testInvalidDurationForCheckerDate":[{"errortype":"ValidationError","result":{"message":"invalidDurationCheckerDate","params":{"declaredDuration":"1 Yearss","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params"}},"time":"2024-11-19T20:43:55.974286711","type":"REACTIVE_ERROR"}],"testMissingRequiredValueForDynamicColumns":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_reference"}},"time":"2024-11-19T20:44:03.274863409","type":"REACTIVE_ERROR"}],"testUnexpectedNameTagInBasicComponent":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > pem > OA_basicComponents > projet > OA_tags","notExpectedDomainTags":["testz"]}},"time":"2024-11-19T20:43:10.893553043","type":"REACTIVE_ERROR"}],"testunknownComponentNameValidation":[{"errortype":"ValidationError","result":{"message":"unknownComponentForComponentName","params":{"unknownComponent":"sites","knownComponents":["site_bassin","date","tel_experimental_site","site","bassin","projet","espece","ordre_affichage","chemin","tel_experimental_network","plateforme","is_float_value","tel_value"],"path":"OA_data > pem > OA_validations > reference > OA_components"}},"time":"2024-11-19T20:43:09.116742273","type":"REACTIVE_ERROR"}],"testNotExpectedTagsInConstantComponents":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_tags","notExpectedDomainTags":["testz"]}},"time":"2024-11-19T20:43:01.962452462","type":"REACTIVE_ERROR"}],"testMissingComponentNameInColumnsForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingComponentForComponentName","params":{"knownComponents":["site_bassin","date","tel_experimental_site","site","bassin","projet","espece","ordre_affichage","chemin","tel_experimental_network","plateforme","is_float_value","tel_value"],"path":"OA_data > pem > OA_validations > reference > OA_components"}},"time":"2024-11-19T20:43:59.740555627","type":"REACTIVE_ERROR"}],"testBadDomaineTagPattern":[{"errortype":"ValidationError","result":{"message":"badDomainTagPattern","params":{"path":"OA_tags","domainTagPattern":"^[a-z][a-z_0-9]*[a-z0-9]$"}},"time":"2024-11-19T20:43:50.430807637","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"illegalDomainTagPattern","params":{"reservedTagNames":["NoTag[tagDefinition=NO_TAG, tagName=no_tag]"],"path":"OA_tags","expectedPattern":"^[a-z][a-z_0-9]*[a-z0-9]$"}},"time":"2024-11-19T20:43:50.431171722","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > especes","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:50.431427666","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > especes > OA_basicComponents > esp_nom > OA_tags","notExpectedDomainTags":["test"]}},"time":"2024-11-19T20:43:50.4319404","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > projet","notExpectedDomainTags":["test","context"]}},"time":"2024-11-19T20:43:50.432641965","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > type_de_sites","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:50.432863992","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > sites","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:50.433026808","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_tags","notExpectedDomainTags":["test","context"]}},"time":"2024-11-19T20:43:50.433454284","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > pem","notExpectedDomainTags":["test","context"]}},"time":"2024-11-19T20:43:50.433699207","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > pem > OA_basicComponents > projet > OA_tags","notExpectedDomainTags":["test"]}},"time":"2024-11-19T20:43:50.433865415","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_tags","notExpectedDomainTags":["test"]}},"time":"2024-11-19T20:43:50.434406479","type":"REACTIVE_ERROR"}]}
\ No newline at end of file
+{"testUnknownReferenceNameForChecker":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > sites > OA_basicComponents > tze_type_nom > OA_checker > OA_params > OA_reference > OA_name","referenceName":"tr_type_de_sites"}},"time":"2024-11-21T12:54:51.322856158","type":"REACTIVE_ERROR"}],"testUnexpectedNameTagInComputedComponents":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > pem > OA_computedComponents > site_bassin > OA_tags","notExpectedDomainTags":["contextt"]}},"time":"2024-11-21T12:56:22.815230668","type":"REACTIVE_ERROR"}],"testUnknownReferenceNameForDynamicColumns":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_reference","referenceName":"type_de_site"}},"time":"2024-11-21T12:55:30.535322505","type":"REACTIVE_ERROR"}],"testmissingComponentNameForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_component"}},"time":"2024-11-21T12:54:36.789457977","type":"REACTIVE_ERROR"}],"testMissingOrBadTypeVersionApplication":[{"errortype":"ValidationError","result":{"message":"badVersionPattern","params":{"givenVersion":"deux","path":"OA_application"}},"time":"2024-11-21T12:54:39.189245421","type":"REACTIVE_ERROR"}],"testUnexpectedReferencesForComputation":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-21T12:54:25.170458393","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-21T12:54:25.172287849","type":"REACTIVE_ERROR"}],"testmissingRequiredValueInTimeScopeInSubmission":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_timeScope > OA_component"}},"time":"2024-11-21T12:56:05.954738937","type":"REACTIVE_ERROR"}],"testMissingNameApplication":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_application > OA_name"}},"time":"2024-11-21T12:56:31.209379936","type":"REACTIVE_ERROR"}],"testUnexpectedReferencesForDefaultValue":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-21T12:54:34.075852138","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-21T12:54:34.07670263","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"invalidComponentReferenceForSubmissionScopeReference","params":{"componentReference":"proj","submissionReference":"projet","path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 2"}},"time":"2024-11-21T12:56:54.812183968","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataI18ndisplay":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > especes > OA_i18nDisplayPattern > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:57:04.099663822","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataI18n":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > especes > OA_i18n > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:55:43.26385573","type":"REACTIVE_ERROR"}],"testUnexpectedSections":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["OA_version","OA_application","OA_data","OA_additionalFiles","OA_rightsRequest","OA_tags"],"path":"OA_version > OA_application > OA_data > OA_unexpectedTag > OA_rightsRequest > OA_tags","unexpectedSections":["OA_unexpectedTag"]}},"time":"2024-11-21T12:55:34.564825016","type":"REACTIVE_ERROR"}],"testBadEnumSectionTypeInSubmission":[{"errortype":"ValidationError","result":{"message":"badEnumSectionType","params":{"givenValue":"OA_VERSIONINGY","path":"OA_data > pem > OA_submission > OA_strategy","acceptedValues":["OA_INSERTION","OA_VERSIONING"]}},"time":"2024-11-21T12:54:46.33635494","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInRightsRequestDescription":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_rightsRequest > OA_i18n > OA_description > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:56:38.037679091","type":"REACTIVE_ERROR"}],"testUnknownNameAuthorizationScopeInFileNameSubmission":[{"errortype":"ValidationError","result":{"message":"unknownNameReferenceScope","params":{"path":"OA_submission > OA_fileName > OA_referenceScopes > site_bassine","knownAuthorizationScope":["site_bassin","projet"],"unknownAuthorizationScope":"site_bassine"}},"time":"2024-11-21T12:56:35.787217175","type":"REACTIVE_ERROR"}],"testMissingMandatorySectionsInConstantComponents":[{"errortype":"ValidationError","result":{"message":"missingMandatoriesSections","params":{"missingMandatoriesSections":["OA_rowNumber"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-21T12:55:38.968134572","type":"REACTIVE_ERROR"}],"testInvalidMinMaxForCheckerDate":[{"errortype":"ValidationError","result":{"message":"invalidMinMaxForCheckerDate","params":{"declaredPattern":"dd/MM/yyyy","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params","declaredMinValue":"12/31/1980","declaredMaxValue":"31/12/2024"}},"time":"2024-11-21T12:54:28.315681056","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"invalidMinMaxForCheckerDate","params":{"declaredPattern":"dd/MM/yyyy","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params","declaredMinValue":"31/12/1980","declaredMaxValue":"12/31/2024"}},"time":"2024-11-21T12:55:51.935157918","type":"REACTIVE_ERROR"}],"testBadNameApplication":[{"errortype":"ValidationError","result":{"message":"unsupportedNameApplication","params":{"path":"OA_application","nameApplication":"F4KE app!cat°"}},"time":"2024-11-21T12:55:28.337162795","type":"REACTIVE_ERROR"}],"testBadVersionApplication":[{"errortype":"ValidationError","result":{"message":"badVersionPattern","params":{"givenVersion":"-2","path":"OA_application"}},"time":"2024-11-21T12:55:12.898517756","type":"REACTIVE_ERROR"}],"testUnknownColumnNumberToFirstRowLineInConstantComponents":[{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderColumnNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-21T12:55:54.627569228","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderColumnNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-21T12:57:06.894661163","type":"REACTIVE_ERROR"}],"testBadBuilderVersion":[{"errortype":"ValidationError","result":{"message":"unsupportedOpenadomVersion","params":{"path":"OA_version","actualVersion":"2","expectedVersion":"2.0.1"}},"time":"2024-11-21T12:55:14.933506347","type":"REACTIVE_ERROR"}],"testMissingReferenceNameForChecker":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > sites > OA_basicComponents > tze_type_nom > OA_checker > OA_params > OA_reference > OA_name","referenceName":"toto"}},"time":"2024-11-21T12:54:41.628014547","type":"REACTIVE_ERROR"}],"testBadNameTag":[{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > especes","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-21T12:55:32.569698587","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > type_de_sites","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-21T12:55:32.570603754","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > sites","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-21T12:55:32.570909524","type":"REACTIVE_ERROR"}],"testReturnMultiplesErrors":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > site > OA_basicComponents > zet_chemin_parent > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-21T12:56:48.628090325","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-21T12:56:48.628488127","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_defaultValue > OA_references","referenceName":"sites"}},"time":"2024-11-21T12:56:48.628571965","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_computedComponents > site_bassin > OA_checker > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-21T12:56:48.628773059","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_computedComponents > site_bassin > OA_defaultValue > OA_references","referenceName":"sites"}},"time":"2024-11-21T12:56:48.628821302","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-21T12:56:48.629129639","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"sites"}},"time":"2024-11-21T12:56:48.629193332","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_validations > reference > OA_validations > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-21T12:56:48.629528208","type":"REACTIVE_ERROR"}],"testEmptyFile":[{"errortype":"ValidationError","result":{"message":"emptyFile","params":{}},"time":"2024-11-21T12:55:26.312040951","type":"REACTIVE_ERROR"}],"testunknownComponentNameForAuthorization":[{"errortype":"ValidationError","result":{"message":"unknownComponentForComponentName","params":{"unknownComponent":"proj","knownComponents":["site_bassin","site","tel_experimental_site","projet","espece","chemin"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 2 > OA_component"}},"time":"2024-11-21T12:55:22.085080875","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownNameReferenceScope","params":{"path":"OA_submission > OA_fileName > OA_referenceScopes > projet","knownAuthorizationScope":["site_bassin","proj"],"unknownAuthorizationScope":"projet"}},"time":"2024-11-21T12:55:22.085257767","type":"REACTIVE_ERROR"}],"testMissingNameChecker":[{"errortype":"ValidationError","result":{"message":"missingCheckerName","params":{"path":"OA_data > sites > OA_basicComponents > tze_type_nom","acceptedCheckerNames":["OA_reference","OA_float","OA_date","OA_groovyExpression","OA_boolean","OA_integer","OA_string"]}},"time":"2024-11-21T12:55:49.846051714","type":"REACTIVE_ERROR"}],"testduplicatedComponentInPatternComponent":[{"errortype":"ValidationError","result":{"message":"duplicatedComponentHeaderInPatternComponent","params":{"duplicatedPathes":["OA_data > pem > OA_patternComponents > tel_value > OA_componentQualifiers > tel_date","OA_data > pem > OA_patternComponents > tel_value > OA_componentAdjacents > tel_date"],"path":"OA_data > pem > OA_patternComponents > tel_value > OA_componentAdjacents > tel_date","qualifierName":"tel_date","data":"pem","patternComponent":"tel_value"}},"time":"2024-11-21T12:56:10.250150335","type":"REACTIVE_ERROR"}],"testMissingComponentNameValidation":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_validations > reference > OA_components"}},"time":"2024-11-21T12:55:45.482146705","type":"REACTIVE_ERROR"}],"testInvalidPatternForCheckerDate":[{"errortype":"ValidationError","result":{"message":"invalidPatternForCheckerDate","params":{"badPattern":"bb/MM/yyyy","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params > OA_pattern"}},"time":"2024-11-21T12:54:59.035133613","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInAuthorizationScopes":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_i18n > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:56:18.625875779","type":"REACTIVE_ERROR"}],"testunknownComponentInTimeScopeInSubmission":[{"errortype":"ValidationError","result":{"message":"unknownComponentForComponentName","params":{"unknownComponent":"dates","knownComponents":["date"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_timeScope > OA_component"}},"time":"2024-11-21T12:55:08.309389588","type":"REACTIVE_ERROR"}],"testMissingPatternForCheckerDate":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params > OA_pattern"}},"time":"2024-11-21T12:54:54.133725871","type":"REACTIVE_ERROR"}],"testUnexpectedReferencesForDefaultValueInConstantComponents":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-21T12:56:20.713034631","type":"REACTIVE_ERROR"}],"testSuperieurImportHeaderRowNumberToFirstRowLineInConstantComponents":[{"errortype":"ValidationError","result":{"message":"badConstantImportHeaderRowNumber","params":{"givenRowNumber":8,"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_rowNumber","firstRowLine":7}},"time":"2024-11-21T12:55:10.748990538","type":"REACTIVE_ERROR"}],"testNegativeImportHeaderRowNumberInConstantComponents":[{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderRowNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_rowNumber"}},"time":"2024-11-21T12:54:44.060410763","type":"REACTIVE_ERROR"}],"testUnexpectedNameTagInData":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > especes","notExpectedDomainTags":["contxet"]}},"time":"2024-11-21T12:56:59.048379962","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > type_de_sites","notExpectedDomainTags":["contxet"]}},"time":"2024-11-21T12:56:59.049151097","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > sites","notExpectedDomainTags":["contxet"]}},"time":"2024-11-21T12:56:59.049373375","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataDynamicComponents":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_exportHeader > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:56:44.314470252","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInTags":[{"errortype":"ValidationError","result":{"message":"unsuportedI18nKeyLanguage","params":{"path":"OA_tags > test"}},"time":"2024-11-21T12:55:03.166026841","type":"REACTIVE_ERROR"}],"testNegativeColumnNumberToFirstRowLineInConstantComponents":[{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderColumnNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-21T12:56:50.738640893","type":"REACTIVE_ERROR"}],"testUnExpectedReservedTagPatternForDomainTag":[{"errortype":"ValidationError","result":{"message":"illegalDomainTagPattern","params":{"reservedTagNames":["HiddenTag[tagDefinition=HIDDEN_TAG]"],"path":"OA_tags","expectedPattern":"^[a-z][a-z_0-9]*[a-z0-9]$"}},"time":"2024-11-21T12:56:29.110758924","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > especes","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:29.110945011","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > projet","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:29.111485781","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > type_de_sites","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:29.111828344","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > sites","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:29.112169061","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_tags","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:29.112560258","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > pem","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:29.112673612","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataInConstantComponentsExportheaderI18n":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_exportHeader > OA_description > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:56:14.514687043","type":"REACTIVE_ERROR"}],"testMissingRequiredSections":[{"errortype":"ValidationError","result":{"message":"missingVersionApplication","params":{"path":"","actualVersion":"2.0.1"}},"time":"2024-11-21T12:56:16.526559955","type":"REACTIVE_ERROR"}],"testMissingReferencesForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingMandatoriesSections","params":{"missingMandatoriesSections":["OA_reference"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_exportHeader > OA_component > OA_i18n"}},"time":"2024-11-21T12:55:19.089168849","type":"REACTIVE_ERROR"}],"testMissingRequiredValueForChecker":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > sites > OA_basicComponents > tze_type_nom > OA_checker > OA_params > OA_reference > OA_name"}},"time":"2024-11-21T12:55:01.089735332","type":"REACTIVE_ERROR"}],"testMissingAnyMandatorySectionsInConstantComponents":[{"errortype":"ValidationError","result":{"message":"missingAnyMandatoriesSections","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_importHeaderTarget > OA_rowNumber","anyMandatorySections":["OA_columnName","OA_columnNumber"]}},"time":"2024-11-21T12:56:33.507121372","type":"REACTIVE_ERROR"}],"testMissingBuilderVersion":[{"errortype":"ValidationError","result":{"message":"missingVersionApplication","params":{"path":"OA_version","expectedVersion":"2.0.1"}},"time":"2024-11-21T12:56:12.365632151","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInAuthorizationScopesExportheader":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 1 > OA_exportHeader > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:55:41.168356572","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataExportheaderI18n":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > especes > OA_computedComponents > my_computed_column > OA_exportHeader > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:54:30.665548249","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInApplication":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_application > OA_i18n > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:56:01.51205683","type":"REACTIVE_ERROR"}],"testUnknownCheckerName":[{"errortype":"ValidationError","result":{"message":"unknownCheckerName","params":{"path":"OA_data > sites > OA_basicComponents > tze_type_nom","checkerName":"reference","acceptedCheckerNames":["OA_reference","OA_float","OA_date","OA_groovyExpression","OA_boolean","OA_integer","OA_string"]}},"time":"2024-11-21T12:55:16.969982715","type":"REACTIVE_ERROR"}],"testUnknownReferenceColumnToLookForHeaderInDataDynamicComponents":[{"errortype":"ValidationError","result":{"message":"unknownReferenceColumnToLookForHeader","params":{"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_referenceComponentToLookForHeader","listColumnsNameReference":["tze_definition_en","tze_definition_fr","tze_nom_en","tze_nom_fr","tze_nom_key"],"columnNameReference":"nom_key","referenceName":"type_de_sites"}},"time":"2024-11-21T12:54:49.004889489","type":"REACTIVE_ERROR"}],"testBadNameTagInDynamicComponents":[{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_tags","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-21T12:56:08.14928293","type":"REACTIVE_ERROR"}],"testMissingRequiredValueForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_reference"}},"time":"2024-11-21T12:55:24.194808299","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInValidation":[{"errortype":"ValidationError","result":{"message":"duplicateKey","params":{"columnNumber":8,"lineNumber":248,"duplicateKeys":"sites"}},"time":"2024-11-21T12:55:36.728761045","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"duplicatedComponentHeader","params":{"duplicatedImportHeader":["zet_nom_key","zet_chemin_parent"],"path":"OA_data > sites","duplicatedHeader":"zet_chemin_parent","data":"sites"}},"time":"2024-11-21T12:56:24.953954899","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_validations > reference > OA_i18n > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:56:27.007799842","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"duplicatedComponentName","params":{"duplicatedPathes":["OA_data > pem > OA_constantComponents > tel_experimental_site","OA_data > pem > OA_patternComponents > tel_experimental_site"],"path":"OA_data > pem > OA_patternComponents > tel_experimental_site","componentName":"tel_experimental_site"}},"time":"2024-11-21T12:56:42.220294965","type":"REACTIVE_ERROR"}],"testMissingAnyMandatoriesSectionsForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingMandatoriesSections","params":{"missingMandatoriesSections":["OA_reference","OA_component"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_exportHeader > OA_i18n"}},"time":"2024-11-21T12:56:40.165055402","type":"REACTIVE_ERROR"}],"testInvalidNaturalKey":[{"errortype":"ValidationError","result":{"message":"invalidNaturalKey","params":{"path":"OA_data > especes","invalidNaturalKeyElements":["espNom"],"expectedComponentLabel":["colonne_homonyme_entre_referentiels","esp_definition_en","my_computed_column","esp_nom","esp_definition_fr"]}},"time":"2024-11-21T12:56:03.884596358","type":"REACTIVE_ERROR"}],"testInvalidDurationForCheckerDate":[{"errortype":"ValidationError","result":{"message":"invalidDurationCheckerDate","params":{"declaredDuration":"1 Yearss","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params"}},"time":"2024-11-21T12:56:52.75074578","type":"REACTIVE_ERROR"}],"testMissingRequiredValueForDynamicColumns":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_reference"}},"time":"2024-11-21T12:57:01.543070775","type":"REACTIVE_ERROR"}],"testUnexpectedNameTagInBasicComponent":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > pem > OA_basicComponents > projet > OA_tags","notExpectedDomainTags":["testz"]}},"time":"2024-11-21T12:55:59.345590049","type":"REACTIVE_ERROR"}],"testunknownComponentNameValidation":[{"errortype":"ValidationError","result":{"message":"unknownComponentForComponentName","params":{"unknownComponent":"sites","knownComponents":["site_bassin","date","tel_experimental_site","site","bassin","projet","espece","ordre_affichage","chemin","tel_experimental_network","plateforme","is_float_value","tel_value"],"path":"OA_data > pem > OA_validations > reference > OA_components"}},"time":"2024-11-21T12:55:57.27298963","type":"REACTIVE_ERROR"}],"testNotExpectedTagsInConstantComponents":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_tags","notExpectedDomainTags":["testz"]}},"time":"2024-11-21T12:55:47.653641394","type":"REACTIVE_ERROR"}],"testMissingComponentNameInColumnsForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingComponentForComponentName","params":{"knownComponents":["site_bassin","date","tel_experimental_site","site","bassin","projet","espece","ordre_affichage","chemin","tel_experimental_network","plateforme","is_float_value","tel_value"],"path":"OA_data > pem > OA_validations > reference > OA_components"}},"time":"2024-11-21T12:56:56.982895847","type":"REACTIVE_ERROR"}],"testBadDomaineTagPattern":[{"errortype":"ValidationError","result":{"message":"badDomainTagPattern","params":{"path":"OA_tags","domainTagPattern":"^[a-z][a-z_0-9]*[a-z0-9]$"}},"time":"2024-11-21T12:56:46.431768866","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"illegalDomainTagPattern","params":{"reservedTagNames":["NoTag[tagDefinition=NO_TAG, tagName=no_tag]"],"path":"OA_tags","expectedPattern":"^[a-z][a-z_0-9]*[a-z0-9]$"}},"time":"2024-11-21T12:56:46.432176318","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > especes","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:46.432454913","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > especes > OA_basicComponents > esp_nom > OA_tags","notExpectedDomainTags":["test"]}},"time":"2024-11-21T12:56:46.433231882","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > projet","notExpectedDomainTags":["test","context"]}},"time":"2024-11-21T12:56:46.434273573","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > type_de_sites","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:46.434593839","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > sites","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:46.43492737","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_tags","notExpectedDomainTags":["test","context"]}},"time":"2024-11-21T12:56:46.43600391","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > pem","notExpectedDomainTags":["test","context"]}},"time":"2024-11-21T12:56:46.43618696","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > pem > OA_basicComponents > projet > OA_tags","notExpectedDomainTags":["test"]}},"time":"2024-11-21T12:56:46.436552226","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_tags","notExpectedDomainTags":["test"]}},"time":"2024-11-21T12:56:46.437209375","type":"REACTIVE_ERROR"}]}
\ No newline at end of file
diff --git a/ui/cypress/fixtures/applications/ore/monsore/changeMonsore.txt b/ui/cypress/fixtures/applications/ore/monsore/changeMonsore.txt
index 0cee997..a4986de 100644
--- a/ui/cypress/fixtures/applications/ore/monsore/changeMonsore.txt
+++ b/ui/cypress/fixtures/applications/ore/monsore/changeMonsore.txt
@@ -1,17 +1,17 @@
-{"result":0.0,"time":[2024,11,19,20,40,25,356689148],"type":"REACTIVE_PROGRESS"}
-{"result":"application.ChangeConfiguration.configuration.rights.checking","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,357685573],"type":"REACTIVE_INFO"}
-{"result":0.02,"time":[2024,11,19,20,40,25,357721264],"type":"REACTIVE_PROGRESS"}
-{"result":"application.ChangeConfiguration.configuration.parsingConfiguration.forSingle","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,357755155],"type":"REACTIVE_INFO"}
-{"result":"application.ChangeConfiguration.configuration.testYamlIsvalid","params":null,"time":[2024,11,19,20,40,25,357774651],"type":"REACTIVE_INFO"}
-{"result":"application.ChangeConfiguration.configuration.yamlIsvalid","params":null,"time":[2024,11,19,20,40,25,358666907],"type":"REACTIVE_INFO"}
-{"result":"application.ChangeConfiguration.configuration.versionIsValid","params":null,"time":[2024,11,19,20,40,25,358685935],"type":"REACTIVE_INFO"}
-{"result":0.03,"time":[2024,11,19,20,40,25,358693846],"type":"REACTIVE_PROGRESS"}
-{"result":"application.ChangeConfiguration.configuration.Starting parsing of configuration","params":{},"time":[2024,11,19,20,40,25,410099565],"type":"REACTIVE_INFO"}
-{"result":0.0,"time":[2024,11,19,20,40,25,410163953],"type":"REACTIVE_PROGRESS"}
-{"result":0.0,"time":[2024,11,19,20,40,25,410174484],"type":"REACTIVE_PROGRESS"}
-{"result":"application.ChangeConfiguration.configuration.CheckSyntax.startValidation.start","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,423021743],"type":"REACTIVE_INFO"}
-{"result":"application.configuration.create.register.start","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,423083614],"type":"REACTIVE_INFO"}
-{"result":"application.ChangeConfiguration.configuration.parsingConfiguration.endparsing","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,423099483],"type":"REACTIVE_INFO"}
-{"result":"application.register","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,452549225],"type":"REACTIVE_INFO"}
-{"result":"2383200e-3a2c-45ae-9f6e-d5fc490a22aa","time":[2024,11,19,20,40,25,468590699],"type":"REACTIVE_RESULT"}
-{"result":1.0,"time":[2024,11,19,20,40,25,468656405],"type":"REACTIVE_PROGRESS"}
+{"result":0.0,"time":[2024,11,21,12,51,41,767139757],"type":"REACTIVE_PROGRESS"}
+{"result":"application.ChangeConfiguration.configuration.rights.checking","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,768592771],"type":"REACTIVE_INFO"}
+{"result":0.02,"time":[2024,11,21,12,51,41,768643736],"type":"REACTIVE_PROGRESS"}
+{"result":"application.ChangeConfiguration.configuration.parsingConfiguration.forSingle","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,768696731],"type":"REACTIVE_INFO"}
+{"result":"application.ChangeConfiguration.configuration.testYamlIsvalid","params":null,"time":[2024,11,21,12,51,41,768713926],"type":"REACTIVE_INFO"}
+{"result":"application.ChangeConfiguration.configuration.yamlIsvalid","params":null,"time":[2024,11,21,12,51,41,770364468],"type":"REACTIVE_INFO"}
+{"result":"application.ChangeConfiguration.configuration.versionIsValid","params":null,"time":[2024,11,21,12,51,41,770445236],"type":"REACTIVE_INFO"}
+{"result":0.03,"time":[2024,11,21,12,51,41,770457946],"type":"REACTIVE_PROGRESS"}
+{"result":"application.ChangeConfiguration.configuration.Starting parsing of configuration","params":{},"time":[2024,11,21,12,51,41,845333656],"type":"REACTIVE_INFO"}
+{"result":0.0,"time":[2024,11,21,12,51,41,845396132],"type":"REACTIVE_PROGRESS"}
+{"result":0.0,"time":[2024,11,21,12,51,41,845411538],"type":"REACTIVE_PROGRESS"}
+{"result":"application.ChangeConfiguration.configuration.CheckSyntax.startValidation.start","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,866211108],"type":"REACTIVE_INFO"}
+{"result":"application.configuration.create.register.start","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,866265975],"type":"REACTIVE_INFO"}
+{"result":"application.ChangeConfiguration.configuration.parsingConfiguration.endparsing","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,866285695],"type":"REACTIVE_INFO"}
+{"result":"application.register","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,905072152],"type":"REACTIVE_INFO"}
+{"result":"83698136-388e-4fdd-a953-3edf01d41588","time":[2024,11,21,12,51,41,927462162],"type":"REACTIVE_RESULT"}
+{"result":1.0,"time":[2024,11,21,12,51,41,927574545],"type":"REACTIVE_PROGRESS"}
diff --git a/ui/cypress/fixtures/applications/ore/monsore/createMonsore.txt b/ui/cypress/fixtures/applications/ore/monsore/createMonsore.txt
index 01d6a52..50e98b2 100644
--- a/ui/cypress/fixtures/applications/ore/monsore/createMonsore.txt
+++ b/ui/cypress/fixtures/applications/ore/monsore/createMonsore.txt
@@ -1,21 +1,21 @@
-{"result":0.0,"time":[2024,11,19,20,40,25,94341241],"type":"REACTIVE_PROGRESS"}
-{"result":"application.createConfiguration.configuration.rights.checking","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,95566370],"type":"REACTIVE_INFO"}
-{"result":0.02,"time":[2024,11,19,20,40,25,95707209],"type":"REACTIVE_PROGRESS"}
-{"result":"application.createConfiguration.configuration.parsingConfiguration.forSingle","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,95760793],"type":"REACTIVE_INFO"}
-{"result":"application.createConfiguration.configuration.testYamlIsvalid","params":null,"time":[2024,11,19,20,40,25,95788682],"type":"REACTIVE_INFO"}
-{"result":"application.createConfiguration.configuration.yamlIsvalid","params":null,"time":[2024,11,19,20,40,25,97287791],"type":"REACTIVE_INFO"}
-{"result":"application.createConfiguration.configuration.versionIsValid","params":null,"time":[2024,11,19,20,40,25,97323752],"type":"REACTIVE_INFO"}
-{"result":0.03,"time":[2024,11,19,20,40,25,97333203],"type":"REACTIVE_PROGRESS"}
-{"result":"application.createConfiguration.configuration.Starting parsing of configuration","params":{},"time":[2024,11,19,20,40,25,133143907],"type":"REACTIVE_INFO"}
-{"result":0.0,"time":[2024,11,19,20,40,25,133210001],"type":"REACTIVE_PROGRESS"}
-{"result":0.0,"time":[2024,11,19,20,40,25,133219396],"type":"REACTIVE_PROGRESS"}
-{"result":"application.createConfiguration.configuration.CheckSyntax.startValidation.start","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,153349422],"type":"REACTIVE_INFO"}
-{"result":"application.configuration.create.register.start","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,153429508],"type":"REACTIVE_INFO"}
-{"result":"application.createConfiguration.configuration.parsingConfiguration.endparsing","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,153809007],"type":"REACTIVE_INFO"}
-{"result":"application.register","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,293009525],"type":"REACTIVE_INFO"}
-{"result":"application.createConfiguration.viewCreation.start","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,293072746],"type":"REACTIVE_INFO"}
-{"result":0.5,"time":[2024,11,19,20,40,25,293251385],"type":"REACTIVE_PROGRESS"}
-{"result":"application.createConfiguration.viewCreation.end","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,293278597],"type":"REACTIVE_INFO"}
-{"result":"2383200e-3a2c-45ae-9f6e-d5fc490a22aa","time":[2024,11,19,20,40,25,293288807],"type":"REACTIVE_RESULT"}
-{"result":1.0,"time":[2024,11,19,20,40,25,293358918],"type":"REACTIVE_PROGRESS"}
-{"result":1.0,"time":[2024,11,19,20,40,25,293377094],"type":"REACTIVE_PROGRESS"}
+{"result":0.0,"time":[2024,11,21,12,51,41,227228153],"type":"REACTIVE_PROGRESS"}
+{"result":"application.createConfiguration.configuration.rights.checking","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,229018987],"type":"REACTIVE_INFO"}
+{"result":0.02,"time":[2024,11,21,12,51,41,229182588],"type":"REACTIVE_PROGRESS"}
+{"result":"application.createConfiguration.configuration.parsingConfiguration.forSingle","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,229238923],"type":"REACTIVE_INFO"}
+{"result":"application.createConfiguration.configuration.testYamlIsvalid","params":null,"time":[2024,11,21,12,51,41,229320442],"type":"REACTIVE_INFO"}
+{"result":"application.createConfiguration.configuration.yamlIsvalid","params":null,"time":[2024,11,21,12,51,41,232292762],"type":"REACTIVE_INFO"}
+{"result":"application.createConfiguration.configuration.versionIsValid","params":null,"time":[2024,11,21,12,51,41,232354018],"type":"REACTIVE_INFO"}
+{"result":0.03,"time":[2024,11,21,12,51,41,232368072],"type":"REACTIVE_PROGRESS"}
+{"result":"application.createConfiguration.configuration.Starting parsing of configuration","params":{},"time":[2024,11,21,12,51,41,338450384],"type":"REACTIVE_INFO"}
+{"result":0.0,"time":[2024,11,21,12,51,41,338546468],"type":"REACTIVE_PROGRESS"}
+{"result":0.0,"time":[2024,11,21,12,51,41,338572115],"type":"REACTIVE_PROGRESS"}
+{"result":"application.createConfiguration.configuration.CheckSyntax.startValidation.start","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,380781988],"type":"REACTIVE_INFO"}
+{"result":"application.configuration.create.register.start","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,380884851],"type":"REACTIVE_INFO"}
+{"result":"application.createConfiguration.configuration.parsingConfiguration.endparsing","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,381182133],"type":"REACTIVE_INFO"}
+{"result":"application.register","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,651359161],"type":"REACTIVE_INFO"}
+{"result":"application.createConfiguration.viewCreation.start","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,651459726],"type":"REACTIVE_INFO"}
+{"result":0.5,"time":[2024,11,21,12,51,41,651737906],"type":"REACTIVE_PROGRESS"}
+{"result":"application.createConfiguration.viewCreation.end","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,651779689],"type":"REACTIVE_INFO"}
+{"result":"83698136-388e-4fdd-a953-3edf01d41588","time":[2024,11,21,12,51,41,651832977],"type":"REACTIVE_RESULT"}
+{"result":1.0,"time":[2024,11,21,12,51,41,652002501],"type":"REACTIVE_PROGRESS"}
+{"result":1.0,"time":[2024,11,21,12,51,41,652031135],"type":"REACTIVE_PROGRESS"}
diff --git a/ui/cypress/fixtures/applications/ore/monsore/validateMonsore.txt b/ui/cypress/fixtures/applications/ore/monsore/validateMonsore.txt
index 080b33f..46aa1a4 100644
--- a/ui/cypress/fixtures/applications/ore/monsore/validateMonsore.txt
+++ b/ui/cypress/fixtures/applications/ore/monsore/validateMonsore.txt
@@ -1,10 +1,10 @@
-{"result":"application.createConfiguration.testYamlIsvalid","params":null,"time":[2024,11,19,20,40,24,389949022],"type":"REACTIVE_INFO"}
-{"result":"application.createConfiguration.yamlIsvalid","params":null,"time":[2024,11,19,20,40,24,391923646],"type":"REACTIVE_INFO"}
-{"result":"application.createConfiguration.versionIsValid","params":null,"time":[2024,11,19,20,40,24,392068891],"type":"REACTIVE_INFO"}
-{"result":0.01,"time":[2024,11,19,20,40,24,392465250],"type":"REACTIVE_PROGRESS"}
-{"result":"application.createConfiguration.Starting parsing of configuration","params":{},"time":[2024,11,19,20,40,24,551650432],"type":"REACTIVE_INFO"}
-{"result":0.0,"time":[2024,11,19,20,40,24,552141022],"type":"REACTIVE_PROGRESS"}
-{"result":0.0,"time":[2024,11,19,20,40,24,552469969],"type":"REACTIVE_PROGRESS"}
-{"result":"application.createConfiguration.CheckSyntax.startValidation.start","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,21529037],"type":"REACTIVE_INFO"}
-{"result":{"id":"8fe0d43f-7868-4444-8927-64d4b2033db9","creationDate":null,"updateDate":null,"lastChartes":5336473980199903000,"name":"monsore","version":null,"data":["themes","especes","variables","type_de_sites","site_theme_datatype","unites","projet","valeurs_qualitatives","type_de_fichiers","variables_et_unites_par_types_de_donnees","pem","sites"],"additionalFiles":["fichiers","utilisateurs"],"configuration":{"version":{"version":"2.0.1","runTimeVersion":{}},"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"},{"tagDefinition":"DOMAIN_TAG","tagName":"data"},{"tagDefinition":"DOMAIN_TAG","tagName":"test"},{"tagDefinition":"DOMAIN_TAG","tagName":"unit"},{"tagDefinition":"DOMAIN_TAG","tagName":"temporal"}],"i18n":{"tags":{"unit":{"en":"unit","fr":"unité"},"data":{"en":"data","fr":"données"},"test":{"en":"test","fr":"test"},"context":{"en":"context","fr":"contexte"},"temporal":{"en":"temporality","fr":"temporalité"}},"application":{"title":{"en":"SOERE my SOERE","fr":"SOERE mon SOERE"},"description":{"en":"SOERE my SOERE","fr":"SOERE mon SOERE"}},"data":{"themes":{"validations":{},"exceptions":{},"components":{"description_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La definition du thème"}}},"description_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Thematic definition"}}},"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Site name"}}},"nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"Le nom du thème"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{description_en}","fr":"{description_fr}"}},"i18n":{"title":{"en":"Thematic","fr":"Thème"},"description":{"en":"Thematic list","fr":"Liste des thèmes"}}},"variables":{"validations":{},"exceptions":{},"components":{"definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Variable definition"}}},"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Variable name"}}},"nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"Le nom de la variable"}}},"definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La définition de la variable"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{definition_en}","fr":"{definition_fr}"}},"i18n":{"title":{"en":"Variables","fr":"Variables"},"description":{"en":"Variables list","fr":"Liste des variables"}}},"especes":{"validations":{},"exceptions":{},"components":{"my_computed_column":{"exportHeader":{"title":{"en":"computed column","fr":"colonne calculée"},"description":{"en":"a calculated column returning 'my value'","fr":"une colonne calculée retournant 'my value'"}}},"esp_definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"species definition"}}},"esp_definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"définition de l'espèce"}}},"esp_nom":{"exportHeader":{"title":{"en":"code","fr":"code"},"description":{"en":"code name of the species","fr":"nom codique de l'espèce"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{esp_nom}","fr":"{esp_nom}"},"description":{"en":"{esp_definition_en}","fr":"{esp_definition_fr}"}},"i18n":{"title":{"en":"Species","fr":"Espèces"},"description":{"en":"Description of species fished in the watershed","fr":"Description des espèces pêchées sur le bassin versant"}}},"site_theme_datatype":{"validations":{"checkDatatype":{"fr":"test"},"projetRef":{"fr":"référence au projet"},"sitesRef":{"fr":"référence au site"},"themesRef":{"fr":"référence au theme"}},"exceptions":{},"components":{},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"projet name: {projet}, site name : {site}, theme name : {theme}, data type name : {datatype}","fr":"nom du projet: {projet}, nom du site : {site}, nom du thème : {theme}, nom du type de données : {datatype}"},"description":{"en":"Join on projet name: {projet}, site name : {site}, theme name : {theme}, data type name : {datatype}","fr":"Jointure nom du projet: {projet}, nom du site : {site}, nom du thème : {theme}, nom du type de données : {datatype}"}},"i18n":{"title":{"en":"Data types by site and project","fr":"Types de données par site et projet"},"description":{"en":"Join table of theme sites and datatypes","fr":"Table de jointure des sites theme et datatypes"}}},"type_de_sites":{"validations":{},"exceptions":{},"components":{"tze_nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"La nom du type de sites"}}},"tze_nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Site type name"}}},"tze_definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Site type definition"}}},"tze_definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La definition du type de site"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{tze_nom_en}","fr":"{tze_nom_fr}"},"description":{"en":"{tze_definition_en}","fr":"{tze_definition_fr}"}},"i18n":{"title":{"en":"Sites types","fr":"Types de sites"},"description":{"en":"Sites types list","fr":"Liste des types de sites"}}},"unites":{"validations":{},"exceptions":{},"components":{"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Unit name"}}},"code_en":{"exportHeader":{"title":{"en":"code"},"description":{"en":"Unit code"}}},"nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"La nom de l'unité"}}},"code_fr":{"exportHeader":{"title":{"fr":"code"},"description":{"fr":"Le code du unité"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en} ({code_key})","fr":"{nom_fr} ({code_key})"},"description":{}},"i18n":{"title":{"en":"Units","fr":"Unités"},"description":{"en":"Units list","fr":"Liste des unités"}}},"projet":{"validations":{},"exceptions":{},"components":{"definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"project definition"}}},"nom_en":{"exportHeader":{"title":{"en":"Name"},"description":{"en":"Project name"}}},"nom_fr":{"exportHeader":{"title":{"fr":"Nom"},"description":{"fr":"Nom du projet"}}},"definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"définition du projet"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{definition_en}","fr":"{definition_fr}"}},"i18n":{"title":{"en":"Project","fr":"Projet"},"description":{"en":"List of information system projects","fr":"Liste des projets du système d'information"}}},"valeurs_qualitatives":{"validations":{},"exceptions":{},"components":{"valeur_fr":{"exportHeader":{"title":{"fr":"valeur"},"description":{"fr":"La valeur dans la liste"}}},"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"The name list"}}},"valeur_en":{"exportHeader":{"title":{"en":"value"},"description":{"en":"The value in list"}}},"nom_fr":{"exportHeader":{"title":{"fr":"Nom"},"description":{"fr":"Le nom de la liste"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{valeur_en}","fr":"{valeur_fr}"},"description":{"en":"{valeur_en} of {nom_en}","fr":"{valeur_fr} de {nom_fr}"}},"i18n":{"title":{"en":"Qualitative values","fr":"Valeurs qualitatives"},"description":{"en":"List of qualitative values list","fr":"Liste de liste de valeurs qualitatives"}}},"variables_et_unites_par_types_de_donnees":{"validations":{"checkDatatype":{"fr":"test"},"uniteRef":{"fr":"référence à l'unité'"},"variableRef":{"fr":"référence à la variable"}},"exceptions":{},"components":{},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"datatype name : {datatype}, variable name : {variable}, : unit name {unite}","fr":"nom du type de données : {datatype}, nom de la variable : {variable}, : nom de l'unité {unite}"},"description":{"en":"Join ondatatype name : {datatype}, variable name : {variable}, : unit name {unite}","fr":"Jointure des nom du type de données : {datatype}, nom de la variable : {variable}, : nom de l'unité {unite}"}},"i18n":{"title":{"en":"Variables and units by data type","fr":"Variables et unités par type de données"},"description":{"en":"Variables and units by data type join list","fr":"Liste de jointure des variables et unités par type de données"}}},"type_de_fichiers":{"validations":{},"exceptions":{},"components":{"description_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Thematic definition"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{description_en}","fr":"{description_fr}"}},"i18n":{"title":{"en":"Files types","fr":"Types de fichiers"},"description":{"en":"The files types","fr":"Les types de fichiers"}}},"pem":{"validations":{"unitOfIndividus":{"fr":"vérifie l'unité du nombre d'individus"},"unitOfColor":{"fr":"vérifie l'unité de la couleur des individus"}},"exceptions":{},"components":{"chemin":{"exportHeader":{"title":{"en":"Path","fr":"Chemin"},"description":{"en":"Data calculating the full path of the site","fr":"Données calculant le chemin complet du site"}}},"color_value":{"exportHeader":{"title":{"en":"United colors","fr":"Couleur des individus"},"description":{}}},"individusNumbervalue":{"exportHeader":{"title":{"en":"Number of individuals","fr":"Nombre d'individus"},"description":{}}}},"submissions":{"referenceScopes":{"projet":{"title":{"en":"project","fr":"projet"},"description":{"en":"Choose the project","fr":"Choisissez le projet"}},"sites":{"title":{"en":"site","fr":"site"},"description":{"en":"The site","fr":"Le site"}}}},"i18nDisplayPattern":null,"i18n":{"title":{"en":"Trap in ascent","fr":"Piégeage en Montée"},"description":{"en":"Upstream trapping fishing data","fr":"Données de pêche par piégeage en Montée"}}},"sites":{"validations":{},"exceptions":{},"components":{"zet_description_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"site definition"}}},"zet_nom_fr":{"exportHeader":{"title":{"fr":"Nom du site"},"description":{"fr":"Le nom du site"}}},"zet_nom_en":{"exportHeader":{"title":{"en":"Site name"},"description":{"en":"The site name"}}},"zet_description_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La definition du site"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{zet_chemin_parent} - {zet_nom_fr}","fr":"{zet_chemin_parent} - {zet_nom_fr} "},"description":{"en":"{zet_description_en}","fr":"{zet_description_fr}"}},"i18n":{"title":{"en":"Site","fr":"Site"},"description":{"en":"Sites list","fr":"Liste des sites du système d'information"}}}},"rightsrequest":{"fields":{"endDate":{"title":{"en":"Give the project end date","fr":"Date de fin du projet"},"description":{"en":"Project end date","fr":"Donnez la date de fin du projet"}},"organization":{"title":{"en":"Name of research organization","fr":"Nom de l'organisme de recherche"},"description":{"en":"Usual ame of research organization","fr":"Nom usuel de l'organisme de recherche"}},"project":{"title":{"en":"Description of the research project","fr":"Description du projet de recherche"},"description":{"en":"Describe your the research project","fr":"Donnez une description du projet de recherche"}},"startDate":{"title":{"en":"Project start date","fr":"Date de début du projet"},"description":{"en":"Give the project start date","fr":"Donnez la date de début du projet"}}},"i18n":{"title":{"en":"You can request rights to the monsore application by filling out this form","fr":"Vous pouvez demander des droits à l'application monsore en remplissant ce formulaire"},"description":{"en":"Monsoere Data Access Right Request Form","fr":"Formulaire de demande de droit d'accès aux données de Monsoere"}}},"additionalFiles":{"utilisateurs":{"i18n":{"title":{"en":"Users","fr":"Utilsateurs"},"description":{"en":"System User Description Files","fr":"Fichiers de dexcription des utilisateurs du système"}},"fields":{"prenom":{"title":{"en":"Surname","fr":"Prénom"},"description":{"en":"User surname","fr":"Prénom de l'utilisateur"}},"nom":{"title":{"en":"Name","fr":"Nom"},"description":{"en":"User name","fr":"Nom de l'utilisateur"}}}},"fichiers":{"i18n":{"title":{"en":"Files","fr":"Fichiers"},"description":{"en":"Various files relating to the Information System","fr":"Différents fichiers afférents au Système d'Information"}},"fields":{"date":{"title":{"en":"Date","fr":"Date"},"description":{"en":"The date the file was updated","fr":"La date de mise à jour du fichier"}},"site":{"title":{"en":"Place","fr":"Site"},"description":{"en":"Site described by the file","fr":"Site décrit par le fichier"}},"poids":{"title":{"en":"Weight","fr":"Poids"},"description":{"en":"File size in kb","fr":"Poids du fichier en ko"}},"nom":{"title":{"en":"Name","fr":"Nom"},"description":{"en":"The name of the file for download","fr":"Le nom du fichier pour téléchargement"}},"age":{"title":{"en":"Age","fr":"Age"},"description":{"en":"Minimum age for file access","fr":"Age minumum d'accès au fichier"}}}}}},"applicationDescription":{"name":"monsore","version":{"version":"3.0.1","runTimeVersion":{}},"defaultLanguage":"fr","comment":"Fichier de test de l'application brokenADOM version initiale"},"dataDescription":{"themes":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_fr":{"type":"BasicComponent","componentKey":"description_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_fr","exportHeaderName":"description_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_en":{"type":"BasicComponent","componentKey":"description_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_en","exportHeaderName":"description_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"especes":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["esp_nom"],"componentDescriptions":{"colonne_homonyme_entre_referentiels":{"type":"BasicComponent","componentKey":"colonne_homonyme_entre_referentiels","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"colonne_homonyme_entre_referentiels","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"esp_definition_en":{"type":"BasicComponent","componentKey":"esp_definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"esp_definition_en","exportHeaderName":"esp_definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"my_computed_column":{"type":"ComputedComponent","componentKey":"my_computed_column","tags":[{"tagDefinition":"HIDDEN_TAG"}],"exportHeaderName":"my_computed_column","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"my value\";\n","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":true,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"esp_nom":{"type":"BasicComponent","componentKey":"esp_nom","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"test"}],"importHeader":"esp_nom","exportHeaderName":"esp_nom","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"esp_definition_fr":{"type":"BasicComponent","componentKey":"esp_definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"esp_definition_fr","exportHeaderName":"esp_definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"variables":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_en":{"type":"BasicComponent","componentKey":"definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_en","exportHeaderName":"definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"is_qualitative":{"type":"BasicComponent","componentKey":"is_qualitative","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"isQualitative","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_fr":{"type":"BasicComponent","componentKey":"definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_fr","exportHeaderName":"definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"type_de_sites":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["tze_nom_key"],"componentDescriptions":{"tze_nom_key":{"type":"BasicComponent","componentKey":"tze_nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_nom_fr":{"type":"BasicComponent","componentKey":"tze_nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_nom_fr","exportHeaderName":"tze_nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_definition_fr":{"type":"BasicComponent","componentKey":"tze_definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_definition_fr","exportHeaderName":"tze_definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_nom_en":{"type":"BasicComponent","componentKey":"tze_nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_nom_en","exportHeaderName":"tze_nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_definition_en":{"type":"BasicComponent","componentKey":"tze_definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_definition_en","exportHeaderName":"tze_definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"site_theme_datatype":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["projet","site","theme","datatype"],"componentDescriptions":{"site":{"type":"BasicComponent","componentKey":"site","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du site","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"theme":{"type":"BasicComponent","componentKey":"theme","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du thème","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"projet":{"type":"BasicComponent","componentKey":"projet","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du projet","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"datatype":{"type":"BasicComponent","componentKey":"datatype","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du type de données","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{"projetRef":{"checkers":{"projet":{"type":"ReferenceChecker","componentKey":"projet","multiplicity":"ONE","required":false,"refType":"projet","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["projet"],"required":false,"mandatory":"OPTIONAL"},"sitesRef":{"checkers":{"site":{"type":"ReferenceChecker","componentKey":"site","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["site"],"required":false,"mandatory":"OPTIONAL"},"themesRef":{"checkers":{"theme":{"type":"ReferenceChecker","componentKey":"theme","multiplicity":"ONE","required":false,"refType":"themes","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["theme"],"required":false,"mandatory":"OPTIONAL"},"checkDatatype":{"checkers":{"datatype":{"type":"GroovyExpressionChecker","multiplicity":"ONE","required":false,"expression":"String datatype = datum.datatype;  def data = application.getConfiguration().i18n().data ; if(data==null){\n    return false;\n}; def i18n = data\n        .collect{ it->it.value.i18n};\nif(i18n==null){\n    return false;\n}; def title = i18n \n        .collect{ it->it.title};\nif(title==null){\n    return false;\n}; def french = title\n        .collect { it->it.get(java.util.Locale.FRENCH)};\nreturn french \n        .find{it->datatype.equals(fr.inra.oresing.domain.application.configuration.Ltree.fromUnescapedString(it.toString()).sql)}!=null;\n","references":null,"exceptionMessages":[],"codify":true,"data":null}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["datatype"],"required":false,"mandatory":"OPTIONAL"}},"depends":[],"migrations":null,"hidden":false,"order":9999},"unites":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["nom_key"],"componentDescriptions":{"code_en":{"type":"BasicComponent","componentKey":"code_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"code_en","exportHeaderName":"code_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"code_key":{"type":"BasicComponent","componentKey":"code_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"code_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"code_fr":{"type":"BasicComponent","componentKey":"code_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"code_fr","exportHeaderName":"code_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"projet":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"},{"tagDefinition":"DOMAIN_TAG","tagName":"test"},{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_en":{"type":"BasicComponent","componentKey":"definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_en","exportHeaderName":"definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"colonne_homonyme_entre_referentiels":{"type":"BasicComponent","componentKey":"colonne_homonyme_entre_referentiels","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"colonne_homonyme_entre_referentiels","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_fr":{"type":"BasicComponent","componentKey":"definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_fr","exportHeaderName":"definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"valeurs_qualitatives":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["nom_key","valeur_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"valeur_en":{"type":"BasicComponent","componentKey":"valeur_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"valeur_en","exportHeaderName":"valeur_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"valeur_key":{"type":"BasicComponent","componentKey":"valeur_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"valeur_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"valeur_fr":{"type":"BasicComponent","componentKey":"valeur_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"valeur_fr","exportHeaderName":"valeur_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"type_de_fichiers":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"HIDDEN_TAG"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_fr":{"type":"BasicComponent","componentKey":"description_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_fr","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_en":{"type":"BasicComponent","componentKey":"description_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_en","exportHeaderName":"description_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"variables_et_unites_par_types_de_donnees":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["datatype","variable"],"componentDescriptions":{"variable":{"type":"BasicComponent","componentKey":"variable","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom de la variable","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"datatype":{"type":"BasicComponent","componentKey":"datatype","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du type de données","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"unite":{"type":"BasicComponent","componentKey":"unite","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom de l'unité","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{"variableRef":{"checkers":{"variable":{"type":"ReferenceChecker","componentKey":"variable","multiplicity":"ONE","required":false,"refType":"variables","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["variable"],"required":false,"mandatory":"OPTIONAL"},"uniteRef":{"checkers":{"unite":{"type":"ReferenceChecker","componentKey":"unite","multiplicity":"ONE","required":false,"refType":"unites","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["unite"],"required":false,"mandatory":"OPTIONAL"},"checkDatatype":{"checkers":{"datatype":{"type":"GroovyExpressionChecker","multiplicity":"ONE","required":false,"expression":"String datatype = datum.datatype;  def data = application.getConfiguration().i18n().data ; if(data==null){\n    return false;\n}; def i18n = data\n        .collect{ it->it.value.i18n};\nif(i18n==null){\n    return false;\n}; def title = i18n \n        .collect{ it->it.title};\nif(title==null){\n    return false;\n}; def french = title\n        .collect { it->it.get(java.util.Locale.FRENCH)};\nreturn french \n        .find{it->datatype.equals(fr.inra.oresing.domain.application.configuration.Ltree.fromUnescapedString(it.toString()).sql)}!=null;\n","references":null,"exceptionMessages":[],"codify":true,"data":null}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["datatype"],"required":false,"mandatory":"OPTIONAL"}},"depends":[],"migrations":null,"hidden":false,"order":9999},"pem":{"separator":";","headerLine":4,"firstRowLine":5,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"ORDER_TAG","tagOrder":2},{"tagDefinition":"DOMAIN_TAG","tagName":"data"},{"tagDefinition":"DOMAIN_TAG","tagName":"test"},{"tagDefinition":"DOMAIN_TAG","tagName":"context"},{"tagDefinition":"DATA_TAG"}],"naturalKey":["projet","site","plateforme","date","espece"],"componentDescriptions":{"date":{"type":"BasicComponent","componentKey":"date","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":true,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"ORDER_TAG","tagOrder":1},{"tagDefinition":"DOMAIN_TAG","tagName":"temporal"}],"importHeader":"date","exportHeaderName":null,"langRestrictions":[],"required":true,"mandatory":"OPTIONAL","checker":{"type":"DateChecker","multiplicity":"ONE","required":true,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"site":{"type":"BasicComponent","componentKey":"site","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"site","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"site","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"sites","chartDescription":null,"reference":true},"individusNumber_unit":{"type":"ComputedComponent","componentKey":"individusNumber_unit","tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"exportHeaderName":null,"langRestrictions":[],"required":true,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"individusNumber_unit","multiplicity":"ONE","required":true,"refType":"unites","isRecursive":false,"isParent":false},"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":true,"expression":"'sans_unite'","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"unites","chartDescription":null,"reference":true},"projet":{"type":"BasicComponent","componentKey":"projet","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"ORDER_TAG","tagOrder":2},{"tagDefinition":"DOMAIN_TAG","tagName":"test"}],"importHeader":"projet","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"projet","multiplicity":"ONE","required":false,"refType":"projet","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"projet","chartDescription":null,"reference":true},"espece":{"type":"BasicComponent","componentKey":"espece","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"espece","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"espece","multiplicity":"ONE","required":false,"refType":"especes","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"especes","chartDescription":null,"reference":true},"chemin":{"type":"ComputedComponent","componentKey":"chemin","tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"exportHeaderName":"chemin","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"chemin","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":false,"isParent":false},"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return OA_buildCompositeKey(['site','plateforme']);\n","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"sites","chartDescription":null,"reference":true},"plateforme":{"type":"BasicComponent","componentKey":"plateforme","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"plateforme","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"color_value":{"type":"BasicComponent","componentKey":"color_value","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"Couleur des individus","exportHeaderName":"color_value","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"color_value","multiplicity":"ONE","required":false,"refType":"valeurs_qualitatives","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"valeurs_qualitatives","chartDescription":null,"reference":true},"individusNumbervalue":{"type":"BasicComponent","componentKey":"individusNumbervalue","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return 0","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"Nombre d'individus","exportHeaderName":"individusNumbervalue","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"color_unit":{"type":"ComputedComponent","componentKey":"color_unit","tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"color_unit","multiplicity":"ONE","required":false,"refType":"unites","isRecursive":false,"isParent":false},"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"'sans_unite'","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"unites","chartDescription":null,"reference":true}},"submission":{"strategy":"OA_VERSIONING","fileNameParsing":{"pattern":"(.*)!(.*)!(.*)!(.*).csv","authorizationScopes":["projet","chemin"],"startDate":3,"endDate":4},"submissionScope":{"referenceScopes":[{"reference":"projet","component":"projet"},{"reference":"sites","component":"chemin"}],"timescope":{"component":"date"}}},"authorization":{"authorizationScope":[{"component":"projet","data":"projet"},{"component":"chemin","data":"sites"}],"timeScope":"date"},"validations":{"unitOfColor":{"checkers":{},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":null,"required":false,"mandatory":"OPTIONAL"},"unitOfIndividus":{"checkers":{},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":null,"required":true,"mandatory":"OPTIONAL"}},"depends":[{"type":"DependsReferences","references":"sites","component":"site"},{"type":"DependsReferences","references":"unites","component":"individusNumber_unit"},{"type":"DependsReferences","references":"projet","component":"projet"},{"type":"DependsReferences","references":"especes","component":"espece"},{"type":"DependsReferences","references":"sites","component":"chemin"},{"type":"DependsReferences","references":"valeurs_qualitatives","component":"color_value"},{"type":"DependsReferences","references":"unites","component":"color_unit"}],"migrations":null,"hidden":false,"order":2},"sites":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["zet_chemin_parent","zet_nom_key"],"componentDescriptions":{"tze_type_nom":{"type":"BasicComponent","componentKey":"tze_type_nom","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":true,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_type_nom","exportHeaderName":null,"langRestrictions":[],"required":true,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"tze_type_nom","multiplicity":"ONE","required":true,"refType":"type_de_sites","isRecursive":false,"isParent":true},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"type_de_sites","chartDescription":null,"reference":true},"zet_description_en":{"type":"BasicComponent","componentKey":"zet_description_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_description_en","exportHeaderName":"zet_description_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_nom_fr":{"type":"BasicComponent","componentKey":"zet_nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_nom_fr","exportHeaderName":"zet_nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_nom_key":{"type":"BasicComponent","componentKey":"zet_nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_nom_en":{"type":"BasicComponent","componentKey":"zet_nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_nom_en","exportHeaderName":"zet_nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_description_fr":{"type":"BasicComponent","componentKey":"zet_description_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_description_fr","exportHeaderName":"zet_description_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_chemin_parent":{"type":"BasicComponent","componentKey":"zet_chemin_parent","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_chemin_parent","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"zet_chemin_parent","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":true,"isParent":true},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"sites","chartDescription":null,"reference":true}},"submission":null,"authorization":null,"validations":{},"depends":[{"type":"DependsParent","references":"type_de_sites","component":"tze_type_nom"},{"type":"DependsParent","references":"sites","component":"zet_chemin_parent"}],"migrations":null,"hidden":false,"order":9999}},"rightsRequest":{"formFields":{"organization":{"order":0,"type":"RightsRequestField","required":true,"checker":{"type":"StringChecker","multiplicity":"ONE","required":true,"pattern":".*"}},"project":{"order":1,"type":"RightsRequestField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":".*"}},"startDate":{"order":2,"type":"RightsRequestField","required":false,"checker":{"type":"DateChecker","multiplicity":"ONE","required":false,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null}},"endDate":{"order":3,"type":"RightsRequestField","required":false,"checker":{"type":"DateChecker","multiplicity":"ONE","required":false,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null}}}},"additionalFiles":{"fichiers":{"formFields":{"nom":{"order":0,"type":"AdditionalFileField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":"[a-z]*"}},"date":{"order":1,"type":"AdditionalFileField","required":false,"checker":{"type":"DateChecker","multiplicity":"ONE","required":false,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null}},"age":{"order":2,"type":"AdditionalFileField","required":false,"checker":{"type":"IntegerChecker","multiplicity":"ONE","required":false,"min":-2147483648,"max":2147483647}},"poids":{"order":3,"type":"AdditionalFileField","required":false,"checker":{"type":"FloatChecker","multiplicity":"ONE","required":false,"min":10.0,"max":100.0}},"site":{"order":4,"type":"AdditionalFileField","required":true,"checker":{"type":"ReferenceChecker","componentKey":"site","multiplicity":"ONE","required":true,"refType":"sites","isRecursive":false,"isParent":false}}}},"utilisateurs":{"formFields":{"nom":{"order":0,"type":"AdditionalFileField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":"[a-z]*"}},"prenom":{"order":1,"type":"AdditionalFileField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":"[a-z]*"}}}}},"hierarchicalNodes":[{"nodeName":"especes","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"projet","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"pem","componentKey":"color_unit","columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":["sites","unites","projet","especes","valeurs_qualitatives","type_de_sites"],"order":2,"isRecursive":false},{"nodeName":"themes","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"site_theme_datatype","componentKey":"theme","columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":["sites","projet","themes","type_de_sites"],"order":9999,"isRecursive":false},{"nodeName":"type_de_fichiers","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"type_de_sites","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[{"nodeName":"sites","componentKey":"zet_chemin_parent","columnToLookUpForRecursive":"zet_chemin_parent","parent":"type_de_sites","children":[],"depends":["type_de_sites"],"order":9999,"isRecursive":true}],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"unites","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"valeurs_qualitatives","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"variables","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"variables_et_unites_par_types_de_donnees","componentKey":"variable","columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":["unites","variables"],"order":9999,"isRecursive":false}],"requiredAuthorizationsAttributes":["themes","variables","especes","site_theme_datatype","type_de_sites","unites","projet","valeurs_qualitatives","variables_et_unites_par_types_de_donnees","type_de_fichiers","pem","sites"],"hiddenData":["type_de_fichiers"]},"configFile":null,"allDataNames":["especes","projet","sites","themes","type_de_sites","site_theme_datatype","type_de_fichiers","unites","valeurs_qualitatives","variables","variables_et_unites_par_types_de_donnees","pem"]},"time":[2024,11,19,20,40,25,22281495],"type":"REACTIVE_RESULT"}
-{"result":1.0,"time":[2024,11,19,20,40,25,22576085],"type":"REACTIVE_PROGRESS"}
+{"result":"application.createConfiguration.testYamlIsvalid","params":null,"time":[2024,11,21,12,51,39,911475647],"type":"REACTIVE_INFO"}
+{"result":"application.createConfiguration.yamlIsvalid","params":null,"time":[2024,11,21,12,51,39,914541406],"type":"REACTIVE_INFO"}
+{"result":"application.createConfiguration.versionIsValid","params":null,"time":[2024,11,21,12,51,39,914806102],"type":"REACTIVE_INFO"}
+{"result":0.01,"time":[2024,11,21,12,51,39,915747412],"type":"REACTIVE_PROGRESS"}
+{"result":"application.createConfiguration.Starting parsing of configuration","params":{},"time":[2024,11,21,12,51,40,250952082],"type":"REACTIVE_INFO"}
+{"result":0.0,"time":[2024,11,21,12,51,40,251405078],"type":"REACTIVE_PROGRESS"}
+{"result":0.0,"time":[2024,11,21,12,51,40,251717244],"type":"REACTIVE_PROGRESS"}
+{"result":"application.createConfiguration.CheckSyntax.startValidation.start","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,109459789],"type":"REACTIVE_INFO"}
+{"result":{"id":"b57d5d1c-176b-48d6-9680-a2079347c02b","creationDate":null,"updateDate":null,"lastChartes":5336473980199903000,"name":"monsore","version":null,"data":["themes","especes","variables","type_de_sites","site_theme_datatype","unites","projet","valeurs_qualitatives","type_de_fichiers","variables_et_unites_par_types_de_donnees","pem","sites"],"additionalFiles":["fichiers","utilisateurs"],"configuration":{"version":{"version":"2.0.1","runTimeVersion":{}},"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"},{"tagDefinition":"DOMAIN_TAG","tagName":"data"},{"tagDefinition":"DOMAIN_TAG","tagName":"test"},{"tagDefinition":"DOMAIN_TAG","tagName":"unit"},{"tagDefinition":"DOMAIN_TAG","tagName":"temporal"}],"i18n":{"tags":{"unit":{"en":"unit","fr":"unité"},"data":{"en":"data","fr":"données"},"test":{"en":"test","fr":"test"},"context":{"en":"context","fr":"contexte"},"temporal":{"en":"temporality","fr":"temporalité"}},"application":{"title":{"en":"SOERE my SOERE","fr":"SOERE mon SOERE"},"description":{"en":"SOERE my SOERE","fr":"SOERE mon SOERE"}},"data":{"themes":{"validations":{},"exceptions":{},"components":{"description_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La definition du thème"}}},"description_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Thematic definition"}}},"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Site name"}}},"nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"Le nom du thème"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{description_en}","fr":"{description_fr}"}},"i18n":{"title":{"en":"Thematic","fr":"Thème"},"description":{"en":"Thematic list","fr":"Liste des thèmes"}}},"variables":{"validations":{},"exceptions":{},"components":{"definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Variable definition"}}},"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Variable name"}}},"nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"Le nom de la variable"}}},"definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La définition de la variable"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{definition_en}","fr":"{definition_fr}"}},"i18n":{"title":{"en":"Variables","fr":"Variables"},"description":{"en":"Variables list","fr":"Liste des variables"}}},"especes":{"validations":{},"exceptions":{},"components":{"my_computed_column":{"exportHeader":{"title":{"en":"computed column","fr":"colonne calculée"},"description":{"en":"a calculated column returning 'my value'","fr":"une colonne calculée retournant 'my value'"}}},"esp_definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"species definition"}}},"esp_definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"définition de l'espèce"}}},"esp_nom":{"exportHeader":{"title":{"en":"code","fr":"code"},"description":{"en":"code name of the species","fr":"nom codique de l'espèce"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{esp_nom}","fr":"{esp_nom}"},"description":{"en":"{esp_definition_en}","fr":"{esp_definition_fr}"}},"i18n":{"title":{"en":"Species","fr":"Espèces"},"description":{"en":"Description of species fished in the watershed","fr":"Description des espèces pêchées sur le bassin versant"}}},"site_theme_datatype":{"validations":{"checkDatatype":{"fr":"test"},"projetRef":{"fr":"référence au projet"},"sitesRef":{"fr":"référence au site"},"themesRef":{"fr":"référence au theme"}},"exceptions":{},"components":{},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"projet name: {projet}, site name : {site}, theme name : {theme}, data type name : {datatype}","fr":"nom du projet: {projet}, nom du site : {site}, nom du thème : {theme}, nom du type de données : {datatype}"},"description":{"en":"Join on projet name: {projet}, site name : {site}, theme name : {theme}, data type name : {datatype}","fr":"Jointure nom du projet: {projet}, nom du site : {site}, nom du thème : {theme}, nom du type de données : {datatype}"}},"i18n":{"title":{"en":"Data types by site and project","fr":"Types de données par site et projet"},"description":{"en":"Join table of theme sites and datatypes","fr":"Table de jointure des sites theme et datatypes"}}},"type_de_sites":{"validations":{},"exceptions":{},"components":{"tze_nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"La nom du type de sites"}}},"tze_nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Site type name"}}},"tze_definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Site type definition"}}},"tze_definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La definition du type de site"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{tze_nom_en}","fr":"{tze_nom_fr}"},"description":{"en":"{tze_definition_en}","fr":"{tze_definition_fr}"}},"i18n":{"title":{"en":"Sites types","fr":"Types de sites"},"description":{"en":"Sites types list","fr":"Liste des types de sites"}}},"unites":{"validations":{},"exceptions":{},"components":{"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Unit name"}}},"code_en":{"exportHeader":{"title":{"en":"code"},"description":{"en":"Unit code"}}},"nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"La nom de l'unité"}}},"code_fr":{"exportHeader":{"title":{"fr":"code"},"description":{"fr":"Le code du unité"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en} ({code_key})","fr":"{nom_fr} ({code_key})"},"description":{}},"i18n":{"title":{"en":"Units","fr":"Unités"},"description":{"en":"Units list","fr":"Liste des unités"}}},"projet":{"validations":{},"exceptions":{},"components":{"definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"project definition"}}},"nom_en":{"exportHeader":{"title":{"en":"Name"},"description":{"en":"Project name"}}},"nom_fr":{"exportHeader":{"title":{"fr":"Nom"},"description":{"fr":"Nom du projet"}}},"definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"définition du projet"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{definition_en}","fr":"{definition_fr}"}},"i18n":{"title":{"en":"Project","fr":"Projet"},"description":{"en":"List of information system projects","fr":"Liste des projets du système d'information"}}},"valeurs_qualitatives":{"validations":{},"exceptions":{},"components":{"valeur_fr":{"exportHeader":{"title":{"fr":"valeur"},"description":{"fr":"La valeur dans la liste"}}},"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"The name list"}}},"valeur_en":{"exportHeader":{"title":{"en":"value"},"description":{"en":"The value in list"}}},"nom_fr":{"exportHeader":{"title":{"fr":"Nom"},"description":{"fr":"Le nom de la liste"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{valeur_en}","fr":"{valeur_fr}"},"description":{"en":"{valeur_en} of {nom_en}","fr":"{valeur_fr} de {nom_fr}"}},"i18n":{"title":{"en":"Qualitative values","fr":"Valeurs qualitatives"},"description":{"en":"List of qualitative values list","fr":"Liste de liste de valeurs qualitatives"}}},"variables_et_unites_par_types_de_donnees":{"validations":{"checkDatatype":{"fr":"test"},"uniteRef":{"fr":"référence à l'unité'"},"variableRef":{"fr":"référence à la variable"}},"exceptions":{},"components":{},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"datatype name : {datatype}, variable name : {variable}, : unit name {unite}","fr":"nom du type de données : {datatype}, nom de la variable : {variable}, : nom de l'unité {unite}"},"description":{"en":"Join ondatatype name : {datatype}, variable name : {variable}, : unit name {unite}","fr":"Jointure des nom du type de données : {datatype}, nom de la variable : {variable}, : nom de l'unité {unite}"}},"i18n":{"title":{"en":"Variables and units by data type","fr":"Variables et unités par type de données"},"description":{"en":"Variables and units by data type join list","fr":"Liste de jointure des variables et unités par type de données"}}},"type_de_fichiers":{"validations":{},"exceptions":{},"components":{"description_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Thematic definition"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{description_en}","fr":"{description_fr}"}},"i18n":{"title":{"en":"Files types","fr":"Types de fichiers"},"description":{"en":"The files types","fr":"Les types de fichiers"}}},"pem":{"validations":{"unitOfIndividus":{"fr":"vérifie l'unité du nombre d'individus"},"unitOfColor":{"fr":"vérifie l'unité de la couleur des individus"}},"exceptions":{},"components":{"chemin":{"exportHeader":{"title":{"en":"Path","fr":"Chemin"},"description":{"en":"Data calculating the full path of the site","fr":"Données calculant le chemin complet du site"}}},"color_value":{"exportHeader":{"title":{"en":"United colors","fr":"Couleur des individus"},"description":{}}},"individusNumbervalue":{"exportHeader":{"title":{"en":"Number of individuals","fr":"Nombre d'individus"},"description":{}}}},"submissions":{"referenceScopes":{"projet":{"title":{"en":"project","fr":"projet"},"description":{"en":"Choose the project","fr":"Choisissez le projet"}},"sites":{"title":{"en":"site","fr":"site"},"description":{"en":"The site","fr":"Le site"}}}},"i18nDisplayPattern":null,"i18n":{"title":{"en":"Trap in ascent","fr":"Piégeage en Montée"},"description":{"en":"Upstream trapping fishing data","fr":"Données de pêche par piégeage en Montée"}}},"sites":{"validations":{},"exceptions":{},"components":{"zet_description_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"site definition"}}},"zet_nom_fr":{"exportHeader":{"title":{"fr":"Nom du site"},"description":{"fr":"Le nom du site"}}},"zet_nom_en":{"exportHeader":{"title":{"en":"Site name"},"description":{"en":"The site name"}}},"zet_description_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La definition du site"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{zet_chemin_parent} - {zet_nom_fr}","fr":"{zet_chemin_parent} - {zet_nom_fr} "},"description":{"en":"{zet_description_en}","fr":"{zet_description_fr}"}},"i18n":{"title":{"en":"Site","fr":"Site"},"description":{"en":"Sites list","fr":"Liste des sites du système d'information"}}}},"rightsrequest":{"fields":{"endDate":{"title":{"en":"Give the project end date","fr":"Date de fin du projet"},"description":{"en":"Project end date","fr":"Donnez la date de fin du projet"}},"organization":{"title":{"en":"Name of research organization","fr":"Nom de l'organisme de recherche"},"description":{"en":"Usual ame of research organization","fr":"Nom usuel de l'organisme de recherche"}},"project":{"title":{"en":"Description of the research project","fr":"Description du projet de recherche"},"description":{"en":"Describe your the research project","fr":"Donnez une description du projet de recherche"}},"startDate":{"title":{"en":"Project start date","fr":"Date de début du projet"},"description":{"en":"Give the project start date","fr":"Donnez la date de début du projet"}}},"i18n":{"title":{"en":"You can request rights to the monsore application by filling out this form","fr":"Vous pouvez demander des droits à l'application monsore en remplissant ce formulaire"},"description":{"en":"Monsoere Data Access Right Request Form","fr":"Formulaire de demande de droit d'accès aux données de Monsoere"}}},"additionalFiles":{"utilisateurs":{"i18n":{"title":{"en":"Users","fr":"Utilsateurs"},"description":{"en":"System User Description Files","fr":"Fichiers de dexcription des utilisateurs du système"}},"fields":{"prenom":{"title":{"en":"Surname","fr":"Prénom"},"description":{"en":"User surname","fr":"Prénom de l'utilisateur"}},"nom":{"title":{"en":"Name","fr":"Nom"},"description":{"en":"User name","fr":"Nom de l'utilisateur"}}}},"fichiers":{"i18n":{"title":{"en":"Files","fr":"Fichiers"},"description":{"en":"Various files relating to the Information System","fr":"Différents fichiers afférents au Système d'Information"}},"fields":{"date":{"title":{"en":"Date","fr":"Date"},"description":{"en":"The date the file was updated","fr":"La date de mise à jour du fichier"}},"site":{"title":{"en":"Place","fr":"Site"},"description":{"en":"Site described by the file","fr":"Site décrit par le fichier"}},"poids":{"title":{"en":"Weight","fr":"Poids"},"description":{"en":"File size in kb","fr":"Poids du fichier en ko"}},"nom":{"title":{"en":"Name","fr":"Nom"},"description":{"en":"The name of the file for download","fr":"Le nom du fichier pour téléchargement"}},"age":{"title":{"en":"Age","fr":"Age"},"description":{"en":"Minimum age for file access","fr":"Age minumum d'accès au fichier"}}}}}},"applicationDescription":{"name":"monsore","version":{"version":"3.0.1","runTimeVersion":{}},"defaultLanguage":"fr","comment":"Fichier de test de l'application brokenADOM version initiale"},"dataDescription":{"themes":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_fr":{"type":"BasicComponent","componentKey":"description_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_fr","exportHeaderName":"description_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_en":{"type":"BasicComponent","componentKey":"description_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_en","exportHeaderName":"description_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"especes":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["esp_nom"],"componentDescriptions":{"colonne_homonyme_entre_referentiels":{"type":"BasicComponent","componentKey":"colonne_homonyme_entre_referentiels","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"colonne_homonyme_entre_referentiels","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"esp_definition_en":{"type":"BasicComponent","componentKey":"esp_definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"esp_definition_en","exportHeaderName":"esp_definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"my_computed_column":{"type":"ComputedComponent","componentKey":"my_computed_column","tags":[{"tagDefinition":"HIDDEN_TAG"}],"exportHeaderName":"my_computed_column","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"my value\";\n","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":true,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"esp_nom":{"type":"BasicComponent","componentKey":"esp_nom","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"test"}],"importHeader":"esp_nom","exportHeaderName":"esp_nom","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"esp_definition_fr":{"type":"BasicComponent","componentKey":"esp_definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"esp_definition_fr","exportHeaderName":"esp_definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"variables":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_en":{"type":"BasicComponent","componentKey":"definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_en","exportHeaderName":"definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"is_qualitative":{"type":"BasicComponent","componentKey":"is_qualitative","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"isQualitative","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_fr":{"type":"BasicComponent","componentKey":"definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_fr","exportHeaderName":"definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"type_de_sites":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["tze_nom_key"],"componentDescriptions":{"tze_nom_key":{"type":"BasicComponent","componentKey":"tze_nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_nom_fr":{"type":"BasicComponent","componentKey":"tze_nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_nom_fr","exportHeaderName":"tze_nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_definition_fr":{"type":"BasicComponent","componentKey":"tze_definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_definition_fr","exportHeaderName":"tze_definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_nom_en":{"type":"BasicComponent","componentKey":"tze_nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_nom_en","exportHeaderName":"tze_nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_definition_en":{"type":"BasicComponent","componentKey":"tze_definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_definition_en","exportHeaderName":"tze_definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"site_theme_datatype":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["projet","site","theme","datatype"],"componentDescriptions":{"site":{"type":"BasicComponent","componentKey":"site","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du site","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"theme":{"type":"BasicComponent","componentKey":"theme","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du thème","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"projet":{"type":"BasicComponent","componentKey":"projet","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du projet","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"datatype":{"type":"BasicComponent","componentKey":"datatype","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du type de données","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{"projetRef":{"checkers":{"projet":{"type":"ReferenceChecker","componentKey":"projet","multiplicity":"ONE","required":false,"refType":"projet","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["projet"],"required":false,"mandatory":"OPTIONAL"},"sitesRef":{"checkers":{"site":{"type":"ReferenceChecker","componentKey":"site","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["site"],"required":false,"mandatory":"OPTIONAL"},"themesRef":{"checkers":{"theme":{"type":"ReferenceChecker","componentKey":"theme","multiplicity":"ONE","required":false,"refType":"themes","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["theme"],"required":false,"mandatory":"OPTIONAL"},"checkDatatype":{"checkers":{"datatype":{"type":"GroovyExpressionChecker","multiplicity":"ONE","required":false,"expression":"String datatype = datum.datatype;  def data = application.getConfiguration().i18n().data ; if(data==null){\n    return false;\n}; def i18n = data\n        .collect{ it->it.value.i18n};\nif(i18n==null){\n    return false;\n}; def title = i18n \n        .collect{ it->it.title};\nif(title==null){\n    return false;\n}; def french = title\n        .collect { it->it.get(java.util.Locale.FRENCH)};\nreturn french \n        .find{it->datatype.equals(fr.inra.oresing.domain.application.configuration.Ltree.fromUnescapedString(it.toString()).sql)}!=null;\n","references":null,"exceptionMessages":[],"codify":true,"data":null}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["datatype"],"required":false,"mandatory":"OPTIONAL"}},"depends":[],"migrations":null,"hidden":false,"order":9999},"unites":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["nom_key"],"componentDescriptions":{"code_en":{"type":"BasicComponent","componentKey":"code_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"code_en","exportHeaderName":"code_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"code_key":{"type":"BasicComponent","componentKey":"code_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"code_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"code_fr":{"type":"BasicComponent","componentKey":"code_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"code_fr","exportHeaderName":"code_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"projet":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"},{"tagDefinition":"DOMAIN_TAG","tagName":"test"},{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_en":{"type":"BasicComponent","componentKey":"definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_en","exportHeaderName":"definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"colonne_homonyme_entre_referentiels":{"type":"BasicComponent","componentKey":"colonne_homonyme_entre_referentiels","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"colonne_homonyme_entre_referentiels","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_fr":{"type":"BasicComponent","componentKey":"definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_fr","exportHeaderName":"definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"valeurs_qualitatives":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["nom_key","valeur_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"valeur_en":{"type":"BasicComponent","componentKey":"valeur_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"valeur_en","exportHeaderName":"valeur_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"valeur_key":{"type":"BasicComponent","componentKey":"valeur_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"valeur_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"valeur_fr":{"type":"BasicComponent","componentKey":"valeur_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"valeur_fr","exportHeaderName":"valeur_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"type_de_fichiers":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"HIDDEN_TAG"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_fr":{"type":"BasicComponent","componentKey":"description_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_fr","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_en":{"type":"BasicComponent","componentKey":"description_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_en","exportHeaderName":"description_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"variables_et_unites_par_types_de_donnees":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["datatype","variable"],"componentDescriptions":{"variable":{"type":"BasicComponent","componentKey":"variable","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom de la variable","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"datatype":{"type":"BasicComponent","componentKey":"datatype","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du type de données","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"unite":{"type":"BasicComponent","componentKey":"unite","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom de l'unité","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{"variableRef":{"checkers":{"variable":{"type":"ReferenceChecker","componentKey":"variable","multiplicity":"ONE","required":false,"refType":"variables","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["variable"],"required":false,"mandatory":"OPTIONAL"},"uniteRef":{"checkers":{"unite":{"type":"ReferenceChecker","componentKey":"unite","multiplicity":"ONE","required":false,"refType":"unites","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["unite"],"required":false,"mandatory":"OPTIONAL"},"checkDatatype":{"checkers":{"datatype":{"type":"GroovyExpressionChecker","multiplicity":"ONE","required":false,"expression":"String datatype = datum.datatype;  def data = application.getConfiguration().i18n().data ; if(data==null){\n    return false;\n}; def i18n = data\n        .collect{ it->it.value.i18n};\nif(i18n==null){\n    return false;\n}; def title = i18n \n        .collect{ it->it.title};\nif(title==null){\n    return false;\n}; def french = title\n        .collect { it->it.get(java.util.Locale.FRENCH)};\nreturn french \n        .find{it->datatype.equals(fr.inra.oresing.domain.application.configuration.Ltree.fromUnescapedString(it.toString()).sql)}!=null;\n","references":null,"exceptionMessages":[],"codify":true,"data":null}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["datatype"],"required":false,"mandatory":"OPTIONAL"}},"depends":[],"migrations":null,"hidden":false,"order":9999},"pem":{"separator":";","headerLine":4,"firstRowLine":5,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"ORDER_TAG","tagOrder":2},{"tagDefinition":"DOMAIN_TAG","tagName":"data"},{"tagDefinition":"DOMAIN_TAG","tagName":"test"},{"tagDefinition":"DOMAIN_TAG","tagName":"context"},{"tagDefinition":"DATA_TAG"}],"naturalKey":["projet","site","plateforme","date","espece"],"componentDescriptions":{"date":{"type":"BasicComponent","componentKey":"date","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":true,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"ORDER_TAG","tagOrder":1},{"tagDefinition":"DOMAIN_TAG","tagName":"temporal"}],"importHeader":"date","exportHeaderName":null,"langRestrictions":[],"required":true,"mandatory":"OPTIONAL","checker":{"type":"DateChecker","multiplicity":"ONE","required":true,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"site":{"type":"BasicComponent","componentKey":"site","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"site","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"site","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"sites","chartDescription":null,"reference":true},"individusNumber_unit":{"type":"ComputedComponent","componentKey":"individusNumber_unit","tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"exportHeaderName":null,"langRestrictions":[],"required":true,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"individusNumber_unit","multiplicity":"ONE","required":true,"refType":"unites","isRecursive":false,"isParent":false},"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":true,"expression":"'sans_unite'","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"unites","chartDescription":null,"reference":true},"projet":{"type":"BasicComponent","componentKey":"projet","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"ORDER_TAG","tagOrder":2},{"tagDefinition":"DOMAIN_TAG","tagName":"test"}],"importHeader":"projet","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"projet","multiplicity":"ONE","required":false,"refType":"projet","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"projet","chartDescription":null,"reference":true},"espece":{"type":"BasicComponent","componentKey":"espece","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"espece","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"espece","multiplicity":"ONE","required":false,"refType":"especes","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"especes","chartDescription":null,"reference":true},"chemin":{"type":"ComputedComponent","componentKey":"chemin","tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"exportHeaderName":"chemin","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"chemin","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":false,"isParent":false},"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return OA_buildCompositeKey(['site','plateforme']);\n","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"sites","chartDescription":null,"reference":true},"plateforme":{"type":"BasicComponent","componentKey":"plateforme","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"plateforme","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"color_value":{"type":"BasicComponent","componentKey":"color_value","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"Couleur des individus","exportHeaderName":"color_value","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"color_value","multiplicity":"ONE","required":false,"refType":"valeurs_qualitatives","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"valeurs_qualitatives","chartDescription":null,"reference":true},"individusNumbervalue":{"type":"BasicComponent","componentKey":"individusNumbervalue","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return 0","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"Nombre d'individus","exportHeaderName":"individusNumbervalue","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"color_unit":{"type":"ComputedComponent","componentKey":"color_unit","tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"color_unit","multiplicity":"ONE","required":false,"refType":"unites","isRecursive":false,"isParent":false},"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"'sans_unite'","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"unites","chartDescription":null,"reference":true}},"submission":{"strategy":"OA_VERSIONING","fileNameParsing":{"pattern":"(.*)!(.*)!(.*)!(.*).csv","authorizationScopes":["projet","chemin"],"startDate":3,"endDate":4},"submissionScope":{"referenceScopes":[{"reference":"projet","component":"projet"},{"reference":"sites","component":"chemin"}],"timescope":{"component":"date"}}},"authorization":{"authorizationScope":[{"component":"projet","data":"projet"},{"component":"chemin","data":"sites"}],"timeScope":"date"},"validations":{"unitOfColor":{"checkers":{},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":null,"required":false,"mandatory":"OPTIONAL"},"unitOfIndividus":{"checkers":{},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":null,"required":true,"mandatory":"OPTIONAL"}},"depends":[{"type":"DependsReferences","references":"sites","component":"site"},{"type":"DependsReferences","references":"unites","component":"individusNumber_unit"},{"type":"DependsReferences","references":"projet","component":"projet"},{"type":"DependsReferences","references":"especes","component":"espece"},{"type":"DependsReferences","references":"sites","component":"chemin"},{"type":"DependsReferences","references":"valeurs_qualitatives","component":"color_value"},{"type":"DependsReferences","references":"unites","component":"color_unit"}],"migrations":null,"hidden":false,"order":2},"sites":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["zet_chemin_parent","zet_nom_key"],"componentDescriptions":{"tze_type_nom":{"type":"BasicComponent","componentKey":"tze_type_nom","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":true,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_type_nom","exportHeaderName":null,"langRestrictions":[],"required":true,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"tze_type_nom","multiplicity":"ONE","required":true,"refType":"type_de_sites","isRecursive":false,"isParent":true},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"type_de_sites","chartDescription":null,"reference":true},"zet_description_en":{"type":"BasicComponent","componentKey":"zet_description_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_description_en","exportHeaderName":"zet_description_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_nom_fr":{"type":"BasicComponent","componentKey":"zet_nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_nom_fr","exportHeaderName":"zet_nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_nom_key":{"type":"BasicComponent","componentKey":"zet_nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_nom_en":{"type":"BasicComponent","componentKey":"zet_nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_nom_en","exportHeaderName":"zet_nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_description_fr":{"type":"BasicComponent","componentKey":"zet_description_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_description_fr","exportHeaderName":"zet_description_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_chemin_parent":{"type":"BasicComponent","componentKey":"zet_chemin_parent","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_chemin_parent","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"zet_chemin_parent","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":true,"isParent":true},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"sites","chartDescription":null,"reference":true}},"submission":null,"authorization":null,"validations":{},"depends":[{"type":"DependsParent","references":"type_de_sites","component":"tze_type_nom"},{"type":"DependsParent","references":"sites","component":"zet_chemin_parent"}],"migrations":null,"hidden":false,"order":9999}},"rightsRequest":{"formFields":{"organization":{"order":0,"type":"RightsRequestField","required":true,"checker":{"type":"StringChecker","multiplicity":"ONE","required":true,"pattern":".*"}},"project":{"order":1,"type":"RightsRequestField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":".*"}},"startDate":{"order":2,"type":"RightsRequestField","required":false,"checker":{"type":"DateChecker","multiplicity":"ONE","required":false,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null}},"endDate":{"order":3,"type":"RightsRequestField","required":false,"checker":{"type":"DateChecker","multiplicity":"ONE","required":false,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null}}}},"additionalFiles":{"fichiers":{"formFields":{"nom":{"order":0,"type":"AdditionalFileField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":"[a-z]*"}},"date":{"order":1,"type":"AdditionalFileField","required":false,"checker":{"type":"DateChecker","multiplicity":"ONE","required":false,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null}},"age":{"order":2,"type":"AdditionalFileField","required":false,"checker":{"type":"IntegerChecker","multiplicity":"ONE","required":false,"min":-2147483648,"max":2147483647}},"poids":{"order":3,"type":"AdditionalFileField","required":false,"checker":{"type":"FloatChecker","multiplicity":"ONE","required":false,"min":10.0,"max":100.0}},"site":{"order":4,"type":"AdditionalFileField","required":true,"checker":{"type":"ReferenceChecker","componentKey":"site","multiplicity":"ONE","required":true,"refType":"sites","isRecursive":false,"isParent":false}}}},"utilisateurs":{"formFields":{"nom":{"order":0,"type":"AdditionalFileField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":"[a-z]*"}},"prenom":{"order":1,"type":"AdditionalFileField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":"[a-z]*"}}}}},"hierarchicalNodes":[{"nodeName":"especes","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"projet","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"pem","componentKey":"color_unit","columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":["sites","unites","projet","especes","valeurs_qualitatives","type_de_sites"],"order":2,"isRecursive":false},{"nodeName":"themes","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"site_theme_datatype","componentKey":"theme","columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":["sites","projet","themes","type_de_sites"],"order":9999,"isRecursive":false},{"nodeName":"type_de_fichiers","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"type_de_sites","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[{"nodeName":"sites","componentKey":"zet_chemin_parent","columnToLookUpForRecursive":"zet_chemin_parent","parent":"type_de_sites","children":[],"depends":["type_de_sites"],"order":9999,"isRecursive":true}],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"unites","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"valeurs_qualitatives","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"variables","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"variables_et_unites_par_types_de_donnees","componentKey":"variable","columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":["unites","variables"],"order":9999,"isRecursive":false}],"requiredAuthorizationsAttributes":["themes","variables","especes","site_theme_datatype","type_de_sites","unites","projet","valeurs_qualitatives","variables_et_unites_par_types_de_donnees","type_de_fichiers","pem","sites"],"hiddenData":["type_de_fichiers"]},"configFile":null,"allDataNames":["especes","projet","sites","themes","type_de_sites","site_theme_datatype","type_de_fichiers","unites","valeurs_qualitatives","variables","variables_et_unites_par_types_de_donnees","pem"]},"time":[2024,11,21,12,51,41,110317103],"type":"REACTIVE_RESULT"}
+{"result":1.0,"time":[2024,11,21,12,51,41,110606988],"type":"REACTIVE_PROGRESS"}
-- 
GitLab


From 7919abd26eaac41d1e1e822e86392dc0e1312389 Mon Sep 17 00:00:00 2001
From: Rachid Yahiaoui <rachid.yahiaoui@inra.fr>
Date: Fri, 22 Nov 2024 22:31:48 +0100
Subject: [PATCH 06/13] refactor( CI ) : use CI_COMMIT_REF_SLUG for branch
 names normalization

---
 .gitlab-ci_docker.yml | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/.gitlab-ci_docker.yml b/.gitlab-ci_docker.yml
index c42bc41..ce1931e 100644
--- a/.gitlab-ci_docker.yml
+++ b/.gitlab-ci_docker.yml
@@ -8,8 +8,6 @@ variables:
 .before_script_template: &before_script
   - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
   - echo   "Commit Short id = $CI_COMMIT_SHORT_SHA"
-  - BranchOrTag=$( echo $CI_COMMIT_REF_NAME | sed 's/\//_/g') # REPLACE '/' by '_'
-  - echo " >> Branch_or_Tag_Name == $BranchOrTag"
 
 development:
   stage: build_env
@@ -21,9 +19,9 @@ development:
   before_script:
     *before_script
   script:
-    - Branch=$( echo $CI_COMMIT_REF_NAME | sed 's/\//_/g') # REPLACE '/' by '_'
-    - IMAGE_NAME="$OPENADOM_DOCK_REG:$Branch"
-    - IMAGE_NAME_WITH_COMMIT_ID="$OPENADOM_DOCK_REG:$Branch-$CI_COMMIT_SHORT_SHA"
+    # $CI_COMMIT_REF_SLUG : Clean special characters and convert to lowercase with hyphens
+    - IMAGE_NAME="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_SLUG"
+    - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA"
     - echo "Docker Image Name         = $IMAGE_NAME "
     - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID"
     - docker build -f docker/Dockerfile -t $IMAGE_NAME .
@@ -32,9 +30,9 @@ development:
     - docker push $IMAGE_NAME_WITH_COMMIT_ID
   rules:
     # Trigger on 'develop' branch automatically, disable for 'main' and tags, manual for others
-    - if: '$CI_COMMIT_REF_NAME == "develop"'
+    - if: '$CI_COMMIT_REF_SLUG == "develop"'
       when: on_success
-    - if: '$CI_COMMIT_REF_NAME == "main" || $CI_COMMIT_TAG'
+    - if: '$CI_COMMIT_REF_SLUG == "main" || $CI_COMMIT_TAG'
       when: never
     - when: manual
 
@@ -48,8 +46,9 @@ preprod:
   before_script:
     *before_script
   script:
-    - IMAGE_NAME="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_NAME"
-    - IMAGE_NAME_WITH_COMMIT_ID="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
+    # $CI_COMMIT_REF_SLUG : Clean special characters and convert to lowercase with hyphens
+    - IMAGE_NAME="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_SLUG"
+    - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA"
     - echo "Docker Image Name         = $IMAGE_NAME "
     - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID"
     - docker build -f docker/Dockerfile -t $IMAGE_NAME .
@@ -58,7 +57,7 @@ preprod:
     - docker push $IMAGE_NAME_WITH_COMMIT_ID
   rules:
     # Automatically trigger for 'main' branch
-    - if: '$CI_COMMIT_REF_NAME == "main"'
+    - if: '$CI_COMMIT_REF_SLUG == "main"'
       when: on_success
     - when: never 
 
@@ -136,7 +135,7 @@ deployment:
       variables:
         TRIGGERED_BY_PARENT: 'true'
         ENV: "development"
-        OA_BACKEND_VERSION: '$(echo $CI_COMMIT_REF_NAME | sed "s/\//_/g")' # REPLACE '/' by '_'
+        OA_BACKEND_VERSION: '$CI_COMMIT_REF_SLUG'
         INIT_DB_USER: true
         REMOVE_VOLUMES: true
   trigger:
-- 
GitLab


From 933fc0fa3a68b418652e8ad639c4f9ec886c92ea Mon Sep 17 00:00:00 2001
From: Rachid Yahiaoui <rachid.yahiaoui@inra.fr>
Date: Fri, 22 Nov 2024 22:35:22 +0100
Subject: [PATCH 07/13] refactor( CI ) : use CI_COMMIT_REF_SLUG for branch
 names normalization

---
 .gitlab-ci_docker.yml | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/.gitlab-ci_docker.yml b/.gitlab-ci_docker.yml
index c42bc41..ce1931e 100644
--- a/.gitlab-ci_docker.yml
+++ b/.gitlab-ci_docker.yml
@@ -8,8 +8,6 @@ variables:
 .before_script_template: &before_script
   - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
   - echo   "Commit Short id = $CI_COMMIT_SHORT_SHA"
-  - BranchOrTag=$( echo $CI_COMMIT_REF_NAME | sed 's/\//_/g') # REPLACE '/' by '_'
-  - echo " >> Branch_or_Tag_Name == $BranchOrTag"
 
 development:
   stage: build_env
@@ -21,9 +19,9 @@ development:
   before_script:
     *before_script
   script:
-    - Branch=$( echo $CI_COMMIT_REF_NAME | sed 's/\//_/g') # REPLACE '/' by '_'
-    - IMAGE_NAME="$OPENADOM_DOCK_REG:$Branch"
-    - IMAGE_NAME_WITH_COMMIT_ID="$OPENADOM_DOCK_REG:$Branch-$CI_COMMIT_SHORT_SHA"
+    # $CI_COMMIT_REF_SLUG : Clean special characters and convert to lowercase with hyphens
+    - IMAGE_NAME="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_SLUG"
+    - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA"
     - echo "Docker Image Name         = $IMAGE_NAME "
     - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID"
     - docker build -f docker/Dockerfile -t $IMAGE_NAME .
@@ -32,9 +30,9 @@ development:
     - docker push $IMAGE_NAME_WITH_COMMIT_ID
   rules:
     # Trigger on 'develop' branch automatically, disable for 'main' and tags, manual for others
-    - if: '$CI_COMMIT_REF_NAME == "develop"'
+    - if: '$CI_COMMIT_REF_SLUG == "develop"'
       when: on_success
-    - if: '$CI_COMMIT_REF_NAME == "main" || $CI_COMMIT_TAG'
+    - if: '$CI_COMMIT_REF_SLUG == "main" || $CI_COMMIT_TAG'
       when: never
     - when: manual
 
@@ -48,8 +46,9 @@ preprod:
   before_script:
     *before_script
   script:
-    - IMAGE_NAME="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_NAME"
-    - IMAGE_NAME_WITH_COMMIT_ID="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
+    # $CI_COMMIT_REF_SLUG : Clean special characters and convert to lowercase with hyphens
+    - IMAGE_NAME="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_SLUG"
+    - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA"
     - echo "Docker Image Name         = $IMAGE_NAME "
     - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID"
     - docker build -f docker/Dockerfile -t $IMAGE_NAME .
@@ -58,7 +57,7 @@ preprod:
     - docker push $IMAGE_NAME_WITH_COMMIT_ID
   rules:
     # Automatically trigger for 'main' branch
-    - if: '$CI_COMMIT_REF_NAME == "main"'
+    - if: '$CI_COMMIT_REF_SLUG == "main"'
       when: on_success
     - when: never 
 
@@ -136,7 +135,7 @@ deployment:
       variables:
         TRIGGERED_BY_PARENT: 'true'
         ENV: "development"
-        OA_BACKEND_VERSION: '$(echo $CI_COMMIT_REF_NAME | sed "s/\//_/g")' # REPLACE '/' by '_'
+        OA_BACKEND_VERSION: '$CI_COMMIT_REF_SLUG'
         INIT_DB_USER: true
         REMOVE_VOLUMES: true
   trigger:
-- 
GitLab


From da06a556fd40beebecd2acb180f1743a27aa5580 Mon Sep 17 00:00:00 2001
From: Rachid Yahiaoui <rachid.yahiaoui@inra.fr>
Date: Fri, 22 Nov 2024 23:29:42 +0100
Subject: [PATCH 08/13] refactor( CI ) : use CI_COMMIT_REF_SLUG for branch
 names normalization

---
 .gitlab-ci_docker.yml | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/.gitlab-ci_docker.yml b/.gitlab-ci_docker.yml
index ce1931e..183a82b 100644
--- a/.gitlab-ci_docker.yml
+++ b/.gitlab-ci_docker.yml
@@ -105,23 +105,23 @@ production:
 deployment:
   stage: trigger
   rules:
-    - if: '$CI_COMMIT_REF_NAME == "develop"' # Development Env
+    - if: '$CI_COMMIT_REF_SLUG == "develop"' # Development Env
       variables:
         TRIGGERED_BY_PARENT: 'true'
         ENV: 'development'
-        OA_BACKEND_VERSION: '$CI_COMMIT_REF_NAME' # develop branch
+        OA_BACKEND_VERSION: '$CI_COMMIT_REF_SLUG' # develop branch
         INIT_DB_USER: true
         REMOVE_VOLUMES: true
       when: on_success
-    - if: '$CI_COMMIT_REF_NAME == "main"' # Preprod Env
+    - if: '$CI_COMMIT_REF_SLUG == "main"' # Preprod Env
       variables:
         TRIGGERED_BY_PARENT: 'true'
         ENV: 'preprod'
-        OA_BACKEND_VERSION: '$CI_COMMIT_REF_NAME' # main branch
+        OA_BACKEND_VERSION: '$CI_COMMIT_REF_SLUG' # main branch
         INIT_DB_USER: true
         REMOVE_VOLUMES: true 
       when: on_success
-    - if: '$CI_COMMIT_TAG' # Production Env
+    - if: '$CI_COMMIT_TAG'  # Production Env
       variables:
         TRIGGERED_BY_PARENT: 'true'
         ENV: "production"
@@ -131,7 +131,7 @@ deployment:
       when: on_success
     - if: '$CI_MERGE_REQUEST_IID != null' # Do nothing with merge request
       when: never
-    - when: manual # Trigger manually if needed ( Feature Dev branch )
+    - when: manual  # Trigger manually if needed ( Feature Dev branch )
       variables:
         TRIGGERED_BY_PARENT: 'true'
         ENV: "development"
-- 
GitLab


From 30c06c64cb30bdfd396cfe0c5f1453ffe4edd2e3 Mon Sep 17 00:00:00 2001
From: Rachid Yahiaoui <rachid.yahiaoui@inra.fr>
Date: Sat, 23 Nov 2024 00:08:29 +0100
Subject: [PATCH 09/13] Update CI stages

---
 .gitlab-ci_docker.yml | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/.gitlab-ci_docker.yml b/.gitlab-ci_docker.yml
index ce1931e..728989b 100644
--- a/.gitlab-ci_docker.yml
+++ b/.gitlab-ci_docker.yml
@@ -24,9 +24,12 @@ development:
     - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA"
     - echo "Docker Image Name         = $IMAGE_NAME "
     - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID"
+    - echo "Building Docker image     = $IMAGE_NAME"
     - docker build -f docker/Dockerfile -t $IMAGE_NAME .
+    - echo  "Pushing Docker image to registry = $IMAGE_NAME"
     - docker push $IMAGE_NAME 
     - docker tag  $IMAGE_NAME $IMAGE_NAME_WITH_COMMIT_ID
+    - echo  "Pushing tagged Docker image to registry = $IMAGE_NAME_WITH_COMMIT_ID"
     - docker push $IMAGE_NAME_WITH_COMMIT_ID
   rules:
     # Trigger on 'develop' branch automatically, disable for 'main' and tags, manual for others
@@ -51,9 +54,12 @@ preprod:
     - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA"
     - echo "Docker Image Name         = $IMAGE_NAME "
     - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID"
+    - echo "Building Docker image     = $IMAGE_NAME"
     - docker build -f docker/Dockerfile -t $IMAGE_NAME .
+     echo  "Pushing Docker image to registry = $IMAGE_NAME"
     - docker push $IMAGE_NAME 
     - docker tag  $IMAGE_NAME $IMAGE_NAME_WITH_COMMIT_ID
+    - echo  "Pushing tagged Docker image to registry = $IMAGE_NAME_WITH_COMMIT_ID"
     - docker push $IMAGE_NAME_WITH_COMMIT_ID
   rules:
     # Automatically trigger for 'main' branch
@@ -84,9 +90,9 @@ production:
         # Validate tag format with grep
         if echo "$CI_COMMIT_TAG" | grep -qE "^[0-9]+(\.[0-9]+){0,2}$" && ! echo "$CI_COMMIT_TAG" | grep -q "\.$"; then
           echo  "Tag format is valid = $CI_COMMIT_TAG"
-          echo  "Building Docker image..."
+          echo  "Building Docker image = $OPENADOM_DOCK_REG:$CI_COMMIT_TAG"
           docker build -f docker/Dockerfile -t $OPENADOM_DOCK_REG:$CI_COMMIT_TAG .
-          echo  "Pushing Docker image to registry..."
+          echo  "Pushing Docker image to registry : $OPENADOM_DOCK_REG:$CI_COMMIT_TAG"
           docker push $OPENADOM_DOCK_REG:$CI_COMMIT_TAG
         else
           echo "Invalid tag format = $CI_COMMIT_TAG"
@@ -105,23 +111,23 @@ production:
 deployment:
   stage: trigger
   rules:
-    - if: '$CI_COMMIT_REF_NAME == "develop"' # Development Env
+    - if: '$CI_COMMIT_REF_SLUG == "develop"' # Development Env
       variables:
         TRIGGERED_BY_PARENT: 'true'
         ENV: 'development'
-        OA_BACKEND_VERSION: '$CI_COMMIT_REF_NAME' # develop branch
+        OA_BACKEND_VERSION: '$CI_COMMIT_REF_SLUG' # develop branch
         INIT_DB_USER: true
         REMOVE_VOLUMES: true
       when: on_success
-    - if: '$CI_COMMIT_REF_NAME == "main"' # Preprod Env
+    - if: '$CI_COMMIT_REF_SLUG == "main"' # Preprod Env
       variables:
         TRIGGERED_BY_PARENT: 'true'
         ENV: 'preprod'
-        OA_BACKEND_VERSION: '$CI_COMMIT_REF_NAME' # main branch
+        OA_BACKEND_VERSION: '$CI_COMMIT_REF_SLUG' # main branch
         INIT_DB_USER: true
         REMOVE_VOLUMES: true 
       when: on_success
-    - if: '$CI_COMMIT_TAG' # Production Env
+    - if: '$CI_COMMIT_TAG'  # Production Env
       variables:
         TRIGGERED_BY_PARENT: 'true'
         ENV: "production"
@@ -131,7 +137,7 @@ deployment:
       when: on_success
     - if: '$CI_MERGE_REQUEST_IID != null' # Do nothing with merge request
       when: never
-    - when: manual # Trigger manually if needed ( Feature Dev branch )
+    - when: manual  # Trigger manually if needed ( Feature Dev branch )
       variables:
         TRIGGERED_BY_PARENT: 'true'
         ENV: "development"
-- 
GitLab


From 2214a32ff47025c02cf98b552266a803e6178b1a Mon Sep 17 00:00:00 2001
From: Rachid Yahiaoui <rachid.yahiaoui@inra.fr>
Date: Sat, 23 Nov 2024 00:08:31 +0100
Subject: [PATCH 10/13] Update CI stages

---
 .gitlab-ci_docker.yml | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci_docker.yml b/.gitlab-ci_docker.yml
index 183a82b..728989b 100644
--- a/.gitlab-ci_docker.yml
+++ b/.gitlab-ci_docker.yml
@@ -24,9 +24,12 @@ development:
     - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA"
     - echo "Docker Image Name         = $IMAGE_NAME "
     - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID"
+    - echo "Building Docker image     = $IMAGE_NAME"
     - docker build -f docker/Dockerfile -t $IMAGE_NAME .
+    - echo  "Pushing Docker image to registry = $IMAGE_NAME"
     - docker push $IMAGE_NAME 
     - docker tag  $IMAGE_NAME $IMAGE_NAME_WITH_COMMIT_ID
+    - echo  "Pushing tagged Docker image to registry = $IMAGE_NAME_WITH_COMMIT_ID"
     - docker push $IMAGE_NAME_WITH_COMMIT_ID
   rules:
     # Trigger on 'develop' branch automatically, disable for 'main' and tags, manual for others
@@ -51,9 +54,12 @@ preprod:
     - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA"
     - echo "Docker Image Name         = $IMAGE_NAME "
     - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID"
+    - echo "Building Docker image     = $IMAGE_NAME"
     - docker build -f docker/Dockerfile -t $IMAGE_NAME .
+     echo  "Pushing Docker image to registry = $IMAGE_NAME"
     - docker push $IMAGE_NAME 
     - docker tag  $IMAGE_NAME $IMAGE_NAME_WITH_COMMIT_ID
+    - echo  "Pushing tagged Docker image to registry = $IMAGE_NAME_WITH_COMMIT_ID"
     - docker push $IMAGE_NAME_WITH_COMMIT_ID
   rules:
     # Automatically trigger for 'main' branch
@@ -84,9 +90,9 @@ production:
         # Validate tag format with grep
         if echo "$CI_COMMIT_TAG" | grep -qE "^[0-9]+(\.[0-9]+){0,2}$" && ! echo "$CI_COMMIT_TAG" | grep -q "\.$"; then
           echo  "Tag format is valid = $CI_COMMIT_TAG"
-          echo  "Building Docker image..."
+          echo  "Building Docker image = $OPENADOM_DOCK_REG:$CI_COMMIT_TAG"
           docker build -f docker/Dockerfile -t $OPENADOM_DOCK_REG:$CI_COMMIT_TAG .
-          echo  "Pushing Docker image to registry..."
+          echo  "Pushing Docker image to registry : $OPENADOM_DOCK_REG:$CI_COMMIT_TAG"
           docker push $OPENADOM_DOCK_REG:$CI_COMMIT_TAG
         else
           echo "Invalid tag format = $CI_COMMIT_TAG"
-- 
GitLab


From 370a9bad0ffcf5ca52668b5e8bdff9cab1c028a4 Mon Sep 17 00:00:00 2001
From: Rachid Yahiaoui <rachid.yahiaoui@inra.fr>
Date: Sun, 24 Nov 2024 21:22:36 +0100
Subject: [PATCH 11/13] Fix a typo

---
 .gitlab-ci_docker.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab-ci_docker.yml b/.gitlab-ci_docker.yml
index 728989b..5157ebb 100644
--- a/.gitlab-ci_docker.yml
+++ b/.gitlab-ci_docker.yml
@@ -56,7 +56,7 @@ preprod:
     - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID"
     - echo "Building Docker image     = $IMAGE_NAME"
     - docker build -f docker/Dockerfile -t $IMAGE_NAME .
-     echo  "Pushing Docker image to registry = $IMAGE_NAME"
+    - echo  "Pushing Docker image to registry = $IMAGE_NAME"
     - docker push $IMAGE_NAME 
     - docker tag  $IMAGE_NAME $IMAGE_NAME_WITH_COMMIT_ID
     - echo  "Pushing tagged Docker image to registry = $IMAGE_NAME_WITH_COMMIT_ID"
-- 
GitLab


From f6a2b0d7ebd9276fceb0bbe9a96fde00365b61cd Mon Sep 17 00:00:00 2001
From: philippe tcheriatinsky <philippe.tcherniatinsky@inrae.fr>
Date: Mon, 25 Nov 2024 13:59:28 +0100
Subject: [PATCH 12/13] ajout section submission dans le yaml acbb

---
 .../domain/data/deposit/DataImporter.java     |  3 ++
 .../resources/data/acbb/acbb_openAdom_V2.yaml | 30 ++++++++++++++++++-
 2 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/src/main/java/fr/inra/oresing/domain/data/deposit/DataImporter.java b/src/main/java/fr/inra/oresing/domain/data/deposit/DataImporter.java
index 7c91477..21a7d85 100644
--- a/src/main/java/fr/inra/oresing/domain/data/deposit/DataImporter.java
+++ b/src/main/java/fr/inra/oresing/domain/data/deposit/DataImporter.java
@@ -473,6 +473,9 @@ public class DataImporter {
 
     private fr.inra.oresing.domain.Authorization getLineAuthorization(DataDatum referenceDatum, long lineNumber, ReportErrors errors) {
         final Authorization authorization = dataImporterContext.getAuthorization();
+        if(authorization==null){
+            return new fr.inra.oresing.domain.Authorization();
+        }
 
         BinaryFileDataset binaryFileDataset = Optional.ofNullable(dataImporterContext.getPublishContextBuilder())
                 .map(PublishContext.PublishContextBuilder::build)
diff --git a/src/test/resources/data/acbb/acbb_openAdom_V2.yaml b/src/test/resources/data/acbb/acbb_openAdom_V2.yaml
index 9c0f38d..46f89c0 100644
--- a/src/test/resources/data/acbb/acbb_openAdom_V2.yaml
+++ b/src/test/resources/data/acbb/acbb_openAdom_V2.yaml
@@ -695,7 +695,35 @@ OA_data:
                 }
         OA_components:   #optional
           - flx_fc_gf_value #optional
-
+    OA_submission:   #optional
+      OA_strategy: OA_VERSIONING  #optional
+      OA_submissionScope:   #mandatory
+        OA_referenceScopes:   #optional
+          -   #optional
+            OA_component: sit_key  #mandatory
+            OA_reference: tr_sites_sit  #optional
+            OA_i18n:   #mandatory
+              OA_title:   #optional
+                fr: Site
+                en: Site
+              OA_description:   #optional
+                fr: Référentiel des Sites
+                en: Site repository
+            OA_exportHeader:   #mandatory
+              OA_title:   #optional
+                fr: Site
+                en: Site
+              OA_description:   #optional
+                fr: Référentiel des Sites
+                en: Site repository
+        OA_timeScope:   #optional
+          OA_component: flx_date  #mandatory
+      OA_fileName:   #optional
+        OA_filePattern: (.*)_(.*)_(.*).csv  #mandatory
+        OA_matchPatternScopes:   #optional
+          - sit_key  #optional
+          - __START_DATE__  #optional
+          - __END_DATE__  #optional
     OA_computedComponents:
       flx_date:
         OA_exportHeader:
-- 
GitLab


From 4b0fe20820cc3f78532952365f6fd66c9278a145 Mon Sep 17 00:00:00 2001
From: philippe tcheriatinsky <philippe.tcherniatinsky@inrae.fr>
Date: Tue, 26 Nov 2024 11:26:20 +0100
Subject: [PATCH 13/13] =?UTF-8?q?correction=20submission=20-=20requ=C3=AAt?=
 =?UTF-8?q?e=20getNodes()=20-=20ajout=20dans=20dataResult=20des=20Referenc?=
 =?UTF-8?q?eScopes=20-=20ajout=20section=20submission=20yaml=20acbb?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../oresing/rest/AuthorizationService.java    |  2 +-
 .../fr/inra/oresing/rest/OreSiResources.java  |  7 ++-
 .../fr/inra/oresing/rest/OreSiService.java    |  5 +++
 .../authorization/AuthorizationsResult.java   |  3 +-
 .../rest/model/data/GetDataResult.java        |  4 +-
 .../migration/application/V1__init_schema.sql | 17 ++++---
 src/main/resources/migration/first_roles.sql  | 45 ++++++++++++++-----
 .../resources/data/acbb/acbb_openAdom_V2.yaml | 17 ++++++-
 8 files changed, 77 insertions(+), 23 deletions(-)

diff --git a/src/main/java/fr/inra/oresing/rest/AuthorizationService.java b/src/main/java/fr/inra/oresing/rest/AuthorizationService.java
index 9a737e9..f6782a8 100644
--- a/src/main/java/fr/inra/oresing/rest/AuthorizationService.java
+++ b/src/main/java/fr/inra/oresing/rest/AuthorizationService.java
@@ -556,7 +556,7 @@ public class AuthorizationService implements fr.inra.oresing.domain.services.aut
                 .toList();
     }
 
-    private Map<String, List<GetGrantableResult.ReferenceScope>> getAuthorizationScopes(final Application application, final MenuType menuType) {
+    public Map<String, List<GetGrantableResult.ReferenceScope>> getAuthorizationScopes(final Application application, final MenuType menuType) {
         Map<ReferenceScope.Context, List<ReferenceScope.TreeNode>> nodesByContext =
                 repository.getRepository(application).data()
                         .getNodesForMenu(menuType)
diff --git a/src/main/java/fr/inra/oresing/rest/OreSiResources.java b/src/main/java/fr/inra/oresing/rest/OreSiResources.java
index 2d72658..0c9d473 100644
--- a/src/main/java/fr/inra/oresing/rest/OreSiResources.java
+++ b/src/main/java/fr/inra/oresing/rest/OreSiResources.java
@@ -18,6 +18,7 @@ import fr.inra.oresing.domain.checker.type.ReferenceType;
 import fr.inra.oresing.domain.data.DataValue;
 import fr.inra.oresing.domain.data.RefsLinkedToValue;
 import fr.inra.oresing.domain.data.deposit.validation.CsvRowValidationCheckResult;
+import fr.inra.oresing.domain.data.menu.MenuType;
 import fr.inra.oresing.domain.data.read.ouput.KeepAliveZipOutputStream;
 import fr.inra.oresing.domain.data.read.query.DownloadDatasetQueryOnlyMetadata;
 import fr.inra.oresing.domain.exceptions.SiOreIllegalArgumentException;
@@ -41,6 +42,7 @@ import fr.inra.oresing.rest.filesenderclient.BuildBundleReport;
 import fr.inra.oresing.rest.model.additionalfiles.CreateAdditionalFileRequest;
 import fr.inra.oresing.rest.model.additionalfiles.exceptions.BadAdditionalFileParamsSearchException;
 import fr.inra.oresing.rest.model.application.ApplicationResult;
+import fr.inra.oresing.rest.model.authorization.GetGrantableResult;
 import fr.inra.oresing.rest.model.data.*;
 import fr.inra.oresing.rest.model.data.query.DownloadDatasetQuery;
 import fr.inra.oresing.rest.model.reference.GetReferenceResult;
@@ -918,14 +920,15 @@ public class OreSiResources {
                                 )
                         )
                         .orElseGet(LinkedHashMap::new);
-
+        Map<String, List<GetGrantableResult.ReferenceScope>> referenceScopes = service.getAuthorizationScopes(application, MenuType.submission);
 
         return ResponseEntity.ok(new GetDataResult(
                 variables,
                 dataRowResults,
                 totalRows,
                 checkedFormatcomponents,
-                referenceTypeForReferencingColumns));
+                referenceTypeForReferencingColumns,
+                referenceScopes));
     }
 
     /**
diff --git a/src/main/java/fr/inra/oresing/rest/OreSiService.java b/src/main/java/fr/inra/oresing/rest/OreSiService.java
index 7b1a971..2ddc3c3 100644
--- a/src/main/java/fr/inra/oresing/rest/OreSiService.java
+++ b/src/main/java/fr/inra/oresing/rest/OreSiService.java
@@ -21,6 +21,7 @@ import fr.inra.oresing.domain.checker.LineChecker;
 import fr.inra.oresing.domain.checker.type.*;
 import fr.inra.oresing.domain.data.*;
 import fr.inra.oresing.domain.data.deposit.PublishContext;
+import fr.inra.oresing.domain.data.menu.MenuType;
 import fr.inra.oresing.domain.data.read.query.*;
 import fr.inra.oresing.domain.exceptions.OreSiTechnicalException;
 import fr.inra.oresing.domain.exceptions.SiOreIllegalArgumentException;
@@ -1312,4 +1313,8 @@ public class OreSiService {
     public DataRepositoryWithBuffer getNewDataRepositoryWithBuffer(Application application) {
         return new DataRepositoryWithBuffer(application, repository.getRepository(application).data());
     }
+
+    public Map<String, List<GetGrantableResult.ReferenceScope>> getAuthorizationScopes(Application application, MenuType menuType) {
+        return authorizationService.getAuthorizationScopes(application, menuType);
+    }
 }
diff --git a/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java b/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java
index 2900b81..29615d1 100644
--- a/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java
+++ b/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java
@@ -12,7 +12,8 @@ public record AuthorizationsResult(
         Boolean applicationManager,
         Boolean isAdministrator,
         Boolean userManager,
-        Boolean applicationUser, Boolean activeApplicationUser
+        Boolean applicationUser,
+        Boolean activeApplicationUser
 ) {
     public AuthorizationsResult(Map<String, List<AuthorizationParsed>> userAuthorization, Map<String, AuthorizationParsed> publicAuthorization, String applicationName, Boolean applicationCreator, Boolean applicationManager, Boolean userManager, Boolean applicationUser, Boolean activeApplicationUser) {
         this(userAuthorization, publicAuthorization, applicationName, applicationCreator, applicationManager, applicationCreator||applicationManager, userManager, applicationUser, activeApplicationUser);
diff --git a/src/main/java/fr/inra/oresing/rest/model/data/GetDataResult.java b/src/main/java/fr/inra/oresing/rest/model/data/GetDataResult.java
index 4ea09aa..aadb455 100644
--- a/src/main/java/fr/inra/oresing/rest/model/data/GetDataResult.java
+++ b/src/main/java/fr/inra/oresing/rest/model/data/GetDataResult.java
@@ -5,6 +5,7 @@ import fr.inra.oresing.domain.checker.LineChecker;
 import fr.inra.oresing.domain.checker.type.FieldType;
 import fr.inra.oresing.domain.checker.type.ListType;
 import fr.inra.oresing.domain.data.DataColumn;
+import fr.inra.oresing.rest.model.authorization.GetGrantableResult;
 
 import java.util.List;
 import java.util.Map;
@@ -14,5 +15,6 @@ import java.util.Set;
 
 public record GetDataResult(Set<String> variables, List<DataRowResult> rows, Long totalRows,
                             Map<String, Map<String, fr.inra.oresing.rest.model.data.LineCheckerResult>> checkedFormatComponents,
-                            Map<String, String> referenceTypeForReferencingColumns) {
+                            Map<String, String> referenceTypeForReferencingColumns,
+                            Map<String, List<GetGrantableResult.ReferenceScope>> referenceScopes) {
 }
\ No newline at end of file
diff --git a/src/main/resources/migration/application/V1__init_schema.sql b/src/main/resources/migration/application/V1__init_schema.sql
index 38739ca..4a6441c 100644
--- a/src/main/resources/migration/application/V1__init_schema.sql
+++ b/src/main/resources/migration/application/V1__init_schema.sql
@@ -157,18 +157,21 @@ with recursive d(key, "data") as (
                        treetype,
                        key,
                        authorizationscope.component,
-                       Coalesce(("configuration" #> array['i18n', 'data', key, 'components']  #>> array[authorizationscope.component,'exportheader', 'fr'] ),authorizationscope.component) exportheader_fr,
-                       Coalesce(("configuration" #> array['i18n', 'data', key, 'components']  #>> array[authorizationscope.component,'exportheader', 'en'] ),authorizationscope.component) exportheader_en,
-                       authorizationscope.data reference,
+                       Coalesce(("configuration" #> array['i18n', 'data', key, 'components']  #>> array[authorizationscope.component,'exportheader', 'title', 'fr'] ),authorizationscope.component) exportheader_fr,
+                       Coalesce(("configuration" #> array['i18n', 'data', key, 'components']  #>> array[authorizationscope.component,'exportheader', 'title', 'en'] ),authorizationscope.component) exportheader_en,
+                        CASE
+                        WHEN treetype = 'authorization' then authorizationscope.data
+                        WHEN treetype = 'submission' then authorizationscope.reference
+                        end  reference,
                        "configuration"
                    from
                        d,
                        jsonb_to_recordset(
                            CASE
                                WHEN treetype = 'authorization' then "configuration"#> array['datadescription', key, 'authorization', 'authorizationscope']
-                               WHEN treetype = 'submission' then "configuration"#> array['datadescription', key, 'authorization', 'authorizationscope']
+                               WHEN treetype = 'submission' then "configuration"#> array['datadescription', key, 'submission', 'submissionscope', 'referencescopes']
                                end
-                       ) as authorizationscope(component text, "data" text)
+                       ) as authorizationscope(component text, reference text, "data" text)
                ),
                nodes as (
                    select
@@ -196,8 +199,8 @@ with recursive d(key, "data") as (
                             'value', node[2],
                             'node_key', rv2.hierarchicalkey,
                             'node_NK', rv2.naturalkey,
-                            'fr', coalesce(rv2.refvalues ->> '__display___display_fr',rv2.refvalues ->> '__display___display_default') ,
-                            'en', coalesce(rv2.refvalues ->> '__display___display_en',rv2.refvalues ->> '__display___display_default')
+                            'fr', coalesce(rv2.refvalues ->> '__display_fr',rv2.refvalues ->> '__display_default') ,
+                            'en', coalesce(rv2.refvalues ->> '__display_en',rv2.refvalues ->> '__display_default')
                         )
                            )::node node
                    from
diff --git a/src/main/resources/migration/first_roles.sql b/src/main/resources/migration/first_roles.sql
index bcaa0b3..cc06c99 100644
--- a/src/main/resources/migration/first_roles.sql
+++ b/src/main/resources/migration/first_roles.sql
@@ -1,17 +1,42 @@
 INSERT INTO public.oresiuser (id, login, password,  authorizations, accountstate, email)
-VALUES ('35157557-616a-46b8-aee3-487d7450ec23'::uuid,'philippe', '$2a$12$2RXZnc/w9K2rlevPIXUfNeXfTzQGD3GWCWh7Noe8aoFyF2935PRA2', '{.*}', 'active', 'philippe.tcherniatinsky@inrae.fr'),
+VALUES
+       ('5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9'::uuid,'openadom', '$2a$12$eF88cLz.KdQDUvWR7ztaiOeN3fstIAqqrDFHLdem0Kq/we1bmxUM2', '{}', 'active', 'openadom@inrae.fr'),
+       ('35157557-616a-46b8-aee3-487d7450ec23'::uuid,'philippe', '$2a$12$2RXZnc/w9K2rlevPIXUfNeXfTzQGD3GWCWh7Noe8aoFyF2935PRA2', '{.*}', 'active', 'philippe.tcherniatinsky@inrae.fr'),
        ('31bd5755-3433-49f1-856e-7e99f3aef5f4'::uuid,'dmaurice', '$2a$12$VLGZZglGbZfpAHK41.TRyOO7DwhGsXU7Ts2rJGPuxb7SDf.aCcGH6', '{.*}', 'active', 'damien.maurice@inrae.fr'),
        ('3477ed15-15b1-4fee-ad45-6f2a94a3d66f'::uuid,'gmonet', '$2a$12$zyuSWKjmf2ZViwyv7o7P.Ohsdhb73p9.QC067KFXlAkOF0IOsspFq', '{.*}', 'active', 'ghislaine.monet@inrae.fr'),
        ('73de78e0-c16c-4a55-a176-1a1feb0dd290'::uuid,'lvarloteaux', '$2a$12$hFi9JFLQ24BxT0Ht/NokmuaMTHp5oc7YOrg9TgpwSLjeAQBR2/qMy', '{.*}', 'active', 'lucile.varloteaux@inrae.fr'),
        ('45b08ce0-f83b-44b5-8d6a-ec55ebf62548'::uuid,'ryahiaoui', '$2a$12$C/CpmXGxN22OJXUqvXY/DuCzA7PUaS6YbVMPYIFOe7iLKs7Go6XoC', '{.*}', 'active', 'rachid.yahiaoui@inra.fr'),
        ('893dd0f7-a369-4ca2-af3b-21c11719d350'::uuid,'vkoyao', '$2a$12$.nC/NJlNI.eZnyLNN49CXerwwprIk/UHN9mYpQ0172zixwmZGiExS', '{.*}', 'active', 'vivianne.koyao-yayende@inrae.fr'),
        ('7f7dec88-9c0a-44ed-82fa-3ec0362b9889'::uuid, 'hboukir', '$2a$12$YVqXsLZ5FkD0MnIjskvJduUWO91BnLU7X188TVgOfiEZcFpXSyEXS', '{.*}', 'active', 'hakima.boukir@inrae.fr'),
-       ('af63dfbd-54eb-4c11-8e3e-b5a00bb27a4f'::uuid,'afioca', '$2a$12$47CBQ4yxhxfvnwJ5gyh9o.4caLTbPTuy.zQUA7Mx/MFgK1aJwArvC', '{.*}', 'active', 'amelie.fiocca@inrae.fr');
-CREATE ROLE "35157557-616a-46b8-aee3-487d7450ec23";COMMENT ON ROLE "35157557-616a-46b8-aee3-487d7450ec23" IS 'Philippe'; GRANT "openAdomAdmin" TO "35157557-616a-46b8-aee3-487d7450ec23" WITH INHERIT TRUE; GRANT "35157557-616a-46b8-aee3-487d7450ec23" TO "openAdomTechUser" WITH INHERIT TRUE;
-CREATE ROLE "31bd5755-3433-49f1-856e-7e99f3aef5f4";COMMENT ON ROLE "31bd5755-3433-49f1-856e-7e99f3aef5f4" IS 'Damien'; GRANT "openAdomAdmin" TO "31bd5755-3433-49f1-856e-7e99f3aef5f4" WITH INHERIT TRUE; GRANT "31bd5755-3433-49f1-856e-7e99f3aef5f4" TO "openAdomTechUser" WITH INHERIT TRUE;
-CREATE ROLE "3477ed15-15b1-4fee-ad45-6f2a94a3d66f";COMMENT ON ROLE "3477ed15-15b1-4fee-ad45-6f2a94a3d66f" IS 'Ghislaine'; GRANT "openAdomAdmin" TO "3477ed15-15b1-4fee-ad45-6f2a94a3d66f" WITH INHERIT TRUE; GRANT "3477ed15-15b1-4fee-ad45-6f2a94a3d66f" TO "openAdomTechUser" WITH INHERIT TRUE;
-CREATE ROLE "73de78e0-c16c-4a55-a176-1a1feb0dd290";COMMENT ON ROLE "73de78e0-c16c-4a55-a176-1a1feb0dd290" IS 'Lucile'; GRANT "openAdomAdmin" TO "73de78e0-c16c-4a55-a176-1a1feb0dd290" WITH INHERIT TRUE; GRANT "73de78e0-c16c-4a55-a176-1a1feb0dd290" TO "openAdomTechUser" WITH INHERIT TRUE;
-CREATE ROLE "45b08ce0-f83b-44b5-8d6a-ec55ebf62548";COMMENT ON ROLE "45b08ce0-f83b-44b5-8d6a-ec55ebf62548" IS 'Rachid'; GRANT "openAdomAdmin" TO "45b08ce0-f83b-44b5-8d6a-ec55ebf62548" WITH INHERIT TRUE; GRANT "45b08ce0-f83b-44b5-8d6a-ec55ebf62548" TO "openAdomTechUser" WITH INHERIT TRUE;
-CREATE ROLE "893dd0f7-a369-4ca2-af3b-21c11719d350";COMMENT ON ROLE "893dd0f7-a369-4ca2-af3b-21c11719d350" IS 'Viviane'; GRANT "openAdomAdmin" TO "893dd0f7-a369-4ca2-af3b-21c11719d350" WITH INHERIT TRUE; GRANT "893dd0f7-a369-4ca2-af3b-21c11719d350" TO "openAdomTechUser" WITH INHERIT TRUE;
-CREATE ROLE "7f7dec88-9c0a-44ed-82fa-3ec0362b9889";COMMENT ON ROLE "7f7dec88-9c0a-44ed-82fa-3ec0362b9889" IS 'Hackima'; GRANT "openAdomAdmin" TO "7f7dec88-9c0a-44ed-82fa-3ec0362b9889" WITH INHERIT TRUE; GRANT "7f7dec88-9c0a-44ed-82fa-3ec0362b9889" TO "openAdomTechUser" WITH INHERIT TRUE;
-CREATE ROLE "af63dfbd-54eb-4c11-8e3e-b5a00bb27a4f";COMMENT ON ROLE "af63dfbd-54eb-4c11-8e3e-b5a00bb27a4f" IS 'Amélie'; GRANT "openAdomAdmin" TO "af63dfbd-54eb-4c11-8e3e-b5a00bb27a4f" WITH INHERIT TRUE; GRANT "af63dfbd-54eb-4c11-8e3e-b5a00bb27a4f" TO "openAdomTechUser" WITH INHERIT TRUE;
\ No newline at end of file
+       ('af63dfbd-54eb-4c11-8e3e-b5a00bb27a4f'::uuid,'afioca', '$2a$12$47CBQ4yxhxfvnwJ5gyh9o.4caLTbPTuy.zQUA7Mx/MFgK1aJwArvC', '{.*}', 'active', 'amelie.fiocca@inrae.fr')
+ON CONFLICT DO NOTHING;
+
+
+
+-- Fonction pour créer un rôle et accorder des privilèges
+CREATE OR REPLACE FUNCTION create_role_and_grant(role_id UUID, role_name TEXT)
+RETURNS VOID AS $$
+BEGIN
+    IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = role_id::text) THEN
+        EXECUTE format('CREATE ROLE "%s"', role_id);
+EXECUTE format('COMMENT ON ROLE "%s" IS %L', role_id, role_name);
+EXECUTE format('GRANT "openAdomAdmin" TO "%s" WITH INHERIT TRUE', role_id);
+EXECUTE format('GRANT "%s" TO "openAdomTechUser" WITH INHERIT TRUE', role_id);
+END IF;
+END;
+$$
+LANGUAGE plpgsql;
+
+-- Création des rôles et octroi des privilèges
+SELECT create_role_and_grant('5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9'::uuid, 'openadom');
+SELECT create_role_and_grant('35157557-616a-46b8-aee3-487d7450ec23'::uuid, 'Philippe');
+SELECT create_role_and_grant('31bd5755-3433-49f1-856e-7e99f3aef5f4'::uuid, 'Damien');
+SELECT create_role_and_grant('3477ed15-15b1-4fee-ad45-6f2a94a3d66f'::uuid, 'Ghislaine');
+SELECT create_role_and_grant('73de78e0-c16c-4a55-a176-1a1feb0dd290'::uuid, 'Lucile');
+SELECT create_role_and_grant('45b08ce0-f83b-44b5-8d6a-ec55ebf62548'::uuid, 'Rachid');
+SELECT create_role_and_grant('893dd0f7-a369-4ca2-af3b-21c11719d350'::uuid, 'Viviane');
+SELECT create_role_and_grant('7f7dec88-9c0a-44ed-82fa-3ec0362b9889'::uuid, 'Hackima');
+SELECT create_role_and_grant('af63dfbd-54eb-4c11-8e3e-b5a00bb27a4f'::uuid, 'Amélie');
+
+-- Suppression de la fonction temporaire
+DROP FUNCTION create_role_and_grant(UUID, TEXT);
\ No newline at end of file
diff --git a/src/test/resources/data/acbb/acbb_openAdom_V2.yaml b/src/test/resources/data/acbb/acbb_openAdom_V2.yaml
index 46f89c0..c65ada5 100644
--- a/src/test/resources/data/acbb/acbb_openAdom_V2.yaml
+++ b/src/test/resources/data/acbb/acbb_openAdom_V2.yaml
@@ -10,7 +10,7 @@ OA_application:
       en: "Agroecosystems, Biogeochemical Cycles and Biodiversity"
   OA_comment: "L'application ACBB V2"
   OA_name: acbb_openadom_v2
-  OA_version: 1.0.2
+  OA_version: 1.0.4
 OA_data:
   tr_agroecosystemes_agr:
     OA_i18n:
@@ -20,6 +20,10 @@ OA_data:
       OA_description:
         fr: Les agroécosystèmes représentent des regroupements par type de traitement
         en: Agroecosystems represent groupings by type of treatment
+    OA_i18nDisplayPattern:   #mandatory
+      OA_title:   #optional
+        fr: "{agr_agroecosystem_fr}"
+        en: "{agr_agroecosystem_en}"
     OA_naturalKey: [agr_agroecosystem_key]
     OA_basicComponents:
       agr_agroecosystem_key:
@@ -62,6 +66,10 @@ OA_data:
       OA_description:
         fr: sites d'etudes
         en: study sites
+    OA_i18nDisplayPattern:   #mandatory
+      OA_title:   #optional
+        fr: "{sit_site_fr}"
+        en: "{sit_site_en}"
     OA_naturalKey: [sit_site_key]
     OA_validations:
       sit_checkDateMiseEnService:
@@ -384,6 +392,13 @@ OA_data:
       OA_description:
         fr: les sites sont divisés en parcelles sur lesquelles on applique un traitement. Il peut y avoir des blocs de répétitions de parcelles
         en: Sites are divided into plots on which a treatment is applied. There may be blocks of plot repetitions
+    OA_i18nDisplayPattern:   #mandatory
+      OA_title:   #optional
+        fr: "{par_parcelle_fr}"
+        en: "{par_parcelle_en}"
+      OA_description:   #optional
+        fr: "{par_commentaire_fr}"
+        en: "{par_commentaire_en}"
     OA_basicComponents:
       sit_site:
         OA_exportHeader:
-- 
GitLab