nextcloud / nextcloud/deck

Migrate Deck attachments to File attachments

Open
#3,101 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop backend enhancement feature: attachments
Dominant language
JavaScript
Stars
1.4k
Forks
354
Avg merge
1d 10h
Merged PRs (30d)
43

Description

Background

Deck 1.3.0 introduced File attachments. New attachments are uploaded to the user directory as files. This brings up many advantages compared to the previous custom handling of attachments. One benefit is an appropriate thumbnail generation (for example for cover images).

Problem

However it also introduced a technical debt: The Deck server app as well as all clients need to support both types of attachments. Especially when displaying cover images, the user requires to download the whole image regardless of its size to display it. This increases the maintenance efforts for the developers and is a bad user experience due to large mobile traffic and load times.

Solution

In https://github.com/nextcloud/deck/pull/2638#issuecomment-740644439 we discussed this topic and a possible solution was to migrate existing Deck attachments to File attachments. As this can be a long running job, @juliushaertl decided to not automatically perform the migration when updating to Deck 1.3.0. This issue will be solved when

  • an occ command for a manual migration is offered
  • administrators are notified about the availability of the occ command and are prompted that it is recommended to execute it
  • the next Deck major release will perform missing migrations automatically

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by tracing the existing Deck attachment handling and the occ command entry point, then review the linked discussion in PR 2638. Done means a manual migration command exists, administrators are informed and prompted, and the next major release can perform remaining migrations automatically.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
backend, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.