Skip to content

[TASK] Content Drive: Upload button — Asset vs File type selection #35575

Description

@zJaaal

Description

When uploading to a folder with no preference set (the default state described in epic #35436), prompt the user to choose between Asset and File, and send the corresponding base type to the upload endpoint instead of the current hardcoded dotAsset.

This applies to both upload entry points:

  • Clicking the Upload button.
  • Drag-and-dropping files from the OS into Content Drive.

Prototype video

Behavior

  1. Triggering an upload (button click or OS drag-and-drop) prompts the user to choose between Asset (dotAsset) and File (fileAsset).
Image
  1. For the button flow, after choosing, the OS file picker opens (existing flow).
  2. For the drag-and-drop flow, after choosing, the dropped files are uploaded.
  3. The rest of the upload flow stays as-is — the only change is sending the selected base type (dotAsset or fileAsset) to the upload endpoint instead of the current hardcoded dotAsset.

Acceptance Criteria

  • Clicking Upload in the default (no preference) state prompts the user to choose Asset or File.
  • Drag-and-dropping files from the OS in the default (no preference) state prompts the user to choose Asset or File.
  • Selecting Asset sends dotAsset to the upload endpoint.
  • Selecting File sends fileAsset to the upload endpoint.
  • The existing upload flow (file picker, drag-and-drop handling, success/error handling) is unchanged beyond the base type parameter.

Out of Scope — first iteration

Tracked in epic #35436:

  • Folder-level upload preferences (explicit/inherited "Assets" or "Files" states).
  • Dynamic button label (Upload Assets / Upload Files / Upload).
  • MIME-type routing for Assets mode.
  • Preference inheritance between folders.
  • Duplicate file handling (Replace / Keep both / Cancel).
  • Multiple files upload.

Tracked in follow-up sub-issues (out of scope for the first iteration of this ticket):

Priority

Medium

Additional Context

  • Current upload code hardcodes dotAsset. The change is making the base type a parameter driven by user selection.

Parent epic: #35436

Activity

  1. added theissue type on May 5, 2026
  2. self-assigned this
    on Jun 17, 2026
  3. moved this from New to Current Sprint Backlog in dotCMS - Product Planningon Jun 17, 2026
  4. 3 remaining items

  5. removed their assignment
    on Jun 23, 2026
  6. moved this from In Review to QA in dotCMS - Product Planningon Jun 23, 2026
  7. rjvelazco commented on Jun 30, 2026

    @rjvelazco
    Member

    Passed QA

    • dotCMS Docker Image: [dotcms/dotcms:trunk_70fdfb9]

    Image

    Image
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions