|
|
|
A. Database:
|
|
|
|
|
|
|
|
The only configuration that is used is in <project's directory>/dmp-db-scema/Docker/dmp-db.env
|
|
|
|
|
|
|
|
Inside the file it contains configuration for the admin users (database, app), database name and admin passwords.
|
|
|
|
|
|
|
|
The values are:
|
|
|
|
|
|
|
|
```
|
|
|
|
ADMIN_USER: Admin username (app)
|
|
|
|
|
|
|
|
ADMIN_PASSWORD: Admin password (app)
|
|
|
|
|
|
|
|
POSTGRES_DB: database name
|
|
|
|
|
|
|
|
POSTGRES_USER: Admin username (database)
|
|
|
|
|
|
|
|
POSTGRES_PASSWORD: Admin password (database)
|
|
|
|
```
|
|
|
|
|
|
|
|
NOTE: The passwords are ONLY placeholders and MUST be changed
|
|
|
|
|
|
|
|
|
|
|
|
B. Backend
|
|
|
|
|
|
|
|
1. App configuration:
|
|
|
|
|
|
|
|
The app configurations are in the openDMP/dmp-backend/config folder.
|
|
|
|
|
|
|
|
Inside the folder there are 4 .properties files:
|
|
|
|
|
|
|
|
```
|
|
|
|
application.properties: Main configuration file (loads before any other)
|
|
|
|
|
|
|
|
application-devel.properties: Devel Profile (Internal development) configuration
|
|
|
|
|
|
|
|
application-staging.properties: Staging Profile (testing build) configuration
|
|
|
|
|
|
|
|
application-production.properties: Production Profile (main build) configuration
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Inside the files you will find the following properties:
|
|
|
|
|
|
|
|
```
|
|
|
|
dmp.domain: The domain name of the server
|
|
|
|
|
|
|
|
database.url: the url that is used to connect to database (JDBC based)
|
|
|
|
|
|
|
|
database.username: database admin username
|
|
|
|
|
|
|
|
database.password: database admin password
|
|
|
|
|
|
|
|
server.port: The network port the application is listening to.
|
|
|
|
|
|
|
|
server.tomcat.max-threads: The maximum number of request processing threads to be created
|
|
|
|
|
|
|
|
server.tomcat.max-connections: Maximum number of connections that the server accepts
|
|
|
|
|
|
|
|
spring.profiles.active: The active profile of the app (devel, staging, production)
|
|
|
|
|
|
|
|
mail.subject: The Default email subject for user invitation
|
|
|
|
|
|
|
|
mail.from: The mail that is shown in sent emails
|
|
|
|
|
|
|
|
spring.mail.default-encoding: email charaacter encoding
|
|
|
|
|
|
|
|
spring.mail.host: email host server
|
|
|
|
|
|
|
|
spring.mail.port: email port
|
|
|
|
|
|
|
|
spring.mail.protocol: email protocol
|
|
|
|
|
|
|
|
spring.mail.test-connection: whether to test the connection or not
|
|
|
|
|
|
|
|
spring.mail.properties.mail.smtp.auth: whether to use authentication for the smtp protocol
|
|
|
|
|
|
|
|
spring.mail.properties.mail.smtp.starttls.enable: whether to use TLS protection or not
|
|
|
|
|
|
|
|
elasticsearch.host: The host url of the elastic server
|
|
|
|
|
|
|
|
elasticsearch.port: The host port of the elastic server
|
|
|
|
|
|
|
|
elasticsearch.username: The elastic server admin username
|
|
|
|
|
|
|
|
elasticsearch.password: The elastic server admin password
|
|
|
|
|
|
|
|
pdf.converter.url: The url of the PDF converter service
|
|
|
|
|
|
|
|
configuration.externalUrls: path to the externalUrls xml file
|
|
|
|
|
|
|
|
configuration.rda: path to RDACommonStandards.txt
|
|
|
|
|
|
|
|
configuration.h2020template: path to H2020 export document template (.docx)
|
|
|
|
|
|
|
|
configuration.configurable_login_providers: path to ConfigurableLoginProviders.json
|
|
|
|
|
|
|
|
autouser.root.*: setup an auto login user (email, username, password)
|
|
|
|
|
|
|
|
facebook.login.clientId: Facebook API client Id
|
|
|
|
|
|
|
|
facebook.login.clientSecret: Facebook API client Secret
|
|
|
|
|
|
|
|
facebook.login.namespace: Facebook API namespace
|
|
|
|
|
|
|
|
google.login.clientId: Google API client Id
|
|
|
|
|
|
|
|
linkedin.login.clientId: LinkedIn API client Id
|
|
|
|
|
|
|
|
linkedin.login.clientSecret: LinkedIn API client Secret
|
|
|
|
|
|
|
|
linkedin.login.redirect_uri: LinkedIn API redirect uri
|
|
|
|
|
|
|
|
linkedin.login.user_info_url: LinkedIn API user info url
|
|
|
|
|
|
|
|
linkedin.login.user_email: LinkedIn API user email
|
|
|
|
|
|
|
|
linkedin.login.access_token_url: LinkedIn API access token url
|
|
|
|
|
|
|
|
twitter.login.clientId: Twitter API client Id
|
|
|
|
|
|
|
|
twitter.login.clientSecret: Twitter API client Secret
|
|
|
|
|
|
|
|
twitter.login.redirect_uri: Twitter API redirect uri
|
|
|
|
|
|
|
|
b2access.externallogin.user_info_url: B2 Access API user info url
|
|
|
|
|
|
|
|
b2access.externallogin.access_token_url: B2 Access API access token url
|
|
|
|
|
|
|
|
b2access.externallogin.redirect_uri: B2 Access API redirect uri
|
|
|
|
|
|
|
|
b2access.externallogin.clientid: B2 Access API client Id
|
|
|
|
|
|
|
|
b2access.externallogin.clientSecret: B2 Access API client Secret
|
|
|
|
|
|
|
|
zenodo.url: Zenodo's API url
|
|
|
|
|
|
|
|
zenodo.access_token: Zenodo API default access token
|
|
|
|
|
|
|
|
zenodo.login.access_token_url: Zenodo API access token url
|
|
|
|
|
|
|
|
files.storage.temp: path to Internal temp folder
|
|
|
|
|
|
|
|
files.storage.final: path to Internal final folder
|
|
|
|
|
|
|
|
database.driver-class-name: Database class name
|
|
|
|
|
|
|
|
database.lock-fail-interval: Time before the editor lock to be automatially dleleted (in milliseconds)
|
|
|
|
|
|
|
|
userguide.path: path to the user Manual (.html)
|
|
|
|
|
|
|
|
notification.rateInterval: Time before to retry to send the notifications (in milliseconds)
|
|
|
|
|
|
|
|
notification.maxRetries: Number of maximum retries before it stop sending the notifications
|
|
|
|
|
|
|
|
notification.modified.subject: Default email subject for edited DMP/Dataset notification
|
|
|
|
|
|
|
|
notification.publish.subject: Default email subject for published DMP notification
|
|
|
|
|
|
|
|
notification.finalised.subject: Default email subject for finalised DMP notification
|
|
|
|
|
|
|
|
notification.modifiedFinalised.subject: Default email subject for modified and finalised DMP notification
|
|
|
|
|
|
|
|
logging.config: path to the logback configuration file (after the file: prefix)
|
|
|
|
|
|
|
|
temp.temp: path to internal temp folder
|
|
|
|
|
|
|
|
contact_email.mail: email to the support responsible
|
|
|
|
|
|
|
|
language.path: path to the language files
|
|
|
|
```
|
|
|
|
|
|
|
|
2. External Urls:
|
|
|
|
|
|
|
|
The externalUrls are used in order to retrieve data from external sources (funders, grants, organizations etc)
|
|
|
|
|
|
|
|
The files are in openDMP/dmp-backend/externalUrls folder.
|
|
|
|
|
|
|
|
There are 3 files:
|
|
|
|
|
|
|
|
```
|
|
|
|
ExternalUrls.xml: Default externalUrl configuration
|
|
|
|
|
|
|
|
ExternalUrlsStaging.xml: externalUrls configuration for the Staging Profile
|
|
|
|
|
|
|
|
ExternalUrlsProduction.xml: externalUrls configuration for the Production Profile
|
|
|
|
```
|
|
|
|
|
|
|
|
Inside these files there are:
|
|
|
|
|
|
|
|
```
|
|
|
|
registries: The Dataset external reference for registries
|
|
|
|
|
|
|
|
grants: The DMP grants
|
|
|
|
|
|
|
|
projects: The DMP projects
|
|
|
|
|
|
|
|
funders: The DMP funders
|
|
|
|
|
|
|
|
repositories: The Dataset external reference for repositories
|
|
|
|
|
|
|
|
services: The Dataset external reference for services
|
|
|
|
|
|
|
|
researchers: The DMP researchers
|
|
|
|
|
|
|
|
organisations: The DMP organizations
|
|
|
|
|
|
|
|
datasets: The Dataset external reference for datasets
|
|
|
|
```
|
|
|
|
|
|
|
|
Inside each one there are:
|
|
|
|
|
|
|
|
urls: list of urls from where the data will be retrieved
|
|
|
|
|
|
|
|
fetchMode: How the data will be fetched. Available values are:
|
|
|
|
|
|
|
|
```
|
|
|
|
FIRST: Load ONLY the first urls configuration
|
|
|
|
|
|
|
|
ALL: Load ALL the urls configurations
|
|
|
|
```
|
|
|
|
|
|
|
|
On each urls there are urlConfigs from which each one is having:
|
|
|
|
|
|
|
|
```
|
|
|
|
key: Configuration key (lowercase)
|
|
|
|
|
|
|
|
Label: Configuration Name
|
|
|
|
|
|
|
|
type: type of the data source (usually External)
|
|
|
|
|
|
|
|
url: The url template that will be used for retrieving the data
|
|
|
|
|
|
|
|
funderQuery: (OpenAIRE only) The Funder search query
|
|
|
|
|
|
|
|
firstPage: The default page that is used if none is specified
|
|
|
|
|
|
|
|
contenttype: The content Type to be returned by the source
|
|
|
|
|
|
|
|
paginationpath: The path where pagination data are from the response
|
|
|
|
```
|
|
|
|
|
|
|
|
Inside data there are different fields based on the content type:
|
|
|
|
|
|
|
|
JSON:
|
|
|
|
|
|
|
|
```
|
|
|
|
path: the json path where the data are
|
|
|
|
|
|
|
|
fields: the name of the fields to be read and where to be mapped. example : <id>'myid'</id> it will map myid to the id value
|
|
|
|
```
|
|
|
|
|
|
|
|
XML:
|
|
|
|
|
|
|
|
```
|
|
|
|
parse-class: The classpath to be used for parsing the xml document
|
|
|
|
|
|
|
|
parse-field: The xml field that is used as a root for parsing
|
|
|
|
|
|
|
|
merge-fields: The fields that will be merged together (with space character)
|
|
|
|
|
|
|
|
merge-field-name: The name of the merged field
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C. Frontend
|
|
|
|
|
|
|
|
The only configuration that is used is the *openDMP/dmp-frontend/webapp/config/config.json*
|
|
|
|
|
|
|
|
Inside the file there are those properties:
|
|
|
|
|
|
|
|
production: Enable or Disable Production default configuration
|
|
|
|
|
|
|
|
Server: The url to the Backend service
|
|
|
|
|
|
|
|
App: The url to the Frontend service
|
|
|
|
|
|
|
|
defaultCulture: The default culture
|
|
|
|
|
|
|
|
LoginProviders which has:
|
|
|
|
|
|
|
|
enabled: An array of the loginproviders to be used. Available values:
|
|
|
|
|
|
|
|
* 1: Google
|
|
|
|
* 2: Facebook
|
|
|
|
* 3: Twitter
|
|
|
|
* 4: LinkedIn
|
|
|
|
* 6: B2Access
|
|
|
|
* 7: ORCID
|
|
|
|
* 8: OpenAIRE
|
|
|
|
* 9: Configurable LoginProvider
|
|
|
|
* 10: Zenodo
|
|
|
|
|
|
|
|
FacebookConfiguration.clientId: Facebook API client Id
|
|
|
|
|
|
|
|
GoogleConfiguration.clientId: Google API client Id
|
|
|
|
|
|
|
|
linkedInConfiguration which is having:
|
|
|
|
|
|
|
|
clientId: LinkedIn API client Id
|
|
|
|
|
|
|
|
oauthUrl: LinkedIn API oauth url
|
|
|
|
|
|
|
|
redirectUri: LinkedIn API redirect uri
|
|
|
|
|
|
|
|
twitterConfiguration which is having:
|
|
|
|
|
|
|
|
clientId: Twitter API client Id
|
|
|
|
|
|
|
|
oauthUrl: Twitter API oauth url
|
|
|
|
|
|
|
|
b2accessConfiguration which is having:
|
|
|
|
|
|
|
|
clientId: B2Access API client Id
|
|
|
|
|
|
|
|
oauthUrl: B2Access API oauth url
|
|
|
|
|
|
|
|
redirectUri: B2Access API redirect uri
|
|
|
|
|
|
|
|
orcidConfiguration which is having:
|
|
|
|
|
|
|
|
clientId: ORCID API client Id
|
|
|
|
|
|
|
|
oauthUrl: ORCID API oauth url
|
|
|
|
|
|
|
|
redirectUri: ORCID API redirect uri
|
|
|
|
|
|
|
|
openAireConfiguration which is having:
|
|
|
|
|
|
|
|
clientId: OpenAIRE API client Id
|
|
|
|
|
|
|
|
oauthUrl: OpenAIRE API oauth url
|
|
|
|
|
|
|
|
redirectUri: OpenAIRE API redirect uri
|
|
|
|
|
|
|
|
zenodoConfiguration which is having:
|
|
|
|
|
|
|
|
clientId: Zenodo API client Id
|
|
|
|
|
|
|
|
oauthUrl: Zenodo API oauth url
|
|
|
|
|
|
|
|
redirectUri: Zenodo API redirect uri
|
|
|
|
|
|
|
|
|
|
|
|
lockInteval: After how much time it will send an editor lock request to the backend (in milliseconds)
|
|
|
|
|
|
|
|
guideAssets: path to the folder that contains the user Manual assets (images etc)
|
|
|
|
|
|
|
|
allowOrganizationCreator: Allow the user to create custom organizations when creating or updating DMPs |
|
|
|
\ No newline at end of file |