Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v5.1 #7297

Merged
merged 261 commits into from Oct 5, 2020
Merged

v5.1 #7297

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
261 commits
Select commit Hold shift + click to select a range
6ca407c
remove ~duplicate code
qqmyers Apr 24, 2020
b0557aa
IQSS-6829 - avoid race with 2+ files uploading
qqmyers Apr 27, 2020
beb419e
IQSS/6829 - create mode uses DatasetPage - initialize identifier there
qqmyers Apr 27, 2020
8400c20
move directUploadEnabled to systemconfig
qqmyers Apr 27, 2020
6f9baed
typo/fix method calls
qqmyers Apr 27, 2020
f841d59
set minimum part size
qqmyers Apr 27, 2020
f844914
add convenience urls
qqmyers Apr 27, 2020
db00c6f
add dv_status=temp tag in multipart uploads
qqmyers Apr 29, 2020
f473fab
return no content for delete call
qqmyers Apr 30, 2020
088efb0
add request for upload in parts method
qqmyers Apr 30, 2020
be27169
handle net:ERR_NETWORK_CHANGED errors w/o 'undefined' error
qqmyers May 1, 2020
ef6ef13
remove draft code from other branch
qqmyers May 1, 2020
a666a7b
handle dataverse change - keep GlobalId in direct upload case
qqmyers May 1, 2020
4bb1b66
IQSS/6881 delete temp files when cancelling dataset create
qqmyers May 1, 2020
45245b3
IQSS 6881 cleanup temp files on cancel when creating dataset
qqmyers May 4, 2020
e2d7207
get/set for uploadInProgress
qqmyers May 4, 2020
56bd6a7
actually initialize uploadInProgress
qqmyers May 4, 2020
40f2cd1
limit processing on cancelCreate
qqmyers May 5, 2020
dc3f130
catch all files in direct upload cancel + debug statements
qqmyers May 6, 2020
7d51511
split cancel into two parts, allow stopping reports in edit mode
qqmyers May 6, 2020
0ee39a9
use redirect
qqmyers May 6, 2020
7ccd4b9
fix remotecommand and disable buttons if waiting
qqmyers May 6, 2020
4974cdf
don't bubble click by returning false
qqmyers May 11, 2020
2737f43
one handleExternalUpload call at a time
qqmyers May 11, 2020
a2b47ec
Merge remote-tracking branch 'IQSS/develop' into IQSS/6763
qqmyers May 11, 2020
20ab3c9
Merge pull request #54 from IQSS/develop
lubitchv May 20, 2020
1963f09
Merge remote-tracking branch 'IQSS/develop' into IQSS/6763
qqmyers May 22, 2020
dbecab9
add a delay for tiny files
qqmyers May 22, 2020
e1993b2
more changes to fix concurrency issues
qqmyers May 28, 2020
a1c2c92
bug - requests for URL weren't queued after initial 4
qqmyers Jun 5, 2020
a3b775b
update version console entry
qqmyers Jun 5, 2020
b4f7178
make it easier to adjust delay
qqmyers Jun 5, 2020
0a546d9
decrease to 100 ms delay
qqmyers Jun 5, 2020
c438219
correct save button selector for disbale during cancel
qqmyers Jun 5, 2020
6bae264
fix selector
qqmyers Jun 5, 2020
37ab57a
update console version info
qqmyers Jun 5, 2020
6d6d2b0
Merge remote-tracking branch 'IQSS/develop' into IQSS/6763
qqmyers Jun 15, 2020
d4ae322
Merge remote-tracking branch 'IQSS/develop' into IQSS/6763
qqmyers Jun 17, 2020
050b59d
removing whitespace changes
qqmyers Jun 17, 2020
66d84c1
removing mp-upload-specific changes
qqmyers Jun 17, 2020
a02d41d
Merge remote-tracking branch 'IQSS/develop' into IQSS/6763
qqmyers Jun 26, 2020
e6fd3c8
add maxpartsize jvm option
qqmyers Jul 7, 2020
c9a03e5
add some test calls with variants of the original
qqmyers Jul 7, 2020
92f1cc2
remove @Singleton
qqmyers Jul 7, 2020
26be2c4
Don't update lastapiusetime
qqmyers Jul 7, 2020
78540d0
Merge branch 'apitesting' into IQSS/6763
qqmyers Jul 8, 2020
2bc7e0d
try RequiresNew transaction and add some addt'l tests
qqmyers Jul 8, 2020
6810c4d
Combine single and MP uploads
qqmyers Jul 9, 2020
0f76d80
complete response outside for loop
qqmyers Jul 9, 2020
9974a38
remove blocking tests
qqmyers Jul 9, 2020
4c1a21b
restore singleton
qqmyers Jul 9, 2020
131e531
change to min-part-size
qqmyers Jul 9, 2020
997f93f
try to cleanup by calling abort on failure of complete upload
qqmyers Jul 9, 2020
bd05496
add release note
djbrooke Jul 10, 2020
b53ef80
method to get one or many upload URLS as needed
qqmyers Jul 10, 2020
8487388
initial convert to use class
qqmyers Jul 10, 2020
4447ba1
change page to match method name change
qqmyers Jul 10, 2020
5758799
pass fileSize correctly
qqmyers Jul 10, 2020
c3bb1b7
Merge pull request #1 from djbrooke/IQSS/6763
qqmyers Jul 10, 2020
c442b47
bug fixes
qqmyers Jul 10, 2020
603b8d9
Merge branch 'IQSS/6763' of https://github.com/GlobalDataverseCommuni…
qqmyers Jul 10, 2020
b7c0c02
Fix for #7060
qqmyers Jul 14, 2020
1e4232b
start mp support
qqmyers Jul 14, 2020
8f207ab
test session restart in login
qqmyers Jul 21, 2020
5b7be84
typos
qqmyers Jul 21, 2020
4b39cca
debug logging
qqmyers Jul 21, 2020
caf5ec8
Merge remote-tracking branch 'IQSS/develop' into IQSS/6763
qqmyers Jul 21, 2020
319b4b3
typos
qqmyers Jul 21, 2020
5ee4f87
copy attributes to new session
qqmyers Jul 22, 2020
e0ebf62
Merge branch 'IQSS/3254' into IQSS/6763
qqmyers Jul 22, 2020
13abba2
support MP direct upload for datasets being created
qqmyers Jul 22, 2020
f5593e8
remove debug logging
qqmyers Jul 22, 2020
54739ed
add tsv to recognized extensions for mimetype determination
qqmyers Jul 22, 2020
ad92b0f
use mimetype determination by extension for direct upload
qqmyers Jul 22, 2020
cdd0db5
enable direct upload/ingest of text/tsv
qqmyers Jul 23, 2020
14beb64
fix file upload form updating in create and edit modes
qqmyers Jul 23, 2020
16a0f77
mp upload fixes
qqmyers Jul 24, 2020
372d83c
script fixes w.r.t. progress
qqmyers Jul 24, 2020
8388ed3
formatting
qqmyers Jul 24, 2020
832d196
fix perms -allow session user to abort/complete mp upload
qqmyers Jul 24, 2020
b18a583
switch to query params and drop dataset.* from logging
qqmyers Jul 24, 2020
9c696bd
fix blob slicing and etag uploads, cleanup
qqmyers Jul 24, 2020
fdbfb37
apikey auth fix in complete call
qqmyers Jul 24, 2020
d2c8c8c
add expose etags header for UI mp upload
qqmyers Jul 24, 2020
6320049
Merge remote-tracking branch 'IQSS/develop' into IQSS/6763
qqmyers Jul 31, 2020
8ee0d07
Merge remote-tracking branch 'IQSS/develop' into IQSS/6763
qqmyers Aug 10, 2020
a792363
Merge remote-tracking branch 'IQSS/develop' into IQSS/6993
qqmyers Aug 10, 2020
319b394
fix for #7184 spaces changed in s3 direct download
qqmyers Aug 11, 2020
e894b9a
Merge branch 'develop' into 6798-create-dv-validation
sekmiller Aug 13, 2020
d820612
Merge branch 'develop' into 6798-create-dv-validation
sekmiller Aug 13, 2020
1d63e49
#6798 remove required=true to get BeanValidation messages
sekmiller Aug 13, 2020
c569c94
Merge branch 'develop' into 6798-create-dv-validation
sekmiller Aug 13, 2020
f7fbee7
#7200 switch Jenkinsfile to t3a.large
donsizemore Aug 14, 2020
e9e1994
Merge branch 'develop' into 6798-create-dv-validation
sekmiller Aug 17, 2020
b12f635
#6798 copy "required message" to Bundle
sekmiller Aug 17, 2020
35e3ae0
Merge branch 'develop' into 6798-create-dv-validation
sekmiller Aug 17, 2020
77d12da
Updating existing API method for detecting orphan objects in the
ekraffmiller Aug 19, 2020
fa33c7a
Merge pull request #7201 from OdumInstitute/7200_update_Jenkinsfile_t…
kcondon Aug 19, 2020
e7df784
Merge branch 'develop' into 6798-create-dv-validation
sekmiller Aug 19, 2020
c4d8cf7
Add documentation for new API methods.
ekraffmiller Aug 20, 2020
76c0b3c
The version pf hibernate-validator that we were using, 5.0.3.Final wa…
rtreacy Aug 20, 2020
438a7d0
code cleanup
rtreacy Aug 20, 2020
ab33496
sorry, one more line of commented code removed
rtreacy Aug 20, 2020
0caf09e
+ note
djbrooke Aug 20, 2020
e7638c1
adding character
djbrooke Aug 20, 2020
10c2fb7
Merge remote-tracking branch 'IQSS/develop' into IQSS/6993
qqmyers Aug 20, 2020
63aa365
Merge remote-tracking branch 'IQSS/develop' into IQSS/6763
qqmyers Aug 20, 2020
df442c5
Change ek dependency to jakarta.el provided by Payara
rtreacy Aug 20, 2020
a7fcdfa
Use hibernate-validator provided with Payara (still a 6.1.x -6.1.2 sp…
rtreacy Aug 20, 2020
2caf302
5050 Parse all dc identifier elements and allow identifiers that don'…
JingMa87 Aug 21, 2020
5a547a6
#7215 correct dataciterestapiurlstrings, add mdcbaseurlstring deletio…
Aug 21, 2020
5232988
Fixed code-block caption in guides scrolling horiztonal layout bug [r…
mheppler Aug 24, 2020
cdbb7f2
Merge pull request #6994 from GlobalDataverseCommunityConsortium/IQSS…
kcondon Aug 24, 2020
dbe4fcd
Merge branch 'develop' into 6798-create-dv-validation
sekmiller Aug 24, 2020
37433c8
Merge remote-tracking branch 'IQSS/develop' into IQSS/7184-encode_spa…
qqmyers Aug 24, 2020
fb38e66
Merge remote-tracking branch 'origin/IQSS/7184-encode_space_in_filena…
qqmyers Aug 24, 2020
0b2f722
Merge remote-tracking branch 'IQSS/develop' into IQSS/6763
qqmyers Aug 24, 2020
6e1fe74
Merge pull request #7186 from QualitativeDataRepository/IQSS/7184-enc…
kcondon Aug 24, 2020
751f0b9
merge issues
qqmyers Aug 24, 2020
1d13880
Merge pull request #7216 from OdumInstitute/develop
kcondon Aug 25, 2020
04c6f44
up min-part-size to 1 GB, remove debug logging
qqmyers Aug 25, 2020
c37795f
add more documentation
qqmyers Aug 25, 2020
d81b05c
cleanup
qqmyers Aug 25, 2020
f490340
add UI info to release notes/change to 1 GB default
qqmyers Aug 25, 2020
1dd2431
changed hibernat-validator scope from provided to compile, because we…
rtreacy Aug 25, 2020
7d673a8
handle when last part upload fails
qqmyers Aug 25, 2020
7f3051a
Remove compile scope as unneccessary because it is the default scope
rtreacy Aug 26, 2020
5e3b6ac
Last commit included experimental removal of jakarta.el, which does n…
rtreacy Aug 26, 2020
796e612
Merge pull request #7222 from IQSS/security18-hibernate-validator-vul…
kcondon Aug 26, 2020
9cc6ded
#7224 document purging the ingest queue with imqcmd
donsizemore Aug 26, 2020
79825db
emphasize need to have dot (graphviz) installed #7225
pdurbin Aug 26, 2020
a08c5d7
fix minimum size logic after 1GB default
qqmyers Aug 26, 2020
35d6735
allow exact minimum to be set (not just greater)
qqmyers Aug 26, 2020
89cb145
Use handle library to resolve handle.
JingMa87 Aug 26, 2020
ec7eb04
throttle sending parts to the browser
qqmyers Aug 27, 2020
8b63d56
fix abort call, handle cancels, fix progress, limit parts to 10
qqmyers Aug 27, 2020
153b63e
Update dataset-create-new-all-default-fields.json
jggautier Aug 28, 2020
791437c
recommend OpenJDK instead of Oracle JDK #7234 #7241
pdurbin Aug 28, 2020
6402322
simply Netbeans steps for version 12 #7241
pdurbin Aug 28, 2020
4fc67ea
match version of Payara used in Installation Guide #7241
pdurbin Aug 28, 2020
95bfbf1
remove section on Glassfish/Payara startup time #7241
pdurbin Aug 28, 2020
45a85ac
bump version of postgres (within 9.6), clarify docs #7241
pdurbin Aug 28, 2020
91b835e
put install.py instructions inline, add venv #7241
pdurbin Aug 28, 2020
c6d06e5
cancel direct uploads in progress in edit mode via 'Done' button
qqmyers Aug 28, 2020
c84ca49
5050 Parse all dc identifier elements and allow identifiers that don'…
JingMa87 Aug 21, 2020
ab1375b
Use handle library to resolve handle.
JingMa87 Aug 26, 2020
cf1ac95
Merge pull request #6995 from GlobalDataverseCommunityConsortium/IQSS…
kcondon Aug 31, 2020
a6c359c
typo #7241
pdurbin Sep 1, 2020
40c84c0
typo and spacing fixes in install docs
kaitlinnewson Sep 1, 2020
4a950c6
Merge pull request #7247 from kaitlinnewson/patch-4
kcondon Sep 1, 2020
f23de3e
Update guava version to 29.0-jre to remove a denial of service vulner…
rtreacy Sep 2, 2020
ff0200a
Merge pull request #7230 from IQSS/7225-graphviz
kcondon Sep 2, 2020
ae3f576
Merge pull request #7242 from IQSS/7241-dev-env
kcondon Sep 2, 2020
974a2af
Merge pull request #7248 from IQSS/security17-guava-29.0-jre
kcondon Sep 2, 2020
ff50611
don't rename files when replacing and draft version exists
qqmyers Sep 3, 2020
f69a441
update method calls to match
qqmyers Sep 3, 2020
e26d4ea
Removed ref to removed caption on Mail Domain Groups in Admin Guide […
mheppler Sep 4, 2020
e0b23ba
#6798 load val messages as a bundle for read msgs
sekmiller Sep 4, 2020
8dbc343
Merge branch 'develop' into 6798-create-dv-validation
sekmiller Sep 4, 2020
61af346
Merge pull request #7221 from IQSS/3577-guides-horizontal-scroll
kcondon Sep 4, 2020
2b7b1e7
Merge branch 'develop' into 6798-create-dv-validation
sekmiller Sep 8, 2020
533aef3
skip datafiles when checking for missing solr permissions
ekraffmiller Sep 8, 2020
4a42d2d
report on number of missing objects, rather than ids, to be consistent
ekraffmiller Sep 8, 2020
125ea6f
add integration test for Index status api call
ekraffmiller Sep 8, 2020
1e91b2e
Merge branch 'develop' into 4225-stale-solr-record
sekmiller Sep 8, 2020
fbdac70
adding release notes
djbrooke Sep 8, 2020
09c4e51
Merge pull request #7240 from IQSS/6671-complete-json-all-fields
kcondon Sep 9, 2020
96ea13a
Merge pull request #7229 from OdumInstitute/7224_document_purging_ing…
kcondon Sep 9, 2020
4a8ff71
Merge branch 'develop' into 6798-create-dv-validation
sekmiller Sep 9, 2020
2a5eae7
#6798 add required message for dv contact email
sekmiller Sep 9, 2020
b2c1afc
#6798 remove duplicate validation messages
sekmiller Sep 9, 2020
76c731f
#6798 defer empty email test until save doc. return valmessages to or…
sekmiller Sep 10, 2020
1adbf71
changes based on code review for #4225
ekraffmiller Sep 10, 2020
96e6be6
changes based on code review for #4225 - removed asserts for delete c…
ekraffmiller Sep 10, 2020
331276a
Merge pull request #7250 from QualitativeDataRepository/IQSS/7223-don…
kcondon Sep 10, 2020
abcc9d8
Merge branch '4225-stale-solr-record' of github.com:IQSS/dataverse in…
ekraffmiller Sep 10, 2020
06905ec
Adds folders to the file metadata passed to the outside "zipper" tool…
landreev Sep 10, 2020
85c36d5
Merge branch 'develop' into 6798-create-dv-validation
sekmiller Sep 10, 2020
9db0898
#6798 remove blank lines
sekmiller Sep 10, 2020
3cf3b0e
Merge pull request #7197 from IQSS/6798-create-dv-validation
kcondon Sep 10, 2020
c7d63c1
Merge pull request #7258 from IQSS/7255-folders-support-in-zipper
kcondon Sep 10, 2020
75146fb
Merge branch 'develop' into 4225-stale-solr-record
sekmiller Sep 11, 2020
8ae4611
Merge pull request #56 from IQSS/develop
lubitchv Sep 14, 2020
ee30bdd
new get/set/delete APIs for file stores on datasets (#6872)
landreev Sep 14, 2020
5ef1710
adds the missing file types to the list of known saved original types…
landreev Sep 14, 2020
dbf0bca
Merge pull request #7266 from IQSS/7265-original-file-extensions
kcondon Sep 15, 2020
246250d
renamed the new apis, for consistency; per discussion earlier. #6872
landreev Sep 15, 2020
3de07ec
code rearranged to have the dedicated storage driver for both dataver…
landreev Sep 15, 2020
9ac5e8c
modifications needed to allow direct uploads when specifically enable…
landreev Sep 15, 2020
872ac52
other parts of the PR for #6872: flyway script, documentation.
landreev Sep 16, 2020
66c00e8
made the behavior of the APIs more consistent with the existing datav…
landreev Sep 16, 2020
8ae2fa9
adding release notes
djbrooke Sep 16, 2020
50b12f3
Places in the code where the upload size limit and similar things are…
landreev Sep 16, 2020
9c7a4ab
Merge branch '6872-direct-upload-for-datasets' of https://github.com/…
landreev Sep 16, 2020
49ebafc
better "no such dataset" error message in the GET version of the API.…
landreev Sep 16, 2020
efcd24d
Merge pull request #7272 from IQSS/6872-direct-upload-for-datasets
kcondon Sep 16, 2020
3fc6092
#7268 Catch abnormal EC2 exit and fail build
donsizemore Sep 17, 2020
68adf56
Improved performance of API methods by making the SQL queries more
ekraffmiller Sep 17, 2020
d5e35ad
Merge branch '4225-stale-solr-record' of github.com:IQSS/dataverse in…
ekraffmiller Sep 17, 2020
5c14006
Fixes the bug in the standalone zipper utility where it can't properl…
landreev Sep 20, 2020
3fee1b8
make the indexStatus and clearOrphans optionally synchronous
ekraffmiller Sep 21, 2020
5f1cc68
fix compile error in compareOrphans()
ekraffmiller Sep 21, 2020
ac71026
Update Life Science metadata block.
lubitchv Sep 21, 2020
a682122
Modifications for preserving folder structure inside zip archives con…
landreev Sep 21, 2020
1b24266
edited a comment in the shape file handler utility, to indicate the c…
landreev Sep 21, 2020
2d9562a
Merge pull request #7276 from IQSS/80_local-zipper-duplicate-filenames
kcondon Sep 21, 2020
41985bb
Added a RestAssured test for shape file upload and processing.
landreev Sep 22, 2020
06eb9b6
This removes a few redundant imports that Netbeans must have added au…
landreev Sep 22, 2020
d01ca83
match style of other curl commands #4225
pdurbin Sep 22, 2020
5d294e6
Merge pull request #7274 from OdumInstitute/7268_Jenkins_test_Ansible…
kcondon Sep 22, 2020
c85a76d
Merge pull request #7279 from IQSS/6873-shapefiles-zip-folders
kcondon Sep 22, 2020
3a579aa
initial commit
djbrooke Sep 22, 2020
ae57981
Merge pull request #7211 from IQSS/4225-stale-solr-record
kcondon Sep 23, 2020
77d89a2
Added installer setup-all log to gitignore
mheppler Sep 23, 2020
0b49f3b
Added wildcard * asterisk to log file name
mheppler Sep 23, 2020
ff71739
Merge pull request #7281 from IQSS/gitignore-installer-log
kcondon Sep 23, 2020
789e5ee
highlights
djbrooke Sep 25, 2020
628c233
use cases, some notes for admins
djbrooke Sep 25, 2020
fb80a54
deleting the old notes after integrating them into the main
djbrooke Sep 25, 2020
158c17a
Merge branch 'develop' into 7267-release-notes
djbrooke Sep 25, 2020
d194201
installation steps update
djbrooke Sep 25, 2020
2f7fb8a
code review feedback
djbrooke Sep 25, 2020
3915ccb
Update doc/release-notes/5.1-release-notes.md
djbrooke Sep 25, 2020
b86a9fc
Update 5.1-release-notes.md
djbrooke Sep 25, 2020
7eacc7e
Merge branch '7267-release-notes' of https://github.com/IQSS/datavers…
djbrooke Sep 25, 2020
c621d22
Merge pull request #7278 from lubitchv/6359-life-sciences-metadata
kcondon Sep 28, 2020
06554b0
Make identifier lower case.
JingMa87 Sep 28, 2020
6d5fd09
Make identifier lower case.
JingMa87 Sep 28, 2020
3d0524b
Remove unused variable.
JingMa87 Sep 28, 2020
e406037
The *correct* test file for the RestAssured shapefile processing test.
landreev Sep 28, 2020
20a1a08
Change to startsWith() and check for doi and hdl URLs.
JingMa87 Sep 29, 2020
1997b0c
eliminates RunTimeException from DataCite registration (#7282)
landreev Sep 29, 2020
3a90820
Merge branch 'develop' into 7267-release-notes
djbrooke Sep 29, 2020
01fa781
Merge pull request #7288 from IQSS/6873-shapefiles-zip-folders-missin…
kcondon Sep 29, 2020
64310ef
moving release note out of root
djbrooke Sep 29, 2020
23a0252
Remove toLowerCase().
JingMa87 Sep 29, 2020
f0a0d0b
updates from code review
djbrooke Sep 29, 2020
727106b
Adding JSON export re-run step
djbrooke Sep 29, 2020
af09c9a
code review updates
djbrooke Sep 29, 2020
4a56ab0
Merge pull request #7214 from JingMa87/5050-broaden-allowed-dc-identi…
kcondon Sep 30, 2020
757cf10
Merge pull request #7283 from IQSS/7267-release-notes
kcondon Sep 30, 2020
460d5d1
A few verbose logging messages in the finalize publication command.
landreev Sep 30, 2020
ddf106b
Merge branch 'develop' into 7282-datacite-error-handling
landreev Oct 1, 2020
ad57432
removed some commented-out code and comments, that were left there fo…
landreev Oct 1, 2020
c23d993
Merge pull request #7289 from IQSS/7282-datacite-error-handling
kcondon Oct 5, 2020
023b115
Update conf.py
kcondon Oct 5, 2020
f8b7da3
Update versions.rst
kcondon Oct 5, 2020
4b46b36
Update pom.xml
kcondon Oct 5, 2020
e1ad7f2
Update pom.xml
kcondon Oct 5, 2020
a23548d
Merge pull request #7296 from IQSS/7295_update_version_5_1
kcondon Oct 5, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -34,6 +34,7 @@ oauth-credentials.md

/src/main/webapp/oauth2/newAccount.html
scripts/api/setup-all.sh*
scripts/api/setup-all.*.log

# ctags generated tag file
tags
Expand Down
6 changes: 5 additions & 1 deletion conf/solr/7.7.2/schema_dv_mdb_copies.xml
Expand Up @@ -133,9 +133,13 @@
<copyField source="studyAssayOtherMeasurmentType" dest="_text_" maxChars="3000"/>
<copyField source="studyAssayOtherOrganism" dest="_text_" maxChars="3000"/>
<copyField source="studyAssayPlatform" dest="_text_" maxChars="3000"/>
<copyField source="studyAssayOtherPlatform" dest="_text_" maxChars="3000"/>
<copyField source="studyAssayTechnologyType" dest="_text_" maxChars="3000"/>
<copyField source="studyAssayOtherTechnologyType" dest="_text_" maxChars="3000"/>
<copyField source="studyDesignType" dest="_text_" maxChars="3000"/>
<copyField source="studyOtherDesignType" dest="_text_" maxChars="3000"/>
<copyField source="studyFactorType" dest="_text_" maxChars="3000"/>
<copyField source="studyOtherFactorType" dest="_text_" maxChars="3000"/>
<copyField source="subject" dest="_text_" maxChars="3000"/>
<copyField source="subtitle" dest="_text_" maxChars="3000"/>
<copyField source="targetSampleActualSize" dest="_text_" maxChars="3000"/>
Expand All @@ -154,4 +158,4 @@
<copyField source="universe" dest="_text_" maxChars="3000"/>
<copyField source="weighting" dest="_text_" maxChars="3000"/>
<copyField source="westLongitude" dest="_text_" maxChars="3000"/>
</schema>
</schema>
6 changes: 5 additions & 1 deletion conf/solr/7.7.2/schema_dv_mdb_fields.xml
Expand Up @@ -133,9 +133,13 @@
<field name="studyAssayOtherMeasurmentType" type="text_en" multiValued="true" stored="true" indexed="true"/>
<field name="studyAssayOtherOrganism" type="text_en" multiValued="true" stored="true" indexed="true"/>
<field name="studyAssayPlatform" type="text_en" multiValued="true" stored="true" indexed="true"/>
<field name="studyAssayOtherPlatform" type="text_en" multiValued="true" stored="true" indexed="true"/>
<field name="studyAssayTechnologyType" type="text_en" multiValued="true" stored="true" indexed="true"/>
<field name="studyAssayOtherTechnologyType" type="text_en" multiValued="true" stored="true" indexed="true"/>
<field name="studyDesignType" type="text_en" multiValued="true" stored="true" indexed="true"/>
<field name="studyOtherDesignType" type="text_en" multiValued="true" stored="true" indexed="true"/>
<field name="studyFactorType" type="text_en" multiValued="true" stored="true" indexed="true"/>
<field name="studyOtherFactorType" type="text_en" multiValued="true" stored="true" indexed="true"/>
<field name="subject" type="text_en" multiValued="true" stored="true" indexed="true"/>
<field name="subtitle" type="text_en" multiValued="false" stored="true" indexed="true"/>
<field name="targetSampleActualSize" type="text_en" multiValued="false" stored="true" indexed="true"/>
Expand All @@ -154,4 +158,4 @@
<field name="universe" type="text_en" multiValued="true" stored="true" indexed="true"/>
<field name="weighting" type="text_en" multiValued="false" stored="true" indexed="true"/>
<field name="westLongitude" type="text_en" multiValued="true" stored="true" indexed="true"/>
</fields>
</fields>
8 changes: 5 additions & 3 deletions doc/release-notes/5.0-release-notes.md
Expand Up @@ -302,13 +302,15 @@ Add the below JVM options beneath the -Ddataverse settings:

For production environments:

`/usr/local/payara5/bin/asadmin create-jvm-options "\-Ddoi.dataciterestapiurlstring=https://api.datacite.org"`
`/usr/local/payara5/bin/asadmin create-jvm-options "\-Ddoi.dataciterestapiurlstring=https\://api.datacite.org"`

For test environments:

`/usr/local/payara5/bin/asadmin create-jvm-options "\-Ddoi.dataciterestapiurlstring=https://api.test.datacite.org"`
`/usr/local/payara5/bin/asadmin create-jvm-options "\-Ddoi.dataciterestapiurlstring=https\://api.test.datacite.org"`

The JVM option `doi.mdcbaseurlstring` should be deleted if it was previously set.
The JVM option `doi.mdcbaseurlstring` should be deleted if it was previously set, for example:

`/usr/local/payara5/bin/asadmin delete-jvm-options "\-Ddoi.mdcbaseurlstring=https\://api.test.datacite.org"`

4. (Recommended for installations using DataCite) Pre-register DOIs

Expand Down
95 changes: 95 additions & 0 deletions doc/release-notes/5.1-release-notes.md
@@ -0,0 +1,95 @@
# Dataverse 5.1

This release brings new features, enhancements, and bug fixes to Dataverse. Thank you to all of the community members who contributed code, suggestions, bug reports, and other assistance across the project.

## Release Highlights

### Large File Upload for Installations Using AWS S3

The added support for multipart upload through the API and UI (Issue #6763) will allow files larger than 5 GB to be uploaded to Dataverse when an installation is running on AWS S3. Previously, only non-AWS S3 storage configurations would allow uploads larger than 5 GB.

### Dataset-Specific Stores

In previous releases, configuration options were added that allow each dataverse to have a specific store enabled. This release adds even more granularity, with the ability to set a dataset-level store.

## Major Use Cases

Newly-supported use cases in this release include:

- Users can now upload files larger than 5 GB on installations running AWS S3 (Issue #6763, PR #6995)
- Administrators will now be able to specify a store at the dataset level in addition to the Dataverse level (Issue #6872, PR #7272)
- Users will have their dataset's directory structure retained when uploading a dataset with shapefiles (Issue #6873, PR #7279)
- Users will now be able to download zip files through the experimental Zipper service when the set of downloaded files have duplicate names (Issue [#80](https://github.com/IQSS/dataverse.harvard.edu/issues/80), PR #7276)
- Users will now be able to download zip files with the proper file structure through the experiment Zipper service (Issue #7255, PR #7258)
- Administrators will be able to use new APIs to keep the Solr index and the DB in sync, allowing easier resolution of an issue that would occasionally cause stale search results to not load. (Issue #4225, PR #7211)

## Notes for Dataverse Installation Administrators

### New API for setting a Dataset-level Store

- This release adds a new API for setting a dataset-specific store. Learn more in the Managing Dataverse and Datasets section of the [Admin Guide](http://guides.dataverse.org/en/5.1/admin/solr-search-index.html).

### Multipart Upload Storage Monitoring, Recommended Use for Multipart Upload

Charges may be incurred for storage reserved for multipart uploads that are not completed or cancelled. Administrators may want to do periodic manual or automated checks for open multipart uploads. Learn more in the Big Data Support section of the [Developers Guide](http://guides.dataverse.org/en/5.1/developer/big-data-support.html).

While multipart uploads can support much larger files, and can have advantages in terms of robust transfer and speed, they are more complex than single part direct uploads. Administrators should consider taking advantage of the options to limit use of multipart uploads to specific users by using multiple stores and configuring access to stores with high file size limits to specific Dataverses (added in 4.20) or Datasets (added in this release).

### New APIs for keeping Solr records in sync

This release adds new APIs to keep the Solr index and the DB in sync, allowing easier resolution of an issue that would occasionally cause search results to not load. Learn more in the Solr section of the [Admin Guide](http://guides.dataverse.org/en/5.1/admin/solr-search-index.html).

### Documentation for Purging the Ingest Queue

At times, it may be necessary to cancel long-running Ingest jobs in the interest of system stability. The Troubleshooting section of the [Admin Guide](http://guides.dataverse.org/en/5.1/admin/) now has specific steps.

### Biomedical Metadata Block Updated

The Life Science Metadata block (biomedical.tsv) was updated. "Other Design Type", "Other Factor Type", "Other Technology Type", "Other Technology Platform" boxes were added. See the "Additional Upgrade Steps" below if you use this in your installation.

## Notes for Tool Developers and Integrators

### Spaces in File Names

Dataverse Installations using S3 storage will no longer replace spaces in file names of downloaded files with the + character. If your tool or integration has any special handling around this, you may need to make further adjustments to maintain backwards compatibility while also supporting Dataverse installations on 5.1+.

## Complete List of Changes

For the complete list of code changes in this release, see the [5.1 Milestone](https://github.com/IQSS/dataverse/milestone/90?closed=1) in Github.

For help with upgrading, installing, or general questions please post to the [Dataverse Google Group](https://groups.google.com/forum/#!forum/dataverse-community) or email support@dataverse.org.

## Installation

If this is a new installation, please see our [Installation Guide](http://guides.dataverse.org/en/5.1/installation/)

## Upgrade Instructions

0. These instructions assume that you've already successfully upgraded from Dataverse 4.x to Dataverse 5 following the instructions in the [Dataverse 5 Release Notes](https://github.com/IQSS/dataverse/releases/tag/v5.0).

1. Undeploy the previous version.

<payara install path>/payara/bin/asadmin list-applications
<payara install path>/payara/bin/asadmin undeploy dataverse

2. Stop payara and remove the generated directory, start.

- service payara stop
- remove the generated directory: rm -rf <payara install path>payara/payara/domains/domain1/generated
- service payara start

3. Deploy this version.
<payara install path>/payara/bin/asadmin deploy <path>dataverse-5.1.war

4. Restart payara

### Additional Upgrade Steps

1. Update Biomedical Metadata Block (if used), Reload Solr, ReExportAll

`wget https://github.com/IQSS/dataverse/releases/download/5.1/biomedical.tsv`
`curl http://localhost:8080/api/admin/datasetfield/load -X POST --data-binary @biomedical.tsv -H "Content-type: text/tab-separated-values"`
- copy schema_dv_mdb_fields.xml and schema_dv_mdb_copies.xml to solr server, for example into /usr/local/solr/solr-7.7.2/server/solr/collection1/conf/ directory
- reload Solr, for example, http://localhost:8983/solr/admin/cores?action=RELOAD&core=collection1
- Run ReExportall to update JSON Exports
<http://guides.dataverse.org/en/5.1/admin/metadataexport.html?highlight=export#batch-exports-through-the-api>
22 changes: 22 additions & 0 deletions doc/sphinx-guides/source/admin/dataverses-datasets.rst
Expand Up @@ -59,6 +59,8 @@ The available drivers can be listed with::

curl -H "X-Dataverse-key: $API_TOKEN" http://$SERVER/api/admin/dataverse/storageDrivers

(Individual datasets can be configured to use specific file stores as well. See the "Datasets" section below.)


Datasets
--------
Expand Down Expand Up @@ -130,3 +132,23 @@ Diagnose Constraint Violations Issues in Datasets

To identify invalid data values in specific datasets (if, for example, an attempt to edit a dataset results in a ConstraintViolationException in the server log), or to check all the datasets in the Dataverse for constraint violations, see :ref:`Dataset Validation <dataset-validation-api>` in the :doc:`/api/native-api` section of the User Guide.

Configure a Dataset to store all new files in a specific file store
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Configure a dataset to use a specific file store (this API can only be used by a superuser) ::

curl -H "X-Dataverse-key: $API_TOKEN" -X PUT -d $storageDriverLabel http://$SERVER/api/datasets/$dataset-id/storageDriver

The current driver can be seen using::

curl http://$SERVER/api/datasets/$dataset-id/storageDriver

It can be reset to the default store as follows (only a superuser can do this) ::

curl -H "X-Dataverse-key: $API_TOKEN" -X DELETE http://$SERVER/api/datasets/$dataset-id/storageDriver

The available drivers can be listed with::

curl -H "X-Dataverse-key: $API_TOKEN" http://$SERVER/api/admin/dataverse/storageDrivers


6 changes: 2 additions & 4 deletions doc/sphinx-guides/source/admin/mail-groups.rst
Expand Up @@ -33,11 +33,9 @@ To list just that Mail Domain Group, you can include the alias in the curl comma
Creating a Mail Domain Group
----------------------------

Mail Domain Groups can be created with a simple JSON file:
Mail Domain Groups can be created with a simple JSON file such as domainGroup1.json:

.. code-block:: json
:caption: domainGroup1.json
:name: domainGroup1.json

{
"name": "Users from @example.org",
Expand All @@ -60,7 +58,7 @@ To load it into your Dataverse installation, either use a ``POST`` or ``PUT`` re
Updating a Mail Domain Group
----------------------------

Editing a group is done by replacing it. Grab your group definition like the :ref:`above example <domainGroup1.json>`,
Editing a group is done by replacing it. Grab your group definition like the domainGroup1.json example above,
change it as you like and ``PUT`` it into your installation:

``curl -X PUT -H 'Content-type: application/json' http://localhost:8080/api/admin/groups/domain/domainGroup1 --upload-file domainGroup1.json``
Expand Down
14 changes: 13 additions & 1 deletion doc/sphinx-guides/source/admin/solr-search-index.rst
Expand Up @@ -14,6 +14,18 @@ There are two ways to perform a full reindex of the Dataverse search index. Star
Clear and Reindex
+++++++++++++++++


Index and Database Consistency
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Get a list of all database objects that are missing in Solr, and Solr documents that are missing in the database:

``curl http://localhost:8080/api/admin/index/status``

Remove all Solr documents that are orphaned (ie not associated with objects in the database):

``curl http://localhost:8080/api/admin/index/clear-orphans``

Clearing Data from Solr
~~~~~~~~~~~~~~~~~~~~~~~

Expand Down Expand Up @@ -81,4 +93,4 @@ If you suspect something isn't indexed properly in solr, you may bypass the Data

``curl "http://localhost:8983/solr/collection1/select?q=dsPersistentId:doi:10.15139/S3/HFV0AO"``

to see the JSON you were hopefully expecting to see passed along to Dataverse.
to see the JSON you were hopefully expecting to see passed along to Dataverse.
20 changes: 20 additions & 0 deletions doc/sphinx-guides/source/admin/troubleshooting.rst
Expand Up @@ -43,6 +43,26 @@ A User Needs Their Account to Be Converted From Institutional (Shibboleth), ORCI

See :ref:`converting-shibboleth-users-to-local` and :ref:`converting-oauth-users-to-local`.

.. _troubleshooting-ingest:

Ingest
------

Long-Running Ingest Jobs Have Exhausted System Resources
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Ingest is both CPU- and memory-intensive, and depending on your system resources and the size and format of tabular data files uploaded, may render Dataverse unresponsive or nearly inoperable. It is possible to cancel these jobs by purging the ingest queue.

``/usr/local/payara5/mq/bin/imqcmd -u admin query dst -t q -n DataverseIngest`` will query the DataverseIngest destination. The password, unless you have changed it, matches the username.

``/usr/local/payara5/mq/bin/imqcmd -u admin purge dst -t q -n DataverseIngest`` will purge the DataverseIngest queue, and prompt for your confirmation.

Finally, list destinations to verify that the purge was successful::

``/usr/local/payara5/mq/bin/imqcmd -u admin list dst``

If you are still running Glassfish, substitute glassfish4 for payara5 above. If you have installed Dataverse in some other location, adjust the above paths accordingly.

.. _troubleshooting-payara:

Payara
Expand Down
5 changes: 5 additions & 0 deletions doc/sphinx-guides/source/api/native-api.rst
Expand Up @@ -1654,6 +1654,11 @@ The fully expanded example above (without environment variables) looks like this

Calling the destroy endpoint is permanent and irreversible. It will remove the dataset and its datafiles, then re-index the parent dataverse in Solr. This endpoint requires the API token of a superuser.

Configure a Dataset to Use a Specific File Store
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

``/api/datasets/$dataset-id/storageDriver`` can be used to check, configure or reset the designated file store (storage driver) for a dataset. Please see the :doc:`/admin/dataverses-datasets` section of the guide for more information on this API.

Files
-----

Expand Down
4 changes: 2 additions & 2 deletions doc/sphinx-guides/source/conf.py
Expand Up @@ -65,9 +65,9 @@
# built documents.
#
# The short X.Y version.
version = '5.0'
version = '5.1'
# The full version, including alpha/beta/rc tags.
release = '5.0'
release = '5.1'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
18 changes: 13 additions & 5 deletions doc/sphinx-guides/source/developers/big-data-support.rst
Expand Up @@ -18,10 +18,17 @@ This option can handle files >40GB and could be appropriate for files up to a TB
To configure these options, an administrator must set two JVM options for the Dataverse server using the same process as for other configuration options:

``./asadmin create-jvm-options "-Ddataverse.files.<id>.download-redirect=true"``

``./asadmin create-jvm-options "-Ddataverse.files.<id>.upload-redirect=true"``


With multiple stores configured, it is possible to configure one S3 store with direct upload and/or download to support large files (in general or for specific dataverses) while configuring only direct download, or no direct access for another store.
With multiple stores configured, it is possible to configure one S3 store with direct upload and/or download to support large files (in general or for specific dataverses) while configuring only direct download, or no direct access for another store.

The direct upload option now switches between uploading the file in one piece (up to 1 GB by default) and sending it as multiple parts. The default can be changed by setting:

``./asadmin create-jvm-options "-Ddataverse.files.<id>.min-part-size=<size in bytes>"``

For AWS, the minimum allowed part size is 5*1024*1024 bytes and the maximum is 5 GB (5*1024**3). Other providers may set different limits.

It is also possible to set file upload size limits per store. See the :MaxFileUploadSizeInBytes setting described in the :doc:`/installation/config` guide.

Expand All @@ -30,8 +37,8 @@ At present, one potential drawback for direct-upload is that files are only part
``./asadmin create-jvm-options "-Ddataverse.files.<id>.ingestsizelimit=<size in bytes>"``


**IMPORTANT:** One additional step that is required to enable direct download to work with previewers is to allow cross site (CORS) requests on your S3 store.
The example below shows how to enable the minimum needed CORS rules on a bucket using the AWS CLI command line tool. Note that you may need to add more methods and/or locations, if you also need to support certain previewers and external tools.
**IMPORTANT:** One additional step that is required to enable direct uploads via Dataverse and for direct download to work with previewers is to allow cross site (CORS) requests on your S3 store.
The example below shows how to enable CORS rules (to support upload and download) on a bucket using the AWS CLI command line tool. Note that you may want to limit the AllowedOrigins and/or AllowedHeaders further. https://github.com/GlobalDataverseCommunityConsortium/dataverse-previewers/wiki/Using-Previewers-with-download-redirects-from-S3 has some additional information about doing this.

``aws s3api put-bucket-cors --bucket <BUCKET_NAME> --cors-configuration file://cors.json``

Expand All @@ -42,9 +49,10 @@ with the contents of the file cors.json as follows:
{
"CORSRules": [
{
"AllowedOrigins": ["https://<DATAVERSE SERVER>"],
"AllowedOrigins": ["*"],
"AllowedHeaders": ["*"],
"AllowedMethods": ["PUT", "GET"]
"AllowedMethods": ["PUT", "GET"],
"ExposeHeaders": ["ETag"]
}
]
}
Expand Down