{"id":42794357,"url":"https://github.com/qbicsoftware/offer-manager-2-portlet","last_synced_at":"2026-01-30T00:26:11.051Z","repository":{"id":37708507,"uuid":"283970542","full_name":"qbicsoftware/offer-manager-2-portlet","owner":"qbicsoftware","description":"The offer manager assists in creating offers with version control and person master data handling.","archived":false,"fork":false,"pushed_at":"2025-12-05T14:20:25.000Z","size":3653,"stargazers_count":2,"open_issues_count":41,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-08T23:53:38.626Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qbicsoftware.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-07-31T07:22:35.000Z","updated_at":"2025-12-05T14:17:31.000Z","dependencies_parsed_at":"2023-12-18T14:33:54.277Z","dependency_job_id":"907a2eb4-735f-4967-b654-d228c42b5541","html_url":"https://github.com/qbicsoftware/offer-manager-2-portlet","commit_stats":null,"previous_names":[],"tags_count":61,"template":false,"template_full_name":null,"purl":"pkg:github/qbicsoftware/offer-manager-2-portlet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbicsoftware%2Foffer-manager-2-portlet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbicsoftware%2Foffer-manager-2-portlet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbicsoftware%2Foffer-manager-2-portlet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbicsoftware%2Foffer-manager-2-portlet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qbicsoftware","download_url":"https://codeload.github.com/qbicsoftware/offer-manager-2-portlet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbicsoftware%2Foffer-manager-2-portlet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28891435,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T21:06:44.224Z","status":"ssl_error","status_checked_at":"2026-01-29T21:06:42.160Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest"],"created_at":"2026-01-30T00:26:08.925Z","updated_at":"2026-01-30T00:26:11.036Z","avatar_url":"https://github.com/qbicsoftware.png","language":"Groovy","funding_links":[],"categories":[],"sub_categories":[],"readme":"TOMATO - The Offer MAnager Tool\n-----------------------------------\n\nTomato assists in managing and creating offers\n\n|maven-build| |maven-test| |code-ql| |release|\n|license| |java| |groovy|\n\nHow to run\n-----------\n\nBuild the project with Maven and Java 8\n\n.. code-block:: bash\n\n  mvn clean package\n\nDeploy the created portlet in a Liferay instance.\nMake sure that Chromium is installed on the server, it is required for the download of the offer. (see `How to use`_)\n\n**Local testing**\n\nRun the project with\n\n.. code-block:: bash\n\n  mvn clean jetty:run -Denvironment=testing\n\nAnd open the application through ``localhost:8080``. The system property ``-Denvironment=testing`` will\nenable to application to run in test mode and does not require a successful user role\ndetermination to access all the features.\n\n\nThe WAR file will be created in the ``/target`` folder:\n\n.. code-block:: bash\n    |-target\n    |---offer-manager-app-1.0.0.war\n    |---...\n\n\nHow to use\n-----------\n\n**Authorization and roles**\n\n\nThe offer manager app currently distinguishes between two roles: ``Role.PROJECT_MANAGER`` and\n``Role.OFFER_ADMIN``. The admin role provides access to features such as the service\nproduct maintenance interface, and only dedicated users with the admin role will be able to\naccess it.\n\nThe current production implementation of the ``RoleService`` interface is used for deployment in an\n``Liferay 6.2 GA6`` environment and maps the Liferay *site-roles* `\"Project Manager\"` and `\"Offer\nAdministration\"` to the internal app role representation.\n\nIf an authenticated user has none of these roles, she will not be able to execute the application.\n\n**Configuration**\n\n.. list-table::\n\n    * - **Environment**\n      - **Description**\n      - **Default Value**\n    * - datasource.url\n      - Connection to datasource\n      - https://openbis.domain.de\n    * - datasource.api.url\n      - Connection to API datasource\n      - https://openbis.domain.de/api/path\n    * - datasource.user\n      - The user name for the datasource\n      - myuser\n    * - datasource.password\n      - The password for the datasource\n      - mypassword\n    * - mysql.host\n      - Host address for MySQL database\n      - 123.4.56.789\n    * - mysql.pass\n      - Password for MySQL database\n      - mypassword\n    * - mysql.user\n      - MySQL user\n      - mysqluser\n    * - mysql.db\n      - MySQL database\n      - my_sql_database_name\n    * - mysql.port\n      - Port to MySQL database\n      - 3306\n    * - portal.user\n      - Username for QBiC portal\n      - qbcjb02\n\n\n**System setup**\n\nMake sure to have chromium installed on your laptop.\nIn case you use a Mac, can do so via homebrew\n\n.. code-block:: bash\n\n  brew install --cask chromium\n\nIf you want to build the chromium browser from source please see the instructions on `the chromium website \u003chttps://www.chromium.org/developers/how-tos/get-the-code\u003e`_\nFor some Linux system the application is also provided by the name ``chromium-browser``\n\n.. code-block:: bash\n\n  sudo apt-get install chromium-browser\n\nAfter successful installation please provide the offer manager with your chromium installation by setting\n\n.. code-block:: bash\n\n  export CHROMIUM_EXECUTABLE=\u003cyour/path/to/chromium\u003e\n\n\nIn order to enable the offer manager app to convert an offer as PDF, you need to define a\nenvironment variable in the system's environment accessible by the application.\n\nThe app will look for an environment variable ``CHROMIUM_EXECUTABLE``, so make sure to have set it.\n\n\nLicense\n-------\n\nThis work is licensed under the `MIT license \u003chttps://mit-license.org/\u003e`_.\n\n**Note**: This work uses the `Vaadin Framework \u003chttps://github.com/vaadin\u003e`_, which is licensed under `Apache 2.0 \u003chttps://www.apache.org/licenses/LICENSE-2.0\u003e`_.\n\n\n.. |maven-build| image:: https://github.com/qbicsoftware/offer-manager-2-portlet/workflows/Build%20Maven%20Package/badge.svg\n    :target: https://github.com/qbicsoftware/offer-manager-2-portlet/actions/workflows/build_package.yml\n    :alt: Github Workflow Build Maven Package Status\n\n.. |maven-test| image:: https://github.com/qbicsoftware/offer-manager-2-portlet/workflows/Run%20Maven%20Tests/badge.svg\n    :target: https://github.com/qbicsoftware/offer-manager-2-portlet/actions/workflows/run_tests.yml\n    :alt: Github Workflow Tests Status  \n\n.. |release| image:: https://img.shields.io/github/v/release/qbicsoftware/offer-manager-2-portlet.svg\n    :target: https://github.com/qbicsoftware/offer-manager-2-portlet/releases\n    :alt: Release status\n\n.. |license| image:: https://img.shields.io/github/license/qbicsoftware/offer-manager-2-portlet\n    :target: https://github.com/qbicsoftware/offer-manager-2-portlet/blob/master/LICENSE\n    :alt: Project Licence\n\n.. |java| image:: https://img.shields.io/badge/language-java-blue.svg\n    :alt: Written in Java\n\n.. |groovy| image:: https://img.shields.io/badge/language-groovy-blue.svg\n    :alt: Written in Groovy\n    \n.. |code-ql| image:: https://github.com/qbicsoftware/offer-manager-2-portlet/actions/workflows/codeql-analysis.yml/badge.svg?branch=master\n    :target: https://github.com/qbicsoftware/offer-manager-2-portlet/actions/workflows/codeql-analysis.yml\n    :alt: CodeQL\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqbicsoftware%2Foffer-manager-2-portlet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqbicsoftware%2Foffer-manager-2-portlet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqbicsoftware%2Foffer-manager-2-portlet/lists"}