Skip to content

Commit

Permalink
Merge branch 'develop' into 10681_update_shellspec IQSS#10681
Browse files Browse the repository at this point in the history
  • Loading branch information
pdurbin committed Aug 6, 2024
2 parents 8666307 + ff26ae8 commit 94adef1
Show file tree
Hide file tree
Showing 63 changed files with 1,375 additions and 432 deletions.
7 changes: 5 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Thank you for contributing to the Dataverse Project through the creation of a bu
WARNING: If this is a security issue it should be reported privately to [email protected]
More information on bug issues and contributions can be found in the "Contributing to Dataverse" page:
https://github.com/IQSS/dataverse/blob/develop/CONTRIBUTING.md#bug-reportsissues
https://guides.dataverse.org/en/latest/contributor/index.html
Please fill out as much of the template as you can.
Start below this comment section.
Expand Down Expand Up @@ -44,7 +44,6 @@ Start below this comment section.
**Any related open or closed issues to this bug report?**



**Screenshots:**

No matter the issue, screenshots are always welcome.
Expand All @@ -53,3 +52,7 @@ To add a screenshot, please use one of the following formats and/or methods desc

* https://help.github.com/en/articles/file-attachments-on-issues-and-pull-requests
*


**Are you thinking about creating a pull request for this issue?**
Help is always welcome, is this bug something you or your organization plan to fix?
7 changes: 5 additions & 2 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: Feature request
about: Suggest an idea or new feature for the Dataverse software!
title: 'Feature Request/Idea:'
title: 'Feature Request:'
labels: 'Type: Feature'
assignees: ''

Expand All @@ -11,7 +11,7 @@ assignees: ''
Thank you for contributing to the Dataverse Project through the creation of a feature request!
More information on ideas/feature requests and contributions can be found in the "Contributing to Dataverse" page:
https://github.com/IQSS/dataverse/blob/develop/CONTRIBUTING.md#ideasfeature-requests
https://guides.dataverse.org/en/latest/contributor/index.html
Please fill out as much of the template as you can.
Start below this comment section.
Expand All @@ -34,3 +34,6 @@ Start below this comment section.


**Any open or closed issues related to this feature request?**

**Are you thinking about creating a pull request for this feature?**
Help is always welcome, is this feature something you or your organization plan to implement?
40 changes: 40 additions & 0 deletions .github/ISSUE_TEMPLATE/idea_proposal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
name: Idea proposal
about: Propose a new idea for discussion to improve the Dataverse software!
title: 'Suggestion:'
labels: 'Type: Suggestion'
assignees: ''

---

<!--
Thank you for contributing to the Dataverse Project through the creation of a feature request!
More information on ideas/feature requests and contributions can be found in the "Contributing to Dataverse" page:
https://guides.dataverse.org/en/latest/contributor/index.html
Please fill out as much of the template as you can.
Start below this comment section.
-->

**Overview of the Suggestion**


**What kind of user is the suggestion intended for?**
(Example users roles: API User, Curator, Depositor, Guest, Superuser, Sysadmin)


**What inspired this idea?**


**What existing behavior do you want changed?**


**Any brand new behavior do you want to add to Dataverse?**


**Any open or closed issues related to this suggestion?**


**Are you thinking about creating a pull request for this issue?**
Help is always welcome, is this idea something you or your organization plan to implement?
9 changes: 9 additions & 0 deletions doc/release-notes/10341-croissant.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
A new metadata export format called Croissant is now available as an external metadata exporter. It is oriented toward making datasets consumable by machine learning.

When enabled, Croissant replaces the Schema.org JSON-LD format in the `<head>` of dataset landing pages. For details, see the [Schema.org JSON-LD/Croissant Metadata](https://dataverse-guide--10533.org.readthedocs.build/en/10533/admin/discoverability.html#schema-org-head) under the discoverability section of the Admin Guide.

For more about the Croissant exporter, see https://github.com/gdcc/exporter-croissant

For installation instructions, see [Enabling External Exporters](https://dataverse-guide--10533.org.readthedocs.build/en/10533/installation/advanced.html#enabling-external-exporters) in the Installation Guide.

See also Issue #10341 and PR #10533.
12 changes: 12 additions & 0 deletions doc/release-notes/10508-base-image-fixes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Security and Compatibility Fixes to the Container Base Image

- Switch "wait-for" to "wait4x", aligned with the Configbaker Image
- Update "jattach" to v2.2
- Install AMD64 / ARM64 versions of tools as necessary
- Run base image as unprivileged user by default instead of `root` - this was an oversight from OpenShift changes
- Linux User, Payara Admin and Domain Master passwords:
- Print hints about default, public knowledge passwords in place for
- Enable replacing these passwords at container boot time
- Enable building with updates Temurin JRE image based on Ubuntu 24.04 LTS
- Fix entrypoint script troubles with pre- and postboot script files
- Unify location of files at CONFIG_DIR=/opt/payara/config, avoid writing to other places
1 change: 1 addition & 0 deletions doc/release-notes/10633-add-dataverse-api-extension.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The addDataverse (/api/dataverses/{identifier}) API endpoint has been extended to allow adding metadata blocks, input levels and facet ids at creation time, as the Dataverse page in create mode does in JSF.
1 change: 1 addition & 0 deletions doc/release-notes/8796-fix-license-display-indexing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
When datasets have neither a license nor custom terms of use the display will indicate this. Also, these datasets will no longer be indexed as having custom terms.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### Shapefile Handling will now ignore files under a hidden directory within the zip file

Directories that are hidden will be ignored when determining if a zip file contains Shapefile files.

For more information, see #8945.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
In an earlier Dataverse release, Datasets with only 'CC0 Waiver' in termsofuse field were converted to 'Custom License' instead of CC0 1.0 licenses during an automated process. A new process was added to correct this. Only Datasets with no terms other than the one create by the previous process will be modified.
- The existing 'Terms of Use' must be equal to 'This dataset is made available under a Creative Commons CC0 license with the following additional/modified terms and conditions: CC0 Waiver'
- The following terms fields must be empty: Confidentiality Declaration, Special Permissions, Restrictions, Citation Requirements, Depositor Requirements, Conditions, and Disclaimer.
- The License ID must not be assigned.

This process will set the License ID to that of the CC0 1.0 license and remove the contents of termsofuse field.
3 changes: 3 additions & 0 deletions doc/release-notes/api-blocking-filter-json.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* When any `ApiBlockingFilter` policy applies to a request, the JSON in the body of the error response is now valid JSON.
In case an API client did any special processing to allow it to parse the body, that is no longer necessary.
The status code of such responses has not changed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
{
"name": "Scientific Research",
"alias": "science",
"dataverseContacts": [
{
"contactEmail": "[email protected]"
},
{
"contactEmail": "[email protected]"
}
],
"affiliation": "Scientific Research University",
"description": "We do all the science.",
"dataverseType": "LABORATORY",
"metadataBlocks": {
"metadataBlockNames": [
"citation", "geospatial"
],
"inputLevels": [
{
"datasetFieldTypeName": "geographicCoverage",
"include": true,
"required": true
},
{
"datasetFieldTypeName": "country",
"include": true,
"required": true
},
{
"datasetFieldTypeName": "geographicUnit",
"include": false,
"required": false
},
{
"datasetFieldTypeName": "geographicBoundingBox",
"include": false,
"required": false
},
{
"datasetFieldTypeName": "westLongitude",
"include": false,
"required": false
},
{
"datasetFieldTypeName": "eastLongitude",
"include": false,
"required": false
},
{
"datasetFieldTypeName": "northLatitude",
"include": false,
"required": false
},
{
"datasetFieldTypeName": "southLatitude",
"include": false,
"required": false
}
],
"facetIds": [
"authorName", "authorAffiliation"
]
}
}
13 changes: 10 additions & 3 deletions doc/sphinx-guides/source/admin/discoverability.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,21 @@ The HTML source of a dataset landing page includes "DC" (Dublin Core) ``<meta>``
<meta name="DC.type" content="Dataset"
<meta name="DC.title" content="..."

Schema.org JSON-LD Metadata
+++++++++++++++++++++++++++
.. _schema.org-head:

The HTML source of a dataset landing page includes Schema.org JSON-LD metadata like this::
Schema.org JSON-LD/Croissant Metadata
+++++++++++++++++++++++++++++++++++++

The ``<head>`` of the HTML source of a dataset landing page includes Schema.org JSON-LD metadata like this::


<script type="application/ld+json">{"@context":"http://schema.org","@type":"Dataset","@id":"https://doi.org/...

If you enable the Croissant metadata export format (see :ref:`external-exporters`) the ``<head>`` will show Croissant metadata instead. It looks similar, but you should see ``"cr": "http://mlcommons.org/croissant/"`` in the output.

For backward compatibility, if you enable Croissant, the older Schema.org JSON-LD format (``schema.org`` in the API) will still be available from both the web interface (see :ref:`metadata-export-formats`) and the API (see :ref:`export-dataset-metadata-api`).

The Dataverse team has been working with Google on both formats. Google has `indicated <https://github.com/mlcommons/croissant/issues/530#issuecomment-1964227662>`_ that for `Google Dataset Search <https://datasetsearch.research.google.com>`_ (the main reason we started adding this extra metadata in the ``<head>`` of dataset pages), Croissant is the successor to the older format.

.. _discovery-sign-posting:

Expand Down
34 changes: 32 additions & 2 deletions doc/sphinx-guides/source/api/native-api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,14 @@ The fully expanded example above (without environment variables) looks like this
You should expect an HTTP 200 response and JSON beginning with "status":"OK" followed by a representation of the newly-created Dataverse collection.

The request JSON supports an optional ``metadataBlocks`` object, with the following supported sub-objects:

- ``metadataBlockNames``: The names of the metadata blocks you want to add to the Dataverse collection.
- ``inputLevels``: The names of the fields in each metadata block for which you want to add a custom configuration regarding their inclusion or requirement when creating and editing datasets in the new Dataverse collection. Note that if the corresponding metadata blocks names are not specified in the ``metadataBlockNames``` field, they will be added automatically to the Dataverse collection.
- ``facetIds``: The names of the fields to use as facets for browsing datasets and collections in the new Dataverse collection. Note that the order of the facets is defined by their order in the provided JSON array.

To obtain an example of how these objects are included in the JSON file, download :download:`dataverse-complete-optional-params.json <../_static/api/dataverse-complete-optional-params.json>` file and modify it to suit your needs.

.. _view-dataverse:

View a Dataverse Collection
Expand Down Expand Up @@ -258,6 +266,25 @@ The fully expanded example above (without environment variables) looks like this
curl -H "X-Dataverse-key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" "https://demo.dataverse.org/api/dataverses/root/metadatablockfacets"
List Field Type Input Levels Configured for a Dataverse Collection
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

|CORS| List the dataverse field type input levels configured for a given Dataverse collection ``id``:

.. code-block:: bash
export API_TOKEN=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export SERVER_URL=https://demo.dataverse.org
export ID=root
curl -H "X-Dataverse-key:$API_TOKEN" "$SERVER_URL/api/dataverses/$ID/inputLevels"
The fully expanded example above (without environment variables) looks like this:

.. code-block:: bash
curl -H "X-Dataverse-key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" "https://demo.dataverse.org/api/dataverses/root/inputLevels"
Set Metadata Block Facets for a Dataverse Collection
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down Expand Up @@ -1191,16 +1218,19 @@ The fully expanded example above (without environment variables) looks like this
.. note:: Supported exporters (export formats) are ``ddi``, ``oai_ddi``, ``dcterms``, ``oai_dc``, ``schema.org`` , ``OAI_ORE`` , ``Datacite``, ``oai_datacite`` and ``dataverse_json``. Descriptive names can be found under :ref:`metadata-export-formats` in the User Guide.

.. note:: Additional exporters can be enabled, as described under :ref:`external-exporters` in the Installation Guide. To discover the machine-readable name of each exporter (e.g. ``ddi``), check :ref:`inventory-of-external-exporters` or ``getFormatName`` in the exporter's source code.

Schema.org JSON-LD
^^^^^^^^^^^^^^^^^^

Please note that the ``schema.org`` format has changed in backwards-incompatible ways after Dataverse Software version 4.9.4:
Please note that the ``schema.org`` format has changed in backwards-incompatible ways after Dataverse 4.9.4:

- "description" was a single string and now it is an array of strings.
- "citation" was an array of strings and now it is an array of objects.

Both forms are valid according to Google's Structured Data Testing Tool at https://search.google.com/structured-data/testing-tool . (This tool will report "The property affiliation is not recognized by Google for an object of type Thing" and this known issue is being tracked at https://github.com/IQSS/dataverse/issues/5029 .) Schema.org JSON-LD is an evolving standard that permits a great deal of flexibility. For example, https://schema.org/docs/gs.html#schemaorg_expected indicates that even when objects are expected, it's ok to just use text. As with all metadata export formats, we will try to keep the Schema.org JSON-LD format your Dataverse installation emits backward-compatible to made integrations more stable, despite the flexibility that's afforded by the standard.
Both forms are valid according to Google's Structured Data Testing Tool at https://search.google.com/structured-data/testing-tool . Schema.org JSON-LD is an evolving standard that permits a great deal of flexibility. For example, https://schema.org/docs/gs.html#schemaorg_expected indicates that even when objects are expected, it's ok to just use text. As with all metadata export formats, we will try to keep the Schema.org JSON-LD format backward-compatible to make integrations more stable, despite the flexibility that's afforded by the standard.

The standard has further evolved into a format called Croissant. For details, see :ref:`schema.org-head` in the Admin Guide.

List Files in a Dataset
~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
22 changes: 18 additions & 4 deletions doc/sphinx-guides/source/container/base-image.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ The base image provides:
- CLI tools necessary to run Dataverse (i. e. ``curl`` or ``jq`` - see also :doc:`../installation/prerequisites` in Installation Guide)
- Linux tools for analysis, monitoring and so on
- `Jattach <https://github.com/apangin/jattach>`__ (attach to running JVM)
- `wait-for <https://github.com/eficode/wait-for>`__ (tool to "wait for" a service to be available)
- `wait4x <https://github.com/atkrad/wait4x>`__ (tool to "wait for" a service to be available)
- `dumb-init <https://github.com/Yelp/dumb-init>`__ (see :ref:`below <base-entrypoint>` for details)

This image is created as a "multi-arch image", see :ref:`below <base-multiarch>`.
Expand Down Expand Up @@ -85,7 +85,7 @@ Some additional notes, using Maven parameters to change the build and use ...:
(See also `Docker Hub search example <https://hub.docker.com/_/eclipse-temurin/tags?page=1&name=11-jre>`_)
- ... a different Java Distribution: add ``-Djava.image="name:tag"`` with precise reference to an
image available local or remote.
- ... a different UID/GID for the ``payara`` user/group: add ``-Dbase.image.uid=1234`` (or ``.gid``)
- ... a different UID/GID for the ``payara`` user/group (default ``1000:1000``): add ``-Dbase.image.uid=1234`` (or ``.gid``)

Automated Builds & Publishing
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down Expand Up @@ -151,12 +151,12 @@ provides. These are mostly based on environment variables (very common with cont
- [preboot]_
- Abs. path
- Provide path to file with ``asadmin`` commands to run **before** boot of application server.
See also `Pre/postboot script docs`_.
See also `Pre/postboot script docs`_. Must be writeable by Payara Linux user!
* - ``POSTBOOT_COMMANDS``
- [postboot]_
- Abs. path
- Provide path to file with ``asadmin`` commands to run **after** boot of application server.
See also `Pre/postboot script docs`_.
See also `Pre/postboot script docs`_. Must be writeable by Payara Linux user!
* - ``JVM_ARGS``
- (empty)
- String
Expand Down Expand Up @@ -231,6 +231,18 @@ provides. These are mostly based on environment variables (very common with cont
- See :ref:`:ApplicationServerSettings` ``http.request-timeout-seconds``.

*Note:* can also be set using any other `MicroProfile Config Sources`_ available via ``dataverse.http.timeout``.
* - ``PAYARA_ADMIN_PASSWORD``
- ``admin``
- String
- Set to secret string to change `Payara Admin Console`_ Adminstrator User ("admin") password.
* - ``LINUX_PASSWORD``
- ``payara``
- String
- Set to secret string to change the Payara Linux User ("payara", default UID=1000) password.
* - ``DOMAIN_PASSWORD``
- ``changeit``
- String
- Set to secret string to change the `Domain Master Password`_.


.. [preboot] ``${CONFIG_DIR}/pre-boot-commands.asadmin``
Expand Down Expand Up @@ -374,3 +386,5 @@ from `run-java-sh recommendations`_.
.. _Pre/postboot script docs: https://docs.payara.fish/community/docs/Technical%20Documentation/Payara%20Micro%20Documentation/Payara%20Micro%20Configuration%20and%20Management/Micro%20Management/Asadmin%20Commands/Pre%20and%20Post%20Boot%20Commands.html
.. _MicroProfile Config Sources: https://docs.payara.fish/community/docs/Technical%20Documentation/MicroProfile/Config/Overview.html
.. _run-java-sh recommendations: https://github.com/fabric8io-images/run-java-sh/blob/master/TUNING.md#recommandations
.. _Domain Master Password: https://docs.payara.fish/community/docs/Technical%20Documentation/Payara%20Server%20Documentation/Security%20Guide/Administering%20System%20Security.html#to-change-the-master-password
.. _Payara Admin Console: https://docs.payara.fish/community/docs/Technical%20Documentation/Payara%20Server%20Documentation/General%20Administration/Overview.html#administration-console
Loading

0 comments on commit 94adef1

Please sign in to comment.