Skip to content

Commit d3da68b

Browse files
committed
Merged back develop
2 parents 41887c5 + ffc105d commit d3da68b

32 files changed

Lines changed: 770 additions & 150 deletions

conf/docker-aio/c8.dockerfile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,14 @@ FROM centos:8
22
# OS dependencies
33
# PG 10 is the default in centos8; keep the repo comment for when we bump to 11+
44
#RUN yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
5-
RUN yum install -y java-11-openjdk-devel postgresql-server sudo epel-release unzip curl httpd
5+
6+
RUN echo "fastestmirror=true" >> /etc/dnf/dnf.conf
7+
RUN yum install -y java-11-openjdk-devel postgresql-server sudo epel-release unzip curl httpd python2 diffutils
68
RUN yum install -y jq lsof awscli
79

10+
# for older search scripts
11+
RUN ln -s /usr/bin/python2 /usr/bin/python
12+
813
# copy and unpack dependencies (solr, payara)
914
COPY dv /tmp/dv
1015
COPY testdata/schema*.xml /tmp/dv/

conf/docker-aio/configure_doi.bash

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
#!/usr/bin/env bash
22

3-
cd /usr/local/glassfish4
3+
cd /opt/payara5
44

55
# if appropriate; reconfigure PID provider on the basis of environmental variables.
66
if [ ! -z "${DoiProvider}" ]; then
77
curl -X PUT -d ${DoiProvider} http://localhost:8080/api/admin/settings/:DoiProvider
88
fi
99
if [ ! -z "${doi_username}" ]; then
10-
bin/asadmin create-jvm-options "-Ddoi.username=${doi_password}"
10+
bin/asadmin create-jvm-options "-Ddoi.username=${doi_username}"
1111
fi
1212
if [ ! -z "${doi_password}" ]; then
1313
bin/asadmin create-jvm-options "-Ddoi.password=${doi_password}"
1414
fi
1515
if [ ! -z "${doi_baseurl}" ]; then
1616
bin/asadmin delete-jvm-options "-Ddoi.baseurlstring=https\://mds.test.datacite.org"
17-
doi_baseurl_esc=`echo ${doi_baseurl} | sed -e 's/:/\\:/'`
18-
bin/asadmin create-jvm-options "\"-Ddoi.baseurlstring=${doi_baseurl_esc}\""
17+
doi_baseurl_esc=`echo ${doi_baseurl} | sed -e 's/:/\\\:/'`
18+
bin/asadmin create-jvm-options "-Ddoi.baseurlstring=${doi_baseurl_esc}"
1919
fi
2020
if [ ! -z "${doi_dataciterestapiurl}" ]; then
2121
bin/asadmin delete-jvm-options "-Ddoi.dataciterestapiurlstring=https\://api.test.datacite.org"
22-
doi_dataciterestapiurl_esc=`echo ${doi_dataciterestapiurl} | sed -e 's/:/\\:/'`
23-
bin/asadmin create-jvm-options "\"-Ddoi.dataciterestapiurlstring=${doi_dataciterestapiurl_esc}\""
22+
doi_dataciterestapiurl_esc=`echo ${doi_dataciterestapiurl} | sed -e 's/:/\\\:/'`
23+
bin/asadmin create-jvm-options "-Ddoi.dataciterestapiurlstring=${doi_dataciterestapiurl_esc}"
2424
fi

conf/docker-aio/run-test-suite.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ fi
88

99
# Please note the "dataverse.test.baseurl" is set to run for "all-in-one" Docker environment.
1010
# TODO: Rather than hard-coding the list of "IT" classes here, add a profile to pom.xml.
11-
source maven/maven.sh && mvn test -Dtest=DataversesIT,DatasetsIT,SwordIT,AdminIT,BuiltinUsersIT,UsersIT,UtilIT,ConfirmEmailIT,FileMetadataIT,FilesIT,SearchIT,InReviewWorkflowIT,HarvestingServerIT,MoveIT,MakeDataCountApiIT,FileTypeDetectionIT,EditDDIIT,ExternalToolsIT,AccessIT,DuplicateFilesIT,DownloadFilesIT,LinkIT,DeleteUsersIT,DeactivateUsersIT -Ddataverse.test.baseurl=$dvurl
11+
source maven/maven.sh && mvn test -Dtest=DataversesIT,DatasetsIT,SwordIT,AdminIT,BuiltinUsersIT,UsersIT,UtilIT,ConfirmEmailIT,FileMetadataIT,FilesIT,SearchIT,InReviewWorkflowIT,HarvestingServerIT,MoveIT,MakeDataCountApiIT,FileTypeDetectionIT,EditDDIIT,ExternalToolsIT,AccessIT,DuplicateFilesIT,DownloadFilesIT,LinkIT,DeleteUsersIT,DeactivateUsersIT,AuxiliaryFilesIT -Ddataverse.test.baseurl=$dvurl

conf/docker-aio/testscripts/install

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
22
export HOST_ADDRESS=localhost
3-
export GLASSFISH_ROOT=/usr/local/glassfish4
4-
export FILES_DIR=/usr/local/glassfish4/glassfish/domains/domain1/files
3+
export GLASSFISH_ROOT=/opt/payara5
4+
export FILES_DIR=/opt/payara5/glassfish/domains/domain1/files
55
export DB_NAME=dvndb
66
export DB_PORT=5432
77
export DB_HOST=localhost

conf/docker-aio/testscripts/post

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
cd scripts/api
33
./setup-all.sh --insecure -p=admin1 | tee /tmp/setup-all.sh.out
44
cd ../..
5-
psql -U dvnapp dvndb -f scripts/database/reference_data.sql
65
psql -U dvnapp dvndb -f doc/sphinx-guides/source/_static/util/createsequence.sql
76
scripts/search/tests/publish-dataverse-root
87
#git checkout scripts/api/data/dv-root.json
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Auxiliary Files can now be downloaded from the web interface.
2+
3+
- Aux files uploaded as type=DP appear under "Differentially Private Statistics" under file level download. The rest appear under "Other Auxiliary Files".
4+
5+
In addition, related changes were made, including the following:
6+
7+
- New tooltip over the lock indicating if you have been granted access to a restricted file or not.
8+
- When downloading individual files, you will see "Restricted with Access Granted" or just "Restricted" (followed by "Users may not request access to files.") as appropriate.
9+
- When downloading individual files, instead of "Download" you should expect to see the file type such as "JPEG Image" or "Original File Format" if the type is unknown.
10+
- Downloaded aux files now have a file extension if it can be determined.
11+
12+
Please note that the auxiliary files feature is experimental and if you don't need it, its API endpoints can be blocked.

doc/sphinx-guides/source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171

7272
# The language for content autogenerated by Sphinx. Refer to documentation
7373
# for a list of supported languages.
74-
#language = None
74+
language = 'en'
7575

7676
# There are two options for replacing |today|: either, you set today to some
7777
# non-false value, then it is used:

doc/sphinx-guides/source/developers/aux-file-support.rst

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
Auxiliary File Support
22
======================
33

4-
Auxiliary file support is experimental. Auxiliary files in the Dataverse Software are being added to support depositing and downloading differentially private metadata, as part of the OpenDP project (OpenDP.io). In future versions, this approach may become more broadly used and supported.
4+
Auxiliary file support is experimental and as such, related APIs may be added, changed or removed without standard backward compatibility. Auxiliary files in the Dataverse Software are being added to support depositing and downloading differentially private metadata, as part of the OpenDP project (opendp.org). In future versions, this approach will likely become more broadly used and supported.
55

66
Adding an Auxiliary File to a Datafile
77
--------------------------------------
8-
To add an auxiliary file, specify the primary key of the datafile (FILE_ID), and the formatTag and formatVersion (if applicable) associated with the auxiliary file. There are two form parameters. "Origin" specifies the application/entity that created the auxiliary file, an "isPublic" controls access to downloading the file. If "isPublic" is true, any user can download the file, else, access authorization is based on the access rules as defined for the DataFile itself.
8+
To add an auxiliary file, specify the primary key of the datafile (FILE_ID), and the formatTag and formatVersion (if applicable) associated with the auxiliary file. There are multiple form parameters. "Origin" specifies the application/entity that created the auxiliary file, and "isPublic" controls access to downloading the file. If "isPublic" is true, any user can download the file if the dataset has been published, else, access authorization is based on the access rules as defined for the DataFile itself. The "type" parameter is used to group similar auxiliary files in the UI. Currently, auxiliary files with type "DP" appear under "Differentially Private Statistics", while all other auxiliary files appear under "Other Auxiliary Files".
99

1010
.. code-block:: bash
1111
@@ -14,9 +14,10 @@ To add an auxiliary file, specify the primary key of the datafile (FILE_ID), and
1414
export FILE_ID='12345'
1515
export FORMAT_TAG='dpJson'
1616
export FORMAT_VERSION='v1'
17+
export TYPE='DP'
1718
export SERVER_URL=https://demo.dataverse.org
1819
19-
curl -H X-Dataverse-key:$API_TOKEN -X POST -F "file=@$FILENAME" -F 'origin=myApp' -F 'isPublic=true' "$SERVER_URL/api/access/datafile/$FILE_ID/metadata/$FORMAT_TAG/$FORMAT_VERSION"
20+
curl -H X-Dataverse-key:$API_TOKEN -X POST -F "file=@$FILENAME" -F 'origin=myApp' -F 'isPublic=true' -F "type=$TYPE" "$SERVER_URL/api/access/datafile/$FILE_ID/metadata/$FORMAT_TAG/$FORMAT_VERSION"
2021
2122
You should expect a 200 ("OK") response and JSON with information about your newly uploaded auxiliary file.
2223

@@ -33,4 +34,4 @@ formatTag and formatVersion (if applicable) associated with the auxiliary file:
3334
export FORMAT_TAG='dpJson'
3435
export FORMAT_VERSION='v1'
3536
36-
curl "$SERVER_URL/api/access/datafile/$FILE_ID/$FORMAT_TAG/$FORMAT_VERSION"
37+
curl "$SERVER_URL/api/access/datafile/$FILE_ID/metadata/$FORMAT_TAG/$FORMAT_VERSION"

doc/sphinx-guides/source/index.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ These documentation guides are for the |version| version of Dataverse. To find g
2121
style/index
2222

2323
How the Guides Are Organized
24-
============================
24+
----------------------------
2525

2626
The guides are documentation that explain how to use Dataverse,
2727
which are divided into the following sections: User Guide,
@@ -35,7 +35,7 @@ project or who want to modify the code to suit their own needs. Finally, the API
3535
Developers that work on other applications and are interested in connecting with Dataverse through our APIs.
3636

3737
Other Resources
38-
===============
38+
---------------
3939

4040
**Dataverse Project Site**
4141

@@ -71,7 +71,7 @@ If you have a **security issue** to report, please email `security@dataverse.org
7171

7272

7373
Indices and Tables
74-
==================
74+
------------------
7575

7676
* :ref:`genindex`
7777
* :ref:`modindex`

doc/sphinx-guides/source/user/dataset-management.rst

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,8 @@ Additional download options available for tabular data (found in the same drop-d
179179
- Data File Citation (currently in either RIS, EndNote XML, or BibTeX format);
180180
- All of the above, as a zipped bundle.
181181

182+
Differentially Private (DP) Metadata can also be accessed for restricted tabular files if the data depositor has created a DP Metadata Release. See :ref:`dp-release-create` for more information.
183+
182184
Astronomy (FITS)
183185
----------------
184186

@@ -210,6 +212,8 @@ Restricted Files
210212

211213
When you restrict a file it cannot be downloaded unless permission has been granted.
212214

215+
Differentially Private (DP) Metadata can be accessed for restricted tabular files if the data depositor has created a DP Metadata Release. See :ref:`dp-release-create` for more information.
216+
213217
See also :ref:`terms-of-access` and :ref:`permissions`.
214218

215219
Edit Files
@@ -302,6 +306,23 @@ If you restrict any files in your dataset, you will be prompted by a pop-up to e
302306

303307
See also :ref:`restricted-files`.
304308

309+
.. _dp-release-create:
310+
311+
Creating and Depositing Differentially Private Metadata (Experimental)
312+
----------------------------------------------------------------------
313+
314+
Through an integration with tools from the OpenDP Project (opendp.org), the Dataverse Software offers an experimental workflow that allows a data depositor to create and deposit Differentially Private (DP) Metadata files, which can then be used for exploratory data analysis. This workflow allows researchers to view the DP metadata for a tabular file, determine whether or not the file contains useful information, and then make an informed decision about whether or not to request access to the original file.
315+
316+
If this integration has been enabled in your Dataverse installation, you can follow these steps to create a DP Metadata Release and make it available to researchers, while still keeping the files themselves restricted and able to be accessed after a successful access request.
317+
318+
- Deposit a tabular file and let the ingest process complete
319+
- Restrict the File
320+
- In the kebab next to the file on the dataset page, or from the "Edit Files" dropdown on the file page, click "OpenDP Tool"
321+
- Go through the process to create a DP Metadata Release in the OpenDP tool, and at the end of the process deposit the DP Metadata Release back to the Dataverse installation
322+
- Publish the Dataset
323+
324+
Once the dataset is published, users will be able to request access using the normal process, but will also have the option to download DP Statistics in order to get more information about the file.
325+
305326
Guestbook
306327
---------
307328

0 commit comments

Comments
 (0)