mirror of
https://github.com/Cian-H/invenio-config-iform.git
synced 2025-12-23 13:31:58 +00:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
16c10593d6 | ||
|
|
dbd870d106 | ||
|
|
f02e992acd | ||
|
|
a7abb0bc5e | ||
|
|
7ca398efdd | ||
|
|
b33c7e09c3 | ||
|
|
0c775851d8 | ||
|
|
89f6aee814 |
@@ -49,3 +49,6 @@ recursive-include invenio_config_tugraz *.html
|
|||||||
|
|
||||||
# added by check-manifest
|
# added by check-manifest
|
||||||
recursive-include invenio_config_tugraz *.csv
|
recursive-include invenio_config_tugraz *.csv
|
||||||
|
|
||||||
|
# added by check-manifest
|
||||||
|
recursive-include invenio_config_tugraz *.pdf
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ Override configs from diffrent invenio modules to meet TU Graz requirement:
|
|||||||
* Invenio-Mail
|
* Invenio-Mail
|
||||||
* Invenio-shibboleth
|
* Invenio-shibboleth
|
||||||
* Invenio-accounts
|
* Invenio-accounts
|
||||||
|
* Flask-security
|
||||||
|
* Defined routes for TUG
|
||||||
|
|
||||||
Further documentation is available on
|
Further documentation is available on
|
||||||
https://invenio-config-tugraz.readthedocs.io/
|
https://invenio-config-tugraz.readthedocs.io/
|
||||||
|
|||||||
@@ -29,10 +29,19 @@ INVENIO_CONFIG_TUGRAZ_IP_RANGES =
|
|||||||
[["127.0.0.2", "127.0.0.99"], ["127.0.1.3", "127.0.1.5"]]
|
[["127.0.0.2", "127.0.0.99"], ["127.0.1.3", "127.0.1.5"]]
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
CONFIG_TUGRAZ_ROUTES = {
|
||||||
|
"guide": "/guide",
|
||||||
|
"terms": "/terms",
|
||||||
|
"gdpr": "/gdpr",
|
||||||
|
}
|
||||||
|
"""Defined routes for TUG."""
|
||||||
|
|
||||||
# Invenio-App
|
# Invenio-App
|
||||||
# ===========
|
# ===========
|
||||||
# See https://invenio-app.readthedocs.io/en/latest/configuration.html
|
# See https://invenio-app.readthedocs.io/en/latest/configuration.html
|
||||||
|
|
||||||
|
# TODO: move this to gitlab vars.
|
||||||
APP_ALLOWED_HOSTS = [
|
APP_ALLOWED_HOSTS = [
|
||||||
"0.0.0.0",
|
"0.0.0.0",
|
||||||
"localhost",
|
"localhost",
|
||||||
@@ -47,15 +56,10 @@ APP_DEFAULT_SECURE_HEADERS = {
|
|||||||
"content_security_policy": {
|
"content_security_policy": {
|
||||||
"default-src": [
|
"default-src": [
|
||||||
"'self'",
|
"'self'",
|
||||||
"fonts.googleapis.com",
|
|
||||||
"*.gstatic.com",
|
|
||||||
"data:",
|
"data:",
|
||||||
"'unsafe-inline'",
|
"'unsafe-inline'",
|
||||||
"'unsafe-eval'",
|
|
||||||
"blob:",
|
"blob:",
|
||||||
"ub-support.tugraz.at", # zammad contact form
|
"ub-support.tugraz.at", # zammad contact form
|
||||||
"api.datacite.org/dois", # datacite
|
|
||||||
"api.test.datacite.org/dois", # datacite test
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
"content_security_policy_report_only": False,
|
"content_security_policy_report_only": False,
|
||||||
@@ -73,6 +77,15 @@ APP_DEFAULT_SECURE_HEADERS = {
|
|||||||
"strict_transport_security_preload": False,
|
"strict_transport_security_preload": False,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Invenio-I18N
|
||||||
|
# ============
|
||||||
|
# See https://invenio-i18n.readthedocs.io/en/latest/configuration.html
|
||||||
|
BABEL_DEFAULT_LOCALE = "en"
|
||||||
|
# Default time zone
|
||||||
|
BABEL_DEFAULT_TIMEZONE = "Europe/Vienna"
|
||||||
|
# Other supported languages (do not include BABEL_DEFAULT_LOCALE in list).
|
||||||
|
I18N_LANGUAGES = [("de", _("German"))]
|
||||||
|
|
||||||
# Invenio-Mail
|
# Invenio-Mail
|
||||||
# ===========
|
# ===========
|
||||||
# See https://invenio-mail.readthedocs.io/en/latest/configuration.html
|
# See https://invenio-mail.readthedocs.io/en/latest/configuration.html
|
||||||
@@ -113,19 +126,22 @@ Set this to False when sending actual emails.
|
|||||||
# ===========
|
# ===========
|
||||||
# See https://invenio-userprofiles.readthedocs.io/en/latest/configuration.html
|
# See https://invenio-userprofiles.readthedocs.io/en/latest/configuration.html
|
||||||
|
|
||||||
USERPROFILES_EXTEND_SECURITY_FORMS = False
|
USERPROFILES_EXTEND_SECURITY_FORMS = True
|
||||||
"""Set True in order to register user_profile.
|
"""Set True in order to register user_profile.
|
||||||
|
|
||||||
This also forces user to add username and fullname
|
This also forces user to add username and fullname
|
||||||
when register.
|
when register.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
USERPROFILES_EMAIL_ENABLED = False
|
USERPROFILES_EMAIL_ENABLED = True
|
||||||
"""Exclude the user email in the profile form."""
|
"""Exclude the user email in the profile form."""
|
||||||
|
|
||||||
# Invenio-shibboleth
|
USERPROFILES_READ_ONLY = True
|
||||||
|
"""Allow users to change profile info (name, email, etc...)."""
|
||||||
|
|
||||||
|
# Invenio-saml
|
||||||
# ===========
|
# ===========
|
||||||
# See https://invenio-shibboleth.readthedocs.io/en/latest/configuration.html
|
# See https://invenio-saml.readthedocs.io/en/latest/configuration.html
|
||||||
|
|
||||||
SSO_SAML_IDPS = {}
|
SSO_SAML_IDPS = {}
|
||||||
"""Configuration of IDPS. Actual values can be find in to invenio.cfg file"""
|
"""Configuration of IDPS. Actual values can be find in to invenio.cfg file"""
|
||||||
@@ -153,13 +169,16 @@ SSO_SAML_DEFAULT_SLS_ROUTE = "/sls/<idp>"
|
|||||||
# ===========
|
# ===========
|
||||||
# See https://invenio-accounts.readthedocs.io/en/latest/configuration.html
|
# See https://invenio-accounts.readthedocs.io/en/latest/configuration.html
|
||||||
|
|
||||||
|
ACCOUNTS_LOCAL_LOGIN_ENABLED = True
|
||||||
|
"""Allow local login."""
|
||||||
|
|
||||||
SECURITY_CHANGEABLE = False
|
SECURITY_CHANGEABLE = False
|
||||||
"""Allow password change by users."""
|
"""Allow password change by users."""
|
||||||
|
|
||||||
SECURITY_RECOVERABLE = False
|
SECURITY_RECOVERABLE = False
|
||||||
"""Allow password recovery by users."""
|
"""Allow password recovery by users."""
|
||||||
|
|
||||||
SECURITY_REGISTERABLE = False
|
SECURITY_REGISTERABLE = True
|
||||||
""""Allow users to register.
|
""""Allow users to register.
|
||||||
|
|
||||||
With this variable set to "False" users will not be
|
With this variable set to "False" users will not be
|
||||||
@@ -228,20 +247,15 @@ password from ``users.yaml`` will be used. If that is also absent, a password
|
|||||||
will be generated randomly.
|
will be generated randomly.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Custom Access Right
|
RDM_RECORDS_DOI_DATACITE_FORMAT = "{prefix}/{id}"
|
||||||
# RDM_RECORDS_CUSTOM_VOCABULARIES = {
|
"""Customize the generated DOI string."""
|
||||||
# 'access_right': {
|
|
||||||
# 'path': join(
|
|
||||||
# dirname(abspath(__file__)),
|
|
||||||
# 'restrictions', 'access_right', 'access_right_limit.csv'
|
|
||||||
# )
|
|
||||||
# }
|
|
||||||
# }
|
|
||||||
|
|
||||||
# Invenio-app-rdm
|
# Invenio-app-rdm
|
||||||
# =========================
|
# =========================
|
||||||
# See https://github.com/inveniosoftware/invenio-app-rdm/blob/master/invenio_app_rdm/config.py
|
# See https://github.com/inveniosoftware/invenio-app-rdm/blob/master/invenio_app_rdm/config.py
|
||||||
APP_RDM_DEPOSIT_FORM_DEFAULTS = {}
|
APP_RDM_DEPOSIT_FORM_DEFAULTS = {
|
||||||
|
"publisher": "Graz University of Technology",
|
||||||
|
}
|
||||||
"""Default values for new records in the deposit UI.
|
"""Default values for new records in the deposit UI.
|
||||||
|
|
||||||
The keys denote the dot-separated path, where in the record's metadata
|
The keys denote the dot-separated path, where in the record's metadata
|
||||||
|
|||||||
@@ -53,34 +53,34 @@ Using Custom Generator for a policy:
|
|||||||
Permissions for Invenio (RDM) Records.
|
Permissions for Invenio (RDM) Records.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from invenio_rdm_records.services import RDMRecordPermissionPolicy
|
# from invenio_rdm_records.services import RDMRecordPermissionPolicy
|
||||||
from invenio_rdm_records.services.config import RDMRecordServiceConfig
|
# from invenio_rdm_records.services.config import RDMRecordServiceConfig
|
||||||
from invenio_rdm_records.services.generators import IfDraft, IfRestricted, RecordOwners
|
# from invenio_rdm_records.services.generators import IfDraft, IfRestricted, RecordOwners
|
||||||
from invenio_records_permissions.generators import (
|
# from invenio_records_permissions.generators import (
|
||||||
Admin,
|
# Admin,
|
||||||
AnyUser,
|
# AnyUser,
|
||||||
AuthenticatedUser,
|
# AuthenticatedUser,
|
||||||
Disable,
|
# Disable,
|
||||||
SuperUser,
|
# SuperUser,
|
||||||
SystemProcess,
|
# SystemProcess,
|
||||||
)
|
# )
|
||||||
|
|
||||||
|
|
||||||
class TUGRAZPermissionPolicy(RDMRecordPermissionPolicy):
|
# class TUGRAZPermissionPolicy(RDMRecordPermissionPolicy):
|
||||||
"""Access control configuration for rdm records.
|
# """Access control configuration for rdm records.
|
||||||
|
|
||||||
This overrides the origin:
|
# This overrides the origin:
|
||||||
https://github.com/inveniosoftware/invenio-rdm-records/blob/master/invenio_rdm_records/services/permissions.py.
|
# https://github.com/inveniosoftware/invenio-rdm-records/blob/master/invenio_rdm_records/services/permissions.py.
|
||||||
Access control configuration for records.
|
# Access control configuration for records.
|
||||||
Note that even if the array is empty, the invenio_access Permission class
|
# Note that even if the array is empty, the invenio_access Permission class
|
||||||
always adds the ``superuser-access``, so admins will always be allowed.
|
# always adds the ``superuser-access``, so admins will always be allowed.
|
||||||
- Create action given to everyone for now.
|
# - Create action given to everyone for now.
|
||||||
- Read access given to everyone if public record and given to owners
|
# - Read access given to everyone if public record and given to owners
|
||||||
always. (inherited)
|
# always. (inherited)
|
||||||
- Update access given to record owners. (inherited)
|
# - Update access given to record owners. (inherited)
|
||||||
- Delete access given to admins only. (inherited)
|
# - Delete access given to admins only. (inherited)
|
||||||
"""
|
# """
|
||||||
|
|
||||||
|
|
||||||
class TUGRAZRDMRecordServiceConfig(RDMRecordServiceConfig):
|
# class TUGRAZRDMRecordServiceConfig(RDMRecordServiceConfig):
|
||||||
"""Overriding BibliographicRecordServiceConfig."""
|
# """Overriding BibliographicRecordServiceConfig."""
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,257 +0,0 @@
|
|||||||
{#
|
|
||||||
Copyright (C) 2021 CERN.
|
|
||||||
Copyright (C) 2021 Graz University of Technology.
|
|
||||||
|
|
||||||
Invenio App RDM is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the MIT License; see LICENSE file for more details.
|
|
||||||
#}
|
|
||||||
{%- set title = _("Search guide") %}
|
|
||||||
{%- extends "invenio_theme/page.html" %}
|
|
||||||
|
|
||||||
{%- block page_body %}
|
|
||||||
<div class="ui container">
|
|
||||||
<h1>Suchanleitung</h1>
|
|
||||||
<p>
|
|
||||||
Diese Anleitung erklärt anhand von leicht verständlichen Beispielen,
|
|
||||||
wie man erweiterte Suchanfragen schreibt.
|
|
||||||
</p>
|
|
||||||
<h3>Einfache Suche (ein oder mehrere Begriffe)</h3>
|
|
||||||
<p>
|
|
||||||
<strong>Beispiel:</strong>
|
|
||||||
<a href="/search?page=1&size=20&q=open%20science"
|
|
||||||
><code>open science</code></a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Die Ergebnisse entsprechen Datensätzen mit den <em>Begriffen</em> <code>open</code>
|
|
||||||
<em>oder</em> <code>science</code> in einem <em>beliebigen Feld</em>. Beachten Sie, dass die Abstammung angewendet wird,
|
|
||||||
so dass z. B. <code>science</code> auch mit
|
|
||||||
<code>sciences</code>übereinstimmt. Die Suchergebnisse werden nach einem Algorithmus geordnet,
|
|
||||||
der Ihre Suchbegriffe berücksichtigt.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Sie können das <em>Vorhandensein</em> beider Terme entweder mit dem
|
|
||||||
<code>+</code> oder dem <code>AND</code> Operator verlangen:
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<strong>Beispiele:</strong>
|
|
||||||
<a href="/search?page=1&size=20&q=%2Bopen%20%2Bscience"
|
|
||||||
><code>+open +science</code></a
|
|
||||||
>
|
|
||||||
oder
|
|
||||||
<a href="/search?page=1&size=20&q=open%20AND%20science"
|
|
||||||
><code>open AND science</code></a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Sie können das <em>Nichtvorhandensein</em> eines oder mehrerer Begriffe mit dem Operator
|
|
||||||
<code>-</code> oder <code>NOT</code> verlangen:
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<strong>Beispiele:</strong>
|
|
||||||
<a href="/search?page=1&size=20&q=-open%20%2Bscience"
|
|
||||||
><code>-open +science</code></a
|
|
||||||
>
|
|
||||||
oder
|
|
||||||
<a href="/search?page=1&size=20&q=NOT%20open%20AND%20science"
|
|
||||||
><code>NOT open AND science</code></a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<h3>Phrasensuche</h3>
|
|
||||||
<p>
|
|
||||||
<strong>Beispiel:</strong>
|
|
||||||
<a href="/search?page=1&size=20&q=%22open%20science%22"
|
|
||||||
><code>"open science"</code></a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Die Ergebnisse entsprechen Datensätzen mit der <em>phrase</em>
|
|
||||||
<code>open science</code> in einem <em>beliebigen Feld</em>.
|
|
||||||
</p>
|
|
||||||
<h3>Feldsuche</h3>
|
|
||||||
<p>
|
|
||||||
<strong>Beispiel:</strong>
|
|
||||||
<a href="/search?page=1&size=20&q=metadata.title:open"
|
|
||||||
><code>metadata.title:open</code></a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Die Ergebnisse stimmen mit Datensätzen überein, bei denen der <em>Begriff</em> <code>open</code> im
|
|
||||||
<em>Feld</em> <code>metadata.title</code>ist. enn Sie nach mehreren Begriffen im Titel suchen möchten,
|
|
||||||
müssen Sie <strong>die Begriffe</strong> mit Klammern gruppieren:
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<strong>Beispiel:</strong>
|
|
||||||
<a href="/search?page=1&size=20&q=metadata.title:(open%20science%29"
|
|
||||||
><code>metadata.title:(open science)</code></a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Die vollständige Liste der Felder, die Sie durchsuchen können, finden Sie in der Feldreferenz unten.
|
|
||||||
</p>
|
|
||||||
<h3>Kombinierte einfache, Phrasen- oder Feldsuche</h3>
|
|
||||||
<p>
|
|
||||||
<strong>Beispiel:</strong>
|
|
||||||
<a
|
|
||||||
href="/search?page=1&size=20&q=%2Bmetadata.title:%22open%20science%22%20-metadata.title:policy"
|
|
||||||
><code>+metadata.title:"open science" -metadata.title:policy</code></a
|
|
||||||
>
|
|
||||||
oder z. B.
|
|
||||||
<a href="/search?page=1&size=20&q=metadata.title:(-open%20%2Bscience%29"
|
|
||||||
><code>metadata.title:(-open +science)</code></a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Sie können einfache, Phrasen- und Feldsuche kombinieren, um erweiterte Suchanfragen zu konstruieren.
|
|
||||||
</p>
|
|
||||||
<h3>Bereichssuche</h3>
|
|
||||||
<p>
|
|
||||||
<strong>Beispiel:</strong>
|
|
||||||
<a
|
|
||||||
href="/search?page=1&size=20&q=metadata.publication_date:%5B2017%20TO%202018%5D"
|
|
||||||
><code>metadata.publication_date:[2017 TO 2018]</code></a
|
|
||||||
>
|
|
||||||
(Achtung, <code>TO</code> muss großgeschrieben werden).
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Die Ergebnisse entsprechen allen Datensätzen mit einem Veröffentlichungsdatum
|
|
||||||
zwischen 2017-01-01 und 2018-01-01 (beide Daten inklusive).
|
|
||||||
</p>
|
|
||||||
<p>Beachten Sie, dass partielle Daten zu vollständigen Daten erweitert werden, z. B.:</p>
|
|
||||||
<ul>
|
|
||||||
<li>2017 wird erweitert auf 2017-01-01</li>
|
|
||||||
<li>2017-06 wird erweitert auf 2017-06-01</li>
|
|
||||||
</ul>
|
|
||||||
<p>
|
|
||||||
Verwenden Sie eckige Klammern (<code>[]</code>) für <em>einschließende</em> Bereiche und geschweifte
|
|
||||||
Klammern (<code>{}</code>) für <em>ausschließende</em> Bereiche, z. B.:
|
|
||||||
</p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<code>[2017 TO 2018}</code> ist aufgrund der Datumserweiterung
|
|
||||||
und der exklusiven Obergrenze äquivalent zu
|
|
||||||
<code>[2017-01-01 TO 2017-12-31]</code>.
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<p>Beispiele für andere Bereiche:</p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<code>metadata.publication_date:{* TO 2017-01-01}</code>: Alle Tage bis 2017.
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<code>metadata.publication_date:[2017-01-01 TO *]</code>: Alle Tage von 2017.
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<h3>Ranking/Sortierung</h3>
|
|
||||||
<p>
|
|
||||||
Standardmäßig werden alle Suchen nach einem internen Ranking-Algorithmus sortiert,
|
|
||||||
der jede Übereinstimmung mit Ihrer Abfrage bewertet. Sowohl in der Benutzeroberfläche
|
|
||||||
als auch in der REST-API ist es möglich, die Ergebnisse zu sortieren nach:
|
|
||||||
</p>
|
|
||||||
<ul>
|
|
||||||
<li>Aktuellste</li>
|
|
||||||
<li>Beste Übereinstimmung</li>
|
|
||||||
</ul>
|
|
||||||
<h3>Reguläre Ausdrücke</h3>
|
|
||||||
<p>
|
|
||||||
Reguläre Ausdrücke sind eine mächtige Sprache für den Mustervergleich, mit der
|
|
||||||
man nach bestimmten Mustern in einem Feld suchen kann. Wenn wir zum Beispiel
|
|
||||||
alle Datensätze mit dem DOI-Präfix 10.5281 finden wollen, können wir eine Suche mit
|
|
||||||
regulären Ausdrücken verwenden:
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<strong>Beispiel:</strong>
|
|
||||||
<a href="/search?page=1&size=20&q=metadata.subjects.identifier:%2F03yrm5c2%5B1%2C6%5D%2F"
|
|
||||||
><code>metadata.subjects.identifier:/03yrm5c2[1,6]/</code></a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Vorsicht, der reguläre Ausdruck muss mit dem <em>gesamten</em> Feldwert übereinstimmen.
|
|
||||||
Weitere Einzelheiten finden Sie in der
|
|
||||||
<a
|
|
||||||
href="https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html#regexp-syntax"
|
|
||||||
>Syntax des regulären Ausdrucks</a
|
|
||||||
>
|
|
||||||
.
|
|
||||||
</p>
|
|
||||||
<h3>Fehlende Werte</h3>
|
|
||||||
<p>
|
|
||||||
Es ist möglich, mit den Feldnamen <code>_exists_</code> und
|
|
||||||
<code>_missing_</code> nach Datensätzen zu suchen,
|
|
||||||
in denen entweder ein Wert fehlt oder die einen Wert in einem bestimmten Feld haben.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<strong>Beispiel:</strong>
|
|
||||||
<a href="/search?page=1&size=20&q=_missing_:metadata.additional_titles"
|
|
||||||
><code>_missing_:metadata.additional_titles</code></a
|
|
||||||
>
|
|
||||||
(alle Datensätze ohne metadata.additional_titles)
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<strong>Beispiel:</strong>
|
|
||||||
<a href="/search?page=1&size=20&q=_exists_:metadata.creators"
|
|
||||||
><code>_exists_:metadata.creators</code></a
|
|
||||||
>
|
|
||||||
(alle Datensätze mit metadata.creators)
|
|
||||||
</p>
|
|
||||||
<h3>Erweiterte Konzepte</h3>
|
|
||||||
<h4>Boosten</h4>
|
|
||||||
<p>
|
|
||||||
Sie können den Boost-Operator <code>^</code> verwenden, wenn ein Begriff relevanter ist als ein
|
|
||||||
anderer. Sie können z. B. nach allen Datensätzen suchen, die den Ausdruck
|
|
||||||
<em>open science</em> entweder <em>im title</em> oder im
|
|
||||||
<em>description</em> feld enthalten, aber Datensätze mit dem Ausdruck im
|
|
||||||
<em>title</em> feld höher einstufen:
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<strong>Beispiel:</strong>
|
|
||||||
<a
|
|
||||||
href="/search?page=1&size=20&q=metadata.title:%22open%20science%22%5E5%20metadata.description:%22open%20science%22"
|
|
||||||
><code>metadata.title:"open science"^5 metadata.description:"open science"</code></a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<h4>Unschärfe</h4>
|
|
||||||
<p>
|
|
||||||
Mit dem Fuzzy-Operator <code>~</code>können Sie nach
|
|
||||||
Begriffen suchen, die Ihrem Suchbegriff ähnlich, aber nicht genau gleich sind.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<strong>Beispiel:</strong>
|
|
||||||
<a href="/search?page=1&size=20&q=oepn~"><code>oepn~</code></a>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Die Ergebnisse entsprechen Datensätzen mit ähnlichen Begriffen wie <code>oepn</code> die z. B.
|
|
||||||
auch auf <code>open</code> passen würden.
|
|
||||||
</p>
|
|
||||||
<h4>Näherungssuche</h4>
|
|
||||||
<p>
|
|
||||||
Eine Phrasensuche wie <code>"open science"</code> erwartet standardmäßig alle Begriffe in
|
|
||||||
genau der gleichen Reihenfolge und würde daher z. B. nicht auf einen Datensatz
|
|
||||||
passen, der die Phrase <em>"open access and science"</em> enthält.
|
|
||||||
Eine Proximity-Suche erlaubt, dass die Begriffe nicht in der exakten Reihenfolge stehen
|
|
||||||
und auch andere Begriffe dazwischen enthalten können.
|
|
||||||
Der Grad der Flexibilität wird anschließend durch eine Ganzzahl angegeben:
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<strong>Beispiel:</strong>
|
|
||||||
<a href="/search?page=1&size=20&q=%22open%20science%22~5"
|
|
||||||
><code>"open science"~5</code></a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<h4>Wildcards</h4>
|
|
||||||
<p>
|
|
||||||
Sie können Wildcards in Suchbegriffen verwenden, um ein einzelnes Zeichen (mit
|
|
||||||
dem Operator<code>?</code> operator) oder null oder mehr Zeichen (mit dem Operator
|
|
||||||
<code>*</code> ) zu ersetzen.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<strong>Beispiel:</strong>
|
|
||||||
<a href="/search?page=1&size=20&q=ope%3F%20scien*"
|
|
||||||
><code>ope? scien*</code></a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Platzhaltersuchen können langsam sein und sollten normalerweise nach Möglichkeit vermieden werden.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
{%- endblock page_body%}
|
|
||||||
@@ -4,10 +4,10 @@
|
|||||||
|
|
||||||
{{ _('To help you get started, here are some useful links:') }}
|
{{ _('To help you get started, here are some useful links:') }}
|
||||||
|
|
||||||
- {{ _('Guidelines:')}} {{ _('Repository Guide')}} ({{ _('how to upload files')}}) (https://{{ config.SITE_HOSTNAME }}{{ url_for('invenio_theme_tugraz.guide') }})
|
- {{ _('Guidelines:')}} {{ _('Repository Guide')}} ({{ _('how to upload files')}}) (https://{{ config.SITE_HOSTNAME }}{{ url_for('invenio_config_tugraz.guide') }})
|
||||||
- {{ _('Search Guide')}} (https://{{ config.SITE_HOSTNAME }}{{url_for('invenio_app_rdm.help_search')}})
|
- {{ _('Search Guide')}} (https://{{ config.SITE_HOSTNAME }}{{url_for('invenio_app_rdm.help_search')}})
|
||||||
- {{ _('Terms And Conditions') }} (https://{{ config.SITE_HOSTNAME }}{{ url_for('invenio_theme_tugraz.terms') }})
|
- {{ _('Terms And Conditions') }} (https://{{ config.SITE_HOSTNAME }}{{ url_for('invenio_config_tugraz.terms') }})
|
||||||
- {{ _('Data Protection Rights')}} (https://{{ config.SITE_HOSTNAME }}{{ url_for('invenio_theme_tugraz.gdpr') }})
|
- {{ _('Data Protection Rights')}} (https://{{ config.SITE_HOSTNAME }}{{ url_for('invenio_config_tugraz.gdpr') }})
|
||||||
{% if security.confirmable %}
|
{% if security.confirmable %}
|
||||||
{{ _('You can confirm your email through the link below:') }}
|
{{ _('You can confirm your email through the link below:') }}
|
||||||
{{ confirmation_link }}">
|
{{ confirmation_link }}">
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2020 Mojib Wali.
|
# Copyright (C) 2020-2021 Graz University of Technology.
|
||||||
#
|
#
|
||||||
# invenio-config-tugraz is free software; you can redistribute it and/or
|
# invenio-config-tugraz is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the MIT License; see LICENSE file for more
|
# modify it under the terms of the MIT License; see LICENSE file for more
|
||||||
@@ -12,4 +12,4 @@ This file is imported by ``invenio_config_tugraz.__init__``,
|
|||||||
and parsed by ``setup.py``.
|
and parsed by ``setup.py``.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__version__ = "0.5.9"
|
__version__ = "0.6.2"
|
||||||
|
|||||||
@@ -12,17 +12,25 @@ from os import environ
|
|||||||
from typing import Dict
|
from typing import Dict
|
||||||
|
|
||||||
from elasticsearch_dsl.utils import AttrDict
|
from elasticsearch_dsl.utils import AttrDict
|
||||||
from flask import Blueprint, current_app
|
from flask import Blueprint, current_app, redirect, url_for
|
||||||
|
from flask_babelex import get_locale
|
||||||
|
|
||||||
|
|
||||||
def ui_blueprint(app):
|
def ui_blueprint(app):
|
||||||
"""Blueprint for the routes and resources provided by invenio-config-tugraz."""
|
"""Blueprint for the routes and resources provided by invenio-config-tugraz."""
|
||||||
|
routes = app.config.get("CONFIG_TUGRAZ_ROUTES")
|
||||||
|
|
||||||
blueprint = Blueprint(
|
blueprint = Blueprint(
|
||||||
"invenio_config_tugraz",
|
"invenio_config_tugraz",
|
||||||
__name__,
|
__name__,
|
||||||
template_folder="templates",
|
template_folder="templates",
|
||||||
|
static_folder="static",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
blueprint.add_url_rule(routes["guide"], view_func=guide)
|
||||||
|
blueprint.add_url_rule(routes["terms"], view_func=terms)
|
||||||
|
blueprint.add_url_rule(routes["gdpr"], view_func=gdpr)
|
||||||
|
|
||||||
@blueprint.before_app_first_request
|
@blueprint.before_app_first_request
|
||||||
def rank_higher():
|
def rank_higher():
|
||||||
"""Rank this modules blueprint higher than blueprint of security module."""
|
"""Rank this modules blueprint higher than blueprint of security module."""
|
||||||
@@ -42,3 +50,27 @@ def ui_blueprint(app):
|
|||||||
blueprints[our_index] = temp
|
blueprints[our_index] = temp
|
||||||
|
|
||||||
return blueprint
|
return blueprint
|
||||||
|
|
||||||
|
|
||||||
|
def guide():
|
||||||
|
"""TUGraz_Repository_Guide."""
|
||||||
|
locale = get_locale()
|
||||||
|
return redirect(url_for('static',
|
||||||
|
filename=f'documents/TUGraz_Repository_Guide_02_{locale}.pdf',
|
||||||
|
_external=True))
|
||||||
|
|
||||||
|
|
||||||
|
def terms():
|
||||||
|
"""Terms_And_Conditions."""
|
||||||
|
locale = get_locale()
|
||||||
|
return redirect(url_for('static',
|
||||||
|
filename=f'documents/TUGraz_Repository_Terms_And_Conditions_{locale}.pdf',
|
||||||
|
_external=True))
|
||||||
|
|
||||||
|
|
||||||
|
def gdpr():
|
||||||
|
"""General_Data_Protection_Rights."""
|
||||||
|
locale = get_locale()
|
||||||
|
return redirect(url_for('static',
|
||||||
|
filename=f'documents/TUGraz_Repository_General_Data_Protection_Rights_{locale}.pdf',
|
||||||
|
_external=True))
|
||||||
|
|||||||
17
setup.py
17
setup.py
@@ -16,12 +16,11 @@ readme = open("README.rst").read()
|
|||||||
history = open("CHANGES.rst").read()
|
history = open("CHANGES.rst").read()
|
||||||
|
|
||||||
tests_require = [
|
tests_require = [
|
||||||
"pytest-invenio>=1.4.0",
|
"pytest-invenio>=1.4.1",
|
||||||
"invenio-app>=1.3.0,<2.0.0",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
# Should follow invenio-app-rdm
|
# Should follow invenio-app-rdm
|
||||||
invenio_search_version = ">=1.4.0,<1.5.0"
|
invenio_search_version = ">=1.4.1,<1.5.0"
|
||||||
invenio_db_version = ">=1.0.9,<1.1.0"
|
invenio_db_version = ">=1.0.9,<1.1.0"
|
||||||
|
|
||||||
extras_require = {
|
extras_require = {
|
||||||
@@ -30,7 +29,7 @@ extras_require = {
|
|||||||
"postgresql": [f"invenio-db[postgresql,versioning]{invenio_db_version}"],
|
"postgresql": [f"invenio-db[postgresql,versioning]{invenio_db_version}"],
|
||||||
"sqlite": [f"invenio-db[versioning]{invenio_db_version}"],
|
"sqlite": [f"invenio-db[versioning]{invenio_db_version}"],
|
||||||
"docs": [
|
"docs": [
|
||||||
"Sphinx>=3",
|
"Sphinx>=3,<3.4.2",
|
||||||
],
|
],
|
||||||
"tests": tests_require,
|
"tests": tests_require,
|
||||||
}
|
}
|
||||||
@@ -47,14 +46,13 @@ for name, reqs in extras_require.items():
|
|||||||
extras_require["all"].extend(reqs)
|
extras_require["all"].extend(reqs)
|
||||||
|
|
||||||
setup_requires = [
|
setup_requires = [
|
||||||
"Babel>=1.3",
|
"Babel>=2.8,<3",
|
||||||
"pytest-runner>=3.0.0,<5",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
install_requires = [
|
install_requires = [
|
||||||
"Flask-BabelEx>=0.9.4",
|
|
||||||
# keep this in sync with invenioRDM release
|
# keep this in sync with invenioRDM release
|
||||||
"invenio_app_rdm==3.0.0",
|
"invenio-rdm-records>=0.32.2,<0.33.0",
|
||||||
|
"invenio-cache>=1.1.0"
|
||||||
]
|
]
|
||||||
|
|
||||||
packages = find_packages()
|
packages = find_packages()
|
||||||
@@ -110,6 +108,7 @@ setup(
|
|||||||
"Programming Language :: Python :: 3.6",
|
"Programming Language :: Python :: 3.6",
|
||||||
"Programming Language :: Python :: 3.7",
|
"Programming Language :: Python :: 3.7",
|
||||||
"Programming Language :: Python :: 3.8",
|
"Programming Language :: Python :: 3.8",
|
||||||
"Development Status :: 3 - Alpha",
|
"Programming Language :: Python :: 3.9",
|
||||||
|
"Development Status :: 5 - Production/Stable",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user