README.md 2.98 KB
Newer Older
Ubbo Veentjer's avatar
Ubbo Veentjer committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# TextGrid Repository Portal

The portal is a web frontend to access and browse data published in the [TextGrid-Repository](https://textgridrep.org). [TextGrid](https://textgrid.de) is a virtual research environment for the humanities. This software uses the public [TextGrid APIs](https://textgridlab.org/doc/services/index.html).

This is the third iteration of the software. Previous versions:
* JavaScript/HTML: https://projects.gwdg.de/projects/textgridrep-webseite/repository
* Liferay based: https://projects.gwdg.de/projects/liferay-textgrid/repository

## Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

### Prerequisites

You need Java (at least in version 8) and Gradle to run a development version.

17
        sudo apt install openjdk-8-jdk
Ubbo Veentjer's avatar
Ubbo Veentjer committed
18

19
This project is build with gradle. The gradle wrapper script `gradlew` will take care of installing gradle if not available.
Ubbo Veentjer's avatar
Ubbo Veentjer committed
20
21
22
23
24

### Installing

Run a local version of the portal:

25
        ./gradlew bootRun
Ubbo Veentjer's avatar
Ubbo Veentjer committed
26
27
28
29
30
31

Access the portal at http://localhost:8080/ afterwards

### Configuration

Edit `src/main/resources/application.properties` to change configuration.
Ubbo Veentjer's avatar
Ubbo Veentjer committed
32
33
34
35
36

## Running the tests

Running the tests requires internet access and the services at https://textgridlab.org to be available.

37
        ./gradlew test
Ubbo Veentjer's avatar
Ubbo Veentjer committed
38
39
40

Test output is written to `build/reports/tests/test/index.html`

41
42
43
44
45
46
47
48
49
50
51
## Development Server / Continuous Build

The gradle build file has the spring-boot-devtools included, which (allow live reloading when classpath changes)[https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto-hotswapping]. This works fine when web resources like jsp files or the classpath change. It does not include automatic recompilation when Java code changes. This is what you IDE may do, or gradle with its (continuous build feature)[https://blog.gradle.org/introducing-continuous-build].

For the latter i recommend to open two terminal windows too run two commands parallel. One for the continuous build:

        ./gradlew classes -t

and one for running the spring-boot dev server:

        ./gradlew bootRun
Ubbo Veentjer's avatar
Ubbo Veentjer committed
52
53
54
55
56
57
58
59
60
61
62

# Release process

We use git-flow.

        git checkout develop
        git flow release start 3.1.1

edit build.gradle and set version number, afterwards:

        git commit -am "set version 3.1.1"
Ubbo Veentjer's avatar
Ubbo Veentjer committed
63
        git flow release finish 3.1.2
Ubbo Veentjer's avatar
Ubbo Veentjer committed
64
65
66
67

edit build.gradle and set version number to 3.1.2-SNAPSHOT, afterwards:

        git commit -am "start 3.1.2-SNAPSHOT"
Ubbo Veentjer's avatar
Ubbo Veentjer committed
68
        git push origin develop master
Ubbo Veentjer's avatar
Ubbo Veentjer committed
69
70
71
72
73
74
75
76
77
78
79
80
81

in gitlab-ci go to https://gitlab.gwdg.de/dariah-de/textgridrep-portal/-/releases, click on "New Release"

* Tag name: 3.1.1
* Create from: master
* Message:
* Release notes:
        * rewritten index.md
        * rename doc and explore link
        * own page for mission statement


This creates a new tag 3.1.1. Creating the tag will trigger the relase-build, which will be deployed to https://textgridrep.org