TOMATO - The Offer MAnager Tool

Tomato assists in managing and creating offers

Github Workflow Build Maven Package Status Github Workflow Tests Status CodeQL Release status Project Licence Written in Java Written in Groovy

How to run

Build the project with Maven and Java 8

mvn clean package

Deploy the created portlet in a Liferay instance. Make sure that Chromium is installed on the server, it is required for the download of the offer. (see How to use)

Local testing

Run the project with

mvn clean jetty:run -Denvironment=testing

And open the application through localhost:8080. The system property -Denvironment=testing will enable to application to run in test mode and does not require a successful user role determination to access all the features.

The WAR file will be created in the /target folder:

How to use

Authorization and roles

The offer manager app currently distinguishes between two roles: Role.PROJECT_MANAGER and Role.OFFER_ADMIN. The admin role provides access to features such as the service product maintenance interface, and only dedicated users with the admin role will be able to access it.

The current production implementation of the RoleService interface is used for deployment in an Liferay 6.2 GA6 environment and maps the Liferay site-roles “Project Manager” and “Offer Administration” to the internal app role representation.

If an authenticated user has none of these roles, she will not be able to execute the application.

Configuration

Environment

Description

Default Value

datasource.url

Connection to datasource

https://openbis.domain.de

datasource.api.url

Connection to API datasource

https://openbis.domain.de/api/path

datasource.user

The user name for the datasource

myuser

datasource.password

The password for the datasource

mypassword

mysql.host

Host address for MySQL database

123.4.56.789

mysql.pass

Password for MySQL database

mypassword

mysql.user

MySQL user

mysqluser

mysql.db

MySQL database

my_sql_database_name

mysql.port

Port to MySQL database

3306

portal.user

Username for QBiC portal

qbcjb02

System setup

Make sure to have chromium installed on your laptop. In case you use a Mac, can do so via homebrew

brew install --cask chromium

If you want to build the chromium browser from source please see the instructions on the chromium website For some Linux system the application is also provided by the name chromium-browser

sudo apt-get install chromium-browser

After successful installation please provide the offer manager with your chromium installation by setting

export CHROMIUM_EXECUTABLE=<your/path/to/chromium>

In order to enable the offer manager app to convert an offer as PDF, you need to define a environment variable in the system’s environment accessible by the application.

The app will look for an environment variable CHROMIUM_EXECUTABLE, so make sure to have set it.

License

This work is licensed under the MIT license.

Note: This work uses the Vaadin Framework, which is licensed under Apache 2.0.