Skip to content
Metadatamanagement (MDM) - Data Search for Higher Education Research and Science Studies
Java JavaScript CSS RobotFramework HTML Shell
Branch: development
Clone or download
Latest commit 5c70837 Nov 8, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
buildconfig #2089 Upgrade to Java 11 Apr 5, 2019
deploy increase memory #2442 Nov 5, 2019
docs #2403 changed surveyDataType to surveyDataTypes Oct 30, 2019
eclipseconfig Started configuring checkstyle for code quality analysis. Jul 22, 2015
src #2419 fix ie tests Nov 8, 2019
.editorconfig #1842 Add preliminary user search Nov 14, 2018
.gitattributes #544 added microsoft fonts from fonts.com Jul 14, 2016
.gitignore #2403 changed surveyDataType to surveyDataTypes Oct 30, 2019
.jscsrc #1690 improved first filters Aug 27, 2018
.jshintignore #79 removed jshint warnings/errors. added jshintignore file Nov 13, 2015
.jshintrc #847 add the fix Dec 13, 2016
.mergify.yml #2196 enable mergify Apr 30, 2019
.snyk fix: package.json, package-lock.json & .snyk to reduce vulnerabilities Oct 4, 2019
.travis.settings.xml add settings.xml to travis build (#2208) Sep 19, 2019
.travis.yml replace email notifications with slack Oct 1, 2019
Dockerfile #1738 add docker compose to the build tools Aug 14, 2018
Gruntfile.js fix angular i18n and missing glyphicons #1678 Sep 30, 2019
LICENSE #1543 changed license Feb 20, 2018
README.md Add frontend badge #1678 Oct 1, 2019
docker-compose-app.yml #1993 correct documentation Jan 30, 2019
docker-compose.yml Remove parameter —smallfiles from command mongod Sep 24, 2019
package-lock.json #2423 prepare the release Oct 28, 2019
package.json #2406 change to fixed dependency Oct 23, 2019
pom.xml fix: pom.xml to reduce vulnerabilities Nov 5, 2019

README.md

Build Status Documentation Status Sauce Test Status Known Backend VulnerabilitiesKnown Frontend VulnerabilitiescodecovMergify Status DOI

Sauce Build Matrix

Metadatamanagement (MDM)

The MDM holds the metadata of the studies which are available as data products in our Research Data Center FDZ. It enables researchers to browse our data products before signing a contract for using the data.

Developing the MDM system

Please checkout the development branch before starting to code and create a new branch starting with your username followed by the backlog items issue number you will be working on:

git checkout development
git checkout -b rreitmann/issue1234

Before you can build this project, you must install and configure the following dependencies on your machine:

  1. Java: You need to install java 11 sdk on your system. On Ubuntu you should use SDKMAN!
  2. Maven: You need to install maven 3.6.1 or above on your system. On Ubuntu you should use SDKMAN!
  3. Node.js: Node.js (latest) and npm (coming with node.js) are required as well. On Ubuntu you should install node using NVM

We use Grunt as our client build system. Install the grunt command-line tool globally with:

npm install -g grunt-cli

You need to install Bower globally as well:

npm install -g bower

On Windows, patch.exe has to exist in the PATH. It is distributed as part of git bash, or can be downloaded manually from GnuWin32.

Running on your local machine

Before starting the app on your local machine you need to start the following Document Stores:

  1. Mongodb: Mongodb must be running on the default port, on ubuntu you should install it from here https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
  2. Elasticsearch (7.3.2): Elasticsearch must be running on its default port. You can download it from here https://www.elastic.co/downloads/elasticsearch

Make sure that you have read-write-access on the data directory (in your project directory) for Elasticsearch.

Alternatively you can run

docker-compose up
# for later use once the containers are created
docker-compose start

to start all services the metadatamanagement depends on. Mongodb and Elasticsearch will be listening on its default ports.

In order to have all java dependencies for the server and all bower dependencies for the client and in order to build everything, simply run (and lean back for a while):

mvn clean install

Run the following commands in two separate terminals to create a blissful development experience where your browser auto-refreshes when files change on your hard drive.

mvn
grunt

If you want to build a docker image for the metadatamanagement server app you can run

mvn deploy

This image can be run with all its dependent containers by

docker-compose -f docker-compose.yml -f docker-compose-app.yml up -d --build

Building for the dev environment

Our CI pipleline will do some automatic checks and tests and it will optimize the metadatamanagement client for the dev environment. So before pushing to Github in order to be sure you won't fail the build you should run:

mvn -Pdev clean install

This will concatenate and minify CSS and JavaScript files using grunt. It will also modify the index.html so it references these new files.

To make the build runnable with an enabled dev profile, you'll need to install the following dependencies:

  • Python

Once Python is installed, run:

pip install git+https://github.com/dzhw/javasphinx.git --user

Note that the --user flag installs the dependency somewhere in your user directory (e.g. /home/{user}/local/bin on Linux). Make sure that the installed binaries/scripts are on your path.

Before deploying the {dev|test|prod} system you need to install the cloudfoundry cli.

You can build and deploy the jar to the desired environment by running

./deploy/build-and-deploy.sh {dev|test|prod}

We test our project continuously with the Robot Framework. Test Developers can get further info here.

Pivotal Cloudfoundry

This project is currently built and deployed to Pivotal Cloudfoundry by Travis CI. You can test the latest version on https://metadatamanagement-dev.cfapps.io/

Big Thanks

Cross-browser Testing Platform and Open Source ❤️ Provided by Sauce Labs

Continuous Integration Platform provided by Travis CI

forthebadge forthebadge forthebadge forthebadge forthebadge

You can’t perform that action at this time.