Migrate Deck attachments to File attachments
Nobody has claimed this yet.
- 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
occcommand for a manual migration is offered - administrators are notified about the availability of the
occcommand and are prompted that it is recommended to execute it - the next Deck major release will perform missing migrations automatically
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
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