Merge branch 'dmp-refactoring' of https://code-repo.d4science.org/MaDgiK-CITE/argos into dmp-refactoring

This commit is contained in:
Sofia Papacharalampous 2024-05-13 17:28:26 +03:00
commit ecc728b24c
46 changed files with 828 additions and 168 deletions

View File

@ -58,61 +58,233 @@ public class MetricsServiceImpl implements MetricsService {
try { try {
this.entityManager.disableTenantFilters(); this.entityManager.disableTenantFilters();
this.setGaugeValue(gauges, MetricNames.DMP, this.calculateDraftDmps(false), MetricLabels.DRAFT); try {
this.setGaugeValue(gauges, MetricNames.DMP, this.calculateFinalizedDmps(false), MetricLabels.FINALIZED); this.setGaugeValue(gauges, MetricNames.DMP, this.calculateDraftDmps(false), MetricLabels.DRAFT);
this.setGaugeValue(gauges, MetricNames.DMP, this.calculatePublishedDmps(false), MetricLabels.PUBLISHED); } catch (Exception e) {
this.setGaugeValue(gauges, MetricNames.DMP, this.calculateDoiedDmps(false), MetricLabels.DOIED); logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.DMP, this.calculateFinalizedDmps(false), MetricLabels.FINALIZED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.DMP, this.calculatePublishedDmps(false), MetricLabels.PUBLISHED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.DMP, this.calculateDoiedDmps(false), MetricLabels.DOIED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP, this.calculateDraftDmps(true), MetricLabels.DRAFT); try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP, this.calculateFinalizedDmps(true), MetricLabels.FINALIZED); this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP, this.calculateDraftDmps(true), MetricLabels.DRAFT);
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP, this.calculatePublishedDmps(true), MetricLabels.PUBLISHED); } catch (Exception e) {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP, this.calculateDoiedDmps(true), MetricLabels.DOIED); logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP, this.calculateFinalizedDmps(true), MetricLabels.FINALIZED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP, this.calculatePublishedDmps(true), MetricLabels.PUBLISHED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP, this.calculateDoiedDmps(true), MetricLabels.DOIED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
this.setGaugeValue(gauges, MetricNames.DMP_WITH_GRANT, this.calculateDraftDmpsWithGrant(false), MetricLabels.DRAFT); try {
this.setGaugeValue(gauges, MetricNames.DMP_WITH_GRANT, this.calculateFinalizedDmpsWithGrant(false), MetricLabels.FINALIZED); this.setGaugeValue(gauges, MetricNames.DMP_WITH_GRANT, this.calculateDraftDmpsWithGrant(false), MetricLabels.DRAFT);
this.setGaugeValue(gauges, MetricNames.DMP_WITH_GRANT, this.calculatePublishedDmpsWithGrant(false), MetricLabels.PUBLISHED); } catch (Exception e) {
this.setGaugeValue(gauges, MetricNames.DMP_WITH_GRANT, this.calculateDoiedDmpsWithGrant(false), MetricLabels.DOIED); logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.DMP_WITH_GRANT, this.calculateFinalizedDmpsWithGrant(false), MetricLabels.FINALIZED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.DMP_WITH_GRANT, this.calculatePublishedDmpsWithGrant(false), MetricLabels.PUBLISHED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.DMP_WITH_GRANT, this.calculateDoiedDmpsWithGrant(false), MetricLabels.DOIED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP_WITH_GRANT, this.calculateDraftDmpsWithGrant(true), MetricLabels.DRAFT); try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP_WITH_GRANT, this.calculateFinalizedDmpsWithGrant(true), MetricLabels.FINALIZED); this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP_WITH_GRANT, this.calculateDraftDmpsWithGrant(true), MetricLabels.DRAFT);
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP_WITH_GRANT, this.calculatePublishedDmpsWithGrant(true), MetricLabels.PUBLISHED); } catch (Exception e) {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP_WITH_GRANT, this.calculateDoiedDmpsWithGrant(true), MetricLabels.DOIED); logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP_WITH_GRANT, this.calculateFinalizedDmpsWithGrant(true), MetricLabels.FINALIZED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP_WITH_GRANT, this.calculatePublishedDmpsWithGrant(true), MetricLabels.PUBLISHED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DMP_WITH_GRANT, this.calculateDoiedDmpsWithGrant(true), MetricLabels.DOIED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
this.setGaugeValue(gauges, MetricNames.FUNDERS, this.calculateAllFunders(false), null); try {
this.setGaugeValue(gauges, MetricNames.GRANTS, this.calculateAllGrants(false), null); this.setGaugeValue(gauges, MetricNames.FUNDERS, this.calculateAllFunders(false), null);
this.setGaugeValue(gauges, MetricNames.PROJECTS, this.calculateAllProjects(false), null); } catch (Exception e) {
this.setGaugeValue(gauges, MetricNames.RESEARCHERS, this.calculateAllResearchers(false), null); logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.GRANTS, this.calculateAllGrants(false), null);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.PROJECTS, this.calculateAllProjects(false), null);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.RESEARCHERS, this.calculateAllResearchers(false), null);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.FUNDERS, this.calculateAllFunders(true), null); try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.GRANTS, this.calculateAllGrants(true), null); this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.FUNDERS, this.calculateAllFunders(true), null);
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.PROJECTS, this.calculateAllProjects(true), null); } catch (Exception e) {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.RESEARCHERS, this.calculateAllResearchers(true), null); logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.GRANTS, this.calculateAllGrants(true), null);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.PROJECTS, this.calculateAllProjects(true), null);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.RESEARCHERS, this.calculateAllResearchers(true), null);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
this.setGaugeValue(gauges, MetricNames.DATASET, this.calculateDraftDatasets(false), MetricLabels.DRAFT); try {
this.setGaugeValue(gauges, MetricNames.DATASET, this.calculateFinalizedDatasets(false), MetricLabels.FINALIZED); this.setGaugeValue(gauges, MetricNames.DATASET, this.calculateDraftDatasets(false), MetricLabels.DRAFT);
this.setGaugeValue(gauges, MetricNames.DATASET, this.calculatePublishedDatasets(false), MetricLabels.PUBLISHED); } catch (Exception e) {
this.setGaugeValue(gauges, MetricNames.DATASET, this.calculateDoiedDatasets(false), MetricLabels.DOIED); logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.DATASET, this.calculateFinalizedDatasets(false), MetricLabels.FINALIZED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.DATASET, this.calculatePublishedDatasets(false), MetricLabels.PUBLISHED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.DATASET, this.calculateDoiedDatasets(false), MetricLabels.DOIED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DATASET, this.calculateDraftDatasets(true), MetricLabels.DRAFT); try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DATASET, this.calculateFinalizedDatasets(true), MetricLabels.FINALIZED); this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DATASET, this.calculateDraftDatasets(true), MetricLabels.DRAFT);
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DATASET, this.calculatePublishedDatasets(true), MetricLabels.PUBLISHED); } catch (Exception e) {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DATASET, this.calculateDoiedDatasets(true), MetricLabels.DOIED); logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DATASET, this.calculateFinalizedDatasets(true), MetricLabels.FINALIZED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DATASET, this.calculatePublishedDatasets(true), MetricLabels.PUBLISHED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DATASET, this.calculateDoiedDatasets(true), MetricLabels.DOIED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
this.setGaugeValue(gauges, MetricNames.DATASET_TEMPLATE, this.calculateDraftTemplates(false), MetricLabels.DRAFT); try {
this.setGaugeValue(gauges, MetricNames.DATASET_TEMPLATE, this.calculateFinalizedTemplates(false), MetricLabels.ACTIVE); this.setGaugeValue(gauges, MetricNames.DATASET_TEMPLATE, this.calculateDraftTemplates(false), MetricLabels.DRAFT);
this.setGaugeValue(gauges, MetricNames.DATASET_TEMPLATE, this.calculateUsedTemplates(false), MetricLabels.USED); } catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.DATASET_TEMPLATE, this.calculateFinalizedTemplates(false), MetricLabels.ACTIVE);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.DATASET_TEMPLATE, this.calculateUsedTemplates(false), MetricLabels.USED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DATASET_TEMPLATE, this.calculateDraftTemplates(true), MetricLabels.DRAFT); try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DATASET_TEMPLATE, this.calculateFinalizedTemplates(true), MetricLabels.ACTIVE); this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DATASET_TEMPLATE, this.calculateDraftTemplates(true), MetricLabels.DRAFT);
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DATASET_TEMPLATE, this.calculateUsedTemplates(true), MetricLabels.USED); } catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DATASET_TEMPLATE, this.calculateFinalizedTemplates(true), MetricLabels.ACTIVE);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.DATASET_TEMPLATE, this.calculateUsedTemplates(true), MetricLabels.USED);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
this.setGaugeValue(gauges, MetricNames.LANGUAGES, this.calculateLanguages(), null); try {
this.setGaugeValue(gauges, MetricNames.LANGUAGES, this.calculateLanguages(), null);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
this.setGaugeValue(gauges, MetricNames.INSTALLATIONS, 1d, null); try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.INSTALLATIONS, 1d, null); this.setGaugeValue(gauges, MetricNames.INSTALLATIONS, 1d, null);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.NEXUS_PREFIX + MetricNames.INSTALLATIONS, 1d, null);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
this.setGaugeValue(gauges, MetricNames.USERS, this.calculateActiveUsers(), MetricLabels.LOGGEDIN); try {
this.setGaugeValue(gauges, MetricNames.USERS, this.calculateAllUsers(), MetricLabels.TOTAL); this.setGaugeValue(gauges, MetricNames.USERS, this.calculateActiveUsers(), MetricLabels.LOGGEDIN);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
try {
this.setGaugeValue(gauges, MetricNames.USERS, this.calculateAllUsers(), MetricLabels.TOTAL);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
} finally { } finally {
@ -317,13 +489,7 @@ public class MetricsServiceImpl implements MetricsService {
} }
private double calculateActiveUsers() { private double calculateActiveUsers() {
double result = -1; return this.keycloakAdminRestApi.users().getUserSessionsCountByClientId(this._config.getUsersLoginClient());
try {
result = this.keycloakAdminRestApi.users().getUserSessionsCountByClientId(this._config.getUsersLoginClient());
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
return result;
} }
private double calculateAllUsers() { private double calculateAllUsers() {

View File

@ -3,7 +3,6 @@ metrics:
enable: true enable: true
intervalSeconds: 600 intervalSeconds: 600
nexusDate: "2021-01-01T00:00:00.00Z" nexusDate: "2021-01-01T00:00:00.00Z"
usersLoginClient: ${IDP_APIKEY_CLIENT_ID_UUID:}
referenceTypes: referenceTypes:
funderIds: ["538928bb-c7c6-452e-b66d-08e539f5f082"] funderIds: ["538928bb-c7c6-452e-b66d-08e539f5f082"]
grantIds: ["5b9c284f-f041-4995-96cc-fad7ad13289c"] grantIds: ["5b9c284f-f041-4995-96cc-fad7ad13289c"]

View File

@ -3,7 +3,7 @@ metrics:
enable: false enable: false
intervalSeconds: null intervalSeconds: null
nexusDate: null nexusDate: null
usersLoginClient: null usersLoginClient: ${IDP_APIKEY_CLIENT_ID_UUID}
referenceTypes: referenceTypes:
funderIds: [] funderIds: []
grantIds: [] grantIds: []

View File

@ -7,9 +7,9 @@ PROXY_TAG=mainline-alpine
MAIN_APP_TAG=2.1.8 MAIN_APP_TAG=2.1.8
NOTIFICATION_APP_TAG=2.1.7 NOTIFICATION_APP_TAG=2.1.7
ANNOTATION_APP_TAG=2.1.7 ANNOTATION_APP_TAG=2.1.7
DOCX_APP_TAG=0.0.12 DOCX_APP_TAG=0.0.13
JSON_APP_TAG=0.0.8 JSON_APP_TAG=0.0.9
ZENODO_APP_TAG=2.0.8 ZENODO_APP_TAG=2.0.9
POSTGRES_TAG=16-alpine POSTGRES_TAG=16-alpine
ELK_TAG=8.13.0 ELK_TAG=8.13.0
KEYCLOAK_TAG=24.0.2 KEYCLOAK_TAG=24.0.2

View File

@ -0,0 +1,78 @@
#!/bin/bash
set -e
networks=("opencdmp-elastic-shared-network" "opencdmp-gotenberg-shared-network" "opencdmp-keycloak-shared-network" "opencdmp-postgres-shared-network" "opencdmp-rabbitmq-shared-network")
network_exists() {
local name="$1"
docker network inspect "$name" >/dev/null 2>&1
}
for network in "${networks[@]}"; do
if ! network_exists "$network"; then
echo "Creating network: $network"
docker network create "$network"
if [ $? -eq 0 ]; then
echo "Network $network created successfully."
else
echo "Failed to create network $network."
fi
else
echo "Network $network already exists."
fi
done
docker-compose down
chmod 744 ./elk/elasticsearch/index_init.sh
recreate_directories() {
echo "Resetting postgres and elasticsearch..."
sudo rm -rf ./storage/postgres/data
mkdir -p ./storage/postgres/data
sudo rm -rf ./storage/elasticsearch
mkdir -p ./storage/elasticsearch
}
if [[ $1 == "-r" ]]; then
recreate_directories
fi
docker-compose up -d opencdmp.elasticsearch
function loading_icon() {
local load_interval="${1}"
local loading_message="${2}"
local elapsed=0
local loading_animation=( '—' "\\" '|' '/' )
echo -n "${loading_message} "
tput civis
trap "tput cnorm" EXIT
while [ "${load_interval}" -ne "${elapsed}" ]; do
for frame in "${loading_animation[@]}" ; do
printf "%s\b" "${frame}"
sleep 0.25
done
elapsed=$(( elapsed + 1 ))
done
printf " \b\n"
}
loading_icon 45 "Waiting for Elasticsearch to Startup!"
if [[ $1 == "-r" ]]; then
docker exec opencdmp.elasticsearch /usr/share/elasticsearch/config/index_init.sh
fi
docker restart opencdmp.elasticsearch
docker-compose up -d opencdmp.postgres
loading_icon 20 "Waiting for PostgreSQL to Initialize!"
docker-compose up -d opencdmp.keycloak
loading_icon 60 "Waiting for Keycloak to Startup!"
docker-compose up -d

View File

@ -154,24 +154,24 @@ services:
############################## POSTGRES 16 ################################# ############################## POSTGRES 16 #################################
# opencdmp.postgres: opencdmp.postgres:
# restart: unless-stopped restart: unless-stopped
# mem_limit: 2048M mem_limit: 2048M
# ports: ports:
# # - "127.0.0.1:${POSTGRES_PORT}:5432" # If you want to make it accessible locally only # - "127.0.0.1:${POSTGRES_PORT}:5432" # If you want to make it accessible locally only
# - "${POSTGRES_PORT}:5432" - "${POSTGRES_PORT}:5432"
# env_file: env_file:
# - ./postgres/postgres.env - ./postgres/postgres.env
# volumes: volumes:
# - ./storage/postgres/data:/var/lib/postgresql/data - ./storage/postgres/data:/var/lib/postgresql/data
# - ./postgres/opencdmp_init.sql:/docker-entrypoint-initdb.d/opencdmp_init.sql - ./postgres/opencdmp_init.sql:/docker-entrypoint-initdb.d/opencdmp_init.sql
# networks: networks:
# - opencdmp-postgres-shared-network - opencdmp-postgres-shared-network
# healthcheck: healthcheck:
# test: ["CMD-SHELL", "sh -c 'pg_isready -U postgres -d opencdmp'"] test: ["CMD-SHELL", "sh -c 'pg_isready -U postgres -d opencdmp'"]
# interval: 15s interval: 15s
# timeout: 60s timeout: 60s
# retries: 5 retries: 5
################################# ELASTICSEARCH ################################################# ################################# ELASTICSEARCH #################################################
@ -205,27 +205,27 @@ services:
timeout: 10s timeout: 10s
retries: 5 retries: 5
############################## KEYCLOAK ############################################### #################################### KEYCLOAK ###############################################
# opencdmp.keycloak: opencdmp.keycloak:
# restart: unless-stopped restart: unless-stopped
# command: ["start-dev", "--log=console,file", "--log-file=/tmp/logs/keycloak.log", "--import-realm"] command: ["start-dev", "--log=console,file", "--log-file=/tmp/logs/keycloak.log", "--import-realm"]
# cpus: 2 cpus: 2
# mem_limit: 2048M mem_limit: 2048M
# env_file: env_file:
# - ./keycloak/keycloak.env - ./keycloak/keycloak.env
# environment: environment:
# - JAVA_OPTS_APPEND="-Djava.net.preferIPv4Stack=true" - JAVA_OPTS_APPEND="-Djava.net.preferIPv4Stack=true"
# volumes: volumes:
# - ./logs/keycloak:/tmp/logs - ./logs/keycloak:/tmp/logs
# - ./keycloak/imports/opencdmp-realm.json:/opt/keycloak/data/import/opencdmp-realm.json - ./keycloak/imports/opencdmp-realm.json:/opt/keycloak/data/import/opencdmp-realm.json
# expose: expose:
# - "8080" - "8080"
# networks: networks:
# - opencdmp-proxy-network - opencdmp-proxy-network
# - opencdmp-postgres-shared-network - opencdmp-postgres-shared-network
# - opencdmp-keycloak-shared-network - opencdmp-keycloak-shared-network
############################## RABBITMQ ############################################### ################################# RABBITMQ ###############################################
opencdmp.rabbitmq: opencdmp.rabbitmq:
labels: labels:
NAME: "rabbitmq" NAME: "rabbitmq"
@ -243,7 +243,7 @@ services:
- opencdmp-proxy-network - opencdmp-proxy-network
- opencdmp-rabbitmq-shared-network - opencdmp-rabbitmq-shared-network
############################## GOTENBERG ############################################## ################################# GOTENBERG ##############################################
opencdmp.gotenberg: opencdmp.gotenberg:
cpus: 2 cpus: 2
mem_limit: 2048m mem_limit: 2048m

View File

@ -23,20 +23,20 @@ services:
opencdmp.backend: opencdmp.backend:
container_name: opencdmp.backend container_name: opencdmp.backend
image: ${DOCKER_REGISTRY}open-dmp-api:${MAIN_APP_TAG} image: ${DOCKER_REGISTRY}open-dmp-api:${MAIN_APP_TAG}
# depends_on: depends_on:
# - opencdmp.postgres - opencdmp.postgres
opencdmp.notification: opencdmp.notification:
container_name: opencdmp.notification container_name: opencdmp.notification
image: ${DOCKER_REGISTRY}open-dmp-notification-api:${NOTIFICATION_APP_TAG} image: ${DOCKER_REGISTRY}open-dmp-notification-api:${NOTIFICATION_APP_TAG}
# depends_on: depends_on:
# - opencdmp.postgres - opencdmp.postgres
opencdmp.annotation: opencdmp.annotation:
container_name: opencdmp.annotation container_name: opencdmp.annotation
image: ${DOCKER_REGISTRY}open-dmp-annotation-api:${ANNOTATION_APP_TAG} image: ${DOCKER_REGISTRY}open-dmp-annotation-api:${ANNOTATION_APP_TAG}
# depends_on: depends_on:
# - opencdmp.postgres - opencdmp.postgres
# # ############################## FILE-TRANSFORMERS ####################################### # # ############################## FILE-TRANSFORMERS #######################################
@ -60,22 +60,22 @@ services:
- opencdmp.backend - opencdmp.backend
############################## POSTGRES 16 ############################################ ############################## POSTGRES 16 ############################################
# opencdmp.postgres: opencdmp.postgres:
# container_name: opencdmp.postgres container_name: opencdmp.postgres
# image: postgres:${POSTGRES_TAG} image: postgres:${POSTGRES_TAG}
################################# ELASTICSEARCH ################################################# ################################# ELASTICSEARCH #################################################
opencdmp.elasticsearch: opencdmp.elasticsearch:
container_name: opencdmp.elasticsearch container_name: opencdmp.elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:${ELK_TAG} image: docker.elastic.co/elasticsearch/elasticsearch:${ELK_TAG}
############################## KEYCLOAK ############################################### ############################# KEYCLOAK ###############################################
# opencdmp.keycloak: opencdmp.keycloak:
# container_name: opencdmp.keycloak container_name: opencdmp.keycloak
# image: quay.io/keycloak/keycloak:${KEYCLOAK_TAG} image: quay.io/keycloak/keycloak:${KEYCLOAK_TAG}
# depends_on: depends_on:
# opencdmp.postgres: opencdmp.postgres:
# condition: service_healthy condition: service_healthy
############################## RABBITMQ ############################################### ############################## RABBITMQ ###############################################
opencdmp.rabbitmq: opencdmp.rabbitmq:

View File

@ -4,7 +4,7 @@ echo "Elasticsearch is now available. Proceeding with initialization..."
echo "Creating Elasticsearch indexes, roles, and users..." echo "Creating Elasticsearch indexes, roles, and users..."
# Command to create the "plans" index # Command to create the "plans" index
curl -XPUT "http://localhost:9200/plans" -u elastic:elastic -H 'Content-Type: application/json' -d '{ curl -XPUT "http://localhost:9200/opencdmp-plans-test" -u elastic:elastic -H 'Content-Type: application/json' -d '{
"settings": { "settings": {
"number_of_shards": 1, "number_of_shards": 1,
"number_of_replicas": 1 "number_of_replicas": 1
@ -20,7 +20,7 @@ curl -XPUT "http://localhost:9200/plans" -u elastic:elastic -H 'Content-Type: ap
}' }'
# Command to create the "descriptions" index # Command to create the "descriptions" index
curl -XPUT "http://localhost:9200/descriptions" -u elastic:elastic -H 'Content-Type: application/json' -d '{ curl -XPUT "http://localhost:9200/opencdmp-descriptions-test" -u elastic:elastic -H 'Content-Type: application/json' -d '{
"settings": { "settings": {
"number_of_shards": 1, "number_of_shards": 1,
"number_of_replicas": 1 "number_of_replicas": 1
@ -37,7 +37,7 @@ curl -XPUT "http://localhost:9200/descriptions" -u elastic:elastic -H 'Content-T
curl -XPOST "localhost:9200/_security/role/opencdmp-api-test" -u elastic:elastic -H 'Content-Type: application/json' -d '{ curl -XPOST "localhost:9200/_security/role/opencdmp-api-test" -u elastic:elastic -H 'Content-Type: application/json' -d '{
"indices": [ "indices": [
{ {
"names": [ "opencdmp-*-test" ], "names": [ "opencdmp-plans-test", "opencdmp-descriptions-test" ],
"privileges": [ "all" ] "privileges": [ "all" ]
} }
] ]
@ -45,6 +45,8 @@ curl -XPOST "localhost:9200/_security/role/opencdmp-api-test" -u elastic:elastic
curl -XPOST "localhost:9200/_security/user/opencdmp-api-test?pretty" -u elastic:elastic -H 'Content-Type: application/json' -d' curl -XPOST "localhost:9200/_security/user/opencdmp-api-test?pretty" -u elastic:elastic -H 'Content-Type: application/json' -d'
{ {
"password" : "your_password_here", "password" : "opencdmp",
"roles" : [ "opencdmp-api-test" ] "roles" : [ "opencdmp-api-test" ]
}' }'
elasticsearch-plugin install analysis-icu

View File

@ -773,6 +773,45 @@
], ],
"notBefore": 0, "notBefore": 0,
"groups": [] "groups": []
},
{
"username": "opencdmp-admin",
"enabled": true,
"email": "opencdmp@admin.com",
"emailVerified": true,
"credentials": [
{
"type": "password",
"value": "admin"
}
],
"realmRoles": [
"default-roles-dmp-staging"
],
"groups": [
"/opencdmp-app/role-admin",
"/opencdmp-app/tenant-role-admin/tenant-default"
]
},
{
"username": "dmp-keycloak-api",
"enabled": true,
"email": "dmp@api.com",
"emailVerified": true,
"credentials": [
{
"type": "password",
"value": "admin"
}
],
"realmRoles": [
"default-roles-dmp-staging",
"realm-admin"
],
"groups": [
"/opencdmp-app/role-user",
"/opencdmp-app/tenant-role-user/tenant-default"
]
} }
], ],
"scopeMappings": [ "scopeMappings": [

View File

@ -8,9 +8,9 @@ ELASTIC_ENABLED=true
ELASTIC_USE_SSL=false ELASTIC_USE_SSL=false
ELASTIC_HOST=opencdmp.elasticsearch:9200 ELASTIC_HOST=opencdmp.elasticsearch:9200
ELASTIC_USER= opencdmp-api-test ELASTIC_USER= opencdmp-api-test
ELASTIC_PASS=your_password_here ELASTIC_PASS=opencdmp
ELASTIC_DMP_INDEX=plans ELASTIC_DMP_INDEX=opencdmp-plans-test
ELASTIC_DESCRIPTION_INDEX=descriptions ELASTIC_DESCRIPTION_INDEX=opencdmp-descriptions-test
#SERVER #SERVER
WEB_PORT=8081 WEB_PORT=8081

View File

@ -3,7 +3,6 @@ metrics:
enable: true enable: true
intervalSeconds: 600 intervalSeconds: 600
nexusDate: "2021-01-01T00:00:00.00Z" nexusDate: "2021-01-01T00:00:00.00Z"
usersLoginClient: ${IDP_APIKEY_CLIENT_ID_UUID:}
referenceTypes: referenceTypes:
funderIds: ["538928bb-c7c6-452e-b66d-08e539f5f082"] funderIds: ["538928bb-c7c6-452e-b66d-08e539f5f082"]
grantIds: ["5b9c284f-f041-4995-96cc-fad7ad13289c"] grantIds: ["5b9c284f-f041-4995-96cc-fad7ad13289c"]

View File

@ -348,7 +348,7 @@
"LANGUAGE": "Language", "LANGUAGE": "Language",
"PRIMARY-COLOR": "Primary Color", "PRIMARY-COLOR": "Primary Color",
"PRIMARY-COLOR-2": "Primary Color 2", "PRIMARY-COLOR-2": "Primary Color 2",
"PRIMARY-COLOR-3": "Primary Color 2", "PRIMARY-COLOR-3": "Primary Color 3",
"SECONDARY-COLOR": "Secondary Color", "SECONDARY-COLOR": "Secondary Color",
"DISABLE-SYSTEM-SOURCES": "Disable System Sources", "DISABLE-SYSTEM-SOURCES": "Disable System Sources",
"DEPOSIT-PLUGINS": "Plugin", "DEPOSIT-PLUGINS": "Plugin",
@ -739,7 +739,10 @@
"TITLE": "Description is locked", "TITLE": "Description is locked",
"MESSAGE": "Somebody else is modifying the description at this moment. If you would like to modify or view it, please come back later." "MESSAGE": "Somebody else is modifying the description at this moment. If you would like to modify or view it, please come back later."
}, },
"FINALISE-POPUP": {} "FINALISE-POPUP": {},
"ROLES": {
"ALL-SECTIONS": "All Sections"
}
}, },
"DESCRIPTION-LISTING": { "DESCRIPTION-LISTING": {
"TITLE": "My Descriptions", "TITLE": "My Descriptions",

View File

@ -0,0 +1,2 @@
logging:
config: /config/logging/logback-${spring.profiles.active}.xml

View File

@ -0,0 +1,67 @@
<configuration debug="false">
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%date{ISO8601} [%thread] %-5level %logger{36} [%X{req.id}] - %message%n</Pattern>
</encoder>
</appender>
<appender name="TROUBLESHOOTING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/logs/logging.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/logging.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>15</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%date{ISO8601} [%thread] %-5level %logger{36} [%X{req.id}] - %message%n</Pattern>
</encoder>
</appender>
<appender name="AUDITING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/logs/auditing.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/auditing.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>15</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%date{ISO8601} - %X{req.id} - %message%n</Pattern>
</encoder>
</appender>
<logger name="org.springframework.web" level="WARN" additivity="false">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="org.hibernate" level="WARN" additivity="false">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="gr.cite" level="WARN" additivity="false">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="eu.eudat" level="WARN" additivity="false">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="org.springframework.data.elasticsearch.client.WIRE" level="TRACE" additivity="false">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="audit" level="INFO" additivity="false">
<appender-ref ref="AUDITING"/>
<appender-ref ref="STDOUT"/>
</logger>
<root level="INFO">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</root>
</configuration>

View File

@ -0,0 +1,2 @@
logging:
config: /config/logging/logback-${spring.profiles.active}.xml

View File

@ -0,0 +1,67 @@
<configuration debug="false">
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%date{ISO8601} [%thread] %-5level %logger{36} [%X{req.id}] - %message%n</Pattern>
</encoder>
</appender>
<appender name="TROUBLESHOOTING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/logs/logging.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/logging.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>15</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%date{ISO8601} [%thread] %-5level %logger{36} [%X{req.id}] - %message%n</Pattern>
</encoder>
</appender>
<appender name="AUDITING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/logs/auditing.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/auditing.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>15</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%date{ISO8601} - %X{req.id} - %message%n</Pattern>
</encoder>
</appender>
<logger name="org.springframework.web" level="WARN" additivity="false">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="org.hibernate" level="WARN" additivity="false">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="gr.cite" level="WARN" additivity="false">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="eu.eudat" level="WARN" additivity="false">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="org.springframework.data.elasticsearch.client.WIRE" level="TRACE" additivity="false">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="audit" level="INFO" additivity="false">
<appender-ref ref="AUDITING"/>
<appender-ref ref="STDOUT"/>
</logger>
<root level="INFO">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</root>
</configuration>

View File

@ -11,7 +11,7 @@ notification:
contacts: [ email ] contacts: [ email ]
- #dmpInvitationExistingUser - #dmpInvitationExistingUser
type: 4904dea2-5079-46d3-83be-3a19c9ab45dc type: 4904dea2-5079-46d3-83be-3a19c9ab45dc
contacts: [ inapp, email ] contacts: [ email, inapp ]
- #dpmModified - #dpmModified
type: 4542262A-22F8-4BAA-9DB6-1C8E70AC1DBB type: 4542262A-22F8-4BAA-9DB6-1C8E70AC1DBB
contacts: [ inapp, email ] contacts: [ inapp, email ]

View File

@ -0,0 +1,2 @@
logging:
config: /config/logging/logback-${spring.profiles.active}.xml

View File

@ -0,0 +1,67 @@
<configuration debug="false">
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%date{ISO8601} [%thread] %-5level %logger{36} [%X{req.id}] - %message%n</Pattern>
</encoder>
</appender>
<appender name="TROUBLESHOOTING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/logs/logging.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/logging.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>15</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%date{ISO8601} [%thread] %-5level %logger{36} [%X{req.id}] - %message%n</Pattern>
</encoder>
</appender>
<appender name="AUDITING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/logs/auditing.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/auditing.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>15</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%date{ISO8601} - %X{req.id} - %message%n</Pattern>
</encoder>
</appender>
<logger name="org.springframework.web" level="WARN" additivity="false">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="org.hibernate" level="WARN" additivity="false">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="gr.cite" level="WARN" additivity="false">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="eu.eudat" level="WARN" additivity="false">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="org.springframework.data.elasticsearch.client.WIRE" level="TRACE" additivity="false">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</logger>
<logger name="audit" level="INFO" additivity="false">
<appender-ref ref="AUDITING"/>
<appender-ref ref="STDOUT"/>
</logger>
<root level="INFO">
<appender-ref ref="TROUBLESHOOTING"/>
<appender-ref ref="STDOUT"/>
</root>
</configuration>

View File

@ -146,6 +146,88 @@ CREATE TABLE public."DBVersion" (
description text description text
); );
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.001', '2020-03-31 08:34:54.236152+00', '2020-04-02 08:24:17.982713+00', 'Add Database Versioning');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.002', '2020-05-04 10:42:00+00', '2020-05-12 16:04:59.286316+00', 'Add User Association');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.003', '2020-05-06 15:11:00+00', '2020-07-01 17:21:42.011329+00', 'Add Doi Funder');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.004', '2020-06-03 09:00:00+00', '2020-07-01 17:22:08.818043+00', 'Add language to DMP and Dataset Template');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.005', '2020-06-03 09:00:00+00', '2020-07-01 17:22:16.127889+00', 'Remove user association table');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.006', '2020-10-26 07:10:00+00', '2021-05-19 08:26:52.487759+00', 'Update Credential and LoginConfirmationEmail tables');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.007', '2020-10-27 10:40:00+00', '2021-05-19 08:27:15.799832+00', 'Add userstatus on UserInfo table');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.008', '2021-04-05 14:48:00+00', '2021-05-19 08:41:47.653423+00', 'Add Dataset Profile User Table');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.008', '2021-04-05 14:48:00+00', '2021-05-19 10:38:30.376503+00', 'Add Dataset Profile User Table');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.009', '2022-03-03 13:50:00+00', '2022-05-16 07:41:15.567827+00', 'Add File Table for uploaded files');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.010', '2022-10-27 08:50:00+00', '2023-02-28 09:48:20.924562+00', 'Add Doi Table for depositions');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.011', '2022-10-27 08:50:00+00', '2023-02-28 09:48:30.770555+00', 'Migrate DMP.DOI to EntityDoi table');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.012', '2022-10-27 08:50:00+00', '2023-02-28 09:48:38.792902+00', 'Delete doi column from dmp table');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.013', '2023-06-21 10:00:00+00', '2024-02-15 10:26:07.69147+00', 'Add Description Template Type table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.014', '2023-06-21 10:00:00+00', '2024-02-15 10:26:18.074713+00', 'Rename DatasetProfile Table to DescriptionTemplate and add column Type referencing the DescriptionTemplateType.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.015', '2023-09-01 10:00:00+00', '2024-02-15 10:26:28.577243+00', 'Add column DmpSectionIndex to Dataset table and data to DMPDatasetProfile.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.016', '2023-09-12 10:00:00+00', '2024-02-15 10:26:49.804431+00', 'Insert default blueprint, update profile of existing dmps and update DmpSectionIndex for each dataset.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.00.017', '2023-09-18 10:00:00+00', '2024-02-15 10:26:57.336389+00', 'Make grant column of dmp table not null.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.000', '2023-11-22 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add Reference, ReferenceType, SupportiveMaterial');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.001', '2023-10-19 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Align Description Template Type.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.002', '2023-10-19 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Align Entity Doi table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.003', '2023-10-19 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add UserSettings table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.004', '2023-10-27 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Align dmp blueprint table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.005', '2023-10-27 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add Dmp table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.006', '2023-10-27 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add DescriptionReference table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.007', '2023-10-27 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add Description table (former Dataset).');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.008', '2023-10-27 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add DescriptionReference table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.009', '2023-10-27 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Drop old dataset related tables.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.010', '2023-11-02 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Aling DescriptionTemplate table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.011', '2023-11-02 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Aling UserDescriptionTemplate table (former UserDatasetProfile).');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.012', '2023-11-02 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add Dmp Description Template table (former DMPDatasetProfile).');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.013', '2023-11-07 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add Dmp User table (former UserDMP).');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.014', '2023-11-20 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Sync table Description.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.015', '2023-11-20 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table tag.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.016', '2023-11-20 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table DescriptionTag.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.017', '2023-11-20 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table User.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.018', '2023-11-20 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table UserCredential.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.019', '2023-11-20 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table UserContactInfo.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.020', '2023-11-20 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Sync table UserRole.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.021', '2023-11-20 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Sync user tables data.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.022', '2023-11-20 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Update user tables fks.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.023', '2023-11-20 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table Tenant.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.024', '2023-11-27 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table Language.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.025', '2023-11-20 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table StorageFile.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.026', '2023-11-29 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'ALter table Language.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.027', '2023-12-05 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Rename table Notification to NotificationLegacy.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.028', '2023-12-05 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table QueueOutbox.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.029', '2023-12-05 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table QueueInbox.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.030', '2023-12-05 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add tables ntf_Tenant and ntf_TenantConfiguration.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.031', '2024-01-24 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ntf_User.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.032', '2023-12-05 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ntf_Notification.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.033', '2024-01-24 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ntf_UserContactInfo.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.034', '2024-01-24 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ntf_UserCredential.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.035', '2024-01-25 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ntf_TenantUser.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.036', '2023-12-15 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add ntf_NotificationTemplate table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.037', '2023-12-05 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ntf_QueueInbox.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.038', '2023-12-05 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ntf_QueueOutbox.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.039', '2023-12-05 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ntf_InAppNotification.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.040', '2023-12-05 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ntf_UserNotificationPreference.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.041', '2023-12-06 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table TenantUser.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.042', '2023-12-06 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Rename usersettings Table to UserSettings.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.043', '2023-12-06 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add Tenant Id to tables.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.044', '2023-12-08 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Drop old Lock Table and create New Lock table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.045', '2023-12-13 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add ActionConfirmation table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.046', '2023-12-27 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Change Entity Type To Enum at Entity DOI table');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.047', '2024-02-02 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add versioning on dmp blueprint table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.048', '2024-02-13 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add tables ant_Tenant and ant_TenantConfiguration.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.049', '2024-02-13 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ant_QueueInbox.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.050', '2024-02-13 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ant_QueueOutbox.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.051', '2024-02-13 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ant_User.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.052', '2024-02-13 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ant_UserCredential.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.053', '2024-02-13 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ant_TenantUser.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.054', '2024-02-21 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add Section_id Column to DmpUser Table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.055', '2024-02-20 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ant_Annotation.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.056', '2024-02-20 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ant_EntityUser.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.057', '2024-02-22 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add PrefillingSource table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.058', '2024-02-28 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add table ant_UserContactInfo.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.059', '2024-03-07 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add columns on ant_Annotaion table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.060', '2024-03-26 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add Language, Prefilling Source, Reference Type values.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.061', '2024-03-27 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Remove DMP fkey from EntityDoi Table.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.062', '2024-04-08 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add currency reference type value.');
INSERT INTO public."DBVersion" VALUES ('DMPDB', '00.01.063', '2024-04-19 10:00:00+00', '2024-05-08 13:42:55.229528+00', 'Add TenantConfiguration Table.');
-- --
-- TOC entry 220 (class 1259 OID 63781) -- TOC entry 220 (class 1259 OID 63781)
@ -505,6 +587,8 @@ CREATE TABLE public."DescriptionTemplateType" (
tenant uuid tenant uuid
); );
INSERT INTO public."DescriptionTemplateType" VALUES ('3e55320b-67c9-4758-bb0b-27d9cfb172c0', 'Admin', 0, '2024-05-13 07:55:05.859681', '2024-05-13 07:55:16.153843', 0, NULL);
-- --
-- TOC entry 235 (class 1259 OID 63880) -- TOC entry 235 (class 1259 OID 63880)
@ -552,6 +636,8 @@ CREATE TABLE public."DmpBlueprint" (
version_status smallint NOT NULL version_status smallint NOT NULL
); );
INSERT INTO public."DmpBlueprint" VALUES ('86635178-36a6-484f-9057-a934e4eeecd5', 'Dmp Default Blueprint', '<?xml version="1.0" standalone="yes"?><root><sections><section id="f94e50e0-cb97-4c65-8b88-e5db6badd41d" label="Main Info" description="" ordinal="1" hasTemplates="false"><fields><system type="Title" id="e62c3fa2-4cbe-41bf-a00e-ad722c7c7da1" category="System" label="Title of DMP" placeholder="Title of DMP" description="" ordinal="1" required="true"/><system type="Description" id="eed2871d-5201-401e-8453-87afbeac77e3" category="System" label="Description" placeholder="Fill with description" description="Briefly describe the context and purpose of the DMP" ordinal="2" required="true"/><referenceType referenceTypeId="5a2112e7-ea99-4cfe-98a1-68665e26726e" multipleSelect="true" id="41a0b1db-b186-467d-8edf-7d3b2456f95e" category="ReferenceType" label="Researchers" placeholder="Select researchers" description="Add here the names of people that have produced, processed, analysed the data described in the DMP." ordinal="3" required="false"/><referenceType referenceTypeId="7eeffb98-58fb-4921-82ec-e27f32f8e738" multipleSelect="true" id="0f0afb55-a11b-41db-a4d0-67ebb74d8685" category="ReferenceType" label="Organizations" placeholder="Select organization" description="Add here the names of the organizations contributing to the creation and revision of the DMPs" ordinal="4" required="false"/><system type="Language" id="db493026-3130-4730-9b93-da6b77d2eea4" category="System" label="Language" placeholder="Language" description="Select the language of your DMP" ordinal="5" required="true"/><system type="Contact" id="22deb104-1c46-4ea8-8261-8fdc9500dca2" category="System" label="Contact" placeholder="Contact" description="" ordinal="6" required="true"/></fields></section><section id="3c2608e5-9320-4d94-9ed7-1eab9500d84b" label="Funding" description="" ordinal="2" hasTemplates="false"><fields><referenceType referenceTypeId="538928bb-c7c6-452e-b66d-08e539f5f082" multipleSelect="false" id="527af8fe-27b0-4715-9e1e-35a2fce834a1" category="ReferenceType" label="Funding organizations" placeholder="Funder" description="Select a funder of your research or add new" ordinal="1" required="true"/><referenceType referenceTypeId="5b9c284f-f041-4995-96cc-fad7ad13289c" multipleSelect="false" id="4d12904e-2501-4d57-8d2b-1ac795c297e7" category="ReferenceType" label="Grants" placeholder="Grant" description="Find the grant of your research or add new" ordinal="2" required="true"/><referenceType referenceTypeId="3d372db5-a456-45e6-a845-e41e1a8311f8" multipleSelect="false" id="82f235c8-98fc-48d1-8245-36ab08f01036" category="ReferenceType" label="Project" placeholder="Project" description="Projects in Argos are perceived as distinct activities falling under a grant or common activities under different grants in collaborative schemas, eg open call for contributions. Please complete it for the grant associated to your organization if your project falls under this category. In all other cases, please leave blank and it will be autocompleted." ordinal="3" required="false"/></fields></section><section id="2a77e1f6-9989-4aeb-acd9-48e911a92abd" label="License" description="" ordinal="3" hasTemplates="false"><fields><referenceType referenceTypeId="2baab1e8-561f-4c15-84c3-571b811c52f6" multipleSelect="true" id="75c31705-6731-45dd-9853-75c5d0627439" category="ReferenceType" label="License" placeholder="License" description="Assign a license to your DMP by selecting the most appropriate from the list." ordinal="1" required="false"/><system type="AccessRights" id="990df932-eae6-44ca-85da-5378b010f439" category="System" label="Access Rights" placeholder="Access Rights" description="Choose how the DMP is displayed after is published on Zenodo. By choosing Open Access, the DMP will be open on Zenodo after the Publication Date. By choosing Restricted Access, the DMP will be restricted after the publication is made." ordinal="2" required="true"/></fields></section><section id="0db7845b-0e7c-41df-8d91-cbca97995fd5" label="Templates" description="" ordinal="4" hasTemplates="true"/></sections></root>', 1, '2024-02-15 10:26:49.804431', '2024-02-15 10:26:49.804431', 1, NULL, 'c905f3f1-9f55-45e7-953b-c370c465c02b', 1, 0);
-- --
-- TOC entry 237 (class 1259 OID 63899) -- TOC entry 237 (class 1259 OID 63899)
@ -822,6 +908,18 @@ CREATE TABLE public."Language" (
tenant uuid tenant uuid
); );
INSERT INTO public."Language" VALUES ('94b2ead6-e27c-45f5-a986-14dda5a58376', 'en', NULL, '2023-11-28 16:35:18.114652', '2023-11-29 15:50:57.253892', 1, 0, NULL);
INSERT INTO public."Language" VALUES ('defd282e-48d0-4f69-9b99-4137d5ce05af', 'gr', NULL, '2023-11-28 16:35:18.114652', '2023-11-29 15:50:57.253892', 1, 1, NULL);
INSERT INTO public."Language" VALUES ('1213a820-e6bb-492e-b63b-06a8c650ef92', 'es', NULL, '2023-11-28 16:35:18.114652', '2023-11-29 15:50:57.253892', 1, 3, NULL);
INSERT INTO public."Language" VALUES ('d8bb2f19-048d-4806-b99a-efdafe36de52', 'de', NULL, '2023-11-28 16:35:18.114652', '2023-11-29 15:50:57.253892', 1, 0, NULL);
INSERT INTO public."Language" VALUES ('acb16ec4-dbad-4aec-b6a0-214ebacc2983', 'hr', NULL, '2023-11-28 16:35:18.114652', '2023-11-29 15:50:57.253892', 1, 4, NULL);
INSERT INTO public."Language" VALUES ('c9d8850c-c459-47b1-98d1-9c21b614ae7b', 'hr', NULL, '2024-02-29 16:35:18.114652', '2024-02-29 16:35:18.114652', 1, 5, NULL);
INSERT INTO public."Language" VALUES ('96b9c91a-a9e4-4a66-9361-a1eba22cc971', 'tr', NULL, '2024-02-29 16:35:18.114652', '2024-02-29 16:35:18.114652', 1, 6, NULL);
INSERT INTO public."Language" VALUES ('cdbb160f-a655-46eb-8328-589144e5a484', 'sk', NULL, '2024-02-29 16:35:18.114652', '2024-02-29 16:35:18.114652', 1, 7, NULL);
INSERT INTO public."Language" VALUES ('57c6129a-a918-4fb0-9c5b-9ec1c2ee1341', 'sr', NULL, '2024-02-29 16:35:18.114652', '2024-02-29 16:35:18.114652', 1, 8, NULL);
INSERT INTO public."Language" VALUES ('110d2e49-1580-4ee3-b1df-84da966f97a8', 'pt', NULL, '2024-02-29 16:35:18.114652', '2024-02-29 16:35:18.114652', 1, 9, NULL);
INSERT INTO public."Language" VALUES ('3b865f61-a863-43de-98cd-da86fc3f5940', 'pl', NULL, '2024-02-29 16:35:18.114652', '2024-02-29 16:35:18.114652', 1, 10, NULL);
-- --
-- TOC entry 249 (class 1259 OID 63979) -- TOC entry 249 (class 1259 OID 63979)
@ -957,6 +1055,7 @@ CREATE TABLE public."PrefillingSource" (
); );
-- --
-- TOC entry 253 (class 1259 OID 64001) -- TOC entry 253 (class 1259 OID 64001)
-- Name: Project; Type: TABLE; Schema: public; Owner: - -- Name: Project; Type: TABLE; Schema: public; Owner: -
@ -1063,6 +1162,20 @@ CREATE TABLE public."ReferenceType" (
updated_at timestamp without time zone NOT NULL, updated_at timestamp without time zone NOT NULL,
tenant uuid tenant uuid
); );
INSERT INTO public."ReferenceType" VALUES ('2baab1e8-561f-4c15-84c3-571b811c52f6', 'Licenses', 'licenses', '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definition><fields><field code="uri" label="uri" description="uri" dataType="Text"/></fields><sources><api><key>opendefinition</key><label>Open Definition</label><ordinal>1</ordinal><type>0</type><authentication><authUrlMethod>0</authUrlMethod><authUrlBody></authUrlBody><authTokenPath></authTokenPath><authUrl></authUrl><enabled>false</enabled><authType></authType></authentication><contentType>application/vnd.api+json; charset=utf-8</contentType><filterType>local</filterType><firstPage>1</firstPage><requestHttpMethod>0</requestHttpMethod><paginationPath>$[*]</paginationPath><requestBody></requestBody><results><fieldsMapping><field><code>reference_id</code><responsePath>id</responsePath></field><field><code>label</code><responsePath>title</responsePath></field><field><code>description</code><responsePath>maintainer</responsePath></field><field><code>uri</code><responsePath>url</responsePath></field></fieldsMapping><resultsArrayPath>$[*]</resultsArrayPath></results><url>https://licenses.opendefinition.org/licenses/groups/all.json</url></api></sources></definition>', 1, '2023-11-16 16:24:12.162675', '2024-04-29 08:41:29.944368', NULL);
INSERT INTO public."ReferenceType" VALUES ('2beacaad-3223-43ad-ad99-1e5f21328e7b', 'Registries', 'registries', '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definition><fields><field code="url" label="url" description="url" dataType="Text"/></fields><sources><api><key>rda-metadata-schemes</key><label>RDA Metadata Schemes</label><ordinal>1</ordinal><referenceTypeDependencyIds/><type>0</type><authentication><authUrlMethod>0</authUrlMethod><authUrlBody></authUrlBody><authTokenPath></authTokenPath><authUrl></authUrl><enabled>false</enabled><authType></authType></authentication><contentType>application/json; charset=utf-8</contentType><filterType>remote</filterType><firstPage>1</firstPage><requestHttpMethod>0</requestHttpMethod><paginationPath>$[''meta''][''pagination''][''page'',''pages'',''count'']</paginationPath><queries><query><cases><case><value>{like}</value></case></cases><name>like</name></query></queries><requestBody></requestBody><results><fieldsMapping><field><code>reference_id</code><responsePath>mscid</responsePath></field><field><code>label</code><responsePath>title</responsePath></field><field><code>description</code><responsePath>description</responsePath></field><field><code>url</code><responsePath>uri</responsePath></field></fieldsMapping><resultsArrayPath>$[''data''][''items''][*]</resultsArrayPath></results><url>https://rdamsc.bath.ac.uk/api2/m?q={like}&amp;start=1&amp;pageSize={pageSize}</url></api></sources></definition>', 1, '2023-11-16 10:08:21.240804', '2024-02-16 09:16:50.456347', NULL);
INSERT INTO public."ReferenceType" VALUES ('3d372db5-a456-45e6-a845-e41e1a8311f8', 'Projects', 'projects', '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definition><sources><static><key>project</key><label>project</label><ordinal>1</ordinal><type>1</type><items><item><options><option><code>reference_id</code><value>cite_project</value></option><option><code>label</code><value>Cite Project</value></option><option><code>description</code><value>Cite Project</value></option></options></item></items></static></sources></definition>', 1, '2023-11-17 08:55:05.190807', '2023-11-17 08:56:23.012619', NULL);
INSERT INTO public."ReferenceType" VALUES ('51225b6a-86a6-48ac-9192-f15096dbcb8a', 'Publications', 'publications', '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definition><fields><field code="pid" label="pid" description="pid" dataType="Text"/><field code="pidTypeField" label="pidTypeField" description="pidTypeField" dataType="Text"/></fields><sources><api><key>openaire</key><label>OpenAIRE Publications</label><ordinal>1</ordinal><type>0</type><authentication><authUrlMethod>0</authUrlMethod><authUrlBody></authUrlBody><authTokenPath></authTokenPath><authUrl></authUrl><enabled>false</enabled><authType></authType></authentication><contentType>application/json;charset=UTF-8</contentType><filterType>remote</filterType><firstPage>0</firstPage><requestHttpMethod>0</requestHttpMethod><paginationPath>$[''meta''][''pagination''][''page'',''pages'',''count'']</paginationPath><queries><query><cases><case><value>{like}</value></case></cases><defaultValue>*</defaultValue><name>like</name></query></queries><requestBody></requestBody><results><fieldsMapping><field><code>reference_id</code><responsePath>originalId.first()</responsePath></field><field><code>label</code><responsePath>title..content.first()</responsePath></field><field><code>description</code><responsePath>title..content.first()</responsePath></field><field><code>pid</code><responsePath>[''pid''][''content'']</responsePath></field><field><code>pidTypeField</code><responsePath>[''pid''][''classid'']</responsePath></field></fieldsMapping><resultsArrayPath>$[''results''][*][''result''][''metadata''][''oaf:entity''][''oaf:result'']</resultsArrayPath></results><url>https://services.openaire.eu/search/v2/api/resources?query=oaftype exact result and {like}&amp;page={page}&amp;size={pageSize}&amp;format=json</url></api></sources></definition>', 1, '2023-11-16 13:07:20.591433', '2024-05-01 11:47:04.982439', NULL);
INSERT INTO public."ReferenceType" VALUES ('538928bb-c7c6-452e-b66d-08e539f5f082', 'Funders', 'funders', '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definition><sources><api><key>openaire</key><label>OpenAIRE</label><ordinal>1</ordinal><type>0</type><authentication><authUrlMethod>1</authUrlMethod><authUrlBody></authUrlBody><authTokenPath></authTokenPath><authUrl></authUrl><enabled>false</enabled><authType></authType></authentication><contentType>application/json; charset=utf-8</contentType><filterType>local</filterType><firstPage>0</firstPage><requestHttpMethod>0</requestHttpMethod><paginationPath>$[*]</paginationPath><requestBody></requestBody><results><fieldsMapping><field><code>reference_id</code><responsePath>id</responsePath></field><field><code>label</code><responsePath>name</responsePath></field><field><code>description</code><responsePath>name</responsePath></field></fieldsMapping><resultsArrayPath>$[''refineResults''][''relfunder''][*]</resultsArrayPath></results><url>https://services.openaire.eu/search/v2/api/results?&amp;refine=true&amp;fields=relfunder&amp;page={page}&amp;size=0&amp;format=json&amp;sf=relfunder</url></api></sources></definition>', 1, '2023-11-16 11:22:57.942097', '2024-02-16 09:16:19.195353', NULL);
INSERT INTO public."ReferenceType" VALUES ('5a2112e7-ea99-4cfe-98a1-68665e26726e', 'Researchers', 'researchers', '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definition><fields><field code="firstName" label="Researchers First Name" description="Researchers First Name" dataType="Text"/><field code="lastName" label="Researchers Last Name" description="Researchers Last Name" dataType="Text"/></fields><sources><api><key>orcid</key><label>ORCID</label><ordinal>1</ordinal><type>0</type><authentication><authUrlMethod>0</authUrlMethod><authUrlBody></authUrlBody><authTokenPath></authTokenPath><authUrl></authUrl><enabled>false</enabled><authType></authType></authentication><contentType>application/json; charset=UTF-8</contentType><filterType>remote</filterType><firstPage>0</firstPage><requestHttpMethod>0</requestHttpMethod><paginationPath>$[''num-found'']</paginationPath><queries><query><cases><case><likePattern>^[A-Za-z0-9]+ [A-Za-z0-9]+$</likePattern><separator> </separator><value>((given-names:{like1}+AND+family-name:{like2})+OR+(given-names:{like2}+AND+family-name:{like1}))</value></case><case><likePattern>\d{4}-\d{4}-\d{4}-\d{4}</likePattern><value>orcid:{like}</value></case><case><likePattern>.+</likePattern><value>given-names:{like}+OR+family-name:{like}</value></case></cases><defaultValue>*</defaultValue><name>like</name></query></queries><requestBody></requestBody><results><fieldsMapping><field><code>reference_id</code><responsePath>orcid-id</responsePath></field><field><code>label</code><responsePath>@{{given-names}} @{{family-names}} (@{{orcid-id}})</responsePath></field><field><code>description</code><responsePath>institution-name</responsePath></field><field><code>fistName</code><responsePath>given-names</responsePath></field><field><code>lastName</code><responsePath>family-names</responsePath></field></fieldsMapping><resultsArrayPath>$[''expanded-result''][*]</resultsArrayPath></results><url>https://pub.orcid.org/v3.0/expanded-search/?q={like}&amp;start={page}&amp;rows={pageSize}</url></api></sources></definition>', 1, '2023-11-16 18:21:43.272982', '2024-04-17 09:44:53.656849', NULL);
INSERT INTO public."ReferenceType" VALUES ('5b9c284f-f041-4995-96cc-fad7ad13289c', 'Grants', 'grants', '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definition><sources><api><key>openaire</key><label>OpenAIRE</label><ordinal>1</ordinal><referenceTypeDependencyIds><referenceTypeDependencyIds>538928bb-c7c6-452e-b66d-08e539f5f082</referenceTypeDependencyIds></referenceTypeDependencyIds><type>0</type><authentication><authUrlMethod>0</authUrlMethod><authUrlBody></authUrlBody><authTokenPath></authTokenPath><authUrl></authUrl><enabled>false</enabled><authType></authType></authentication><contentType>application/json; charset=utf-8</contentType><filterType>remote</filterType><firstPage>0</firstPage><requestHttpMethod>0</requestHttpMethod><paginationPath>$[''meta''][''pagination''][''page'',''pages'',''count'']</paginationPath><queries><query><cases><case><value>{like}</value></case></cases><defaultValue>*</defaultValue><name>like</name></query><query><cases><case><referenceTypeId>538928bb-c7c6-452e-b66d-08e539f5f082</referenceTypeId><referenceTypeSourceKey>openaire</referenceTypeSourceKey><value>&amp;fq=(funder exact "{reference}")</value></case></cases><defaultValue></defaultValue><name>funderQuery</name></query></queries><requestBody></requestBody><results><fieldsMapping><field><code>reference_id</code><responsePath>originalId</responsePath></field><field><code>label</code><responsePath>@{{title}} (@{{originalId}})</responsePath></field><field><code>description</code><responsePath>title</responsePath></field></fieldsMapping><resultsArrayPath>$[''results''][*][''result''][''metadata''][''oaf:entity''][''oaf:project'']</resultsArrayPath></results><url>https://services.openaire.eu/search/v2/api/resources?query=((oaftype exact project) and ((projectcode_nt exact "{like}")or({like}))){funderQuery}&amp;page={page}&amp;size={pageSize}&amp;format=json</url></api></sources></definition>', 1, '2023-11-16 16:41:53.106646', '2024-04-29 09:00:22.237691', NULL);
INSERT INTO public."ReferenceType" VALUES ('7eeffb98-58fb-4921-82ec-e27f32f8e738', 'Organisations', 'organisations', '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definition><fields><field code="pid" label="Pid Organisations" description="Pid Organisations" dataType="Text"/><field code="pidTypeField" label="PidType Organisations" description="PidType Organisations" dataType="Text"/></fields><sources><api><key>openaire</key><label>OpenAIRE</label><ordinal>1</ordinal><referenceTypeDependencyIds/><type>0</type><authentication><authUrlMethod>0</authUrlMethod><authUrlBody></authUrlBody><authTokenPath></authTokenPath><authUrl></authUrl><enabled>false</enabled><authType></authType></authentication><contentType>application/json; charset=utf-8</contentType><filterType>remote</filterType><firstPage>0</firstPage><requestHttpMethod>0</requestHttpMethod><paginationPath>$[''meta''][''pagination''][''page'',''pages'',''count'']</paginationPath><queries><query><cases><case><value>{like}</value></case></cases><name>like</name></query></queries><requestBody></requestBody><results><fieldsMapping><field><code>reference_id</code><responsePath>originalId</responsePath></field><field><code>label</code><responsePath>legalname</responsePath></field><field><code>description</code><responsePath>legalname</responsePath></field><field><code>pid</code><responsePath>[''pid''][''content'']</responsePath></field><field><code>pidTypeField</code><responsePath>[''pid''][''classid'']</responsePath></field></fieldsMapping><resultsArrayPath>$[''results''][*][''result''][''metadata''][''oaf:entity''][''oaf:organization'']</resultsArrayPath></results><url>https://services.openaire.eu/search/v2/api/organizations/?q={like}&amp;page={page}&amp;size={pageSize}&amp;format=json</url></api></sources></definition>', 1, '2023-11-17 10:13:15.873808', '2024-02-16 15:35:47.874131', NULL);
INSERT INTO public."ReferenceType" VALUES ('8ec7556b-749d-4c4a-a4b9-43d064693795', 'Journals', 'journals', '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definition><sources><api><key>openaire</key><label>OpenAIRE Journals</label><ordinal>1</ordinal><referenceTypeDependencyIds/><type>0</type><authentication><authUrlMethod>0</authUrlMethod><authUrlBody></authUrlBody><authTokenPath></authTokenPath><authUrl></authUrl><enabled>false</enabled><authType></authType></authentication><contentType>application/json</contentType><filterType>remote</filterType><firstPage>0</firstPage><requestHttpMethod>1</requestHttpMethod><paginationPath>$[''meta''][''pagination''][''page'',''pages'',''count'']</paginationPath><queries><query><cases><case><value>{like}</value></case></cases><name>like</name></query></queries><requestBody>{"officialname": "{like}", "typology":"journal"}</requestBody><results><fieldsMapping><field><code>reference_id</code><responsePath>id</responsePath></field><field><code>label</code><responsePath>officialname</responsePath></field><field><code>description</code><responsePath>officialname</responsePath></field></fieldsMapping><resultsArrayPath>$[''datasourceInfo''][*]</resultsArrayPath></results><url>https://services.openaire.eu/openaire/ds/searchdetails/{page}/{pageSize}?requestSortBy=id&amp;order=ASCENDING</url></api></sources></definition>', 1, '2023-11-16 17:40:12.811667', '2024-02-16 09:09:22.816978', NULL);
INSERT INTO public."ReferenceType" VALUES ('9ec2000d-95c7-452e-b356-755fc8e2574c', 'Services', 'services', '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definition><fields><field code="uri" label="Service Uri" description="Service Uri" dataType="Text"/></fields><sources><api><key>eosc</key><label>EOSC Providers</label><ordinal>1</ordinal><referenceTypeDependencyIds/><type>0</type><authentication><authUrlMethod>0</authUrlMethod><authUrlBody></authUrlBody><authTokenPath></authTokenPath><authUrl></authUrl><enabled>false</enabled><authType></authType></authentication><contentType>application/json; charset=utf-8</contentType><filterType>remote</filterType><firstPage>0</firstPage><requestHttpMethod>0</requestHttpMethod><paginationPath>$[''from'',''to'',''total'']</paginationPath><queries><query><cases><case><value>{like}</value></case></cases><name>like</name></query></queries><requestBody></requestBody><results><fieldsMapping><field><code>reference_id</code><responsePath>id</responsePath></field><field><code>label</code><responsePath>name</responsePath></field><field><code>description</code><responsePath>description</responsePath></field><field><code>uri</code><responsePath>webpage</responsePath></field></fieldsMapping><resultsArrayPath>$[''results''][*]</resultsArrayPath></results><url>https://providers.eosc-portal.eu/api/service/all?query={like}&amp;from={page}&amp;quantity={pageSize}</url></api></sources></definition>', 1, '2023-11-16 17:57:22.081053', '2024-02-16 09:07:13.944104', NULL);
INSERT INTO public."ReferenceType" VALUES ('a3ce0fb2-d72c-48bb-b322-7401940cb802', 'Datasets', 'datasets', '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definition><fields><field code="pid" label="Pid Datasets" description="Pid Datasets" dataType="Text"/><field code="pidTypeField" label="PidTypeField Datasets" description="PidTypeField Datasets" dataType="Text"/></fields><sources><api><key>openaire</key><label>OpenAIRE</label><ordinal>1</ordinal><type>0</type><authentication><authUrlMethod>0</authUrlMethod><authUrlBody></authUrlBody><authTokenPath></authTokenPath><authUrl></authUrl><enabled>false</enabled><authType></authType></authentication><contentType>application/json; charset=utf-8</contentType><filterType>remote</filterType><firstPage>0</firstPage><requestHttpMethod>0</requestHttpMethod><paginationPath>$[''meta''][''pagination''][''page'',''pages'',''count'']</paginationPath><queries><query><cases><case><value>{like}</value></case></cases><name>like</name></query></queries><requestBody></requestBody><results><fieldsMapping><field><code>reference_id</code><responsePath>originalId</responsePath></field><field><code>label</code><responsePath>title..content.first()</responsePath></field><field><code>description</code><responsePath>title..content.first()</responsePath></field><field><code>pid</code><responsePath>[''pid''][''content'']</responsePath></field><field><code>pidTypeField</code><responsePath>[''pid''][''classid'']</responsePath></field></fieldsMapping><resultsArrayPath>$[''results''][*][''result''][''metadata''][''oaf:entity''][''oaf:result'']</resultsArrayPath></results><url>https://services.openaire.eu/search/v2/api/datasets/?q={like}&amp;page={page}&amp;size={pageSize}&amp;format=json</url></api></sources></definition>', 1, '2023-11-17 10:26:55.332111', '2024-05-01 10:34:07.029327', NULL);
INSERT INTO public."ReferenceType" VALUES ('ab7cdd93-bea2-440d-880d-3846dad80b21', 'Taxonomies', 'taxonomies', '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definition><sources><static><key>taxonomy</key><label>Taxonomies</label><ordinal>1</ordinal><type>1</type><items><item><options><option><code>reference_id</code><value>cite_taxonomy</value></option><option><code>label</code><value>Cite Taxonom</value></option><option><code>description</code><value>Cite Taxonom</value></option></options></item></items></static></sources></definition>', 1, '2023-11-16 17:48:09.769599', '2024-04-25 12:36:57.923984', NULL);
INSERT INTO public."ReferenceType" VALUES ('d26b64ba-fda0-4b14-b3ef-9856a492d55a', 'Repositories', 'repositories', '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definition><sources><api><key>openaire</key><label>OpenAIRE</label><ordinal>1</ordinal><referenceTypeDependencyIds/><type>0</type><authentication><authUrlMethod>0</authUrlMethod><authUrlBody></authUrlBody><authTokenPath></authTokenPath><authUrl></authUrl><enabled>false</enabled><authType></authType></authentication><contentType>application/json</contentType><filterType>remote</filterType><firstPage>0</firstPage><requestHttpMethod>1</requestHttpMethod><paginationPath>$[''meta''][''pagination''][''page'',''pages'',''count'']</paginationPath><queries><query><cases><case><value>{like}</value></case></cases><name>like</name></query></queries><requestBody>{"officialname": "{like}", "typology":"data"}</requestBody><results><fieldsMapping><field><code>reference_id</code><responsePath>id</responsePath></field><field><code>label</code><responsePath>officialname</responsePath></field><field><code>description</code><responsePath>officialname</responsePath></field></fieldsMapping><resultsArrayPath>$[''datasourceInfo''][*]</resultsArrayPath></results><url>https://services.openaire.eu/openaire/ds/searchdetails/{page}/{pageSize}?requestSortBy=id&amp;order=ASCENDING</url></api></sources></definition>', 1, '2023-11-16 17:10:33.849688', '2024-02-16 12:45:18.66016', NULL);
INSERT INTO public."ReferenceType" VALUES ('1e927daa-b856-443f-96da-22f325f7322f', 'Publication Repositories', 'pubRepositories', '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definition><sources><api><key>openaire</key><label>OpenAIRE publication repositories 1</label><ordinal>1</ordinal><type>0</type><authentication><authUrlMethod>0</authUrlMethod><authUrlBody></authUrlBody><authTokenPath></authTokenPath><authUrl></authUrl><enabled>false</enabled><authType></authType></authentication><contentType>application/json</contentType><filterType>remote</filterType><firstPage>0</firstPage><requestHttpMethod>1</requestHttpMethod><paginationPath>$[''meta''][''pagination''][''page'',''pages'',''count'']</paginationPath><queries><query><cases><case><value>{like}</value></case></cases><name>like</name></query></queries><requestBody>{"officialname": "{like}", "typology":"pubsrepository::institutional"}</requestBody><results><fieldsMapping><field><code>reference_id</code><responsePath>id</responsePath></field><field><code>label</code><responsePath>officialname</responsePath></field><field><code>description</code><responsePath>officialname</responsePath></field></fieldsMapping><resultsArrayPath>$[''datasourceInfo''][*]</resultsArrayPath></results><url>https://services.openaire.eu/openaire/ds/searchdetails/{page}/{pageSize}?requestSortBy=id&amp;order=ASCENDING</url></api><api><key>openaire</key><label>OpenAIRE publication repositories 2</label><ordinal>2</ordinal><type>0</type><authentication><authUrlMethod>0</authUrlMethod><authUrlBody></authUrlBody><authTokenPath></authTokenPath><authUrl></authUrl><enabled>false</enabled><authType></authType></authentication><contentType>application/json</contentType><filterType>remote</filterType><firstPage>0</firstPage><requestHttpMethod>1</requestHttpMethod><paginationPath>$[''meta''][''pagination''][''page'',''pages'',''count'']</paginationPath><queries><query><cases><case><value>{like}</value></case></cases><name>like</name></query></queries><requestBody>{"officialname": "{like}", "typology":"pubsrepository::thematic"}</requestBody><results><fieldsMapping><field><code>reference_id</code><responsePath>id</responsePath></field><field><code>label</code><responsePath>officialname</responsePath></field><field><code>description</code><responsePath>officialname</responsePath></field></fieldsMapping><resultsArrayPath>$[''datasourceInfo''][*]</resultsArrayPath></results><url>https://services.openaire.eu/openaire/ds/searchdetails/{page}/{pageSize}?requestSortBy=id&amp;order=ASCENDING</url></api><api><key>openaire</key><label>OpenAIRE publication repositories 3</label><ordinal>3</ordinal><type>0</type><authentication><authUrlMethod>0</authUrlMethod><authUrlBody></authUrlBody><authTokenPath></authTokenPath><authUrl></authUrl><enabled>false</enabled><authType></authType></authentication><contentType>application/json</contentType><filterType>remote</filterType><firstPage>0</firstPage><requestHttpMethod>1</requestHttpMethod><paginationPath>$[''meta''][''pagination''][''page'',''pages'',''count'']</paginationPath><queries><query><cases><case><value>{like}</value></case></cases><name>like</name></query></queries><requestBody>{"officialname": "{like}", "typology":"pubsrepository::unknown"}</requestBody><results><fieldsMapping><field><code>reference_id</code><responsePath>id</responsePath></field><field><code>label</code><responsePath>officialname</responsePath></field><field><code>description</code><responsePath>officialname</responsePath></field></fieldsMapping><resultsArrayPath>$[''datasourceInfo''][*]</resultsArrayPath></results><url>https://services.openaire.eu/openaire/ds/searchdetails/{page}/{pageSize}?requestSortBy=id&amp;order=ASCENDING</url></api></sources></definition>', 1, '2023-11-16 17:17:40.882679', '2024-05-01 11:52:50.297337', NULL);
-- --

View File

@ -49,31 +49,31 @@ server {
proxy_redirect http://opencdmp.backend:8080 http://host.docker.internal:8081/api; proxy_redirect http://opencdmp.backend:8080 http://host.docker.internal:8081/api;
} }
# location /api/notification/ { location /api/notification/ {
# proxy_set_header Host $host; proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
# # Fix the “It appears that your reverse proxy set up is broken" error. # Fix the “It appears that your reverse proxy set up is broken" error.
# proxy_pass http://opencdmp.notification:8080; proxy_pass http://opencdmp.notification:8080;
# proxy_read_timeout 90; proxy_read_timeout 90;
# proxy_redirect http://opencdmp.notification:8080 http://host.docker.internal:8081/api/notification; proxy_redirect http://opencdmp.notification:8080 http://host.docker.internal:8081/api/notification;
# } }
# location /api/annotation/ { location /api/annotation/ {
# proxy_set_header Host $host; proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
# # Fix the “It appears that your reverse proxy set up is broken" error. # Fix the “It appears that your reverse proxy set up is broken" error.
# proxy_pass http://opencdmp.annotation:8080; proxy_pass http://opencdmp.annotation:8080;
# proxy_read_timeout 90; proxy_read_timeout 90;
# proxy_redirect http://opencdmp.annotation:8080 http://host.docker.internal:8081/api/annotation; proxy_redirect http://opencdmp.annotation:8080 http://host.docker.internal:8081/api/annotation;
# } }
location /keycloak/ { location /keycloak/ {

View File

@ -259,9 +259,9 @@
<mat-icon [matMenuTriggerFor]="menu" [matTooltip]="'DESCRIPTION-TEMPLATE-EDITOR.ACTIONS.FIELDSET.MORE' | translate" style="transform: translateY(-1px);">more_vert</mat-icon> <mat-icon [matMenuTriggerFor]="menu" [matTooltip]="'DESCRIPTION-TEMPLATE-EDITOR.ACTIONS.FIELDSET.MORE' | translate" style="transform: translateY(-1px);">more_vert</mat-icon>
<mat-menu #menu="matMenu"> <mat-menu #menu="matMenu">
<!-- TODO to check --> <!-- TODO to check -->
<mat-checkbox class="mat-menu-item" (click)="$event.stopPropagation()" [(ngModel)]="showDescription">{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.DESCRIPTION' | translate}}</mat-checkbox> <mat-checkbox class="mat-menu-item" [disabled]="viewOnly" (click)="$event.stopPropagation()" [(ngModel)]="showDescription">{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.DESCRIPTION' | translate}}</mat-checkbox>
<mat-checkbox class="mat-menu-item" (click)="$event.stopPropagation()" [(ngModel)]="showExtendedDescription">{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.EXTENDED-DESCRIPTION' | translate}}</mat-checkbox> <mat-checkbox class="mat-menu-item" [disabled]="viewOnly" (click)="$event.stopPropagation()" [(ngModel)]="showExtendedDescription">{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.EXTENDED-DESCRIPTION' | translate}}</mat-checkbox>
<mat-checkbox class="mat-menu-item" (click)="$event.stopPropagation()" [(ngModel)]="showAdditionalInfo">{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.ADDITIONAL-INFORMATION' | translate}}</mat-checkbox> <mat-checkbox class="mat-menu-item" [disabled]="viewOnly" (click)="$event.stopPropagation()" [(ngModel)]="showAdditionalInfo">{{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.ADDITIONAL-INFORMATION' | translate}}</mat-checkbox>
</mat-menu> </mat-menu>
</li> </li>
</ul> </ul>

View File

@ -6,7 +6,7 @@ In this page, there is a listing where you can view details about all the availa
:::info :::info
**Plan Blueprints** describe how a [Plan](/docs/category/plans) is structured. All the sections and fields a Plan is consisting of, are referenced here. More details will follow in the next sections. **Plan Blueprints** describe how a [Plan](/docs/documentation/application/plans) is structured. All the sections and fields a Plan is consisting of, are referenced here. More details will follow in the next sections.
::: :::
@ -96,12 +96,12 @@ Every section must have a `System` field of the following types: `Title`, `Descr
### Description Templates form ### Description Templates form
Each section can have one or more **description templates** attached to it. When you 'attach' a [description template](/docs/documentation/administration/templates/) to a blueprint, every [plan](/docs/category/plans) that inherits from that blueprint must have a [description](/docs/category/descriptions) that inherits from that template. More details will follow. You can add a description template by clicking on the `Add Description Template` button. For every template you add, a new form part appears where you can specify everything about the template attachment. You can also delete one template clicking on the `delete` icon on the right end of its form. Each section can have one or more **description templates** attached to it. When you 'attach' a [description template](/docs/documentation/administration/templates/) to a blueprint, every [plan](/docs/documentation/application/plans) that inherits from that blueprint must have a [description](/docs/documentation/application/descriptions) that inherits from that template. More details will follow. You can add a description template by clicking on the `Add Description Template` button. For every template you add, a new form part appears where you can specify everything about the template attachment. You can also delete one template clicking on the `delete` icon on the right end of its form.
- **Description Template**: The [template](/docs/documentation/administration/templates/) you want to add. - **Description Template**: The [template](/docs/documentation/administration/templates/) you want to add.
- **Label**: A label for the template. - **Label**: A label for the template.
- **Min Multiplicity**: The minimum amount of [descriptions](/docs/category/descriptions) with this [description template](/docs/documentation/administration/templates/) that a [plan](/docs/category/plans) based on this blueprint has to have. - **Min Multiplicity**: The minimum amount of [descriptions](/docs/documentation/application/descriptions) with this [description template](/docs/documentation/administration/templates/) that a [plan](/docs/documentation/application/plans) based on this blueprint has to have.
- **Max Multiplicity**: The maximum amount of [descriptions](/docs/category/descriptions) with this [description template](/docs/documentation/administration/templates/) that a [plan](/docs/category/plans) based on this blueprint has to have. - **Max Multiplicity**: The maximum amount of [descriptions](/docs/documentation/application/descriptions) with this [description template](/docs/documentation/administration/templates/) that a [plan](/docs/documentation/application/plans) based on this blueprint has to have.
:::tip :::tip
@ -116,7 +116,7 @@ Let's clarify a little bit more about our description multiplicity options. Ther
### Prefilling Sources form ### Prefilling Sources form
Here, we specify which of the available prefilling sources will be available for the user to select, when he creates a [plan](/docs/category/plans) using this blueprint. We will explore how these are configured in detail in the [Prefilling Configurations](/docs/documentation/administration/blueprints/prefilling-configurations) section. Here, we specify which of the available prefilling sources will be available for the user to select, when he creates a [plan](/docs/documentation/application/plans) using this blueprint. We will explore how these are configured in detail in the [Prefilling Configurations](/docs/documentation/administration/blueprints/prefilling-configurations) section.
--- ---

View File

@ -5,7 +5,7 @@ description: View details about the prefilling sources
# Prefilling Configurations # Prefilling Configurations
In this page, there is a listing where you can view details about all the configured prefilling sources. These are data sources coming outside of the platform, in order to help the user with filling out a [plan](/docs/category/plans) form with some basic information. In this page, there is a listing where you can view details about all the configured prefilling sources. These are data sources coming outside of the platform, in order to help the user with filling out a [plan](/docs/documentation/application/plans) form with some basic information.
The information displayed by default is: the `label` of the source, the `status` and timestamps for the `creation` and `updates` of the records. At the top right corner of the listing you can also select which columns to display. The information displayed by default is: the `label` of the source, the `status` and timestamps for the `creation` and `updates` of the records. At the top right corner of the listing you can also select which columns to display.

View File

@ -12,5 +12,5 @@ There are a lot of views in the application available only for users that are gi
- **Notification Templates**: Being able to modify the structure of notifications sent to users based on different events. - **Notification Templates**: Being able to modify the structure of notifications sent to users based on different events.
- **Languages**: Being able to add support for more languages or modify existing ones. - **Languages**: Being able to add support for more languages or modify existing ones.
- **Reference Types**: Being able to configure static or external data sources that are made available as autocomplete fields on the forms of the platform. - **Reference Types**: Being able to configure static or external data sources that are made available as autocomplete fields on the forms of the platform.
- **Plan Blueprints**: Being able to control the blueprints available for [plans](/docs/category/plans). - **Plan Blueprints**: Being able to control the blueprints available for [plans](/docs/documentation/application/plans).
- **Description Templates**: Being able to control the templates available for [descriptions](/docs/category/descriptions) - **Description Templates**: Being able to control the templates available for [descriptions](/docs/documentation/application/descriptions)

View File

@ -9,7 +9,7 @@ In this page, there is a listing where you can view details about all the availa
:::info :::info
A **reference type** is any type of information that is made available to the users when they fill [plan](/docs/category/plans) forms. This information is either static, or coming from an outside source (*an external API*). These sources are extremely configurable as we will see in this section. A **reference type** is any type of information that is made available to the users when they fill [plan](/docs/documentation/application/plans) forms. This information is either static, or coming from an outside source (*an external API*). These sources are extremely configurable as we will see in this section.
::: :::

View File

@ -8,7 +8,7 @@ In this page, there is a listing where you can view details about all the availa
:::info :::info
**Description Templates** describe how a [Description](/docs/category/descriptions) is structured. All the chapters and fields a Description is consisting of, are referenced here. More details will follow in the next sections. **Description Templates** describe how a [Description](/docs/documentation/application/descriptions) is structured. All the chapters and fields a Description is consisting of, are referenced here. More details will follow in the next sections.
::: :::

View File

@ -2,6 +2,7 @@
"label": "Application", "label": "Application",
"position": 2, "position": 2,
"link": { "link": {
"type": "generated-index" "type": "doc",
"id": "index"
} }
} }

View File

@ -2,6 +2,7 @@
"label": "Descriptions", "label": "Descriptions",
"position": 6, "position": 6,
"link": { "link": {
"type": "generated-index" "type": "doc",
"id": "index"
} }
} }

View File

@ -0,0 +1,5 @@
# Descriptions
import DocCardList from '@theme/DocCardList';
<DocCardList />

View File

@ -0,0 +1,5 @@
# Application
import DocCardList from '@theme/DocCardList';
<DocCardList />

View File

@ -2,6 +2,7 @@
"label": "Plans", "label": "Plans",
"position": 5, "position": 5,
"link": { "link": {
"type": "generated-index" "type": "doc",
"id": "index"
} }
} }

View File

@ -0,0 +1,5 @@
# Plans
import DocCardList from '@theme/DocCardList';
<DocCardList />

View File

@ -2,6 +2,7 @@
"label": "For Developers", "label": "For Developers",
"position": 5, "position": 5,
"link": { "link": {
"type": "generated-index" "type": "doc",
"id": "index"
} }
} }

View File

@ -2,6 +2,7 @@
"label": "APIs", "label": "APIs",
"position": 2, "position": 2,
"link": { "link": {
"type": "generated-index" "type": "doc",
"id": "index"
} }
} }

View File

@ -0,0 +1,5 @@
# APIs
import DocCardList from '@theme/DocCardList';
<DocCardList />

View File

@ -2,6 +2,7 @@
"label": "Authentication", "label": "Authentication",
"position": 1, "position": 1,
"link": { "link": {
"type": "generated-index" "type": "doc",
"id": "index"
} }
} }

View File

@ -0,0 +1,5 @@
# Authentication
import DocCardList from '@theme/DocCardList';
<DocCardList />

View File

@ -0,0 +1,5 @@
# For Developers
import DocCardList from '@theme/DocCardList';
<DocCardList />

View File

@ -2,6 +2,7 @@
"label": "Getting Started", "label": "Getting Started",
"position": 1, "position": 1,
"link": { "link": {
"type": "generated-index" "type": "doc",
"id": "index"
} }
} }

View File

@ -0,0 +1,5 @@
# Getting Started
import DocCardList from '@theme/DocCardList';
<DocCardList />

View File

@ -2,6 +2,7 @@
"label": "Supplementary Services", "label": "Supplementary Services",
"position": 3, "position": 3,
"link": { "link": {
"type": "generated-index" "type": "doc",
"id": "index"
} }
} }

View File

@ -0,0 +1,5 @@
# Supplementary Services
import DocCardList from '@theme/DocCardList';
<DocCardList />

View File

@ -2,6 +2,7 @@
"label": "Notifications", "label": "Notifications",
"position": 1, "position": 1,
"link": { "link": {
"type": "generated-index" "type": "doc",
"id": "index"
} }
} }

View File

@ -0,0 +1,5 @@
# Notifications
import DocCardList from '@theme/DocCardList';
<DocCardList />

View File

@ -91,15 +91,15 @@ const config: Config = {
items: [ items: [
{ {
label: 'Getting Started', label: 'Getting Started',
to: '/docs/category/getting-started', to: '/docs/documentation/getting-started',
}, },
{ {
label: 'Application', label: 'Application',
to: '/docs/category/application', to: '/docs/documentation/application',
}, },
{ {
label: 'Supplementary Services', label: 'Supplementary Services',
to: '/docs/category/supplementary-services', to: '/docs/documentation/supplementary-services',
}, },
{ {
label: 'Administration', label: 'Administration',
@ -107,7 +107,7 @@ const config: Config = {
}, },
{ {
label: 'For Developers', label: 'For Developers',
to: '/docs/category/for-developers', to: '/docs/documentation/for-devs',
}, },
], ],
}, },