Skip to content

Commit

Permalink
Merge pull request #2836 from dzhw/release
Browse files Browse the repository at this point in the history
Release v1.0.108
  • Loading branch information
René Reitmann authored Apr 7, 2021
2 parents 3d87231 + 71a7ebb commit 851f9f8
Show file tree
Hide file tree
Showing 121 changed files with 2,727 additions and 5,453 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ jobs:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Set up JDK 14
- name: Set up JDK 15
uses: actions/setup-java@v1
with:
java-version: 14
java-version: 15
- name: Cache maven artifacts
uses: actions/cache@v2
env:
Expand All @@ -34,10 +34,10 @@ jobs:
run: pip install awscli
- name: Install jq for commandline json parsing
run: sudo apt-get -y install jq --allow-unauthenticated
- name: Set up node 14.14.0
- name: Set up node 14.16.0
uses: actions/[email protected]
with:
node-version: 14.14.0
node-version: 14.16.0
- name: Cache node modules
uses: actions/cache@v2
env:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ jobs:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Set up JDK 14
- name: Set up JDK 15
uses: actions/setup-java@v1
with:
java-version: 14
java-version: 15
- name: Cache maven artifacts
uses: actions/cache@v2
env:
Expand All @@ -28,10 +28,10 @@ jobs:
python-version: 2.7
- name: Install custom javasphinx
run: pip install git+https://github.com/dzhw/javasphinx.git
- name: Set up node 14.14.0
- name: Set up node 14.16.0
uses: actions/[email protected]
with:
node-version: 14.14.0
node-version: 14.16.0
- name: Cache node modules
uses: actions/cache@v2
env:
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM openjdk:14.0.2-slim
FROM adoptopenjdk:15.0.2_7-jre-hotspot-focal

MAINTAINER René Reitmann <[email protected]>

Expand Down
26 changes: 20 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[![Build Status](https://github.com/dzhw/metadatamanagement/workflows/Build%20and%20Deploy/badge.svg)](https://github.com/dzhw/metadatamanagement/actions) [![Documentation Status](https://readthedocs.org/projects/metadatamanagement/badge/?version=latest)](https://metadatamanagement.readthedocs.io/de/latest/?badge=latest)
[![Build Status](https://github.com/dzhw/metadatamanagement/workflows/Build%20and%20Deploy/badge.svg)](https://github.com/dzhw/metadatamanagement/actions) [![Documentation Status](https://readthedocs.org/projects/metadatamanagement/badge/?version=latest)](https://metadatamanagement.readthedocs.io/de/latest/javadoc/packages.html)
[![Known Backend Vulnerabilities](https://snyk.io/test/github/dzhw/metadatamanagement/badge.svg?targetFile=pom.xml)](https://snyk.io/test/github/dzhw/metadatamanagement?targetFile=pom.xml
)[![Known Frontend Vulnerabilities](https://snyk.io/test/github/dzhw/metadatamanagement/badge.svg?targetFile=package.json)](https://snyk.io/test/github/dzhw/metadatamanagement?targetFile=package.json
)[![codecov](https://codecov.io/gh/dzhw/metadatamanagement/branch/development/graph/badge.svg)](https://codecov.io/gh/dzhw/metadatamanagement)[![Mergify Status](https://gh.mergify.io/badges/dzhw/metadatamanagement.png?style=cut)](https://mergify.io)
Expand All @@ -18,9 +18,9 @@ Please checkout the development branch before starting to code and create a new

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

1. Java: You need to install java 14 sdk on your system. On Ubuntu you should use [SDKMAN!][]
1. Java: You need to install java 15 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][]
3. [Node.js][]: Node.js 14 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:

Expand Down Expand Up @@ -83,10 +83,24 @@ Note that the `--user` flag installs the dependency somewhere in your user direc

We test our project continuously with the Robot Framework. Test Developers can get further info [here](https://github.com/dzhw/metadatamanagement/wiki/Robot-Framework).

## AWS Fargate
This project is currently built and deployed to AWS Fargate by [Github Actions][GithubActions]. You can test the latest version on [our dev stage.](https://dev.metadata.fdz.dzhw.eu/)
## Technical Documentation

## Big Thanks
### Domain Model
The following picture models the relationships and attributes of the domain objects which are managed by our system.
![Domain Model](https://github.com/dzhw/metadatamanagement/wiki/images/domain-model.png)

Javadoc for our domain model can be found [here](https://metadatamanagement.readthedocs.io/de/latest/javadoc/packages.html).

### Architecture

A (german) overview of the Systemarchitecture can be found [here](https://github.com/dzhw/metadatamanagement/wiki/Architektur).

The following picture gives a rough overview:
![Architecture](https://github.com/dzhw/metadatamanagement/wiki/images/architecture/aws_components_overview.png)

This project is currently built and deployed to AWS Fargate by [Github Actions][GithubActions] (not TravisCI anymore as shown in the picture above). You can test the latest version on [our dev stage.](https://dev.metadata.fdz.dzhw.eu/)

# Big Thanks

Cross-browser Testing Platform and Open Source :heart: Provided by [Sauce Labs][saucelabs]

Expand Down
152 changes: 152 additions & 0 deletions docs/source/00_Allgemeines.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
.. _Allgemeines:

Allgemeines
=================================

Was ist das Metadatenmanagementsystem (MDM)?
--------------------------------------------

Das FDZ-DZHW stellt Forschungsdaten quantitativer und qualitativer Erhebungen aus dem Feld der Hochschul- und Wissenschaftsforschung für die wissenschaftliche Sekundärnutzung zur Verfügung. Im Metadatenmanagementsystem (MDM) werden Metadaten über die Forschungsdaten erfasst und bereitgestellt. Dies erhöht die Auffindbarkeit der Forschungsdaten und erleichtert es Sekundärforscher:innen für sie passende Forschungsdaten auszuwählen sowie diese nachzunutzen. Das System ist über die Website https://metadata.fdz.dzhw.eu zu erreichen.

Die Metadaten werden im MDM auf (bis zu) acht unterschiedlichen Ebenen erfasst:

- Datenpaket
- Erhebungen
- Erhebungsinstrumente
- Fragen
- Datensätze
- Variablen
- Konzepte
- Publikationen

Dadurch, dass alle Ebenen miteinander verknüpft sind, wird eine umfassende Durchsuchbarkeit ermöglicht.

Wenn Sie Ihre Forschungsdaten an das FDZ-DZHW übergeben, können Sie die Metadaten für die Ebenen Datenpaket, Erhebungen, Erhebungsinstrumente und Datensätze selbst erfassen. Das genaue Vorgehen wird in dieser Anleitung beschrieben. Für die anderen Ebenen ist eine individuelle Abstimmung mit dem FDZ notwendig.

Registrierung
--------------------------------------------

Sie müssen sich zunächst auf https://metadata.fdz.dzhw.eu registrieren, um die Berechtigung für das Erfassen von Metadaten zu erhalten.

.. figure:: ./_static/registrierung_1_de.png
:name: registrierung

Registrierung im MDM: Schritt 1

.. figure:: ./_static/registrierung_2_de.png
:name: registrierung_2

Registrierung im MDM: Schritt 2


Im Anschluss erhalten Sie eine Bestätigungs-E-Mail. In dieser müssen Sie auf den Aktivierungslink klicken, welcher nach drei Tagen automatisch abläuft. Im Anschluss werden Sie von uns dem Projekt in der Rolle "Datengeber:in" hinzugefügt und werden per E-Mail darüber informiert.

Projekt-Cockpit
--------------------------------------------

Die Eingabe der Metadaten wird über das "Projekt-Cockpit" verwaltet.
In der Navigationsleiste links, welche ggfs. aufgeklappt werden muss, finden Sie den Zugang zum Projekt-Cockpit (vgl. :numref:`projectcockpit`).

.. figure:: ./_static/cockpit-button.png
:name: projectcockpit

Projekt-Cockpit-Button.

Innerhalb des Projekt-Cockpits sehen Sie unter dem Punkt Einstellungen (vgl. :numref:`project_cockpit_settings`),
welche Publisher (FDZ-Mitarbeiter:innen) und Datengeber:innen dem Projekt zugewiesen sind und welche Metadaten erwartet werden.
Die erwarteten Metadaten werden im Vorfeld zwischen Ihnen und den Publishern abgestimmt.

.. figure:: ./_static/projectcockpit_settings_dataprovider.png
:name: project_cockpit_settings

Projekt-Cockpit Einstellungen.

Es werden lediglich die erwarteten Metadatenebenen im Projekt-Cockpit-Status angezeigt (vgl. :numref:`projectcockpit_status_empty`). Zudem wird hier angezeigt, ob das Projekt freigegeben ist, also die eingegebenen Metadaten für alle öffentlichen Nutzer:innen des Systems sichtbar sind, und ob das Projekt gerade bei den Publishern oder bei den Datengeber:innen zur Bearbeitung liegt.

.. figure:: ./_static/projectcockpit_dataprovider_status_empty.png
:name: projectcockpit_status_empty

Projekt-Cockpit-Status.

Anfangs liegt das Projekt immer zur Bearbeitung bei den Publishern und Sie als Datengeber:innen werden per E-Mail benachrichtigt, wenn es Ihnen zugewiesen wird.
Für die Ebenen Datenpaket, Erhebungen, Erhebungsinstrumente und Datensätze können Sie die Metadaten dann über Eingabemasken selbst erfassen. Zur jeweiligen Eingabemaske gelangen Sie über den Neu-Button. Genauere Informationen zu den Eingabemasken finden Sie :ref:`hier <Eingabemasken>`. Sie können Ihre Eingaben über den orangenen Speichern-Button (Disketten-Symbol) unten rechts speichern.

Falls Sie die Informationen nicht in einem Vorgang eingeben können oder möchten, ist es immer möglich, dass Sie Ihre bisherigen Eingaben abspeichern und zu einem späteren Zeitpunkt weiter bearbeiten. Nutzen Sie hierfür bitte den Bearbeiten-Button im Projekt-Cockpit. Auf der Datenpaket-Ebene gelangen Sie darüber direkt zur Eingabemaske. Bei den anderen Ebenen werden sie zunächst zu einer Übersicht mit allen Erhebungen bzw. Instrumenten bzw. Datensätzen weitergeleitet. Jeweils unten rechts finden Sie einen Bearbeiten-Button, über den Sie zur Eingabemaske gelangen. Zudem können Sie mit dem Löschen-Button bereits angelegte Erhebungen bzw. Instrumente bzw. Datensätze auch komplett löschen.

Ebenso können Sie ältere Versionen Ihrer abgespeicherten Eingaben wiederherstellen, indem Sie im Bearbeitungsmodus den Historisierungs-Button (blauer Pfeil-Button über dem Save-Button unten rechts auf der Seite) verwenden (s. :numref:`versionierung`).

.. figure:: ./_static/historization_undo.png
:name: versionierung

Ältere Versionen eine Datenpakets wiederherstellen

Bei einem Klick auf den Historisierungs-Button öffnet sich ein Dialog, der die verschiedenen Versionen anzeigt (s. :numref:`historisierung_dp`).
Zudem sind der Name der Person, die die entsprechende Version gespeichert hat, sowie das Änderungsdatum sichtbar. Durch Klicken auf die Version wird diese wiederhergestellt, aber nicht automatisch als aktuelle Version gespeichert. Dies müsste über einen Klick auf den Save-Button erfolgen. Zu beachten ist, dass :ref:`Anhänge <Anhaenge>` nicht historisiert werden.

.. figure:: ./_static/dp_historization.png
:name: historisierung_dp

Dialog zur Historisierung innerhalb eines Datenpakets

Wenn Sie mit der Eingabe der Metadaten einer Ebene fertig sind, setzen Sie bitte im Projekt-Cockpit-Status das entsprechende Häkchen (siehe :numref:`projectcockpit_dataprovider_ready`).

.. figure:: ./_static/projectcockpit_dataprovider_ready.png
:name: projectcockpit_dataprovider_ready

Wenn Sie alle von Ihnen zu bearbeitenden Ebenen als "fertig" markiert haben, können Sie das Projekt wieder den Publishern zuweisen.
Dafür klicken Sie den "Papierflieger"-Button (siehe :numref:`papierflieger`).

.. figure:: ./_static/cockpit_papierflieger.png
:name: papierflieger

Nachdem der Papierflieger-Button geklickt wurde, erscheint der "Nachricht an Publisher"-Dialog. Sie können dem Publisher hier noch einmal den genauen Stand sowie mglw. Fragen und Hinweise schreiben.

Die Publisher nehmen ein Review der eingetragenen Metadaten vor. Falls die Publisher denken, dass noch etwas vergessen wurde oder anders eingegeben werden sollte, weisen sie Ihnen das Projekt zurück zu und Sie werden per E-Mail darüber benachrichtigt. Teilweise werden zudem noch Metadaten durch die Publisher ergänzt. Erklären die Publisher die Eingabe der Metadaten auf einer Ebene als "fertig", setzen sie ebenfalls ein entsprechendes Häkchen (siehe :numref:`dp_ready`).

.. figure:: ./_static/cockpit_dp_ready.png
:name: dp_ready

Sind alle erwarteten Ebenen mit zwei Häkchen markiert, können die Publisher das Projekt für alle öffentlichen Nutzer:innen des Systems freigeben.

.. _Eingabemasken:

Eingabemasken
--------------------------------------------

Jede Eingabemaske umfasst verschiedene Felder, welche mit den einzutragenden Informationen beschriftet sind. Die folgenden Aspekte sind dabei zu beachten. Details zur Eingabe der konkreten Metadaten über die Eingabemasken finden sich in dieser Anleitung in den Abschnitten zu den einzelnen Ebenen (:ref:`Datenpaket <DataPackage>`, :ref:`Erhebungen <Surveys>`, :ref:`Erhebungsinstrumente <Instruments>`, :ref:`Datensätze <DataSets>`).

Pflichtfelder
^^^^^^^^^^^^^^^^^^^^^^^^^^
Einige Felder sind verpflichtend auszufüllen und deshalb mit einem Sternchen versehen. Sie werden beim Speichern der Eingaben automatisch darauf hingewiesen, wenn noch Felder offen sind, die nicht leer bleiben dürfen.

Maximale Zeichenanzahl
^^^^^^^^^^^^^^^^^^^^^^^^^^
Einige Felder, die Sie frei ausfüllen können, verfügen über einen Zeichenzähler, der Sie darüber informiert, wie viele Zeichen Sie dort insgesamt eintragen dürfen und wie viele Zeichen Sie bereits eingetragen haben.

Verwendung von Markdown
^^^^^^^^^^^^^^^^^^^^^^^^^^
Eingabefelder, die mit einem M↓-Symbol gekennzeichnet sind, können bei Bedarf mit `Markdown <https://www.markdownguide.org/basic-syntax/>`_ formatiert werden.

Drop-Down-Menüs
^^^^^^^^^^^^^^^^^^^^^^^^^^
Teilweise gibt es Drop-Down-Menüs, in denen Sie aus vorgegebenen Alternativen auswählen können.

.. _Anhaenge:

Anhänge
^^^^^^^^^^^^^^^^^^^^^^^^^^
Über die Eingabemasken können auch zusätzliche Dateien als Anhänge hochgeladen werden. Zu den Anhängen zählen z.B. der Daten- und Methodenbericht auf der Datenpaketebene sowie Fragebögen auf Instrumentenebene.

Um Anhänge hochzuladen muss das jeweilige Element, also z.B. das Datenpaket, erst über die Eingabemaske angelegt und gespeichert werden. Anschließend können Sie über den Bearbeiten-Button wieder in den Bearbeitungs-Modus gehen und sehen dann unter dem Abschnitt "Materialien zu..." in der Eingabemaske einen Plus-Button. Wenn Sie diesen anklicken, öffnet sich ein neues Fenster (s. :numref:`instruments_anhang_dialog`), in dem die jeweilige Datei über den Büroklammer-Button hochgeladen werden kann und Metadaten zur Datei eingegeben werden. Anschließend lässt sich der Anhang mit dem Speichern-Button (Diskettensymbol unten rechts) speichern.

.. figure:: ./_static/instruments_anhang_dialog.png
:name: instruments_anhang_dialog

Instrumente Anhang

Die Anhänge müssen in einem der folgenden Formate vorliegen:

- *.pdf
- *.xls(x)
- *.md
Loading

0 comments on commit 851f9f8

Please sign in to comment.