mirror of
https://github.com/Cian-H/invenio-config-iform.git
synced 2025-12-23 05:21:57 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b33c7e09c3 | ||
|
|
0c775851d8 | ||
|
|
89f6aee814 |
@@ -54,8 +54,6 @@ APP_DEFAULT_SECURE_HEADERS = {
|
||||
"'unsafe-eval'",
|
||||
"blob:",
|
||||
"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,
|
||||
@@ -113,19 +111,22 @@ Set this to False when sending actual emails.
|
||||
# ===========
|
||||
# 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.
|
||||
|
||||
This also forces user to add username and fullname
|
||||
when register.
|
||||
"""
|
||||
|
||||
USERPROFILES_EMAIL_ENABLED = False
|
||||
USERPROFILES_EMAIL_ENABLED = True
|
||||
"""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 = {}
|
||||
"""Configuration of IDPS. Actual values can be find in to invenio.cfg file"""
|
||||
@@ -153,13 +154,16 @@ SSO_SAML_DEFAULT_SLS_ROUTE = "/sls/<idp>"
|
||||
# ===========
|
||||
# See https://invenio-accounts.readthedocs.io/en/latest/configuration.html
|
||||
|
||||
ACCOUNTS_LOCAL_LOGIN_ENABLED = True
|
||||
"""Allow local login."""
|
||||
|
||||
SECURITY_CHANGEABLE = False
|
||||
"""Allow password change by users."""
|
||||
|
||||
SECURITY_RECOVERABLE = False
|
||||
"""Allow password recovery by users."""
|
||||
|
||||
SECURITY_REGISTERABLE = False
|
||||
SECURITY_REGISTERABLE = True
|
||||
""""Allow users to register.
|
||||
|
||||
With this variable set to "False" users will not be
|
||||
@@ -228,16 +232,6 @@ password from ``users.yaml`` will be used. If that is also absent, a password
|
||||
will be generated randomly.
|
||||
"""
|
||||
|
||||
# Custom Access Right
|
||||
# RDM_RECORDS_CUSTOM_VOCABULARIES = {
|
||||
# 'access_right': {
|
||||
# 'path': join(
|
||||
# dirname(abspath(__file__)),
|
||||
# 'restrictions', 'access_right', 'access_right_limit.csv'
|
||||
# )
|
||||
# }
|
||||
# }
|
||||
|
||||
# Invenio-app-rdm
|
||||
# =========================
|
||||
# See https://github.com/inveniosoftware/invenio-app-rdm/blob/master/invenio_app_rdm/config.py
|
||||
|
||||
@@ -53,34 +53,34 @@ Using Custom Generator for a policy:
|
||||
Permissions for Invenio (RDM) Records.
|
||||
"""
|
||||
|
||||
from invenio_rdm_records.services import RDMRecordPermissionPolicy
|
||||
from invenio_rdm_records.services.config import RDMRecordServiceConfig
|
||||
from invenio_rdm_records.services.generators import IfDraft, IfRestricted, RecordOwners
|
||||
from invenio_records_permissions.generators import (
|
||||
Admin,
|
||||
AnyUser,
|
||||
AuthenticatedUser,
|
||||
Disable,
|
||||
SuperUser,
|
||||
SystemProcess,
|
||||
)
|
||||
# from invenio_rdm_records.services import RDMRecordPermissionPolicy
|
||||
# from invenio_rdm_records.services.config import RDMRecordServiceConfig
|
||||
# from invenio_rdm_records.services.generators import IfDraft, IfRestricted, RecordOwners
|
||||
# from invenio_records_permissions.generators import (
|
||||
# Admin,
|
||||
# AnyUser,
|
||||
# AuthenticatedUser,
|
||||
# Disable,
|
||||
# SuperUser,
|
||||
# SystemProcess,
|
||||
# )
|
||||
|
||||
|
||||
class TUGRAZPermissionPolicy(RDMRecordPermissionPolicy):
|
||||
"""Access control configuration for rdm records.
|
||||
# class TUGRAZPermissionPolicy(RDMRecordPermissionPolicy):
|
||||
# """Access control configuration for rdm records.
|
||||
|
||||
This overrides the origin:
|
||||
https://github.com/inveniosoftware/invenio-rdm-records/blob/master/invenio_rdm_records/services/permissions.py.
|
||||
Access control configuration for records.
|
||||
Note that even if the array is empty, the invenio_access Permission class
|
||||
always adds the ``superuser-access``, so admins will always be allowed.
|
||||
- Create action given to everyone for now.
|
||||
- Read access given to everyone if public record and given to owners
|
||||
always. (inherited)
|
||||
- Update access given to record owners. (inherited)
|
||||
- Delete access given to admins only. (inherited)
|
||||
"""
|
||||
# This overrides the origin:
|
||||
# https://github.com/inveniosoftware/invenio-rdm-records/blob/master/invenio_rdm_records/services/permissions.py.
|
||||
# Access control configuration for records.
|
||||
# Note that even if the array is empty, the invenio_access Permission class
|
||||
# always adds the ``superuser-access``, so admins will always be allowed.
|
||||
# - Create action given to everyone for now.
|
||||
# - Read access given to everyone if public record and given to owners
|
||||
# always. (inherited)
|
||||
# - Update access given to record owners. (inherited)
|
||||
# - Delete access given to admins only. (inherited)
|
||||
# """
|
||||
|
||||
|
||||
class TUGRAZRDMRecordServiceConfig(RDMRecordServiceConfig):
|
||||
"""Overriding BibliographicRecordServiceConfig."""
|
||||
# class TUGRAZRDMRecordServiceConfig(RDMRecordServiceConfig):
|
||||
# """Overriding BibliographicRecordServiceConfig."""
|
||||
|
||||
@@ -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%}
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- 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
|
||||
# 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``.
|
||||
"""
|
||||
|
||||
__version__ = "0.5.9"
|
||||
__version__ = "0.6.0"
|
||||
|
||||
Reference in New Issue
Block a user