Index: modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/RepositoryService.java
===================================================================
--- modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/RepositoryService.java	(revision 59189)
+++ modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/RepositoryService.java	(revision 59190)
@@ -1,6 +1,5 @@
 package eu.dnetlib.repo.manager.service;
 
-import eu.dnetlib.api.functionality.ValidatorServiceException;
 import eu.dnetlib.domain.data.Repository;
 import eu.dnetlib.domain.data.RepositoryInterface;
 import eu.dnetlib.repo.manager.domain.*;
@@ -48,7 +47,7 @@
     RepositoryInterface addRepositoryInterface(String datatype,
                                                String repoId,
                                                String registeredBy,
-                                               RepositoryInterface iFace) throws Exception;
+                                               String comment, RepositoryInterface repositoryInterface) throws Exception;
 
     List<String> getDnetCountries();
 
@@ -74,6 +73,6 @@
 
     Map<String, String> getListLatestUpdate(String mode) throws RepositoryServiceException, JSONException;
 
-    RepositoryInterface updateRepositoryInterface(String repositoryId, String registeredBy, RepositoryInterface repositoryInterface) throws Exception;
+    RepositoryInterface updateRepositoryInterface(String repoId, String registeredBy, String comment, RepositoryInterface repositoryInterface) throws Exception;
 
 }
Index: modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/EmailUtils.java
===================================================================
--- modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/EmailUtils.java	(revision 59189)
+++ modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/EmailUtils.java	(revision 59190)
@@ -24,9 +24,9 @@
 
     void sendUserRegistrationEmail(Repository repository, Authentication authentication) throws Exception;
 
-    void sendAdminRegisterInterfaceEmail(Repository repository, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception;
+    void sendAdminRegisterInterfaceEmail(Repository repository, String comment, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception;
 
-    void sendUserRegisterInterfaceEmail(Repository repository, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception;
+    void sendUserRegisterInterfaceEmail(Repository repository, String comment, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception;
 
     /****SUCCESSFUL REGISTRATION RESULTS EMAILS****/
     void sendUserRegistrationResultsSuccessEmail(String issuerEmail, String jobId,RepositoryInterface repositoryInterface, Repository repository, Authentication authentication) throws Exception;
@@ -61,9 +61,9 @@
 
     void sendUserUpdateRepositoryInfoEmail(Repository repository, Authentication authentication) throws Exception;
 
-    void sendAdminUpdateInterfaceEmail(Repository repository, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception;
+    void sendAdminUpdateInterfaceEmail(Repository repository, String comment, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception;
 
-    void sendUserUpdateInterfaceEmail(Repository repository, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception;
+    void sendUserUpdateInterfaceEmail(Repository repository, String comment, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception;
 
     void sendSubmitJobForValidationEmail(Authentication authentication, JobForValidation jobForValidation) throws Exception;
 
Index: modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/RepositoryServiceImpl.java
===================================================================
--- modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/RepositoryServiceImpl.java	(revision 59189)
+++ modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/RepositoryServiceImpl.java	(revision 59190)
@@ -552,7 +552,7 @@
     public RepositoryInterface addRepositoryInterface(String datatype,
                                                       String repoId,
                                                       String registeredBy,
-                                                      RepositoryInterface repositoryInterface) throws Exception {
+                                                      String comment, RepositoryInterface repositoryInterface) throws Exception {
         try {
             Repository e = this.getRepositoryById(repoId);
             repositoryInterface = createRepositoryInterface(e,repositoryInterface,datatype);
@@ -568,9 +568,9 @@
 
             ResponseEntity responseEntity = restTemplate.postForObject(uriComponents.toUri(),httpEntity,ResponseEntity.class);
 
-            if(responseEntity.getStatusCode().equals(HttpStatus.OK)) {
-                emailUtils.sendAdminRegisterInterfaceEmail(e, repositoryInterface, SecurityContextHolder.getContext().getAuthentication());
-                emailUtils.sendUserRegisterInterfaceEmail(e, repositoryInterface, SecurityContextHolder.getContext().getAuthentication());
+            if (responseEntity.getStatusCode().equals(HttpStatus.OK)) {
+                emailUtils.sendAdminRegisterInterfaceEmail(e, comment, repositoryInterface, SecurityContextHolder.getContext().getAuthentication());
+                emailUtils.sendUserRegisterInterfaceEmail(e, comment, repositoryInterface, SecurityContextHolder.getContext().getAuthentication());
 
                 submitInterfaceValidation(e, registeredBy, repositoryInterface, false);
                 return repositoryInterface;
@@ -589,7 +589,7 @@
     @Override
     public RepositoryInterface updateRepositoryInterface(String repoId,
                                                          String registeredBy,
-                                                         RepositoryInterface repositoryInterface) throws Exception {
+                                                         String comment, RepositoryInterface repositoryInterface) throws Exception {
 
         this.updateBaseUrl(repoId,repositoryInterface.getId(),repositoryInterface.getBaseUrl());
         this.updateCompliance(repoId,repositoryInterface.getId(),repositoryInterface.getCompliance());
@@ -596,8 +596,8 @@
         this.updateValidationSet(repoId,repositoryInterface.getId(),repositoryInterface.getAccessSet());
 
         Repository e = this.getRepositoryById(repoId);
-        emailUtils.sendAdminUpdateInterfaceEmail(e, repositoryInterface, SecurityContextHolder.getContext().getAuthentication());
-        emailUtils.sendUserUpdateInterfaceEmail(e, repositoryInterface, SecurityContextHolder.getContext().getAuthentication());
+        emailUtils.sendAdminUpdateInterfaceEmail(e, comment, repositoryInterface, SecurityContextHolder.getContext().getAuthentication());
+        emailUtils.sendUserUpdateInterfaceEmail(e, comment, repositoryInterface, SecurityContextHolder.getContext().getAuthentication());
         submitInterfaceValidation(getRepositoryById(repoId),registeredBy,repositoryInterface,true);
 
         return repositoryInterface;
Index: modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/EmailUtilsImpl.java
===================================================================
--- modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/EmailUtilsImpl.java	(revision 59189)
+++ modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/service/EmailUtilsImpl.java	(revision 59190)
@@ -256,7 +256,7 @@
     }
 
     @Override
-    public void sendAdminRegisterInterfaceEmail(Repository repository, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception {
+    public void sendAdminRegisterInterfaceEmail(Repository repository, String comment, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception {
         try {
             String subject = "OpenAIRE new interface registration request started for " +
                     repository.getDatasourceType() + "[" + repository.getEnglishName() + "]";
@@ -267,8 +267,12 @@
                     "Base URL: " + repositoryInterface.getBaseUrl() + "\n" +
                     "Set: " + repositoryInterface.getAccessSet() + "\n" +
                     "Guidelines: " + repositoryInterface.getDesiredCompatibilityLevel() + "\n\n" +
-                    "to " + repository.getDatasourceType() + "[" + repository.getEnglishName() + "].\n" +
-                    "A validation process for this interface against the OpenAIRE guidelines compatibility " +
+                    "to " + repository.getDatasourceType() + "[" + repository.getEnglishName() + "].\n";
+
+            if (comment != null)
+                comment += "\nThe users comment was '" + comment + "'\n";
+
+            message += "A validation process for this interface against the OpenAIRE guidelines compatibility " +
                     "has been started. You will be informed in another message once the process is finished." +
                     "\n\n" +
                     "User Contact: " + authentication.getName() + " (" + ((OIDCAuthenticationToken) authentication).getUserInfo().getEmail() + ")" +
@@ -287,12 +291,11 @@
     }
 
     @Override
-    public void sendUserRegisterInterfaceEmail(Repository repository, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception {
+    public void sendUserRegisterInterfaceEmail(Repository repository, String comment, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception {
         try {
             String subject = "OpenAIRE new interface registration request started for " +
                     repository.getDatasourceType() + "[" + repository.getEnglishName() + "]";
-
-//            String message = "Dear " + ((OIDCAuthenticationToken) authentication).getUserInfo().getName() + ",\n" +
+            
             String message = "Dear "+SecurityContextHolder.getContext().getAuthentication().getName()+",\n" +
                     "\n" +
                     "We received a request to add the following interface: \n\n" +
@@ -299,8 +302,13 @@
                     "Base URL: " + repositoryInterface.getBaseUrl() + "\n" +
                     "Set: " + repositoryInterface.getAccessSet() + "\n" +
                     "Guidelines: " + repositoryInterface.getDesiredCompatibilityLevel() + "\n\n" +
-                    "to " + repository.getDatasourceType() + "[" + repository.getEnglishName() + "].\n" +
-                    "A validation process for this interface against the OpenAIRE guidelines compatibility " +
+                    "to " + repository.getDatasourceType() + "[" + repository.getEnglishName() + "].\n";
+
+            if (comment != null) {
+                comment += "\n Your comment was '" + comment + "'\n";
+            }
+
+            message += "A validation process for this interface against the OpenAIRE guidelines compatibility " +
                     "has been started. You will be informed in another message once the process is finished." +
                     "\n\n" +
                     "Please do not reply to this message\n" +
@@ -688,7 +696,7 @@
     }
 
     @Override
-    public void sendAdminUpdateInterfaceEmail(Repository repository, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception {
+    public void sendAdminUpdateInterfaceEmail(Repository repository, String comment, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception {
         try {
             String subject = "OpenAIRE interface update request started for " +
                     repository.getDatasourceType() + "[" + repository.getEnglishName() + "]";
@@ -699,8 +707,12 @@
                     "Base URL: " + repositoryInterface.getBaseUrl() + "\n" +
                     "Set: " + repositoryInterface.getAccessSet() + "\n" +
                     "Guidelines: " + repositoryInterface.getDesiredCompatibilityLevel() + "\n\n" +
-                    "for " + repository.getDatasourceType() + "[" + repository.getEnglishName() + "].\n" +
-                    "A new iteration process of the validation against the OpenAIRE guidelines compatibility has been started.\n\n" +
+                    "for " + repository.getDatasourceType() + "[" + repository.getEnglishName() + "].\n";
+
+            if (comment != null)
+                comment += "\nThe users comment was '" + comment + "'\n";
+
+            message += "A new iteration process of the validation against the OpenAIRE guidelines compatibility has been started.\n\n" +
                     "User Contact: " + authentication.getName() + " (" + ((OIDCAuthenticationToken) authentication).getUserInfo().getEmail() + ")" +
                     "\n\n" +
                     "Please do not reply to this message\n" +
@@ -717,7 +729,7 @@
     }
 
     @Override
-    public void sendUserUpdateInterfaceEmail(Repository repository, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception {
+    public void sendUserUpdateInterfaceEmail(Repository repository, String comment, RepositoryInterface repositoryInterface, Authentication authentication) throws Exception {
         try {
             String subject = "OpenAIRE interface update request started for " +
                     repository.getDatasourceType() + "[" + repository.getEnglishName() + "]";
@@ -729,8 +741,13 @@
                     "Base URL: " + repositoryInterface.getBaseUrl() + "\n" +
                     "Set: " + repositoryInterface.getAccessSet() + "\n" +
                     "Guidelines: " + repositoryInterface.getDesiredCompatibilityLevel() + "\n\n" +
-                    "for " + repository.getDatasourceType() + "[" + repository.getEnglishName() + "].\n" +
-                    "A new iteration process of the validation against the OpenAIRE guidelines compatibility has been started.\n\n" +
+                    "for " + repository.getDatasourceType() + "[" + repository.getEnglishName() + "].\n";
+
+            if (comment != null) {
+                comment += "\n Your comment was '" + comment + "'\n";
+            }
+
+            message += "A new iteration process of the validation against the OpenAIRE guidelines compatibility has been started.\n\n" +
                     "Please do not reply to this message\n" +
                     "This message has been generated automatically.\n\n" +
                     "If you have any questions, write to 'helpdesk@openaire.eu'. \n\n" +
Index: modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/controllers/RepositoryController.java
===================================================================
--- modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/controllers/RepositoryController.java	(revision 59189)
+++ modules/uoa-repository-manager-service/trunk/src/main/java/eu/dnetlib/repo/manager/controllers/RepositoryController.java	(revision 59190)
@@ -170,8 +170,9 @@
     public RepositoryInterface addRepositoryInterface(@RequestParam("datatype") String datatype,
                                                       @RequestParam("repoId") String repoId,
                                                       @RequestParam("registeredBy") String registeredBy,
+                                                      @RequestParam("comment") String comment,
                                                       @RequestBody RepositoryInterface repositoryInterface) throws Exception {
-        return repositoryService.addRepositoryInterface(datatype, repoId, registeredBy, repositoryInterface);
+        return repositoryService.addRepositoryInterface(datatype, repoId, registeredBy, comment, repositoryInterface);
     }
 
     @RequestMapping(value = "/getUrlsOfUserRepos/{page}/{size}/",method = RequestMethod.GET,
@@ -226,7 +227,8 @@
     @PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_PROVIDE_ADMIN') or ((@repositoryService.getRepositoryById(#repoId).registeredBy==authentication.userInfo.email or @repositoryService.getRepositoryById(#repoId).registeredBy=='null') and hasRole('ROLE_USER'))")
     public RepositoryInterface updateRepositoryInterface(@RequestParam("repoId") String repoId,
                                                          @RequestParam("registeredBy") String registeredBy,
+                                                         @RequestParam("comment") String comment,
                                                          @RequestBody RepositoryInterface repositoryInterface) throws Exception {
-        return repositoryService.updateRepositoryInterface(repoId, registeredBy, repositoryInterface);
+        return repositoryService.updateRepositoryInterface(repoId, registeredBy, comment, repositoryInterface);
     }
 }
