-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Closed
Labels
package:bookmarksquad:coreIssue to be handled by the Core team.Issue to be handled by the Core team.type:featureThis issue reports a feature request (an idea for a new functionality or a missing option).This issue reports a feature request (an idea for a new functionality or a missing option).
Milestone
Description
Goal
Create the first, minimal iteration of Bookmarks, so that users of the editor can create and edit them.
This will be later followed up by a ticket which will extend the linking experience to bookmarks.
Description
- Anchors/Bookmarks are one of the basic features of editors. They allow placing the specific marker to navigate someone to.
- We choose to name this feature Bookmarks, it’s a much more recognizable name for content creators. Its name and iconography are used in current popular content creation systems (Word, Google Docs).
Scope
- Functional requirements:
- CRUD for Bookmarks in the editor, with a simple inline user interface (bookmarks will be shown in the text).
- Bookmark creation should cover most places of the editor: text, blocks (images, tables), inline blocks, widgets.
- We do only point-only-bookmarks, meaning you will not be able to wrap the text/elements and place a bookmark on them. We will create it as a singular
<a id="xyz" aria-label="..."></a>.- The reasons are multiple: it’s less complex, as we don’t need to think about scenarios of a link in a link (it’s forbidden in HTML). Also, it’s less confusing for content creators, again the action of bookmarking with content that has a link leads to confusing results in the UI.
- That means we need to figure out where the bookmarks will appear for the block elements. For simplicity, we decided for now to place them before block elements.
- The UI for creation should not be confusing, especially in terms of selection. If we create point bookmarks, the creation point should be obvious.
- Non-functional requirements:
- There shouldn’t be an observable performance penalty for bookmark creation (validation of duplicated ID).
- Bookmarks are accessible.
- Users coming with data
<a id="xyz"></a>with GHS, should have theiramigrated to the bookmarks UI. - Uncover the tricky technical parts for further development (how pagination works, validation of names/duplicates).
- Should work in a collaboration session, track changes, revision history.
- Non-goals for this part
- Handling wrapping bookmarks/anchors.
<a id="xyz">This text is in the bookmark.</a>- We need to decide in the follow-ups how we want to handle such content. Opt-in, opt-out for migration?
- Smaller sub-features, like copy URL/name of the Bookmark, toggling visibility of bookmarks, are not needed now. (nice to have)
- Interaction with other features (slash commands, document outline).
- Linking to bookmarks will be done in a separate part.
- Pasting bookmarks from Word/Gdoc.
- Handling wrapping bookmarks/anchors.
Prototypes
skyyip-theorigo
Metadata
Metadata
Assignees
Labels
package:bookmarksquad:coreIssue to be handled by the Core team.Issue to be handled by the Core team.type:featureThis issue reports a feature request (an idea for a new functionality or a missing option).This issue reports a feature request (an idea for a new functionality or a missing option).

