Skip to content

Commit

Permalink
Merge branch 'development' into 'master'
Browse files Browse the repository at this point in the history
Merge for v0.3.1

See merge request KNoWS/projects/onto-deside/architecture!42
  • Loading branch information
mvanbrab committed Oct 16, 2024
2 parents af63fca + c12505b commit 3324cfd
Show file tree
Hide file tree
Showing 73 changed files with 1,413 additions and 1,092 deletions.
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@
# files created from a template
/actors/*/nginx/conf.d/default.conf
/actors/viewer/setup/src/config.json
/common/css-01.json
/docker-compose*.yml
/scripts/cert/main.sh
/scripts/comunica/settings.json
/scripts/comunica/queries/*.sparql
/scripts/stuff-pods/extended-textile/mapping.yml
Expand Down
19 changes: 18 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

## [Unreleased]

## [0.3.1] - 2024-10-16

### Added

- Queries with indirect sources make use of link traversal capabilities of the viewer (internal [issue#57](https://gitlab.ilabt.imec.be/KNoWS/projects/onto-deside/architecture/-/issues/57)).
- Logged in users can save their custom queries in a pod now (internal [issue#58](https://gitlab.ilabt.imec.be/KNoWS/projects/onto-deside/architecture/-/issues/58)).
- Changed URL composition from `https://<service>.onto-deside.ilabt.imec.be` to `https://onto-deside.ilabt.imec.be/<service>` (internal [issue#60](https://gitlab.ilabt.imec.be/KNoWS/projects/onto-deside/architecture/-/issues/60)).

### Fixed

- Parent container of pod roots is no longer writable by everyone (internal [issue#59](https://gitlab.ilabt.imec.be/KNoWS/projects/onto-deside/architecture/-/issues/59)).

### Changed

- Upgraded the viewer to [its v1.4.1](https://github.com/SolidLabResearch/generic-data-viewer-react-admin/tree/v1.4.1).

## [0.3.0] - 2024-08-08

### Added
Expand Down Expand Up @@ -128,4 +144,5 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
[0.2.3]: https://github.com/KNowledgeOnWebScale/open-circularity-platform/releases/tag/v0.2.3
[0.2.4]: https://github.com/KNowledgeOnWebScale/open-circularity-platform/releases/tag/v0.2.4
[0.3.0]: https://github.com/KNowledgeOnWebScale/open-circularity-platform/releases/tag/v0.3.0
[Unreleased]: https://github.com/KNowledgeOnWebScale/open-circularity-platform/compare/v0.3.0...HEAD
[0.3.1]: https://github.com/KNowledgeOnWebScale/open-circularity-platform/releases/tag/v0.3.1
[Unreleased]: https://github.com/KNowledgeOnWebScale/open-circularity-platform/compare/v0.3.1...HEAD
90 changes: 24 additions & 66 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,6 @@
* [Using the public Docker based setup case](#using-the-public-docker-based-setup-case)
* [Bonus: local Generic Data Viewer for querying public pods](#bonus-local-generic-data-viewer-for-querying-public-pods)
* [Stopping the public Docker based setup case](#stopping-the-public-docker-based-setup-case)
* [The private Docker based setup case](#the-private-docker-based-setup-case)
* [Prerequisites for the private Docker based setup case](#prerequisites-for-the-private-docker-based-setup-case)
* [Environment variables for the private Docker based setup case](#environment-variables-for-the-private-docker-based-setup-case)
* [Building the private Docker based setup case](#building-the-private-docker-based-setup-case)
* [Running the private Docker based setup case](#running-the-private-docker-based-setup-case)
* [Using the private Docker based setup case](#using-the-private-docker-based-setup-case)
* [Stopping the private Docker based setup case](#stopping-the-private-docker-based-setup-case)
* [Other documentation resources](#other-documentation-resources)

## Introduction
Expand Down Expand Up @@ -65,7 +58,7 @@ The final setup is available online and needs no further action prior to usage.

### Using the included Generic Data Viewer

To use this Generic Data Viewer, navigate to <https://viewer.onto-deside.ilabt.imec.be/>.
To use this Generic Data Viewer, navigate to <https://onto-deside.ilabt.imec.be/viewer/>.

The list of predefined queries is shown in expandible groups at the left side.

Expand All @@ -78,21 +71,21 @@ To login, click on the icon in the top right.
To execute a query, click on it in the dashboard.

[This screenshot](doc/img/texon-components-materials.png) shows the result of a query about Texon's components and materials.
The result shown was obtained when logged in to identity provider `https://css5.onto-deside.ilabt.imec.be` as `[email protected]`.
The result shown was obtained when logged in to identity provider `https://onto-deside.ilabt.imec.be/css5` as `[email protected]`.

### Using the included Comunica Webclient

> This Comunica Webclient is intended for viewing low level details of the results of some predefined queries or for experimenting with new queries derived from these predefined queries.
To use this Comunica Webclient, navigate to <https://webclient.onto-deside.ilabt.imec.be/>.
To use this Comunica Webclient, navigate to <https://onto-deside.ilabt.imec.be/webclient/>.

Some predefined queries are available in the *Type or pick a query:* field.

The above remark about queries vs. logging in applies here too.

The login dialogue is available after clicking the *Settings asterisk* (top right.)

[This screenshot](doc/img/query-lindner-group-products.png) demonstrates querying Lindner Group's products. The result shown was obtained when logged in to identity provider `https://css1.onto-deside.ilabt.imec.be` as `[email protected]`.
[This screenshot](doc/img/query-lindner-group-products.png) demonstrates querying Lindner Group's products. The result shown was obtained when logged in to identity provider `https://onto-deside.ilabt.imec.be/css1` as `[email protected]`.

#### Adding a Solid pod to the list of datasources for a query

Expand Down Expand Up @@ -157,11 +150,19 @@ yarn install

#### Running the localhost setup case

Run with new pod contents (mandatory for first run):

```bash
./scripts/local-run/start-csss.sh
```

The command above starts the pods on the localhost in the background and waits until they are all ready (listening).
Re-run with existing pod contents (requires a previous run and stop):

```bash
./scripts/local-run/start-csss.sh -r
```

The commands above start the pods on the localhost in the background and wait until they are all ready (listening).
This takes some time to complete.

The pods log files can be consulted at `./local-run/*.log`.
Expand Down Expand Up @@ -189,7 +190,7 @@ Using the localhost setup case is similar to [using the final setup](#using-the-
* needs to be started as follows in a separate terminal window:

```bash
cd ../applied-in-architecture-generic-data-viewer-react-admin
cd ../applied-in-architecture-generic-data-viewer-react-admin/main
npm run dev
```

Expand Down Expand Up @@ -236,14 +237,22 @@ yarn install
#### Running the public Docker based setup case
Run with new pod contents (mandatory for first run):
```bash
docker compose --profile backend --profile frontend --profile extra-pod up --wait
```
The command above starts all services in a Docker environment and and waits until they are all ready (listening).
Re-run with existing pod contents (requires a previous run and stop):
```bash
docker compose -f docker-compose-public-restart.yml --profile backend --profile frontend --profile extra-pod up --wait
```
The commands above start all services in a Docker environment and and wait until they are all ready (listening).
This takes some time to complete.
Optional: if you're interested in what's happening while the previous command executes, you may open a new terminal window and in it, execute:
Optional: if you're interested in what's happening while these commands execute, you may open a new terminal window and in it, execute:
```bash
docker compose --profile backend --profile frontend --profile extra-pod logs -f
Expand Down Expand Up @@ -277,57 +286,6 @@ For more info, see [The modified Generic Data Viewer](./doc/DEVELOPERS.md#the-mo
docker compose --profile backend --profile frontend --profile extra-pod down -t 0
```
### The private Docker based setup case
#### Prerequisites for the private Docker based setup case
* a bash shell
* Node >= 18 with npm
* [yarn classic](https://classic.yarnpkg.com/lang/en/)
* Java version 17, e.g. 17.0.10-tem
* [Docker Engine](https://docs.docker.com/engine/) and [Docker Compose](https://docs.docker.com/compose/)
* Depending on your platform, different installation guides are available from the above links.
* [OpenSSL](https://www.openssl.org/source/)
* Installation depends on your platform. On Linux (especially on Ubuntu 20.04 LTS), if it is not yet installed, execute `sudo apt install openssl`.
#### Environment variables for the private Docker based setup case
Execute this command in any terminal window, before executing any other command in the remainder of this section:
```bash
source env-docker-private
```
#### Building the private Docker based setup case
Before continuing, make sure the result of a previous build isn't running. See [Stopping the private Docker based setup case](#stopping-the-private-docker-based-setup-case).

Next, execute:

```bash
# install node dependencies
yarn install
# all further build actions
./scripts/setup/finalize-setup.sh
```

#### Running the private Docker based setup case

Same instructions as for [Running the public Docker based setup case](#running-the-public-docker-based-setup-case).

#### Using the private Docker based setup case

Using the private Docker based setup case is similar to [using the final setup](#using-the-final-setup), with the following differences:

* Navigate to <http://localhost:5800>, to reach the integrated Firefox container, which has access to the resources in the Docker network.
* Let the integrated Firefox browser trust our self-made Certificate Authority: follow the instructions in the [Setup section of FIREFOX_CONTAINER.md](doc/FIREFOX_CONTAINER.md#setup).
* All further navigation is to be done from the integrated Firefox browser, with URLs identical to the those in the final setup.
* The queries for the additional use cases won't work here, because there is no solution to add pod contents for these use cases.
#### Stopping the private Docker based setup case
Same instructions as for [Stopping the public Docker based setup case](#stopping-the-public-docker-based-setup-case).
## Other documentation resources
* [Overview of actors' WebIDs, emails and passwords](doc/ACTORS_OVERVIEW.md)
Expand Down
7 changes: 2 additions & 5 deletions actors/viewer/nginx/conf.d/default.conf.template
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
server {
listen ${OD_VIEWER_CONTAINER_PORT} ${OD_VIEWER_SSL};
listen ${OD_VIEWER_CONTAINER_PORT};

server_name ${OD_VIEWER_SERVER_NAME};

${OD_VIEWER_SSL_CERT_LINE}
${OD_VIEWER_SSL_CERT_KEY_LINE}
server_name ${OD_VIEWER};

location / {
root /usr/share/nginx/html;
Expand Down
36 changes: 15 additions & 21 deletions actors/viewer/setup/src/config.json.template
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@
"name": "Overview",
"description": "All products with the data points selected for this evaluation",
"sourcesIndex": {
"url": "${OD_CSS11_BASE_URL}/electronics_user9/ceon-electronics/index",
"url": "${OD_CSS11_BASE_URL}/electronics_user9/ceon/index",
"queryLocation": "sourceQueries/seeAlso.rq"
}
},
Expand All @@ -343,7 +343,7 @@
"queryLocations": ["variableQueries/electronics_product_labels.rq"]
},
"sourcesIndex": {
"url": "${OD_CSS11_BASE_URL}/electronics_user9/ceon-electronics/index",
"url": "${OD_CSS11_BASE_URL}/electronics_user9/ceon/index",
"queryLocation": "sourceQueries/seeAlso.rq"
}
},
Expand All @@ -357,7 +357,7 @@
"queryLocations": ["variableQueries/electronics_product_labels.rq"]
},
"sourcesIndex": {
"url": "${OD_CSS11_BASE_URL}/electronics_user9/ceon-electronics/index",
"url": "${OD_CSS11_BASE_URL}/electronics_user9/ceon/index",
"queryLocation": "sourceQueries/seeAlso.rq"
}
},
Expand All @@ -371,7 +371,7 @@
"queryLocations": ["variableQueries/electronics_product_labels.rq"]
},
"sourcesIndex": {
"url": "${OD_CSS11_BASE_URL}/electronics_user9/ceon-electronics/index",
"url": "${OD_CSS11_BASE_URL}/electronics_user9/ceon/index",
"queryLocation": "sourceQueries/seeAlso.rq"
}
},
Expand All @@ -385,7 +385,7 @@
"queryLocations": ["variableQueries/electronics_product_labels.rq"]
},
"sourcesIndex": {
"url": "${OD_CSS11_BASE_URL}/electronics_user9/ceon-electronics/index",
"url": "${OD_CSS11_BASE_URL}/electronics_user9/ceon/index",
"queryLocation": "sourceQueries/seeAlso.rq"
}
},
Expand All @@ -396,7 +396,7 @@
"name": "All accessible data",
"description": "All data accessible for the logged in user",
"sourcesIndex": {
"url": "${OD_CSS11_BASE_URL}/electronics_user9/ceon-electronics/index",
"url": "${OD_CSS11_BASE_URL}/electronics_user9/ceon/index",
"queryLocation": "sourceQueries/seeAlso.rq"
}
},
Expand All @@ -405,11 +405,9 @@
"queryGroupId": "evaluation-electronics",
"queryLocation": "sourceQueries/seeAlso.rq",
"name": "Sources in electronics network",
"comunicaContext": {
"sources": [
"${OD_CSS11_BASE_URL}/electronics_user9/ceon-electronics/index"
],
"lenient": true
"sourcesIndex": {
"url": "${OD_CSS11_BASE_URL}/electronics_user9/ceon/index",
"queryLocation": "sourceQueries/seeAlso.rq"
}
},
{
Expand Down Expand Up @@ -481,11 +479,9 @@
"queryGroupId": "evaluation-textile",
"queryLocation": "sourceQueries/seeAlso.rq",
"name": "Sources in textile network",
"comunicaContext": {
"sources": [
"${OD_CSS11_BASE_URL}/textile_user9/ceon/index"
],
"lenient": true
"sourcesIndex": {
"url": "${OD_CSS11_BASE_URL}/textile_user9/ceon/index",
"queryLocation": "sourceQueries/seeAlso.rq"
}
},
{
Expand Down Expand Up @@ -579,11 +575,9 @@
"queryGroupId": "evaluation-construction",
"queryLocation": "sourceQueries/seeAlso.rq",
"name": "Sources in construction network",
"comunicaContext": {
"sources": [
"${OD_CSS11_BASE_URL}/construction_user9/ceon/index"
],
"lenient": true
"sourcesIndex": {
"url": "${OD_CSS11_BASE_URL}/construction_user9/ceon/index",
"queryLocation": "sourceQueries/seeAlso.rq"
}
},
{
Expand Down
7 changes: 2 additions & 5 deletions actors/webclient/nginx/conf.d/default.conf.template
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
server {
listen ${OD_WEBCLIENT_CONTAINER_PORT} ${OD_WEBCLIENT_SSL};
listen ${OD_WEBCLIENT_CONTAINER_PORT};

server_name ${OD_WEBCLIENT_SERVER_NAME};

${OD_WEBCLIENT_SSL_CERT_LINE}
${OD_WEBCLIENT_SSL_CERT_KEY_LINE}
server_name ${OD_WEBCLIENT};

location / {
root /usr/share/nginx/html;
Expand Down
19 changes: 17 additions & 2 deletions common/css-01.json.template → common/css-01.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
"import": [
"css:config/app/init/initialize-root.json",
"css:config/app/init/initialize-root-pod.json",
"css:config/app/main/default.json",
"css:config/app/variables/default.json",
"css:config/http/handler/default.json",
"css:config/http/middleware/default.json",
"css:config/http/notifications/all.json",
"${OD_CSS_SERVER_FACTORY}",
"css:config/http/server-factory/http.json",
"css:config/http/static/default.json",
"css:config/identity/access/public.json",
"css:config/identity/email/default.json",
Expand Down Expand Up @@ -55,6 +55,21 @@
"@type": "BasePodCreator",
"relativeWebIdPath": "profile/card#me"
}
},
{
"comment": [
"The login settings of the account of the root pod. ",
"It is advised to immediately change this password after starting the server."
],
"@type": "Override",
"overrideInstance": {
"@id": "urn:solid-server:default:RootPodInitializer"
},
"overrideParameters": {
"@type": "AccountInitializer",
"email": "[email protected]",
"password": "ToAllHackersInTheWorldThisIs_secret!"
}
}
]
}
Loading

0 comments on commit 3324cfd

Please sign in to comment.