-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add batch editing #271 #3655
base: develop
Are you sure you want to change the base?
Add batch editing #271 #3655
Conversation
Thank you very much for your contribution! We look forward to working with you on the batch edit feature once the recently merged pull requests have been successfully released :) It might not be ideal to reuse the existing edit dialog. Instead we had planned to add a separate batch edit dialog to avoid confusion. The following use cases will likely require additional consideration: (a) Editing the date of a photo. Suppose a user selects two photos that currently have the following date set:
Therefore, he opens the edit dialog of photo 1 and changes day:01 to day:03 and year:2022 to year:2020 and long clicks Apply to apply the changes to all photos. Now the user expects both photos to have the following date: day:03 month:08 year:2020. Instead, he gets the following result:
(b) Adding keywords to photos Suppose a user selects two photos that currently contain the following keywords:
Therefore, he opens the edit dialog of photo 1 and changes the keywords: banana, yellow to keywords: banana, yellow, fruit and long clicks Apply to apply the changes to all photos. As a user I would now expect the following
Instead I get
An additional benefit of having a separate Batch Edit dialog is that users can always see exactly which changes are applied to their images. This is not the case with the current implementation, as the user has to remember exactly which fields he just changed and which were already set before. Also, in a separate batch edit dialog we can add additional fields that are not present in the normal edit dialog, for example, a field to add labels and a field to remove labels. |
@graciousgrey You raise some good points in (a) and (b). My implementation is a bit crude that way, not smart at all, only taking the new field values and storing them on all selected photos. It was written for my personal need, adding coordinates and country to groups of photos that don't have them, which it does well. I then included the rest of the fields on the Details page for completeness, without thinking much about the use cases you mention. Removing date and keywords from the fields that can be batch-edited makes sense, perhaps: Just don't batch-save the changes made (not the best UX, I know.) At least the date does not need batch-editing, or editing at all, most of the time. |
The way I usually see bulk editing implemented is that in the edit dialog, every field gets additional, virtual values
And for array-like fields (like keywords and labels), bulk edit dialogs usually have two input fields as graciousgrey mentioned: One "add values" and one "remove values". So with example (b) from above, the logic would be
Before
After
Other additional fields that a dedicated bulk edit dialog could have, would be things from the last tab (Orientation, Panorama, Favorite, etc.). |
This PR should solve issue #271 . – except editing of labels.
This PR implements batch editing: Editing of multiple properties for multiple photos in the details page in one operation:
The long-press method was chosen because it requires no UI for small devices.
Acceptance Criteria:
Tested on MariaDB only, but I believe GORM will handle the changes for SQLite too.