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

Prepare PR for merging TUL into CLARIN-DSpace7.5. #399

Closed
wants to merge 1,630 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1630 commits
Select commit Hold shift + click to select a range
536e8cb
Merge pull request #8613 from atmire/issue-1712_w2p-97080_facet-searc…
tdonohue Jan 20, 2023
51424cb
97425: Fix issue with sessions null value
YanaDePauw Jan 23, 2023
f1af02c
97061: type request param name change to avoid confusion with rest ob…
MarieVerdonck Jan 25, 2023
5a2f2ed
Merge branch 'w2p-97298_issue-3281_self-register-issue-7.2' into w2p-…
MarieVerdonck Jan 25, 2023
f4ca595
[CST-7756] refactoring & added missing JavaDoc
Micheleboychuk Jan 25, 2023
08259ec
[CST-7756] removed unused service bean
Micheleboychuk Jan 26, 2023
0867a05
[CST-7756] minor refactoring according to the rest contract
Micheleboychuk Jan 26, 2023
871bac5
PR #8619: Removed dependency spring-context-support, not needed in main
MarieVerdonck Jan 26, 2023
600a194
[CST-7756] fixed failed tests
Micheleboychuk Jan 26, 2023
9ff712c
Merge branch 'main' into CST-7756-SubscriptionFeature
Micheleboychuk Jan 26, 2023
20231fd
[CST-7756] refactoring
Micheleboychuk Jan 26, 2023
d3c5e7d
[CST-7756] added tests to valid subscription parameters
Micheleboychuk Jan 27, 2023
c59438b
[CST-7756] added validation logic of params
Micheleboychuk Jan 27, 2023
f5c1690
[CST-7756] renamed some methods & class
Micheleboychuk Jan 27, 2023
cb4fd99
[CST-7756] minor fix
Micheleboychuk Jan 27, 2023
1593e1a
[CST-7756] refactored CanSubscribeFeatureIT
Micheleboychuk Jan 30, 2023
9354244
Merge pull request #8578 from tdonohue/update_bcel
tdonohue Jan 30, 2023
8b739d4
Merge pull request #8642 from atmire/w2p-98462_Use-discovery-config-i…
tdonohue Jan 30, 2023
659382f
97425: Implement feedback
YanaDePauw Jan 31, 2023
d470c75
Merge remote-tracking branch 'upstream/main' into w2p-97425_System-wi…
YanaDePauw Jan 31, 2023
0944f59
[CST-7756] minor update
Micheleboychuk Feb 1, 2023
7a807f6
[CST-7756] added missing index field
Micheleboychuk Feb 1, 2023
de44d9d
[CST-7756] added template for subscription content email
Micheleboychuk Feb 1, 2023
da28157
[CST-7754] removed old code of supervision orders
Feb 1, 2023
6a02994
[CST-7756] refactoring
Micheleboychuk Feb 1, 2023
22ebb04
Merge branch 'main' into CST-7756-SubscriptionFeature
Micheleboychuk Feb 1, 2023
7197767
Merge remote-tracking branch 'origin/main' into CST-7754
Feb 1, 2023
7267e15
Remove statusFilter added to Solr browse indexes queries to solve an …
toniprieto Feb 1, 2023
de7d173
[CST-7756] monor fix
Micheleboychuk Feb 2, 2023
0d872b5
[CST-7756] added unit tests covering methods with business logic
Feb 2, 2023
f0acbb9
[CST-7756] sub-daily command and its referred class removed, as subsc…
Feb 2, 2023
6069e32
[CST-7756] updated license header
Feb 2, 2023
8077139
97425: Fix minor issues
YanaDePauw Feb 2, 2023
8f1ba7b
Merge pull request #8607 from atmire/w2p-97183_fix-user-authorization…
tdonohue Feb 2, 2023
b4f7ebf
[CST-7756] added instructions to migrate subscriptions from previous …
Feb 2, 2023
83649f6
Merge branch 'main' into CST-7756-SubscriptionFeature
Feb 2, 2023
0edaba6
[CST-7756] after merge checkstyle fix
Feb 2, 2023
d3c79bd
[CST-7756] extended abstract test
Feb 2, 2023
edcb771
[CST-7756] updated script
Feb 2, 2023
54f6ba9
99053: Add return_to_pool option to all ProcessingAction except Singl…
alexandrevryghem Feb 2, 2023
98ee5cb
Reinstate config accidentally deleted, added in 30f923a080aa0d927036e…
MarieVerdonck Feb 2, 2023
00b5392
[CST-7756] removed subscriptions for items
Micheleboychuk Feb 2, 2023
80a7119
[CST-7756] minor fix
Micheleboychuk Feb 2, 2023
611be00
[CST-7756] extended SubscribeServiceTest in order to use service inst…
Feb 2, 2023
c297e49
Merge remote-tracking branch 'origin/CST-7756-SubscriptionFeature' in…
Feb 2, 2023
4fd8eee
[CST-7756] added missing JavaDoc
Micheleboychuk Feb 3, 2023
669442e
[CST-7756] code refactoring
Feb 3, 2023
dca79c1
[CST-7756] renamed test class in order to reflect its actual behavior
Feb 3, 2023
ad6d514
[CST-7756] removed mail template used by previous script
Feb 3, 2023
2c2c037
[CST-7756] code refactoring
Feb 3, 2023
a26790f
[CST-7756] removed Items section
Feb 3, 2023
9fe1953
[CST-7756] added missing IT
Micheleboychuk Feb 3, 2023
9558330
[CST-7754] updated javadoc
Feb 3, 2023
920b36e
[CST-7754] updated comment
Feb 3, 2023
744748a
[CST-7754] withdrawn item should not allow supervision order
Feb 3, 2023
a1550f3
[CST-7754] moved supervision orders test on workflow items to Supervi…
Feb 3, 2023
fc548e6
Merge branch 'main' into CST-7754
Feb 3, 2023
3fe4fd1
[TLC-380] Browse links and "by regex" links in item display
kshepherd Nov 16, 2022
14b5f0e
[TLC-380] Fix checkstyle and duplicate code
kshepherd Nov 22, 2022
9f67c6a
[TLC-380] Further checkstyle fixes
kshepherd Nov 22, 2022
1353858
[TLC-380] Further checkstyle fixes
kshepherd Nov 22, 2022
d85de89
[TLC-380] Refactor browses endpoint for browse link usage
kshepherd Jan 25, 2023
1c2a153
[TLC-249] Improve 'findByFields' browse refactor
kshepherd Jan 26, 2023
18609c0
[TLC-380] Fix browse resource byFields IT
kshepherd Jan 26, 2023
56ed4aa
[TLC-380] Remove unused methods, add ITs
kshepherd Feb 6, 2023
450956d
#8629: Make sure temporary worfklow groups of reviewers get deleted
MarieVerdonck Feb 3, 2023
07bc6d3
#8629: PR feedback refactor
MarieVerdonck Feb 3, 2023
da53eba
Merge branch 'w2p-97414_advanced_workflow_actions-7.2' into w2p-97414…
MarieVerdonck Feb 6, 2023
b4db57f
[CST-7756] implemented community feedbacks
Micheleboychuk Feb 7, 2023
8e7cf16
[CST-7756] added test that proves what happens if an object is access…
Micheleboychuk Feb 7, 2023
951c755
[CST-7756] renamed a method
Micheleboychuk Feb 7, 2023
4ff1194
[CST-7756] updated subscriptions migration scripts
Micheleboychuk Feb 7, 2023
9286a69
[CST-7756] removed 'lastModified_dt' index field
Micheleboychuk Feb 7, 2023
f696712
[CST-7756] minor refactoring
Micheleboychuk Feb 7, 2023
3584633
[CST-7756] added email subject
Feb 7, 2023
31bd28e
[CST-7756] added dissemination for generic DSpace Item
Feb 7, 2023
6190e33
[CST-7756] If no crosswalk is defined for the Item's entity type, def…
Feb 7, 2023
b403a01
Merge pull request #8589 from the-library-code/TLC-380_browse_link_co…
tdonohue Feb 7, 2023
9aefeeb
IT fix: ReviewManagers repository wide group, not collection workflow…
MarieVerdonck Feb 7, 2023
1e76abd
Merge branch 'w2p-97414_advanced_workflow_actions-7.2' into w2p-97414…
MarieVerdonck Feb 7, 2023
2516460
Test IT without drop constraint
MarieVerdonck Feb 6, 2023
e1fd7e2
Merge branch 'w2p-97414_advanced_workflow_actions-7.2' into w2p-97414…
MarieVerdonck Feb 7, 2023
9b0c592
Merge pull request #8653 from toniprieto/remove-status-filter
tdonohue Feb 7, 2023
ae919d6
[CST-7756] restores security check as was originaly
Micheleboychuk Feb 8, 2023
a00295a
[CST-7756] described beans
Micheleboychuk Feb 8, 2023
f5dc078
Merge branch 'main' into CST-7756-SubscriptionFeature
Feb 8, 2023
1c4a27b
Merge pull request #8619 from atmire/w2p-97298_issue-3281_self-regist…
tdonohue Feb 8, 2023
cef47de
#8628: Remove GET shortlivedtokens endpoint & related IT
MarieVerdonck Feb 8, 2023
e7f2172
Merge pull request #8628 from atmire/w2p-94479_issue-1809_restricted-…
tdonohue Feb 8, 2023
c93e6e4
[TLC-249] Show Identifier Step, pre-register identifiers
kshepherd Dec 14, 2021
ef6af28
[TLC-249] Remove unused import in WorkspaceItemServiceImpl
kshepherd Jul 26, 2022
8fcda7f
[TLC-249] Update section count test in SubmissionDefinitionsControllerIT
kshepherd Jul 26, 2022
20aeedf
[TLC-249] Refactor to support better filter usage, PENDING and MINTED…
kshepherd Aug 15, 2022
dcdbad7
[TLC-249] Add and expose config for enabling register DOI
kshepherd Aug 25, 2022
73406b7
[TLC-249] REST backend for identifier config
kshepherd Aug 25, 2022
3373cf3
[TLC-249] Better status return for new DOIs, write new integration tests
kshepherd Aug 31, 2022
4140470
[TLC-249] Integration tests, keep GET handling in controller
kshepherd Aug 31, 2022
12dba51
[TLC-249] Move GET handling back to ItemIdentifierController
kshepherd Sep 7, 2022
7926021
[TLC-249] Checkstyle fixes
kshepherd Sep 15, 2022
abf65cd
[TLC-249] Licence header fixes
kshepherd Sep 15, 2022
43c2b20
[TLC-249] Further checkstyle fixes
kshepherd Sep 15, 2022
03fb419
[TLC-249] Fix tests, Refactor things to use a LinkRestRepository for …
kshepherd Oct 19, 2022
9a95627
[TLC-249] Further IT fix for identifiers
kshepherd Oct 30, 2022
6595253
[TLC-249] Licence header fix
kshepherd Oct 30, 2022
e82ff5e
[TLC-249] Address review feedback
kshepherd Jan 19, 2023
6737a21
[TLC-249] Lint fixes
kshepherd Jan 19, 2023
d376f45
[TLC-249] Improve model for identifier step data
kshepherd Jan 25, 2023
9c7729e
[TLC-249] Update configuration identifiers.cfg
kshepherd Jan 25, 2023
dbcd1b9
[TLC-249] Remove unused subclass DataIdentifier
kshepherd Jan 25, 2023
94f7be0
[TLC-249] Update identifier section IT
kshepherd Jan 25, 2023
7dafb1e
[TLC-249] Update integration tests for identifier controller
kshepherd Jan 26, 2023
243df36
[TLC-249] Fix submission controller IT
kshepherd Jan 26, 2023
0f77f1d
[TLC-249] Update canRegisterDOIFeature to check for cfg enabled
kshepherd Jan 31, 2023
f9ffceb
[TLC-249] Refactor identifiers create endpoint
kshepherd Feb 1, 2023
074233c
[TLC-249] Refactor, include controller 'find DSO' operation
kshepherd Feb 6, 2023
c2f0159
[TLC-249] Throw not implemented for findOne and findAll
kshepherd Feb 6, 2023
b732764
[TLC-249] Fixes and improvements as per review feedback
kshepherd Feb 6, 2023
18ea2f8
[TLC-249] Checkstyle fix
kshepherd Feb 6, 2023
b13f361
[TLC-249] return value as id for IdentifierRest
kshepherd Feb 6, 2023
e63727e
[TLC-249] Fix category type in IdentifierRest
kshepherd Feb 7, 2023
4997954
[TLC-249] Update integration tests for IdentifierRestRepository
kshepherd Feb 7, 2023
dd0a7d7
[TLC-249] Refactor TrueFilter to get instantiated as singleton
kshepherd Feb 7, 2023
cb3c9b1
[TLC-249] Construct canonical handle URL in identifier item link
kshepherd Feb 8, 2023
94cb0c7
[TL-249] Remove example-doi_filter from config, add singleton attr to…
kshepherd Feb 8, 2023
d0c2020
[TL-249] Add always_true_filter to test REST identifier-service.xml c…
kshepherd Feb 8, 2023
b156bad
[TL-249] Add identifiers.cfg and item-filters.xml config to test data
kshepherd Feb 8, 2023
7efb70a
[TL-249] Fix imports
kshepherd Feb 8, 2023
2b957e2
[TL-249] Revert accidental commit to RestResourceController
kshepherd Feb 8, 2023
555363e
[TL-249] Javadoc and other small fixes, DOI unit tests
kshepherd Feb 8, 2023
c4af5f2
[TL-249] Javadoc and other small fixes
kshepherd Feb 8, 2023
943bdb1
[TL-249] Checkstyle fix
kshepherd Feb 8, 2023
9a9dff4
Merge branch 'main' into CST-7756-SubscriptionFeature
Micheleboychuk Feb 9, 2023
c2845e9
99200: Delete items after copies have been requested fix
Feb 9, 2023
27f75e9
[CST-7756] added security check into 'subscription-send' script
Micheleboychuk Feb 9, 2023
0bafbb6
Alternate way to restart workflow in case of decline
MarieVerdonck Feb 9, 2023
d8f5ae9
Fix for decline when the delete doesn't persist in context before wfi…
MarieVerdonck Feb 9, 2023
93f328b
Merge branch 'w2p-97414_advanced_workflow_actions-7.2' into w2p-97414…
MarieVerdonck Feb 9, 2023
2331db3
[CST-7754] supervising user can perform operations on Workspace item …
Feb 9, 2023
1fcbd66
[DURACOM-116] process sorted alphabetically
Jan 10, 2023
5940500
[TLC-249] Test abandoning of a pending DOI and minting afterwards
pnbecker Feb 9, 2023
94c5450
[TLC-249] Ensure property identifiers.item-status.register-doi is set
pnbecker Feb 9, 2023
ec514b5
Merge pull request #8624 from atmire/w2p-97425_System-wide-alerts
tdonohue Feb 9, 2023
86d7902
Added missing commit in cleanup method
amgciadev Feb 10, 2023
5c1dbb0
Merge branch 'main' into CST-7756-SubscriptionFeature
Micheleboychuk Feb 10, 2023
b76df48
Merge branch 'main' into CST-7754
Feb 10, 2023
1a4e203
Merge pull request #8423 from the-library-code/TLC-249_identifiers_su…
tdonohue Feb 10, 2023
e170079
Merge branch 'main' into CST-7754
Feb 10, 2023
f1a43cd
Merge branch 'main' into fix-8649
amgciadev Feb 10, 2023
2208a6b
Update BitstreamStorageServiceImpl.java
amgciadev Feb 10, 2023
dd6b03b
Merge branch 'main' into CST-7756-SubscriptionFeature
Micheleboychuk Feb 10, 2023
cc15378
Merge pull request #8664 from amgciadev/fix-8649
tdonohue Feb 10, 2023
f788daa
Merge branch 'main' into w2p-97414_advanced_workflow_actions-main
MarieVerdonck Feb 10, 2023
3726210
Merge pull request #8629 from atmire/w2p-97414_advanced_workflow_acti…
tdonohue Feb 10, 2023
c34c14f
Merge branch 'main' into CST-7756-SubscriptionFeature
Micheleboychuk Feb 10, 2023
3b1d930
[CST-7756] Non-Discoverable and withdrawn items must be excluded from…
Micheleboychuk Feb 13, 2023
a374037
[DURACOM-116] moved sorting to service
Feb 13, 2023
bcdf493
Merge pull request #8620 from 4Science/CST-7756-SubscriptionFeature
tdonohue Feb 13, 2023
c729fc3
Merge branch 'main' into CST-7754
Feb 13, 2023
58a010d
Merge branch 'main' into CST-7754
Feb 13, 2023
9c5a197
Merge pull request #8663 from 4Science/DURACOM-116
tdonohue Feb 13, 2023
a8a886b
removed the log info
Raf-atmire Feb 14, 2023
9bf9ba0
Merge branch 'main' into w2p-99200_request-copy-bugfix
jensvannerum Feb 14, 2023
0be1464
Merge pull request #8621 from 4Science/CST-7754
tdonohue Feb 14, 2023
dbbec3c
Merge pull request #8660 from atmire/w2p-99200_request-copy-bugfix
tdonohue Feb 14, 2023
9e8276d
CST-8936 fix permission for bitstream generated by media-filter
abollini Feb 15, 2023
b2d64c5
Merge pull request #8669 from 4Science/CST-8936
tdonohue Feb 15, 2023
055e5a3
Updates to LICENSES_THIRD_PARTY for 7.5
tdonohue Feb 17, 2023
654520e
[maven-release-plugin] prepare release dspace-7.5
tdonohue Feb 17, 2023
338ebb6
Fixed merge conflicts
milanmajchrak May 4, 2023
eb00c7f
Fixed some compile errors
milanmajchrak May 4, 2023
5a2a46b
Fixed some compile errors
milanmajchrak May 4, 2023
8c7e905
Fixed some compile errors
milanmajchrak May 4, 2023
1d82030
Fixed errors which causes tomcat starting errors
milanmajchrak May 5, 2023
fcc12c8
Ignored failing test
milanmajchrak May 12, 2023
dc0ac8b
Fixed MetadataExportSearchIT - the dateIssued search filter was comme…
milanmajchrak May 16, 2023
501a381
Added a new action which push test image for FE integration tests.
milanmajchrak May 22, 2023
f90a837
Updated creating of the docker
milanmajchrak May 22, 2023
6961791
changed to proper dependency
MajoBerger Jun 5, 2023
b20bb71
Updated cfg, fixed error because rest.properties.exposed was defined …
milanmajchrak Jun 6, 2023
e644489
Merge remote-tracking branch 'origin/migrate-to-7.5' into migrate-to-7.5
milanmajchrak Jun 6, 2023
beed2be
fixed cfg for tests
MajoBerger Jun 7, 2023
988eecf
Copied fixes for the PRs: 277, 279, 281, 273, 284, 286, 296, 300, 308
milanmajchrak Jun 8, 2023
d095df7
Push docker only to migrate-to-7.5 and not to dtq-dev-7.5
milanmajchrak Jun 9, 2023
38176aa
Update migrate-docker.yml
milanmajchrak Jun 9, 2023
b30a7a9
Updated IT test for Shibboleth auth
milanmajchrak Jun 9, 2023
d3f7d5b
Copied ClarinLicenseImportRestController from another branch
milanmajchrak Jun 13, 2023
2753218
Shibboleth autologin error solved - new header must be added into All…
milanmajchrak Jun 16, 2023
3f121dd
Fixed checkstyle issues.
milanmajchrak Jun 16, 2023
41d5a1a
Internal/fix integration tests 75 (#311)
MajoBerger Jun 22, 2023
f2ce601
enable different endpoint to S3 bitstorage (#338)
MajoBerger Jun 22, 2023
8d8366d
Migrate to 7.5 (#274)
milanmajchrak Jun 23, 2023
3a038ba
Copied fix from 303
milanmajchrak Jun 23, 2023
e5ad3d0
Copied fix from 302, 319, 314
milanmajchrak Jun 23, 2023
1922e6f
Copied fix from 331
milanmajchrak Jun 23, 2023
2ed4f61
Copied fix from 295
milanmajchrak Jun 23, 2023
588576b
Copied fix from 337, 339
milanmajchrak Jun 23, 2023
fa89798
Removed ClarinLicenseImportRestController.java according to 273
milanmajchrak Jun 23, 2023
d252d09
Merge branch 'dtq-dev' into dtq-dev-7.5
milanmajchrak Jun 23, 2023
4e8c316
Eperson.hasPasswordSet was missing and one checkstyle violation as oc…
milanmajchrak Jun 23, 2023
bd0fbbd
Docker image should be generated.
milanmajchrak Jun 23, 2023
e3afb2b
Full BE customization for TUL (#329)
milanmajchrak Jun 23, 2023
84cfd3d
Temp file
milanmajchrak Jun 23, 2023
644d182
Merge branch 'dtq-dev-7.5' into migrate-to-7.5
milanmajchrak Jun 23, 2023
39667be
Migrate to 7.5 (#343)
milanmajchrak Jun 23, 2023
5d34fe7
Merge remote-tracking branch 'origin/dtq-dev-7.5' into dtq-dev-7.5
milanmajchrak Jun 23, 2023
66c40a4
Removed unused class
milanmajchrak Jun 23, 2023
190d19f
Updated docker.yml
milanmajchrak Jun 23, 2023
d972002
Updated cfg (#348)
milanmajchrak Jun 27, 2023
cd1218e
Fixed from port 4000 to 8080 (#350)
milanmajchrak Jun 29, 2023
0434f97
add redeploy to dev-5 -> curl call to deploy action
MajoBerger Jun 30, 2023
93d25bc
add redeploy to dev-5 -> curl call to deploy action
MajoBerger Jun 30, 2023
07321ea
correct redeploy branch in github action
MajoBerger Jun 30, 2023
b4c05e8
Removed duplicate definition of the property (#353)
milanmajchrak Jul 3, 2023
43242ae
Merge branch 'dtq-dev' into dtq-dev-7.5
milanmajchrak Jul 3, 2023
db9bde0
internal/shibboleth-missing-one-error-page
milanmajchrak Jul 3, 2023
3b415ae
migrated-7.5/oai-is-not-working (#355)
milanmajchrak Jul 4, 2023
90f6e82
Merge branch 'customer/TUL' into dtq-dev-7.5
milanmajchrak Jul 6, 2023
5591a08
Merge actual 7.5. version into TUL (#357)
milanmajchrak Jul 6, 2023
2f68826
Tul/customize be (#327)
milanmajchrak Jul 6, 2023
6156b1e
Commented out TUL properties (#359)
milanmajchrak Jul 6, 2023
8f6f5b4
Merge branch 'dtq-dev-7.5' into customer/TUL
milanmajchrak Jul 6, 2023
441a596
trigger docker images on correct branch
MajoBerger Jul 6, 2023
aafffef
trigger docker images on correct branch
MajoBerger Jul 6, 2023
1623d43
Uncommented citace pro properties and fixed discovery.xml error
milanmajchrak Jul 6, 2023
0190a65
Merge branch 'customer/TUL' of github.com:dataquest-dev/DSpace into c…
milanmajchrak Jul 6, 2023
90e4633
The citace pro properties must be exposed
milanmajchrak Jul 6, 2023
3636ec8
Allowed registration of DOI
milanmajchrak Jul 6, 2023
205a410
Merge branch 'dtq-dev-7.5' into customer/TUL
milanmajchrak Jul 6, 2023
8a09e54
Themed by Dataquest URL is defined in the cfg
milanmajchrak Jul 7, 2023
65edb5b
Turned off the item versions
milanmajchrak Jul 7, 2023
2ce96af
Created the property to define the company which has customized this …
milanmajchrak Jul 7, 2023
e4dd5d3
Configured Submission forms
milanmajchrak Jul 11, 2023
38e61a9
Added a new metadatafield
milanmajchrak Jul 11, 2023
8f9b436
Merge branch 'customer/TUL' of github.com:dataquest-dev/DSpace into c…
milanmajchrak Jul 11, 2023
1c546d4
tul/fix-integration-tests (#361)
milanmajchrak Jul 12, 2023
d8a0b7e
fix deploy to the correct branch
MajoBerger Jul 12, 2023
20d1d62
how could I forget \
MajoBerger Jul 12, 2023
ad4facd
tul/turn-off-matomo (#369)
milanmajchrak Jul 18, 2023
55c0826
Discofeed is turned off (#370)
milanmajchrak Jul 18, 2023
0df9393
Removed crosswalks and oai config (#372)
milanmajchrak Jul 21, 2023
b7cca77
add qdc_tul oai crosswalk (#374)
MajoBerger Jul 27, 2023
808df96
Fixed wrong condition (#377)
milanmajchrak Jul 27, 2023
8b24891
Added logging for the Shibboleth (#379)
milanmajchrak Jul 28, 2023
784d0a9
tul/set-up-cfg-4-production (#380)
milanmajchrak Jul 31, 2023
177f3f4
Fixed shibboleth ISO header values (#382)
milanmajchrak Aug 1, 2023
c88354e
Allowed DOI resolver property (#397)
milanmajchrak Aug 7, 2023
49e8c93
Merge branch 'tul/merge-into-clarin-dspace' into customer/TUL
milanmajchrak Aug 7, 2023
276e705
Revert "Allowed DOI resolver property (#397)"
milanmajchrak Aug 7, 2023
cc4f84d
Fixed wrong revert
milanmajchrak Aug 7, 2023
1387026
Revert "Merge branch 'tul/merge-into-clarin-dspace' into customer/TUL…
milanmajchrak Aug 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ name: Docker images
on:
push:
branches:
- dtq-dev
- customer/TUL
pull_request:
workflow_dispatch:

Expand Down Expand Up @@ -170,11 +170,11 @@ jobs:
labels: ${{ steps.meta_build_cli.outputs.labels }}

- name: redeploy
if: 'false'
if: '!cancelled()'
run: |
curl -H "Accept: application/vnd.github.everest-preview+json" \
-H "Authorization: token ${{ secrets.DEPLOY_DEV5_GH_ACTION_DISPATCH }}" \
--request POST \
https://api.github.com/repos/dataquest-dev/\
dspace-angular/actions/workflows/deploy.yml/dispatches \
--data "{\"ref\":\"refs/heads/dtq-dev-7.5\"}"
--data "{\"ref\":\"refs/heads/customer/TUL\"}"
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,10 @@ private String getItemIdentifier(Item item) {
public void trackBitstreamDownload(Context context, HttpServletRequest request, Bitstream bit) throws SQLException {
// We only track a download request when serving a request without Range header. Do not track the
// download if the downloading continues or the tracking is not allowed by the configuration.
if (StringUtils.isNotBlank(request.getHeader("Range")) &&
BooleanUtils.isFalse(configurationService.getBooleanProperty("matomo.track.enabled"))) {
if (StringUtils.isNotBlank(request.getHeader("Range"))) {
return;
}
if (BooleanUtils.isFalse(configurationService.getBooleanProperty("matomo.track.enabled"))) {
return;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,25 @@
/* Created for LINDAT/CLARIN */
package org.dspace.authenticate.clarin;

import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

/**
* Helper class for request headers.
* Class is copied from UFAL/CLARIN-DSPACE (https://github.com/ufal/clarin-dspace) and modified by
* @author Milan Majchrak (milan.majchrak at dataquest.sk)
*/
public class Headers {

private static final Logger log = LogManager.getLogger(org.dspace.authenticate.clarin.Headers.class);
// variables
//

Expand Down Expand Up @@ -56,7 +61,7 @@ public void initialise(HttpServletRequest request, String header_separator, List
List<String> vals = new ArrayList<String>();
Enumeration e_vals = request.getHeaders(key);
while (e_vals.hasMoreElements()) {
String values = (String)e_vals.nextElement();
String values = updateValueByCharset((String) e_vals.nextElement());
vals.addAll( header2values(values) );
}

Expand Down Expand Up @@ -149,4 +154,20 @@ private List<String> header2values(String header) {

return values;
}


/**
* Convert ISO header value to UTF-8
* @param value ISO header value String
* @return
*/
private String updateValueByCharset(String value) {
try {
return new String(value.getBytes("ISO-8859-1"), "UTF-8");
} catch (UnsupportedEncodingException ex) {
log.warn("Failed to reconvert shibboleth attribute with value ("
+ value + ").", ex);
}
return value;
}
}
3 changes: 3 additions & 0 deletions dspace-api/src/test/data/dspaceFolder/config/local.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -261,3 +261,6 @@ authority.controlled.dspace.object.owner = true
# Configuration required for thorough testing of browse links
webui.browse.link.1 = author:dc.contributor.*
webui.browse.link.2 = subject:dc.subject.*

# If the versioning is disabled Versioning Integration Tests will fail - allow it for the tests
versioning.enabled=true
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import java.util.function.Predicate;
import javax.servlet.Filter;

import org.dspace.app.rest.filter.DSpaceRequestContextFilter;
Expand Down Expand Up @@ -39,6 +40,8 @@
import org.springframework.lang.NonNull;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.security.web.firewall.HttpFirewall;
import org.springframework.security.web.firewall.StrictHttpFirewall;
import org.springframework.web.context.request.RequestContextListener;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
Expand Down Expand Up @@ -167,6 +170,23 @@ protected LinkRelationProvider dspaceLinkRelationProvider() {
return new DSpaceLinkRelationProvider();
}

/**
* StrictHttpFirewall doesn't allow ISO header values by default. It could throw an error during Shibboleth
* authentication if the user has UTF-8 characters in the name.
* Updated allowedHeaderValues without any regex - it allows every character.
* @return
*/
@Bean
public HttpFirewall allowUrlEncodedSlashHttpFirewall() {
StrictHttpFirewall firewall = new StrictHttpFirewall();
Predicate<String> test = (s) -> {
return true;
};

firewall.setAllowedHeaderValues(test);
return firewall;
}

@Bean
public WebMvcConfigurer webMvcConfigurer() {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,11 @@ public void afterPropertiesSet() throws Exception {
service = new DatabaseReader.Builder(
new BufferedInputStream(Files.newInputStream(Paths.get(dbfile)))).build();
} catch (IOException e) {
log.debug("ERROR: Unable to load GeoLite Database file (" + dbfile + ")! " +
log.error("Unable to load GeoLite Database file (" + dbfile + ")! " +
"You may need to reinstall it. See the DSpace installation instructions for more details.", e);
}
} else {
log.debug("ERROR: The required 'dbfile' configuration is missing in solr-statistics.cfg!");
log.error("The required 'dbfile' configuration is missing in solr-statistics.cfg!");
}
locationService = service;

Expand All @@ -100,7 +100,7 @@ public void afterPropertiesSet() throws Exception {
}

public String createFeedsContent() {
log.debug("Going to create feeds content.");
log.info("Going to create feeds content.");
String[] feedsConfig = configurationService.getArrayProperty("discojuice.feeds");
String shibbolethDiscoFeedUrl = configurationService.getProperty("shibboleth.discofeed.url");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public void cronJobSch() {
return;
}

log.debug("CRON Job - going to download the discojuice feeds.");
log.info("CRON Job - going to download the discojuice feeds.");
String newFeedsContent = clarinDiscoJuiceFeedsDownloadService.createFeedsContent();
if (isNotBlank(newFeedsContent)) {
feedsContent = newFeedsContent;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@ public class ClarinShibbolethLoginFilter extends StatelessLoginFilter {

public static final String VERIFICATION_TOKEN_HEADER = "Verification-Token";

private static final Logger log = LogManager.getLogger(org.dspace.app.rest.security.ShibbolethLoginFilter.class);
private static final Logger log = LogManager.getLogger(org.dspace.app.rest.security.clarin.
ClarinShibbolethLoginFilter.class);

/**
* Property which handles information if the IdP send required information.
Expand Down Expand Up @@ -176,6 +177,11 @@ public Authentication attemptAuthentication(HttpServletRequest req,
}
}

// logging
log.info("Shib-Identity-Provider: " + idp);
log.info("authentication-shibboleth.netid-header: " + netidHeader + " with value: " + netid);
log.info("authentication-shibboleth.email-header: " + emailHeader + " with value: " + email);

try {
if (StringUtils.isEmpty(netid) || StringUtils.isEmpty(idp)) {
log.error("Cannot load the netid or idp from the request headers.");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@
*
* @author Milan Majchrak (milan.majchrak at dataquest.sk)
*/
// Ignore for the TUL customer
@Ignore
public class ClarinDiscoveryRestControllerIT extends AbstractControllerIntegrationTest {
@Autowired
ConfigurationService configurationService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
import org.dspace.content.service.clarin.ClarinLicenseService;
import org.dspace.services.ConfigurationService;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;

Expand All @@ -57,6 +58,8 @@
*
* @author Milan Majchrak (milan.majchrak at dataquest.sk)
*/
// Ignore for TUL customer
@Ignore
public class ClarinWorkspaceItemRestRepositoryIT extends AbstractControllerIntegrationTest {

public static final String REST_SERVER_URL = "http://localhost/api/";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;

@Ignore
public class DiscoveryRestControllerIT extends AbstractControllerIntegrationTest {
@Autowired
ConfigurationService configurationService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -458,4 +458,35 @@ public void testRedirectToGivenUntrustedUrl() throws Exception {
.header("SHIB-NETID", NET_ID_TEST_EPERSON))
.andExpect(status().isBadRequest());
}

@Test
public void testUTF8ShibHeaders() throws Exception {
// NOTE: The initial call to /shibboleth comes *from* an external Shibboleth site. So, it is always
// unauthenticated, but it must include some expected SHIB attributes.
// SHIB-MAIL attribute is the default email header sent from Shibboleth after a successful login.
// In this test we are simply mocking that behavior by setting it to an existing EPerson.
String token = getClient().perform(get("/api/authn/shibboleth")
.header("SHIB-MAIL", clarinEperson.getEmail())
.header("Shib-Identity-Provider", IDP_TEST_EPERSON)
.header("SHIB-NETID", NET_ID_TEST_EPERSON)
.header("SHIB-GIVENNAME", "knihovna KůÅ\u0088 test ŽluÅ¥ouÄ\u008Dký"))
.andExpect(status().is3xxRedirection())
.andExpect(redirectedUrl("http://localhost:4000"))
.andReturn().getResponse().getHeader("Authorization");


getClient(token).perform(get("/api/authn/status"))
.andExpect(status().isOk())
.andExpect(jsonPath("$.authenticated", is(true)))
.andExpect(jsonPath("$.authenticationMethod", is("shibboleth")));

getClient(token).perform(
get("/api/authz/authorizations/search/object")
.param("embed", "feature")
.param("feature", feature)
.param("uri", utils.linkToSingleResource(ePersonRest, "self").getHref()))
.andExpect(status().isOk())
.andExpect(jsonPath("$.page.totalElements", is(0)))
.andExpect(jsonPath("$._embedded").doesNotExist());
}
}
63 changes: 54 additions & 9 deletions dspace/config/clarin-dspace.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ featured.service.teitok.description = A web-based platform for viewing, creating

##### Shibboleth #####
# Turn off the discofeed, it is allowed by default
# shibboleth.discofeed.allowed = false
shibboleth.discofeed.allowed = false
# File where is DiscoJuiceFeed response
shibboleth.discofeed.url = https://lindat.mff.cuni.cz/Shibboleth.sso/DiscoFeed

Expand All @@ -139,7 +139,7 @@ discojuice.rewriteCountries = https://idp.scc.kit.edu/idp/shibboleth, https://fe

##### Matomo statistics #####
# Auth token
matomo.track.enabled = true
matomo.track.enabled = false
matomo.auth.token = 26388b4164695d69e6ee6e2dd527b723
matomo.site.id = 1
matomo.tracker.bitstream.site_id = 1
Expand All @@ -148,29 +148,74 @@ statistics.cache-server.uri = http://cache-server.none


##### Citacepro config #####
# citace.pro.url = https://www.citacepro.com/api/dspace/citace/oai
# citace.pro.university = dspace.tul.cz
citace.pro.url = https://www.citacepro.com/api/dspace/citace/oai
citace.pro.university = dspace.tul.cz

# only use true or false for the value of citace pro allowed
# citace.pro.allowed = true
citace.pro.allowed = true

#google config
# google.analytics.key =
google.analytics.key=UA-134956309-1

# The max number of events held in the GA buffer (default: 256)
# google.analytics.buffer.limit = 256
google.analytics.buffer.limit=256

# Define cron for how frequently events tracked in the DSpace backend will be sent to Google Analytics
# This MUST be enabled if you wish to use `google.analytics.api-secret` to track bitstream download statistics (and similar)
# Cron syntax is defined at https://www.quartz-scheduler.org/api/2.3.0/org/quartz/CronTrigger.html
# Keep in mind, changing the schedule requires rebooting your servlet container, e.g. Tomcat.
# The below example will run this task daily, every 5 minutes
# google.analytics.cron = 0 0/1 * * * ?
google.analytics.cron = 0 0/1 * * * ?

# Defines a Measurement Protocol API Secret to be used to track interactions which occur outside of the user's browser.
# For example , this is required to track downloads of bitstreams. This setting is only used by Google Analytics 4.
# For more details see https://developers.google.com/analytics/devguides/collection/protocol/ga4
# google.analytics.api-secret =
# google.analytics.api-secret = EvBfmLs_QPaKei9XRibauw

##### Importing #####
import.metadata.field.not.update = dc.description.provenance, dc.date.available, dc.date.accessioned, dc.identifier.uri

#------------------------------------------------------------------#
#-------------------------Configure DOI----------------------------#
#------------------------------------------------------------------#

# Credentials used to authenticate against the registration agency:
identifier.doi.user = username
identifier.doi.password = password
# DOI prefix used to mint DOIs. All DOIs minted by DSpace will use this prefix.
# The Prefix will be assigned by the registration agency.
identifier.doi.prefix = 10.5072
# If you want to, you can further separate your namespace. Should all the
# suffixes of all DOIs minted by DSpace start with a special string to separate
# it from other services also minting DOIs under your prefix?
identifier.doi.namespaceseparator = dspace/

##
## Configure XSLT-driven submission crosswalk for DataCite
##
crosswalk.dissemination.DataCite.stylesheet = crosswalks/DIM2DataCite.xsl
crosswalk.dissemination.DataCite.schemaLocation = \
http://datacite.org/schema/kernel-3 \
http://schema.datacite.org/meta/kernel-3/metadata.xsd
crosswalk.dissemination.DataCite.preferList = false
crosswalk.dissemination.DataCite.publisher = My University
#crosswalk.dissemination.DataCite.dataManager = # defaults to publisher
#crosswalk.dissemination.DataCite.hostingInstitution = # defaults to publisher
crosswalk.dissemination.DataCite.namespace = http://datacite.org/schema/kernel-3

# consumer to update metadata of DOIs
event.consumer.doi.class = org.dspace.identifier.doi.DOIConsumer
event.consumer.doi.filters = Item+Modify_Metadata

# Add doi here if you are using org.dspace.identifier.DOIIdentifierProvider to generate DOIs.
# Adding doi here makes DSpace send metadata updates to your doi registration agency.
# Add rdf here, if you are using dspace-rdf to export your repository content as RDF.
# Add iiif here, if you are using dspace-iiif.
event.dispatcher.default.consumers = versioning, discovery, eperson, doi

# Edit Item - Status option
identifiers.item-status.register-doi = true

##### Dataquest URL - sing in the footer #####
themed.by.url = https://www.dataquest.sk/dspace
themed.by.company.name = dataquest s.r.o.
Loading
Loading