An umbrella issue for refactoring and improvements of the thumbnails functionality
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 564
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 29
Description
The thumbnails subsystem is still buggy. There are still visible instances of the JSF Collection pages being broken when the search card-sized thumbnail cannot be obtained. There are still performance issues; for example, edge cases where a draft page is unloadable for a dataset with a large number of images neither one of which can produce a thumbnail (for whatever reason).
Above all the code is convoluted and very hard to maintain. The whole thing may need to be re-implemented more or less from scratch. Large parts of that code are remnants of very JSF-specific optimizations that should be dropped just as the old UI is retired. I also hope that the very functionality could somehow be simplified. For example, there should be a much simper way to handle thumbnails for fully public files and datasets; that would allow to cache them outside of Dataverse for cheap, perhaps. Whether restricted files even need thumbnails would be something to consider as well.
I will be opening some new sub-issues as well as linking existing thumbnails-related issues, of which we have many.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Begin by reviewing the thumbnails subsystem and the JSF Collection pages, then use the planned sub-issues and linked thumbnails-related issues to define a bounded task. Done should be established by a specific sub-issue with target behavior and performance expectations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- full-stack
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100