Feature Request: Refactor the export subsystem to support per-version exports, better comprehension, and testability.
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 564
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 29
Description
Overview of the Feature Request
Make the export subsystem better and prepare it for new features.
What kind of user is the feature intended for?
Users, Sysadmin, Developers
What inspired the request?
#11892
What existing behavior do you want changed?
- As a prerequisite for solving #11892 we need to make the metadata export system understand how to deal with metadata formats per dataset version. (Citations are version dependent)
- The current state of implementation is falling behind on following good practices and is hardly testable in unit tests (there are none for the service functionality).
- Also we have defined an exporter contract to express it depends on a different format, there are hardly any safeguards in the implementation (dependency cycles, optimized export order, cascading invalidation).
Any brand new behavior do you want to add to Dataverse?
This is under-the-hood preparation to actually add brand new behaviour for users.
Any open or closed issues related to this feature request?
#11892
Are you thinking about creating a pull request for this feature?
Forthcoming.
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
Start with the metadata export system and its exporter contract, then read related issue #11892 for the intended behavior. Define the per-dataset-version export requirements and the safeguards around dependency cycles, export order, and cascading invalidation. Done should include unit-testable service functionality and coverage for the described behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, data
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100