Basic Register of Thesauri, Ontologies & Classifications (BARTOC)
This repository contains the web interface of BARTOC.org, run by VZG.
The application is currently being reconstructed funded by DFG.
Requires at least Node.js 18 and an instance of jskos-server to connect to. Additional dependencies are listed in package.json
.
git clone https://github.com/gbv/bartoc.org.git
cd bartoc.org
npm ci
You can also set up BARTOC via Docker. Please refer to our Docker docs.
A setup script is provided in ./bin/setup.sh
. It must be called with the path to your jskos-server installation, e.g.:
./bin/setup.sh ../jskos-server
Basic configuration is located in config/config.default.json
. Selected fields can be overridden in a local config/config.json
. The latter should at least include a link to a JSKOS server instance, e.g.:
{
"backend": {
"provider": "ConceptApi",
"api": "http://localhost:3000/"
}
}
To be able to log in, add, and edit vocabularies, you need to setup and configure an instance of Login Server as well (example for local installation):
{
"login": {
"api": "localhost:3004/",
"ssl": false
}
}
To be able to use the full functionality of BARTOC, your jskos-server installation must allow concept schemes to be written via the API, e.g.:
{
"schemes": {
"read": {
"auth": false
},
"create": {
"auth": true
},
"update": {
"auth": true,
"crossUser": true
}
}
}
Via an array identities
under schemes
, you can limit which identity URIs can write vocabulary data.
Dotted elements are not implemented yet.
graph TD
server[**server**: express]
client[**client**: Vue]
login(login-server)
search[**search**]
database[**database**: jskos-server]
terminologies(terminology services)
terminologies -- JSKOS API, Skosmos, ... --> client
server -- RDF & JSKOS --> applications(applications)
client <-- browser --> user(user)
subgraph app [**bartoc.org**]
database <-- JSKOS API --> client
database -- JSKOS API --> server
server -- HTML+JS --> client
search -.-> server
server -.-> client
database -.-> search
reports[**reports**]
database -.-> reports
end
server -.-> applications
database -- JSKOS API --> applications
login --> client
reports -.-> client
reports -.-> applications
npm run dev
The application is made available at http://localhost:3883/.
For maintainers only
Never work on the main branch directly. Always make changes on dev
and then run the release script:
npm run release:patch # or minor or major
The application is deployed at https://bartoc.org/.
Update an existing installation:
git pull
npm install
pm2 restart bartoc.org
Note that NODE_ENV
has to be set to production
, otherwise Vue files will be requested from the dev server. This is given when using npm run start
.
To regularly update dumps, add a cronjob with command npm run dump update
. Dumps will be placed in directory data/dumps
and statistics are placed in data/reports
. To compare two dump files run npm run dump diff
.