Add Beta Upload Activity - User Interface Redesign#21338
Add Beta Upload Activity - User Interface Redesign#21338dannon merged 134 commits intogalaxyproject:devfrom
Conversation
34c64f0 to
995661d
Compare
56bb2d1 to
f371854
Compare
913733a to
3a1aca6
Compare
8eb65c4 to
fa1964e
Compare
f51cce0 to
75adf9e
Compare
bdc4b3b to
7c0ca71
Compare
This way we can have more control about the content, how to validate it, suggest using deferred data, etc.
Name and description already cover the same words for searching so no need for it for now.
Introduces a registry-driven upload method architecture, enabling dynamic selection and configuration of upload types. Moves upload logic into modular, async-loaded components. Lays groundwork for easier extensibility, improved user experience, and future integration of new import workflows.
Introduces automatic rotation for tips, starting with a random tip and allowing the interval to be customized. Enhances user engagement and ensures timely tip visibility without manual interaction. Cleans up rotation timer on unmount to prevent memory leaks.
|
So this is finally ready for review. I know it's a lot of code 😅, hopefully a big chunk of it is just type definitions and docstrings 😇 Ideally, we would include this in 26.0 to start getting early feedback from certain users. There are very few automated tests, mostly for the refactored elements, rather than the new components. The idea is to gather some general feedback from those interested users and then, after the changes, solidify the implementation with proper automated tests before it gets out of beta and replaces the old Upload dialog in a future release. I'm not sure if this should be included in the release user highlights or rather just directly communicated to particular users who can provide some feedback, and then properly highlight it in the final release. |
|
Maybe not a highlight for 26.0 but for 26.1, we can write a blog post and I can reach out to a few (power) users and ask for feedback. |
| throw new Error(`Missing target history for upload item [${index}] ${item.fileName}`); | ||
| } | ||
| const data = uploadPayload([item], item.targetHistoryId); | ||
| const data = buildLegacyPayload([item], item.targetHistoryId); |
There was a problem hiding this comment.
Will this be dropped once we switch over to the new uploader activities and remove the current upload modal?
There was a problem hiding this comment.
Yes, that is the intention. This and some other functions and types in the Legacy Compatibility Layer section are marked as deprecated to be removed once we completely switch over. But before that, we will probably need some kind of "dialog version" of the new upload in case there are places in tool forms or landing requests that require a way to upload without losing the current context in the central panel.
|
We should still label it as a highlight for release testing (not for the release notes). |
This PR introduces a new, beta upload experience for Galaxy, available alongside the existing upload dialog. The new interface moves from a modal-based approach to a dedicated activity panel with a method-first workflow and clearer separation between different import mechanisms.
The interface is clearly marked with a Beta to indicate it's in the testing phase. The goal is to gather user feedback on the new upload flow before replacing the traditional Upload Dialog in a future release.
Note
To provide feedback comment on discussion issue: #21340
How to Activate the Beta Upload
The beta upload interface is opt-in and can be accessed through the activity bar:
Key Improvements
1. Method-First Discovery
Before: Single modal with 4 tabs (Regular/Composite/Collection/Rules Builder) requiring users to understand Galaxy's upload taxonomy upfront.
Now: A set of explicitly separated import methods presented as a searchable list with clear names, descriptions, and contextual tips:
Each method includes contextual tips intended to guide users toward the most appropriate import option and best practices.
2. Staging Area for Local and Remote Files
Before: The elements selected in the upload modal were lost if navigation occurred.
Now:
3. Integrated Collection Creation
4. Upload Progress Tracking
In-panel progress indicator - Shows active uploads in the panel header
Dedicated progress page - A full progress view is available at
/upload/progressBatch grouping - Collection uploads are displayed together with aggregate progress
Status updates for individual uploads and collection-related operations
Rich file details:
Persistent history - Completed uploads remain visible until manually cleared
5. Advanced Mode Toggle
6. Target History Selection
Before: Uploads always went to current history.
Now:
Technical Notes
Architecture
/upload,/upload/local-file,/upload/progress)Known Limitations
Composite datatypes - Complex multi-file datatypes are not currently handled. Use the legacy upload dialog for these cases.
Some specialized upload scenarios - If you encounter issues with specific workflows, please report them in the discussion issue here and use the legacy dialog as a fallback. You are welcome to test the beta upload for general use cases or use the discussion to request specific missing features or provide feedback.
The traditional Upload Dialog remains available and fully functional during the beta period.
We Need Your Feedback!
This beta release is specifically designed to gather user feedback before replacing the legacy upload dialog. We're particularly interested in:
How to test the changes?
License