Support for custom fields and hierarchy on Invenio vocabularies
Project description
OARepo vocabularies
This is an extension of invenio vocabularies that allows:
- Use the vocabularies with custom fields
- Treat vocabulary items as hierarchy
Installation
Add oarepo-runtime
, oarepo-vocabularies
to your virtualenv an set up the following in your invenio.cfg
:
from oarepo_vocabularies.services.config import VocabulariesConfig
from oarepo_vocabularies.resources.config import VocabulariesResourceConfig
VOCABULARIES_SERVICE_CONFIG = VocabulariesConfig
VOCABULARIES_RESOURCE_CONFIG = VocabulariesResourceConfig
Documentation
See NRP documentation for more details.
Authorities
It is possible to provide authority sources for vocabularies. Configuration:
VOCABULARY_TYPE_METADATA = {
"funding": { # vocabulary of funding
"name": {
"en": "Funding"
},
"authority": FundingService
}
}
where:
from oarepo_vocabularies.authorities import AuthorityService
class FundingService(AuthorityService):
def search(self, query=None, page=1, size=10, **kwargs):
# performs an API and returns a listing
# of serialized vocabulary items, for example:
return {
'hits': {
'total': 2,
'hits': [
{"id": "03zsq2967", "title": {"en": "Funding 1"}},
{"id": "a4gfhtt56", "title": {"en": "Funding 2"}}
]
},
# optional pagination links here
}
def get(self, item_id, *, uow, value, **kwargs):
# performs lookup by id and returns vocabulary metadata
# in this example:
return next(x for x in self.search()['hits']['hits'] if x['id'] == item_id)
Ordering
This extension supports ordering and suggestion in different languages. It is enabled by default
and enables all languages in I18N_LANGUAGES
, BABEL_DEFAULT_LOCALE
. Sorting by title
sorts
by the title in the current language, suggestion suggests in id
and title in the default language.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file oarepo_vocabularies-2.1.8.tar.gz
.
File metadata
- Download URL: oarepo_vocabularies-2.1.8.tar.gz
- Upload date:
- Size: 80.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09251a9d1866ae0d647436a8fe2302b5d975ac570f85ec284e706d14660ec7b5 |
|
MD5 | b93cada5784333860cfa126c6348d67c |
|
BLAKE2b-256 | 6676f4f380a30a2312a1276dfd14da7c35c098925d37591a82ee86dd8af3977e |
File details
Details for the file oarepo_vocabularies-2.1.8-py3-none-any.whl
.
File metadata
- Download URL: oarepo_vocabularies-2.1.8-py3-none-any.whl
- Upload date:
- Size: 153.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a8f072cf4c6ddfa1a8fba2a14a7c252dd730a91d6485bde6f5dfd88de15d8e1 |
|
MD5 | 75ae7a821a61c715b6d6316341e7b0aa |
|
BLAKE2b-256 | 6a111d413c009e66d8c543a71b01068251097a8ee06daea57e70f220c8016208 |