Skip to content

Conversation

@guerler
Copy link
Contributor

@guerler guerler commented Feb 20, 2024

This PR replaces the legacy Mako-based copy-history-items flow with a FastAPI endpoint and a Vue3 component, preserving functionality one hundred percent. The former controller logic is moved into a single POST /api/datasets/copy endpoint backed by a Pydantic payload and response model, removing unused parameters (do_copy, target_history_id, message fields, refresh frames) and switching errors to standard API exceptions. The dataset and collection copy logic is unchanged and now resides in DatasetManager.copy_datasets, supporting multi-target copies and optional new-history creation exactly as before. The Vue component replaces the Mako form, sends JSON payloads, and reconstructs the success message client-side while maintaining the same behavior as previously.

screencast

How to test the changes?

(Select all options that apply)

  • I've included appropriate automated tests.
  • This is a refactoring of components with existing test coverage.
  • Instructions for manual testing are as follows:
    1. [add testing steps and prerequisites here if you didn't write automated tests covering all your changes]

License

  • I agree to license these and all my past contributions to the core galaxy codebase under the MIT license.

@guerler guerler added area/UI-UX kind/refactoring cleanup or refactoring of existing code, no functional changes area/backend labels Feb 20, 2024
@guerler guerler added this to the 24.0 milestone Feb 20, 2024
@mvdbeek
Copy link
Member

mvdbeek commented Feb 20, 2024

It is still by far the fastest way to copy multiple datasets. Admittedly I didn't even know it was still reachable in the UI (the cog wheel options are really not that intuitive). Can we merge this after the 24.0 branch and then make sure there's some kind of replacement (maybe through the side-by-side history view) ?

@jdavcs jdavcs modified the milestones: 24.0, 24.1 Feb 26, 2024
@guerler guerler force-pushed the remove_copy_dataset_mako branch from 16484da to cfa2f98 Compare March 5, 2024 14:58
@guerler guerler marked this pull request as ready for review March 5, 2024 23:02
@guerler guerler force-pushed the remove_copy_dataset_mako branch from cfa2f98 to c1dab96 Compare March 6, 2024 16:25
@guerler guerler force-pushed the remove_copy_dataset_mako branch from c1dab96 to d7f2298 Compare April 2, 2024 06:19
@guerler guerler force-pushed the remove_copy_dataset_mako branch from d7f2298 to 997d1b5 Compare April 11, 2024 07:28
@guerler
Copy link
Contributor Author

guerler commented Apr 11, 2024

@mvdbeek we do have a replacement for this feature now, users can select multiple files in the history and drag/drop them into another history using the multi history view interface thx to @ahmedhamidawan.

@wm75
Copy link
Member

wm75 commented Apr 11, 2024

Not only is it still the fastest way as @mvdbeek points out, but I'm also still using this a lot in daily work.
Mostly out of old habits, but, importantly, also on touch screen devices. Last time I checked drag and drop in the multi-history view still wasn't working on mobile and it's that old alternative that saved me then.

I'm not opposed to removing the mako page, but then we need to make sure we have 100% of its functionality available elsewhere.

@guerler guerler marked this pull request as draft April 11, 2024 12:13
@mvdbeek mvdbeek requested a review from dannon May 14, 2024 14:19
@jdavcs jdavcs modified the milestones: 24.1, 24.2 May 20, 2024
@dannon dannon removed their request for review November 15, 2024 14:09
@jdavcs jdavcs modified the milestones: 24.2, 25.0 Nov 20, 2024
@mvdbeek mvdbeek removed this from the 25.0 milestone May 13, 2025
@guerler guerler force-pushed the remove_copy_dataset_mako branch 2 times, most recently from 92c01e1 to 422b457 Compare November 7, 2025 15:21
@guerler guerler requested a review from wm75 November 7, 2025 17:09
@guerler guerler added this to the 26.0 milestone Nov 7, 2025
@guerler guerler marked this pull request as ready for review November 7, 2025 17:09
@guerler guerler changed the title Remove copy dataset mako Replace Copy Dataset Mako with Vue Component Nov 7, 2025
@guerler guerler force-pushed the remove_copy_dataset_mako branch from 205dce6 to 174e2fa Compare November 25, 2025 10:16
@jmchilton jmchilton self-requested a review November 25, 2025 15:09
@jmchilton
Copy link
Member

API looks solid to me - thanks for migrating the selenium tests and rebasing on the vitest work.

@jmchilton jmchilton merged commit 72b8818 into galaxyproject:dev Nov 25, 2025
65 of 69 checks passed
@guerler guerler deleted the remove_copy_dataset_mako branch November 25, 2025 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/backend area/UI-UX kind/refactoring cleanup or refactoring of existing code, no functional changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants