Metadata-Version: 2.1
Name: invenio-config-tuw
Version: 2022.3.3
Summary: "Invenio module containing some customizations and configuration for TU Wien."
Home-page: https://gitlab.tuwien.ac.at/fairdata/invenio-config-tuw
Author: TU Wien
Author-email: tudata@tuwien.ac.at
License: MIT
Keywords: invenio tu wien configuration
Platform: any
Classifier: Environment :: Web Environment
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Development Status :: 5 - Production/Stable
Requires-Python: >=3.7
License-File: LICENSE
License-File: AUTHORS.rst
Requires-Dist: Flask-BabelEx (>=0.9.4)
Requires-Dist: invenio-app-rdm (>=10.0.0)
Requires-Dist: invenio-mail (<1.1.0,>=1.0.2)
Provides-Extra: docs
Provides-Extra: tests
Requires-Dist: pytest-black (<0.3.10,>=0.3.0) ; extra == 'tests'
Requires-Dist: check-manifest (>=0.25) ; extra == 'tests'
Requires-Dist: coverage (>=4.0) ; extra == 'tests'
Requires-Dist: isort (>=4.3.3) ; extra == 'tests'
Requires-Dist: pydocstyle (>=2.0.0) ; extra == 'tests'
Requires-Dist: pytest-cov (>=2.5.1) ; extra == 'tests'
Requires-Dist: pytest-pep8 (>=1.0.6) ; extra == 'tests'
Requires-Dist: pytest-invenio (>=1.2.1) ; extra == 'tests'
Requires-Dist: sphinx (>=4.5) ; extra == 'tests'

..
    Copyright (C) 2020-2022 TU Wien.

    Invenio-Config-TUW is free software; you can redistribute it and/or
    modify it under the terms of the MIT License; see LICENSE file for more
    details.

====================
 Invenio-Config-TUW
====================

Invenio module for tweaking InvenioRDM to the needs of TU Wien.

We use this module to customize the following:

* Permission policies
* OIDC authentication handling
* E-Mail notification on errors
* Configuration values


Details
=======

Permission policies
-------------------

Currently, we are still operating on a friendly-user basis.
That is, while we cannot lose any data that has been uploaded by our users, we do not
allow every registered user to create record drafts, upload data, or publish records
from the get-go.
Instead, we require users to have the ``trusted-user`` role in order to be able to
create record drafts and upload data.
Similarly, we have the ``trusted-publisher`` role as a requirement for publishing
records.
Generally, these roles have to be assigned to users manually by an administrator.

On the test system, we give out these permissions automatically if we detect that a
newly registered user is an employee of TU Wien.


OIDC authentication handling
----------------------------

Because we have some special requirements regarding the authentication and signup
process, we have customized some of the handler functions for the OAuth client
that's integrated in InvenioRDM.
These customizations are contained in the files in ``auth/``.


E-Mail notification on errors
-----------------------------

This module defines a custom log handler for error-level logs which sends out
notifications as e-mail to a set of configured recipient addresses.


Configuration values
--------------------

Last but not least, we also set some default configuration values for deployments
of InvenioRDM at TU Wien.
The relevant files here are ``config.py`` and ``ext.py``.

..
    Copyright (C) 2020-2022 TU Wien.

    Invenio-Config-TUW is free software; you can redistribute it and/or
    modify it under the terms of the MIT License; see LICENSE file for more
    details.

Changes
=======

Version 2022.3 (released 2022-10-28, updated 2022-11-24)

- v10 compat: Discard imports of removed Admin/SuperUser generators
- Rework the initialization procedure used for some custom overrides
- Migrate from setup.py to setup.cfg
- Move Flask config override from Invenio-Theme-TUW to Invenio-Config-TUW


Version 2022.2 (released 2022-07-19, updated 2022-10-22)

- v9 compat: Chase changes in Invenio-{Accounts,OAuthClient} 2.x
- v9 compat: Update permission policies
- v9 compat: Hack in permission policy for communities
- Refactor permissions and config
- Remove leftover views.py
- Set deposit form file size limits
- Fix permissions
- Reverse contents of CHANGES.rst (recent changes are shown on top)
- Attach SMTP error handler to the application in production mode
- Add custom logging formatter
- Auto-confirm newly registered users' e-mail addresses if ``SECURITY_CONFIRMABLE`` is ``False``
- Set default user preferences (``visibility=public``, ``email_visibility=restricted``)
- Set default value for ``version`` metadata to ``1.0.0``
- Add config item to put the system into "read-only mode"


Version 2022.1 (released 2022-03-23, updated 2022-04-06)

- Update permissions for creating and editing drafts
- Use the OAI metadata implementation from Invenio-RDM-Records
- Change the default file size and bucket quota limits to 75GB


Version 2021.2 (released 2021-12-07, updated 2021-12-20)

- Make ready for InvenioRDM v7
- Add requests permission policy
- Enforce a rate limit for HTTP requests
- Change method of overriding the record permission policy
- Add datacite and oai_datacite metadataPrefixes to the OAI endpoint


Version 2021.1 (released 2021-07-15)

- Initial public release.
- Update the list of citation styles
