1. Add info in ReadMe. 2. Add maven nexus repository in pom.xml.

This commit is contained in:
Konstantinos Triantafyllou 2024-06-05 11:37:33 +03:00
parent 74f83e9898
commit fa3690dab7
4 changed files with 209 additions and 85 deletions

View File

@ -58,7 +58,7 @@ APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Copyright 2024 National Open Access Monitor, Ireland
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

112
README.md
View File

@ -1,2 +1,112 @@
# irish-monitor-service
# Irish Monitor Service
Irish Monitor Service is a service that integrates both OpenAIRE Login API and
OpenAIRE Monitor API and provide all functionalities for National Open Access Monitor, Ireland.
## Maven
Java Version: 1.8, Sprint boot Version: 1.5.8.RELEASE
This service has dependencies downloaded from [D4Science Nexus repository](https://maven.research-infrastructures.eu/nexus/content/repositories/dnet45-releases),
so there is a definition of this repository inside [pom.xml](pom.xml).
### Install
mvn clean install -DskipTests -Dmaven.javadoc.skip=true;
#### Standalone (Recommended)
1. Create a new system service and enable in order to start up at boot.
cd /etc/systemd/system
sudo vim service-name.service
2. Add the following content by replacing () accordingly.
[Unit]
Description=service-name
After=syslog.target
[Service]
User=root
ExecStart=(/home/user/spring-boot/)irish-monitor-service.war (--spring.profiles.active=swagger) --server.port=(port) (--server.context-path=/irish-monitor-service) --spring.config.location=file:///(home/user/spring-boot/config/application.properties)
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
3. Configure the service.
sudo systemctl daemon-reload
sudo systemctl enable service-name
4. Handle service.
sudo systemctl start service-name
sudo systemctl stop service-name
sudo systemctl restart service-name
sudo systemctl status service-name
#### Container (eg Tomcat)
1. Add the war in the _webapps_ folder.
2. Create application.properties file in _lib_ folder.
## Configuration
In order to configure this service you have to set the following properties:
stats-tool.rfo=<StatsToolURL>?json=<JsonQuery>
stats-tool.rpo=<StatsToolURL>?json=<JsonQuery>
stats-tool.repository=<StatsToolURL>?json=<JsonQuery>
## Login core
This dependency provides the Authentication and Authorization functionality.
In order to configure it you have to set the following properties:
authentication.domain=<Domain>
authentication.oidc.home=<API_URL>/openid_connect_login
authentication.oidc.scope=openid,profile,email,eduperson_entitlement,orcid
authentication.oidc.id=<ProviderClientId>
authentication.oidc.secret=<ProviderClientSecret>
authentication.oidc.issuer=https://aai.openaire.eu/auth/realms/openaire
authentication.oidc.redirect=<API_URL>/redirect
authentication.session=irishSession
authentication.redirect=<DefaultRedirectURL>
authentication.redis.host=<RedisHost>
authentication.redis.port=<RedisPort>
authentication.redis.passwork=<RedisPassword>
authentication.authorities-mapper=irish.eduperson_entitlement // DO NOT CHANGE
authentication.keycloak=true
## Monitor Service
This dependency provides the main service functionality
in order to create/edit/delete monitor profiles and their content.
In order to configure it you have to set the following properties:
monitorservice.mongodb.host=<MongoHost>
monitorservice.mongodb.port=<MongoPort>
monitorservice.mongodb.database=<DatabaseName>
monitorservice.mongodb.username=<MongoUser>
monitorservice.mongodb.password=<MongoPassword>
## Admin Tools Library (integrated in Monitor Service)
This dependency provides utilities to store dynamic HTML content,
send Email and verify Google recaptcha. In order to configure it
you have to set the following properties:
admintoolslibrary.mail.from = <Email>
admintoolslibrary.mail.username = <Email>
admintoolslibrary.mail.password = <EmailPassword>
admintoolslibrary.mail.host = <EmailHost>
admintoolslibrary.mail.port = <EmailPort>
admintoolslibrary.mail.auth = true
admintoolslibrary.mail.sslProtocols = TLSv1.2
admintoolslibrary.mail.defaultEncoding=UTF-8
admintoolslibrary.mail.protocol=<EmailProtocol>
admintoolslibrary.mail.testConnection=false
admintoolslibrary.google.secret = <GoogleSecret>

176
pom.xml
View File

@ -1,88 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>irish-monitor-service</artifactId>
<version>1.0.5-SNAPSHOT</version>
<packaging>war</packaging>
<name>irish-monitor-service</name>
<scm>
<developerConnection>scm:git:gitea@code-repo.d4science.org:MaDgIK/irish-monitor-service.git</developerConnection>
<tag>HEAD</tag>
</scm>
<parent>
<groupId>eu.dnetlib</groupId>
<artifactId>uoa-spring-boot-parent</artifactId>
<version>1.0.0</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>E MMM dd HH:mm:ss z yyyy</maven.build.timestamp.format>
</properties>
<dependencies>
<dependency> <!-- this dependency includes dependency to uoa-monitor-service-library -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>irish-monitor-service</artifactId>
<version>1.0.5-SNAPSHOT</version>
<packaging>war</packaging>
<name>irish-monitor-service</name>
<scm>
<developerConnection>scm:git:gitea@code-repo.d4science.org:MaDgIK/irish-monitor-service.git</developerConnection>
<tag>HEAD</tag>
</scm>
<parent>
<groupId>eu.dnetlib</groupId>
<artifactId>uoa-monitor-service</artifactId>
<version>1.1.13</version>
<classifier>library</classifier>
</dependency>
<artifactId>uoa-spring-boot-parent</artifactId>
<version>1.0.0</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>E MMM dd HH:mm:ss z yyyy</maven.build.timestamp.format>
</properties>
<dependencies>
<dependency>
<groupId>eu.dnetlib</groupId>
<artifactId>uoa-login-core</artifactId>
<version>2.1.1</version>
</dependency>
<dependency> <!-- this dependency includes dependency to uoa-monitor-service-library -->
<groupId>eu.dnetlib</groupId>
<artifactId>uoa-monitor-service</artifactId>
<version>1.1.13</version>
<classifier>library</classifier>
</dependency>
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger-version}</version>
</dependency>
<!--swagger official ui-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger-version}</version>
</dependency>
</dependencies>
<dependency>
<groupId>eu.dnetlib</groupId>
<artifactId>uoa-login-core</artifactId>
<version>2.1.1</version>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot-version}</version>
<configuration>
<mainClass>eu.dnetlib.irishmonitorservice.IrishMonitorServiceApplication</mainClass>
<executable>true</executable>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
<finalName>irish-monitor-service</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger-version}</version>
</dependency>
<!--swagger official ui-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger-version}</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>dnet45-releases</id>
<name>D-Net 45 Releases</name>
<url>https://maven.research-infrastructures.eu/nexus/content/repositories/dnet45-releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<layout>default</layout>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot-version}</version>
<configuration>
<mainClass>eu.dnetlib.irishmonitorservice.IrishMonitorServiceApplication</mainClass>
<executable>true</executable>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
<finalName>irish-monitor-service</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>

View File

@ -1,4 +1,4 @@
#static properties
api.title = Irish Monitor Service Documentation Swagger
api.description = Irish Monitor Service is a service which ...
api.description = Irish Monitor Service is a service that integrates both OpenAIRE login and OpenAIRE Monitor API and provide all functionalities for National Open Access Monitor, Ireland
api.version = ${project.version}