Relaunch of BARTOC.org web interface
This repository contains the new web interface of BARTOC.org, run by VZG.
- Keep all BARTOC URIs and most URLs
- Provide a nice web interface, possibly multilingual
- Use JSKOS API as backend
- Serve HTML, JSKOS, and RDF
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 ciYou 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-serverBasic 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.
npm run devThe 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 majorThe application is deployed at https://bartoc.org/.
Update an existing installation:
git pull
npm install
pm2 restart bartoc.orgNote 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.