diff --git a/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/repositories/applicationContext-modular-ui-repositories.properties b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/repositories/applicationContext-modular-ui-repositories.properties
new file mode 100644
index 0000000..4289052
--- /dev/null
+++ b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/repositories/applicationContext-modular-ui-repositories.properties
@@ -0,0 +1,10 @@
+repo.ui.compatibilityLevels.vocabulary = dnet:compatibilityLevel
+repo.ui.datasourceTypes.vocabulary = dnet:datasource_typologies
+repo.ui.contentDescriptions.vocabulary = dnet:content_description_typologies
+repo.ui.protocols.vocabulary = dnet:protocols
+repo.ui.datasourceCountries.vocabulary = dnet:countries
+repo.ui.validation.show = false
+repo.ui.addApi.show = true
+repo.ui.addRepo.show = true
+repo.ui.validator.address = http://dev.openaire.research-infrastructures.eu:8880/validator
+repo.ui.validatorService.address = http://dev.openaire.research-infrastructures.eu:8880/validator-service
diff --git a/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/repositories/applicationContext-modular-ui-repositories.xml b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/repositories/applicationContext-modular-ui-repositories.xml
new file mode 100644
index 0000000..e31bde5
--- /dev/null
+++ b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/repositories/applicationContext-modular-ui-repositories.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/repositories/templates/getRepoApi.xquery.st b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/repositories/templates/getRepoApi.xquery.st
new file mode 100644
index 0000000..d9aeba5
--- /dev/null
+++ b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/repositories/templates/getRepoApi.xquery.st
@@ -0,0 +1,59 @@
+for \$x in
+ collection('/db/DRIVER/RepositoryServiceResources/RepositoryServiceResourceType')[.//RESOURCE_IDENTIFIER/@value='$dsId$' or .//DATASOURCE_ORIGINAL_ID = '$dsId$']//INTERFACE[@id='$ifaceId$']
+let \$repoId := \$x/../../../../HEADER/RESOURCE_IDENTIFIER/@value/string()
+return
+
+ {\$x/@id/string()}
+
+ {\$x/@removable/string()}
+ {\$x/ACCESS_PROTOCOL/text()}
+
+ {\$x/../../OFFICIAL_NAME/text()}
+
+
+ {\$x/@id/string()}
+ {\$x/@label/string()}
+ {\$x/@typology/string()}
+ {\$x/@active/string()}
+ {\$x/@compliance/string()}
+
+
+ {\$x/BASE_URL/text()}
+ {
+ for \$y in
+ \$x/ACCESS_PROTOCOL/@*
+ return
+ {\$y/string()}
+ }
+
+
+ {
+ for \$y in
+ \$x/INTERFACE_EXTRA_FIELD
+ return
+ {\$y/text()}
+ }
+
+
+ {
+ for \$y in
+ collection('/db/DRIVER/MetaWorkflowDSResources/MetaWorkflowDSResourceType')
+ where
+ \$y//DATAPROVIDER/@interface = \$x/@id and \$y//DATAPROVIDER/@id= \$repoId
+ return
+
+ {\$y//RESOURCE_IDENTIFIER/@value/string()}
+ {\$y//METAWORKFLOW_NAME/text()}
+ {\$y//CONFIGURATION/@status/string()}
+ {\$y//CONFIGURATION/@destroyWorkflow/string()}
+
+ }
+
+
+
+
diff --git a/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/repositories/webContext-modular-ui-repositories.xml b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/repositories/webContext-modular-ui-repositories.xml
new file mode 100644
index 0000000..93c3945
--- /dev/null
+++ b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/repositories/webContext-modular-ui-repositories.xml
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+ DS_ADMIN
+
+
+
+
+
+
+
+ DS_ADMIN
+
+
+
+
+
+
+
+ DS_ADMIN
+
+
+
+
+
+
+
+ DS_ADMIN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/repositories/xslt/repoDetails.xslt b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/repositories/xslt/repoDetails.xslt
new file mode 100644
index 0000000..7219327
--- /dev/null
+++ b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/repositories/xslt/repoDetails.xslt
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/addRepo.st b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/addRepo.st
new file mode 100644
index 0000000..7c1a7b3
--- /dev/null
+++ b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/addRepo.st
@@ -0,0 +1,75 @@
+$common/master(
+
+header={
+ $ui/repos/header()$
+
+
+
+
+
+
+
+},
+onLoad={},
+body={
+
+
+
A new datasource has been registered !
+
+
+
+
+
+
+
+
+
+}
+
+)$
diff --git a/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/addRepoApi.st b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/addRepoApi.st
new file mode 100644
index 0000000..3fd4a72
--- /dev/null
+++ b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/addRepoApi.st
@@ -0,0 +1,103 @@
+$common/master(
+
+header={
+ $ui/repos/header()$
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+},
+onLoad={},
+body={
+
+
+
A new api has been registered !
+
+
+
+
+
+
+
+}
+
+)$
\ No newline at end of file
diff --git a/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/repoApis.st b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/repoApis.st
new file mode 100644
index 0000000..03ab862
--- /dev/null
+++ b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/repoApis.st
@@ -0,0 +1,28 @@
+$common/master(
+
+header={
+ $ui/repos/header()$
+
+
+
+
+
+
+
+
+},
+onLoad={},
+body={
+
+}
+)$
\ No newline at end of file
diff --git a/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/repos.st b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/repos.st
new file mode 100644
index 0000000..b85a917
--- /dev/null
+++ b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/repos.st
@@ -0,0 +1,68 @@
+$common/master(
+
+header={
+ $ui/repos/header()$
+
+
+
+
+},
+onLoad={},
+body={
+
+ $ui/repos/repoDetails()$
+
+
+
+
+
+
No datasource
+
+
+
+
+
+
+})$
diff --git a/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/repos/header.st b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/repos/header.st
new file mode 100644
index 0000000..6d7c9d8
--- /dev/null
+++ b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/repos/header.st
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/repos/repoApi.st b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/repos/repoApi.st
new file mode 100644
index 0000000..8ef775c
--- /dev/null
+++ b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/repos/repoApi.st
@@ -0,0 +1,252 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last aggregation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ deleting...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+ Value
+ |
+
+
+
+
+ {{p.name}}
+ {{p.value}}
+ missing value
+ |
+
+
+
+
+
+
+
+
+
+
+
+$ui/repos/repoDetails()$
+$ui/workflows/common/atomwf()$
+$ui/workflows/common/metawf_edit()$
+$ui/workflows/common/atomwf_edit()$
+$ui/workflows/common/wf_monitor()$
+$ui/workflows/common/wf_monitor_proc( backFunction={updateMetaWorkflowHistory()} )$
+$ui/workflows/common/wf_monitor_proc_node()$
+$ui/workflows/common/wf_journal_entry()$
diff --git a/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/repos/repoDetails.st b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/repos/repoDetails.st
new file mode 100644
index 0000000..b1acff0
--- /dev/null
+++ b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/repos/repoDetails.st
@@ -0,0 +1,16 @@
+
diff --git a/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/reposMap.st b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/reposMap.st
new file mode 100644
index 0000000..223629d
--- /dev/null
+++ b/dnet-modular-ui/src/main/resources/eu/dnetlib/functionality/modular/ui/views/ui/reposMap.st
@@ -0,0 +1,18 @@
+$common/master(
+header={
+ $ui/repos/header()$
+
+
+},
+onLoad={},
+body={
+
+
+
+ $ui/repos/repoDetails()$
+
+
+}
+)$
\ No newline at end of file