Skip to content

Conversation

michitux
Copy link
Contributor

@michitux michitux commented Oct 8, 2025

Jira URL

https://jira.xwiki.org/browse/XWIKI-22845

Changes

Description

Clarifications

Screenshots & Video

No UI changes.

Executed Tests

Built the changed modules with quality profile. Tested manually with MinIO as backened.

Expected merging strategy

  • Prefers squash: Yes
  • Backport on branches:
    • None.

</dependency>
<dependency>
<groupId>org.xwiki.commons</groupId>
<artifactId>xwiki-commons-store-blob-filesystem</artifactId>
Copy link
Member

Choose a reason for hiding this comment

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

Isn't this module supposed to only use the API ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

In theory, yes, but I didn't feel like rewriting the migrations on top of the public API due to the high risk of introducing regressions in particular as some migrations move directories with the attachment data several times, which wouldn't be a good idea with S3, anyway. For this reason, I introduced a way in the file system store to get the actual filesystem path, and I'm using this in the migrations to keep their code mostly unchanged.

Copy link
Member

Choose a reason for hiding this comment

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

If it's only for the migrations, I guess we could move those to some dedicated module.

…istory and deleted attachments and documents

* WIP changing everything from File to Blob/BlobPath.
…istory and deleted attachments and documents

* Continue using the blob API in the filesystem store.
…istory and deleted attachments and documents

* WIP change migrations to use blob store.
…istory and deleted attachments and documents

* Finish adapting migrations to new blob store API.
…istory and deleted attachments and documents

* Adapt WikiDeletedListener to use blob store APIs.
…istory and deleted attachments and documents

* Fix and improve exception handling
* Fix the build by temporarily lowering the test coverage.
* Adapt tests for the new blob store APIs.
…istory and deleted attachments and documents

* Add the S3 store as a dependency to the WAR.
…istory and deleted attachments and documents

* Use an actual iterator to avoid throwing RuntimeException in
FilesystemAttachmentRecycleBinContentStore.
…istory and deleted attachments and documents

* Add support for running any UI test with S3 as blob store using a
  MinIO container.
Copy link

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedmaven/​org.testcontainers/​minio@​1.21.310010089100100

View full report

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.

2 participants