When uploading a batch, users often have natural sub-batches (e.g. 5 photos of the same church inside a 20-photo upload). Editing them together as a sub-batch — and visually keeping them apart from the rest — is currently impossible. Add manual groups: a user selects rows, clicks a "Group selection" button (alongside Publish / Discard in the bulk-action area), and those rows become a group. The table can switch between "All" view and "Groups" view.
Group rules:
- Groups are nameless (no naming UI).
- A photo can be in at most one group.
- Photos not in any group sit in an implicit "Ungrouped" section.
- Groups are stored on the wiki user-store (cross-device, persistent).
Group-view layout:
- Multiple mini-tables stacked vertically, one per group, with a thick separator between them.
- Column headers repeat at the top of each group's mini-table.
- Row order / row sorting is per-group — clicking a column header to sort sorts only within that group.
- Column order and column visibility are global — set once, applied across all groups.
- Group order itself: drag-and-drop the group blocks to reorder them.
Group management:
- Create: select rows in either view → "Group selection" button (next to Publish / Discard).
- Remove a row from a group: row goes back to "Ungrouped".
- Delete a group: a control on the group header (e.g. context menu / × button); members go back to "Ungrouped".
Out of scope:
- Group names / labels.
- A photo being in multiple groups simultaneously.
- Visual piling creation mode (separate task).
- Per-column filtering (deferred).
Acceptance:
- Toggle in table toolbar switches between "All" and "Groups" views.
- Selecting rows + "Group selection" creates a group; rows render as a stacked mini-table in Groups view.
- Sorting a column in one group does not affect other groups.
- Reordering or hiding columns affects all groups identically.
- Drag-reorder of groups persists.
- Reload (and reload on a different device) preserves groups.
Source: User feedback session, 2026-05-08.