Links to Stacks of Cards in a Board
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.4k
- Forks
- 354
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 43
Description
Scenario
A user wants to link to a specific stack of cards in a deck board.
Attempts
- Links to the URL of the board (schema: https://example.org/apps/deck/board/NNNN) are easy. But if the referenced stack is outside of the initial viewport, the user has to close the conceptual gap and search for the referenced stack by scrolling.
- Links to the board with a text highlight (schema: https://example.org/apps/deck/board/NNNN#:~:text=foo%20bar) are possible. Closing the gap (see 1) is easier as the stack's caption is highlighted. If the stack is outside the viewport, the user is assisted by the browser. If there are multiple occurrences of the stack's caption the user has to figure that the stack was meant and not one of the other occurrences on the page.
- Inspected the DOM of a board view. Found no anchors, ids nor names in the branch of the stack.
- My humble search skills yielded no discussion of the usage scenario.
Proposed Solution
The most concise DOM element for referencing a stack might be the h3 element with title="stack.title" and class="stack__title". Its id attribute is not used yet. The id might be generated from a distinguishing prefix (e.g. stack-) and an identifying suffix (e.g. foo-bar) might yield an id of stack-foo-bar for a stack with the caption "Foo Bar". A link to the stack's id (schema: https://example.org/apps/deck/board/NNNN#stack-foo-bar) focusses the stack on a potentially huge page with all of the browser's capabilities.
Alternative and Optional Solutions
- The proposed schema for the id is debatable.
- There are some 1:1 parents and children that might be considered to get the id attribute attached.
- A distinct page for a stack (schema: https://example.org/apps/deck/board/NNNN/stack/foo-bar) might be useful in more scenarios but requires more work than the proposed solution.
- Having the link work as a preview widget in other Nextcloud apps would be a killer but requires much more work than the proposed solution.
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
Start by locating the board view's stack markup and the h3 element described as class="stack__title" with a title attribute. Review how stack titles are rendered and how board fragments are handled, then verify that a link using a generated stack id focuses the intended stack. The id format remains undecided in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100