Skip to content

Commit 757f2e5

Browse files
committed
Merge branch 'develop' into 11639-db-opts-idempotency
2 parents 886a9cf + fc9363f commit 757f2e5

File tree

17 files changed

+161
-56
lines changed

17 files changed

+161
-56
lines changed

.github/workflows/deploy_beta_testing.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ jobs:
6969
overwrite: true
7070

7171
- name: Execute payara war deployment remotely
72-
uses: appleboy/[email protected].2
72+
uses: appleboy/[email protected].3
7373
env:
7474
INPUT_WAR_FILE: ${{ env.war_file }}
7575
with:
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
This release adds functionality to retry calls to DataCite when their server is overloaded or Dataverse has hit their rate limit.
2+
3+
It also introduces an option to only update DataCite metadata after checking to see if the current DataCite information is out of date.
4+
(This adds a request to get information from DataCite before any potential write of new information which will be more efficient when
5+
most DOIs have not changed but will result in an extra call to get info when a DOI has changed.)
6+
7+
Both of these can help when DataCite is being used heavily, e.g. creating and publishing datasets with many datafiles and using file DOIs,
8+
or doing bulk operations that involve DataCite with many datasets.
9+
10+
### New Settings
11+
12+
- dataverse.feature.only-update-datacite-when-needed
13+
14+
The default is false - Dataverse will not check to see if DataCite's information is out of date before sending an update.

doc/sphinx-guides/source/container/app-image.rst

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,6 @@ Within the main repository, you may find the application image's files at ``<git
1717
This is the same Maven module providing a Dataverse WAR file for classic installations, and uses the
1818
`Maven Docker Plugin <https://dmp.fabric8.io>`_ to build and ship the image within a special Maven profile.
1919

20-
**NOTE: This image is created, maintained and supported by the Dataverse community on a best-effort basis.**
21-
IQSS will not offer you support how to deploy or run it, please reach out to the community for help on using it.
22-
You might be interested in taking a look at :doc:`../developers/containers`, linking you to some (community-based)
23-
efforts.
24-
2520
.. _app-image-supported-tags:
2621

2722
Supported Image Tags

doc/sphinx-guides/source/container/base-image.rst

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,6 @@ Within the main repository, you may find the base image's files at ``<git root>/
1616
This Maven module uses the `Maven Docker Plugin <https://dmp.fabric8.io>`_ to build and ship the image.
1717
You may use, extend, or alter this image to your liking and/or host in some different registry if you want to.
1818

19-
**NOTE: This image is created, maintained and supported by the Dataverse community on a best-effort basis.**
20-
IQSS will not offer you support how to deploy or run it, please reach out to the community (:ref:`support`) for help on using it.
21-
You might be interested in taking a look at :doc:`../developers/containers`, linking you to some (community-based)
22-
efforts.
23-
2419
.. _base-image-supported-tags:
2520

2621
Supported Image Tags

doc/sphinx-guides/source/container/dev-usage.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Development Usage
22
=================
33

4-
Please note! This Docker setup is not for production!
4+
Please note! This Docker setup is not for :doc:`production <running/production>`!
55

66
.. contents:: |toctitle|
77
:local:

doc/sphinx-guides/source/container/intro.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Dataverse in containers!
99
Intended Audience
1010
-----------------
1111

12-
This guide is intended for anyone who wants to run Dataverse in containers. This is potentially a wide audience, from sysadmins interested in running Dataverse in production in containers (not recommended yet) to contributors working on a bug fix (encouraged!). See :doc:`running/index` for various scenarios and please let us know if your use case is not covered.
12+
This guide is intended for anyone who wants to run Dataverse in containers. This is potentially a wide audience, from sysadmins interested in running Dataverse in production in containers to contributors working on a bug fix. See :doc:`running/index` for various scenarios and please let us know if your use case is not covered.
1313

1414
.. _getting-help-containers:
1515

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,21 @@
1-
Production (Future)
2-
===================
1+
Production
2+
==========
33

44
.. contents:: |toctitle|
55
:local:
66

77
Status
88
------
99

10-
The images described in this guide are not yet recommended for production usage, but we think we are close. (Tagged releases are done; see the "supported image tags" section for :ref:`Application <app-image-supported-tags>` and :ref:`Config Baker <config-image-supported-tags>` images.) For now, please see :doc:`demo`.
10+
As of Dataverse 6.8, when we introduced image tagging per version (see the :ref:`app-image-supported-tags` section for the :ref:`application image <app-image-supported-tags>`), we feel that the images described in this guide are ready for production use. Enjoy!
1111

12-
We'd like to make the following improvements:
12+
The images and the documentation is not perfect, of course.
1313

14-
- More docs on setting up additional features
14+
For now, we recommend following the :doc:`demo` tutorial. It will help you learn how to configure and secure your installation. Not that instead of "latest" you might want to select a specific version. Again see :ref:`app-image-supported-tags`.
1515

16-
- How to set up Rserve.
16+
The Dataverse guides were originally written with a non-Docker installation in mind so we'd like rewrite them with both Docker and non-Docker in mind. This is a big job, obviously. 😅 We know we'd like to write more about ports. We'd like to explain `how to set up Rserve <https://github.com/IQSS/dataverse/issues/11731>`_. Etc., etc.
1717

18-
- Go through all the features in docs and check what needs to be done differently with containers
19-
20-
- Check ports, for example.
21-
22-
To join the discussion on what else might be needed before declaring images ready for production, please comment on https://dataverse.zulipchat.com/#narrow/stream/375812-containers/topic/containers.20for.20production/near/434979159
23-
24-
You are also very welcome to join our meetings. See "how to help" below.
18+
To talk about your ideas for making the images and docs better for production, please feel free to join the `containers for production <https://dataverse.zulipchat.com/#narrow/channel/375812-containers/topic/containers.20for.20production/with/451611258>`_ topic or join a working group meeting (see :ref:`helping-containers`).
2519

2620
Limitations
2721
-----------
@@ -31,9 +25,9 @@ Limitations
3125
How to Help
3226
-----------
3327

34-
You can help the effort to support these images in production by trying them out (see :doc:`demo`) and giving feedback (see :ref:`helping-containers`).
28+
Please try the images (see :doc:`demo`) and give feedback (see :ref:`helping-containers`)! ❤️
3529

3630
Alternatives
3731
------------
3832

39-
Until the images are ready for production, please use the traditional installation method described in the :doc:`/installation/index`.
33+
The traditional (non-Docker) installation method is described in the :doc:`/installation/index`.

doc/sphinx-guides/source/contributor/documentation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ From a terminal, switch to the "dataverse" directory you just cloned. This is th
6666

6767
Then try running this command:
6868

69-
`docker run -it --rm -v $(pwd):/docs sphinxdoc/sphinx:7.2.6 bash -c "cd doc/sphinx-guides && pip3 install -r requirements.txt && make html"`
69+
`docker run -it --rm -v $(pwd):/docs sphinxdoc/sphinx:7.4.0 bash -c "cd doc/sphinx-guides && pip3 install -r requirements.txt && make html"`
7070

7171
If all goes well, you should be able to open `doc/sphinx-guides/build/html/index.html` to see the guides you just built.
7272

@@ -187,7 +187,7 @@ The HTML version of the guides is the official one. Any other formats are mainta
187187

188188
If you would like to build a PDF version of the guides and have Docker installed, please try the command below from the root of the git repo:
189189

190-
`docker run -it --rm -v $(pwd):/docs sphinxdoc/sphinx-latexpdf:7.2.6 bash -c "cd doc/sphinx-guides && pip3 install -r requirements.txt && make latexpdf LATEXMKOPTS=\"-interaction=nonstopmode\"; cd ../.. && ls -1 doc/sphinx-guides/build/latex/Dataverse.pdf"`
190+
`docker run -it --rm -v $(pwd):/docs sphinxdoc/sphinx-latexpdf:7.4.0 bash -c "cd doc/sphinx-guides && pip3 install -r requirements.txt && make latexpdf LATEXMKOPTS=\"-interaction=nonstopmode\"; cd ../.. && ls -1 doc/sphinx-guides/build/latex/Dataverse.pdf"`
191191

192192
A few notes about the command above:
193193

doc/sphinx-guides/source/installation/config.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -556,6 +556,8 @@ dataverse.pid.*.datacite.username
556556
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
557557
dataverse.pid.*.datacite.password
558558
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
559+
dataverse.feature.only-update-datacite-when-needed
560+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
559561

560562
PID Providers of type ``datacite`` require four additional parameters that define how the provider connects to DataCite.
561563
DataCite has two APIs that are used in Dataverse:
@@ -571,6 +573,11 @@ for `Fabrica <https://doi.datacite.org/>`_ and their APIs. You need to provide
571573
the same credentials (``username``, ``password``) to Dataverse software to mint and manage DOIs for you.
572574
As noted above, you should use one of the more secure options for setting the password.
573575

576+
The `only-update-datacite-when-needed feature` flag is a global option that causes Dataverse to GET the latest metadata from DataCite
577+
for a DOI and compare it with the current metadata in Dataverse and only sending a following POST request if needed. This potentially
578+
substitutes a read for an unnecessary write at DataCite, but would result in extra reads when all metadata in Dataverse is new.
579+
Setting the flag to "true" is recommended when using DataCite file DOIs.
580+
574581
CrossRef-specific Settings
575582
^^^^^^^^^^^^^^^^^^^^^^^^^^
576583

@@ -3843,6 +3850,9 @@ please find all known feature flags below. Any of these flags can be activated u
38433850
* - role-assignment-history
38443851
- Turns on tracking/display of role assignments and revocations for collections, datasets, and files
38453852
- ``Off``
3853+
* - only-update-datacite-when-needed
3854+
- Only contact DataCite to update a DOI after checking to see if DataCite has outdated information (for efficiency, lighter load on DataCite, especially when using file DOIs).
3855+
- ``Off``
38463856

38473857
**Note:** Feature flags can be set via any `supported MicroProfile Config API source`_, e.g. the environment variable
38483858
``DATAVERSE_FEATURE_XXX`` (e.g. ``DATAVERSE_FEATURE_API_SESSION_AUTH=1``). These environment variables can be set in your shell before starting Payara. If you are using :doc:`Docker for development </container/dev-usage>`, you can set them in the `docker compose <https://docs.docker.com/compose/environment-variables/set-environment-variables/>`_ file.

doc/sphinx-guides/source/installation/intro.rst

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,18 @@ Jump ahead to :doc:`config` or :doc:`upgrading` for an existing Dataverse instal
1717
Intended Audience
1818
-----------------
1919

20-
This guide is intended primarily for sysadmins who are installing, configuring, and upgrading a Dataverse installation.
20+
This guide is intended primarily for sysadmins who are installing, configuring, and upgrading a Dataverse installation. This guide was written with non-Docker installation in mind but if you're interested in Docker, see the :doc:`/container/index`.
2121

2222
Sysadmins are expected to be comfortable using standard Linux commands, issuing ``curl`` commands, and running SQL scripts.
2323

2424
Related Guides
2525
--------------
2626

27+
See the :doc:`/container/index` if you want to run Dataverse in Docker.
28+
2729
Many "admin" functions can be performed by Dataverse installation users themselves (non-superusers) as documented in the :doc:`/user/index` and that guide is a good introduction to the features of the Dataverse Software from an end user perspective.
2830

29-
If you are a sysadmin who likes to code, you may find the :doc:`/api/index` useful, and you may want to consider improving the installation script or hacking on the community-lead configuration management options mentioned in the :doc:`prep` section. If you **really** like to code and want to help with the Dataverse Software code, please check out the :doc:`/developers/index`!
31+
If you are a sysadmin who likes to code, you may find the :doc:`/api/index` useful, and you may want to consider improving the installation script or hacking on the community-lead configuration management options mentioned in the :doc:`prep` section. If you **really** like to code and want to help with the Dataverse code or documentation, please check out the :doc:`/contributor/index` and the :doc:`/developers/index`!
3032

3133
.. _support:
3234

0 commit comments

Comments
 (0)