Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gbv/coli-rich-web
Web service for enriching subject indexing data on the basis of mappings.
https://github.com/gbv/coli-rich-web
coli-conc
Last synced: 5 days ago
JSON representation
Web service for enriching subject indexing data on the basis of mappings.
- Host: GitHub
- URL: https://github.com/gbv/coli-rich-web
- Owner: gbv
- License: mit
- Created: 2023-02-23T10:46:06.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-10T12:55:07.000Z (about 1 month ago)
- Last Synced: 2024-12-10T13:23:31.687Z (about 1 month ago)
- Topics: coli-conc
- Language: Vue
- Homepage: https://coli-conc.gbv.de/coli-rich/dev/
- Size: 1.02 MB
- Stars: 1
- Watchers: 5
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# coli-rich Web Interface
[![Status](https://coli-conc-status.fly.dev/api/badge/25/status)](https://coli-conc-status.fly.dev/status/all)
[![License](https://img.shields.io/github/license/gbv/coli-rich-web.svg)](https://github.com/gbv/coli-rich-web/blob/main/LICENSE)
[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme)Web service for enriching subject indexing data on the basis of mappings.
Note: This is currently a preview with no capability to write back into the catalogue.
## Table of Contents
- [Install](#install)
- [Usage](#usage)
- [Configuration](#configuration)
- [To-Dos](#to-dos)
- [Maintainers](#maintainers)
- [Contribute](#contribute)
- [Publish](#publish)
- [License](#license)## Install
Requires Node.js 20+.```bash
git clone https://github.com/gbv/coli-rich-web.git
cd coli-rich-web
npm ci
```To run the development server on port 3454:
```bash
npm run dev
```To run the production server, you need to build the Vue.js frondend first, then start the server:
```bash
npm run build
npm run start
```## Usage
There is an input form to give a PPN from K10plus catalogue.
- The PPN is looked up via **subjects API** to get a list of concepts, the record is indexed with (e.g. DDC Numbers, BK Notations...)
- Each subject is then queried to get mappings from via **JSKOS API** and corresponding enrichments
- Enrichments can be selected
- *Writing selected enrichment back to K10plus has not been implemented yet*## Configuration
Configuration can be adjusted via a `.env` file. Variables prefixed with `VITE_` can be used in the client as well.
```env
PORT=3454
# Full base URL on which your app will be hosted
BASE_URL=https://coli-conc.gbv.de/coli-rich/app/
# Login Server instance base URL
VITE_LOGIN_SERVER=http://localhost:3004
# Hardcoded list of allowed user URIs that can perform enrichments in the backend
VITE_ALLOWED_USERS=uri1,uri2
# List of allowed provider IDs (works in addition to VITE_ALLOWED_USERS, i.e. if a user either has one of the
# specified URIs or has one of the specified providers linked, they can perform enrichments in the backend)
VITE_ALLOWED_PROVIDERS=provider1,provider2
# Additional text (HTML) shown instead of prod/dev text
VITE_ADDITIONAL_TEXT=Hello World
# Local file path where submitted enrichments will be temporarily stored
ENRICHMENTS_PATH=./enrichments
```There are special cases for allowed users/providers:
- If `VITE_ALLOWED_USERS` is set to `*`, all logged in users have backend access.
- This should only be used if the configured Login Server is itself restrictive enough.
- If `VITE_ALLOWED_USERS` and `VITE_ALLOWED_PROVIDERS` are both set to `*`, then a login is not necessary to access the backend.
- **This should only be used for demo purposes!**## To-Dos
- [ ] Code cleanup
- [ ] Split App.vue into multiple components
- [ ] Simplify code where necessary
- [ ] Separate configuration
- [ ] Add more examples?
- [ ] Fix concept data for Wikidata, STW, ...
- [ ] Add favicon
- [ ] ...## Maintainers
- [@stefandesu](https://github.com/stefandesu)## Contribute
PRs accepted.- Please use the `dev` branch as a basis. Changes from `dev` will be merged into `main` only for new releases.
- Please run the tests before committing.
- Please do not skip the pre-commit hook when committing your changes.
- If editing the README, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification.### Publish
**For maintainers only**Please work on the `dev` branch during development (or better yet, develop in a feature branch and merge into `dev` when ready).
When a new release is ready (i.e. the features are finished, merged into `dev`, and all tests succeed), run the included release script (replace "patch" with "minor" or "major" if necessary):
```bash
npm run release:patch
```This will:
- Check that we are on `dev`
- Make sure `dev` is up-to-date
- Run `npm version patch` (or "minor"/"major")
- **Ask you to confirm the version**
- Push changes to `dev`
- Switch to `main`
- Merge changes from `dev`
- Push `main` with tags
- Switch back to `dev`## License
MIT © 2024 Verbundzentrale des GBV (VZG)