Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@kosarko
Copy link

@kosarko kosarko commented Oct 21, 2025

Syncing development from LINDAT clarin-v7 branch

Milan Kuchtiak and others added 30 commits October 20, 2025 17:30
meanwhile the clarin-v7 got an additional script; this change is to keep
the migrations in a proper order
…es (#1245)

* issue 1233: requiredmetadata curation task - fix NPE + few other issues

* use constant rather that hardcoded value

* resolve pull request comments

* integration test

* attempt to fix failing test

* update test to test usecase with workspace item

* cleanup handles properly in Integration test (no avoid clashing handles with other potential test)

* pull check for null outside of try catch block
…1255)

* Initial plan

* Add comprehensive .github/copilot-instructions.md for CLARIN-DSpace

Co-authored-by: kosarko <[email protected]>

* Update copilot instructions - networking issue resolved

Co-authored-by: kosarko <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: kosarko <[email protected]>
* issue 1250: allow submitters to create new versions of their own items

* formatting

* fixed failing tests
change the schedule from every 4 hrs to once a day
…hen new item version is created (#1258)

* Issue 1253: clarin-dspace will not unarchive previous item version when new item version is created

* add config property controlling whether previous item versions should be unarchived or not

* fixed failing IT tests

* attempt to fix unit tests

* unarchive item before removal

* attempt to find tests using VersioningServiceImpl#delete

* move workaround to VersioningServiceImpl

* add test for removing older version, fix cases when item is being removed twice in the same session

* resolve Copilot comments

* improve the message

* add a test case for the new "do not unarchive" behavior

* Update dspace-api/src/main/java/org/dspace/versioning/VersioningServiceImpl.java

comment grammar

Co-authored-by: Copilot <[email protected]>

* The previous commit broke the syntax

---------

Co-authored-by: Ondřej Košarko <[email protected]>
Co-authored-by: Ondřej Košarko <[email protected]>
Co-authored-by: Copilot <[email protected]>
don't rely on dso.getHandle when registering new handle
* Issue 1217: new EpicPidService implementation

* renamed EpicPidService to EpicHandleService

* implement REST API for epic handles

* small improvements: enable to search all ePIC handles with URL

* refactor  EpicHandleRestHelper + integration test for EpicHandleRestController

* add more test cases for search

* code improvement, JavaDoc

* runSynchronously -> runCountSynchronously

* extent integration test with content matchers

* allow to create new handles with PUT method

* change updateHandle to updateOrCreateHandle

* resolve copilot findings

---------

Co-authored-by: Milan Kuchtiak <[email protected]>
* Issue 1259: personal_access_token implementation

* create personall-access-token-manager script to manage tokens

* move PersonalAccessTokenAdministrator from script commands to launcher commands

* PersonamAccessToken -> Unit test + Integration test

* set maximum expiration time for token to 90days

* removed empty line

* no need for token to start with PAT_ prefix

* separate Personal Access Token better from regular token

* change personal access token to be encrypted

* PersonalAccessToken renamed to ClarinToken + allow to create multiple tokens for single user

* remove unused test

* scripts improvements: enable to generate encryption/decryption secret key

* update user process script to be consistent with admin script, with regards to delete parameter

* resolve Pull Request comments

* attempt to fix integration test failure

* typo fix Gey -> Key

* resolve additional PR comments
kuchtiak-ufal and others added 10 commits October 21, 2025 10:03
* implement handle checker

* improve implementation + integration test

* formatting

* implement copilot suggestion + changing GET requests to HEAD request

* append the intermediate Locations and their results as well

* toLowerCase is before database search

this doesn't work with LRT-123

* split the test into individual tests

---------

Co-authored-by: Ondřej Košarko <[email protected]>
This reverts commit 058a3c1.
* Issue 1217: add links to search response

* restObjects -> epicHandleResources

(cherry picked from commit 947fa3a)
…tched to winter time (#1289)

* fixed ResourcePolicyRestRepositoryIT test failing after WinterTime was setup

* another fix

* Better fix for failing tests

(cherry picked from commit 48d9ae5)
* issue 1072: implement file preview feature for .gz, tar.gz, .xz, tar.xz and .7z files

* test for 7z format

* resolve copilot comments

* add unit tests for different mime-types and file extensions, handle IO exceptions when trying to parse archive files

* resolve copilot comments 2

* fixed incorrect bitstream name, description

* removed private logos

* accept also application/g-gzip archive mime-type

---------

Co-authored-by: Ondřej Košarko <[email protected]>
(cherry picked from commit 736ae67)
* Issue-1084: allow existing users to use name/password authentication

* Resolve Copilot comment

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Copilot <[email protected]>
(cherry picked from commit aeeb7a3)
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This is a comprehensive synchronization PR from the LINDAT clarin-v7 development branch, implementing multiple features and bug fixes for the CLARIN-DSpace repository. The changes include Personal Access Tokens, Matomo statistics reporting, Epic handles support, file preview enhancements, versioning configuration improvements, and various bug fixes.

Key Changes:

  • Implementation of Personal Access Token (PAT) authentication system with encryption and expiration
  • Matomo report subscription system for item statistics
  • Enhanced file preview support for various compression formats (7z, tar.gz, tar.xz, gzip, xz)
  • New versioning configuration options to control unarchiving behavior
  • Curation task for checking handles

Reviewed changes

Copilot reviewed 90 out of 97 changed files in this pull request and generated 24 comments.

Show a summary per file
File Description
pom.xml Managed json-smart dependency version centrally in parent POM
dspace-server-webapp/pom.xml Removed hardcoded json-smart version, now inherited from parent
dspace/config/spring/* Registered new service beans for CLARIN tokens, Matomo reports, and Epic handles
dspace/config/emails/* Added email templates for Matomo reports and CLARIN tokens
dspace/config/registries/bitstream-formats.xml Added support for 7z compression format
dspace/config/modules/curate.cfg Registered new handle checker curation task
dspace/config/modules/authentication.cfg Updated authentication plugin sequence
dspace/config/clarin-dspace.cfg Added Matomo statistics configuration and versioning options
Test files (Java) Added comprehensive tests for new features with proper configuration
Test resources (binary) Added compressed archive test files for file preview testing
JWTTokenRestAuthenticationServiceImpl.java Integrated CLARIN token authentication into JWT handler
MatomoReportSubscriptionRestRepository.java New REST repository for Matomo report subscriptions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants