cocoda
A web-based tool for creating mappings between knowledge organization systems.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.2%) to scientific vocabulary
Keywords
Repository
A web-based tool for creating mappings between knowledge organization systems.
Basic Info
- Host: GitHub
- Owner: gbv
- License: mit
- Language: Vue
- Default Branch: dev
- Homepage: https://coli-conc.gbv.de/cocoda/
- Size: 118 MB
Statistics
- Stars: 45
- Watchers: 7
- Forks: 5
- Open Issues: 90
- Releases: 62
Topics
Metadata Files
README.md
Cocoda Mapping Tool
A web-based tool for creating mappings between knowledge organization systems.
Try out the latest release version, the current development version, and consult the usage documentation!
Table of Contents
Install
Release versions
Releases can be downloaded in form of static files. Extract into a web server directory and adjust configuration file cocoda.json. You could automate download and extraction of the latest release with jq like this:
```bash
You can also manually download the latest release here: https://github.com/gbv/cocoda/releases/latest
wget -N $(curl -s https://api.github.com/repos/gbv/cocoda/releases/latest | jq -r '.assets[].browserdownloadurl') unzip cocoda-.zip rm cocoda-.zip ```
The directory cocoda is then ready to be served with any web server.
Development versions
Alternatively, it's possible to clone the Cocoda repository:
bash
git clone https://github.com/gbv/cocoda.git
cd cododa
Then install required Node modules with npm and run build (requires Node.js v18 or above, v20 recommended):
bash
npm ci
npm run build
Files are created in directory dist, including the configuration file.
Serving the Files
Any web server can be used to serve Cocoda files. No special configuration is necessary. For instance using the http-server npm package to serve Cocoda at http://localhost:8000:
```bash
serve the pre-built release
npx http-server -p 8000 cocoda/
or serve the build version
npx http-server -p 8000 dist/ ```
Docker
Cocoda is also available via Docker. Please refer to our Docker documentation for more information and instructions.
Usage
There is a detailled end-user manual available in German and in English. The German version will likely be more up-to-date. Documentation sources are located in directory docs.
Configuration
For the pre-built version, configuration options can be overridden by using cocoda.json in the root of the directory and by passing query parameter config with an URL of a config file (CORS headers must be enabled to load if from another domain).
The default options are given in the file config/cocoda.default.json (please consult this file for examples on how to use the configuration options). When using a manual build, create file config/cocoda.json and rebuild (npm run build) after editing (you can also run npm run build -- --config-only if you already have a build in folder dist/ and only need to update the config file).
The following fields are recognized so far:
title: the main title of the instance as plain string
cssProperties: object of global CSS properties, used for color settings
logos: a list of logos to display left to the title, each with subfields:
file: image URL relative to thepublicdirectoryalt: alternate text for the image, if the image cannot be displayed, as plain stringurl: URL to link from the logo
favicon: URL of a custom favicon.
menu: a list of links to show in the menu, each with subfields:
url: the link URLprefLabel: mapping of language codes to link titles
searchLinks: a list of search links to quickly link to external resources from concepts. Each searchlink has subfields:
urlan URL template with possible parameters{prefLabel}and/or{notation}prefLabel: mapping of language codes to link titlesseparator: defines how to join multiple values (especially multiple{notation}values) when constructing the final URL.
favoriteSchemes: list of vocabulary URIs to be favorited by default.
languages: array with supported interface languages
registries: lists registries where to get data from
overrideRegistries:
false(default) ortruecontrols whether to override registries listed inconfig/cocoda.default.jsonauth: URL to a login-server instance to be used for authentication
conceptLists: a list of concept lists. Each list can be either an object or a URL that returns a JSON object. Objects are basically JSKOS registries with required properties
prefLabelandconcepts. Ifconceptsis a string, it will be considered a URL which returns a JSON array of concepts. Optional properties arenotationandscopeNote.autoRefresh: an object with auto refresh values in milliseconds.
autoRefresh.mappingsdetermines how often mappings in MappingBrowser will be reloaded (default: 10000 = every 10 seconds),autoRefresh.updatedetermines how often Cocoda will look for an update (default: 120000 = every 2 minutes).
Using the pre-built version, the application only has to be reloaded after editing the configuration file.
Color settings
Colors can be changed with the cssProperties configuration object. Most colors are derived from a set of basic color codes, each given with three values in HSL color model (hue, saturation, and lightness). Some other colors can be given by standard CSS color name or code. Colors can be provided as hexadecimal RGB value or, for selected properties, with HSL value components. The following color properties are can be configured, at least:
| Color Property | Description | HSL | |:----------------------------------|:----------------------------------------------------------------------------|-----| | color-primary | Primary color is for selected elements, links, etc. | ✓ | | color-secondary | Secondary color is for menus, selectable elements, warnings, etc. | ✓ | | color-text | Color for text, labels, etc. | ✓ | | color-text-secondary | Color for text on background color-secondary | ✓ | | color-button | Color for clickable buttons | ✓ | | color-success | Color for confirmation messages, mapped concepts, positive votes | ✓ | | color-danger | Color for error messages, error indicators, delete buttons, negative votes | ✓ | | color-background | Background color of the application | | | color-background-component | Background color of components (concept browser, mapping editor, etc.) | | | color-background-component-heading | Background color for component headings. | | | color-background-navbar | Background color for the navigation bar | | | color-link | Color of the links | | | color-link-hover | Color of the links when hovering | |
See src/style/colors.css for additional CSS color properties. Some comments are included to provide clarity on its purpose and usage within the application. Property names not included in the list above may change in future releases.
For instance the color property color-primary can be set in RGB like this:
json
"cssProperties": {
"color-primary": "#00ffff"
}
Or you can set the individual HSL values:
json
"cssProperties": {
"color-primary-h": "180",
"color-primary-s": "100%",
"color-primary-l": "40%"
}
Internally, RGB values will also be converted to HSL for properties if the property supports HSL.
Image files
Images files (.png, .svg, .ico) in the config directory are made available at path /config and can be referenced like this:
~~~json "favicon": "config/favicon.ico", "logos": [ { "file": "config/logo.png", "alt": "Mapping Editor ", "url": "https://example.org/" } ] ~~~
Maintainers
Contribute
Your contributions to improve Cocoda are very welcome: please open a GitHub issue for feature suggestions and bug reports! See the file CONTRIBUTING.md for more information about how and where to best contribute and for development details.
See https://gbv.github.io/cocoda/ for API documentation automatically build from Node sources.
License
MIT ©2019 Verbundzentrale des GBV (VZG)
Owner
- Name: Gemeinsamer Bibliotheksverbund
- Login: gbv
- Kind: organization
- Location: Göttingen, Germany
- Website: https://www.gbv.de/
- Repositories: 321
- Profile: https://github.com/gbv
Account der Verbundzentrale des GBV (VZG) für GBV-Projekte
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"type": "SoftwareSourceCode",
"author": [
{
"id": "https://orcid.org/0000-0002-7613-4123",
"type": "Person",
"affiliation": {
"type": "Organization",
"name": "Verbundzentrale des GBV (VZG)"
},
"email": "jakob.voss@gbv.de",
"familyName": "Vo",
"givenName": "Jakob"
},
{
"id": "https://orcid.org/0000-0002-4087-8227",
"type": "Person",
"familyName": "Peters",
"givenName": "Stefan"
}
],
"contributor": {
"id": "https://orcid.org/0009-0006-6578-8443",
"type": "Person",
"affiliation": {
"type": "Organization",
"name": "Verbundzentrale des GBV (VZG)"
},
"email": "rodolfo.marraffa@gbv.de",
"familyName": "Marraffa",
"givenName": "Rodolfo"
},
"datePublished": "2018-05-31",
"description": "Web application to manage mappings and concordances between knowledge organization systems",
"isPartOf": "https://coli-conc.gbv.de/",
"license": "https://spdx.org/licenses/MIT",
"name": "Cocoda",
"developmentStatus": "active"
}
GitHub Events
Total
- Create event: 7
- Issues event: 36
- Release event: 6
- Watch event: 5
- Delete event: 1
- Member event: 1
- Issue comment event: 17
- Push event: 106
- Gollum event: 2
- Pull request event: 4
Last Year
- Create event: 7
- Issues event: 36
- Release event: 6
- Watch event: 5
- Delete event: 1
- Member event: 1
- Issue comment event: 17
- Push event: 106
- Gollum event: 2
- Pull request event: 4
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 205
- Total pull requests: 14
- Average time to close issues: 8 months
- Average time to close pull requests: about 1 month
- Total issue authors: 11
- Total pull request authors: 4
- Average comments per issue: 1.6
- Average comments per pull request: 0.43
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 4
Past Year
- Issues: 21
- Pull requests: 2
- Average time to close issues: 5 days
- Average time to close pull requests: 2 minutes
- Issue authors: 3
- Pull request authors: 1
- Average comments per issue: 0.52
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- nichtich (124)
- stefandesu (65)
- guitarster (3)
- DavidBRohrer (3)
- schuchaa (2)
- annameiermueller (1)
- mjanssen-gbv (1)
- DennisTobola (1)
- sroertgen (1)
- mroehl86 (1)
- runnwerth (1)
- TobiasNx (1)
Pull Request Authors
- stefandesu (5)
- dependabot[bot] (5)
- nichtich (3)
- rodolv-commons (2)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- 340 dependencies
- @vitejs/plugin-vue2 ^1.1.2 development
- eslint ^8.20.0 development
- eslint-config-gbv ^1.0.3 development
- eslint-plugin-vue ^9.2.0 development
- less ^4.1.3 development
- less-loader ^11.0.0 development
- lint-staged ^13.0.3 development
- vite ^3.0.1 development
- yorkie ^2.0.0 development
- @fortawesome/fontawesome-svg-core ^6.1.1
- @fortawesome/free-brands-svg-icons ^6.1.1
- @fortawesome/free-solid-svg-icons ^6.1.1
- @fortawesome/vue-fontawesome ^2.0.8
- axios ~0.26.1
- bootstrap-vue ^2.22.0
- cocoda-sdk ^3.2.2
- cocoda-vue-tabs ^0.1.12
- css-element-queries ^1.2.3
- file-saver ^2.0.5
- gbv-login-client ^1.0.3
- jskos-tools 1.0.26
- json-format-highlight ^1.0.4
- localforage ^1.10.0
- lodash ^4.17.21
- vue ^2.7.7
- vue-flexible-table ^0.3.8
- vue-i18n ^8.27.2
- vue-router ^3.5.4
- vue-scrollto ^2.20.0
- vue-virtual-scroll-list ^2.3.3
- vuex ^3.6.2
- actions/setup-node v1 composite
- ./.github/actions/build * composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- elgohr/Publish-Docker-Github-Action v5 composite
- ./.github/actions/build * composite
- actions/checkout v3 composite
- peaceiris/actions-gh-pages v3 composite
- ./.github/actions/build * composite
- actions/checkout v3 composite
- actions/create-release v1 composite
- actions/upload-release-asset v1 composite
- nginx alpine build
- node 16-alpine build