[Feature Request]: Annotations (Inline Comments) #2495

Closed
opened 2026-02-05 04:20:14 +03:00 by OVERLORD · 1 comment
Owner

Originally created by @jsdnrs on GitHub (Nov 19, 2021).

Describe the feature you'd like

Annotations, also called Inline Comments, allow the user to select a portion of text and leave a comment thread tied directly to that text. Unlike comments at the end of a page, which allow the user to comment on the page as a whole, Annotations are specific to a subsection of the page. This prevents ambiguity or the need to repeat what was already written when trying to comment on a part of the page.

This type of feature exists in other Wiki software, Confluence (Inline Comments) and XWiki (Annotations), and is touted as a collaboration feature in document editors, Microsoft Word (Comments) and Google Docs (Comments). A similar feature was requested in #1265, but I'm looking to expand on its justification and possible implementation here.

Describe the benefits this feature would bring to BookStack users

Annotations would allow BookStack users a fine-grain approach to commenting on pages. This allows the commenter the ability to call out exactly which section of text they're referencing instead of needing to specify or rewrite it in the comment section. Depending on how a page evolves over time, doing so could leave older comments referencing part of the page which have since been moved or edited. Furthermore, this streamlines collaboration by allowing the user to emphasize which sections need more work or point out to colleagues where their input is required.

Additionally, this gives the user the ability to elaborate on specific sections of the page where it may merit further explanation but not additional text on the page itself. In lieu of footnotes (requested in #2745, #2637, and #1914), Annotations could provide the user a similar means to reference the source of the information or add notes.

Additional context

The following image shows an example of the UI for Annotations in XWiki:

A typical workflow for using annotations could be as follows:

Creating a new annotation:

  1. Select a portion of text that you would like to comment on.
  2. Create a new annotation on that selected text, typically by right clicking or executing a specific key combo.
  3. Type out the comment and format it as necessary and save the annotation.

Responding to an existing annotation:

  1. Click on the annotated portion of text to bring up the comment(s).
  2. Add to those comments.

Notes on implementation and typical aspects of Annotations (although still open questions):

  • Adding an Annotation to the text should emphasize it in some way (such as highlighting) in order to alert the users to the Annotation.
  • Annotations can cover overlapping sections of text, in which case the method of their emphasize could either blend together or add (such as increasing the alpha of the highlighting).
  • Deleting the entirety of the text that an annotation is tied to should (?) also delete the Annotation, but could tie it to the page's version history.
  • The presence of Annotations on a page could be toggle-able, allowing the user to decide if they'd like to see Annotations or not.
  • For use in collaboration, Annotations typically exist only as long as the section they're commenting on needs to be fixed and typically have a "Resolve" functionality either deleting the Annotation or, better, archiving it in such a way that its clear it has been addressed.

By the way, fantastic work on BookStack, its slowly becoming my go-to knowledge base for gathering all my thoughts. Thanks for all your hard-work!

Originally created by @jsdnrs on GitHub (Nov 19, 2021). ### Describe the feature you'd like Annotations, also called Inline Comments, allow the user to select a portion of text and leave a comment thread tied directly to that text. Unlike comments at the end of a page, which allow the user to comment on the page as a whole, Annotations are specific to a subsection of the page. This prevents ambiguity or the need to repeat what was already written when trying to comment on a part of the page. This type of feature exists in other Wiki software, [Confluence (Inline Comments)](https://confluence.atlassian.com/doc/comment-on-pages-and-blog-posts-139483.html#Commentonpagesandblogposts-Addaninlinecomment) and [XWiki (Annotations)](https://extensions.xwiki.org/xwiki/bin/view/Extension/Annotations%20Application#HMakeannotations), and is touted as a collaboration feature in document editors, [Microsoft Word (Comments)](https://techcommunity.microsoft.com/t5/microsoft-365-blog/introducing-modern-comments-in-microsoft-word/ba-p/2263182) and [Google Docs (Comments)](https://support.google.com/a/users/answer/9305987?hl=en#3.3). A similar feature was requested in #1265, but I'm looking to expand on its justification and possible implementation here. ### Describe the benefits this feature would bring to BookStack users Annotations would allow BookStack users a fine-grain approach to commenting on pages. This allows the commenter the ability to call out exactly which section of text they're referencing instead of needing to specify or rewrite it in the comment section. Depending on how a page evolves over time, doing so could leave older comments referencing part of the page which have since been moved or edited. Furthermore, this streamlines collaboration by allowing the user to emphasize which sections need more work or point out to colleagues where their input is required. Additionally, this gives the user the ability to elaborate on specific sections of the page where it may merit further explanation but not additional text on the page itself. In lieu of footnotes (requested in #2745, #2637, and #1914), Annotations could provide the user a similar means to reference the source of the information or add notes. ### Additional context The following image shows an example of the UI for Annotations in XWiki: <p align="center"> <img width="600" src="https://extensions.xwiki.org/xwiki/bin/download/Extension/Annotations%20Application/NewAnnotation.png"> </p> A typical workflow for using annotations could be as follows: Creating a new annotation: 1. Select a portion of text that you would like to comment on. 2. Create a new annotation on that selected text, typically by right clicking or executing a specific key combo. 3. Type out the comment and format it as necessary and save the annotation. Responding to an existing annotation: 1. Click on the annotated portion of text to bring up the comment(s). 2. Add to those comments. Notes on implementation and typical aspects of Annotations (although still open questions): - Adding an Annotation to the text should emphasize it in some way (such as highlighting) in order to alert the users to the Annotation. - Annotations can cover overlapping sections of text, in which case the method of their emphasize could either blend together or add (such as increasing the alpha of the highlighting). - Deleting the entirety of the text that an annotation is tied to should (?) also delete the Annotation, but could tie it to the page's version history. - The presence of Annotations on a page could be toggle-able, allowing the user to decide if they'd like to see Annotations or not. - For use in collaboration, Annotations typically exist only as long as the section they're commenting on needs to be fixed and typically have a "Resolve" functionality either deleting the Annotation or, better, archiving it in such a way that its clear it has been addressed. By the way, fantastic work on BookStack, its slowly becoming my go-to knowledge base for gathering all my thoughts. Thanks for all your hard-work!
OVERLORD added the 🔨 Feature Request:cat2:🐈 Possible duplicate labels 2026-02-05 04:20:14 +03:00
Author
Owner

@ssddanbrown commented on GitHub (Nov 19, 2021):

Thanks for the input @jes-n. I would consider this as a duplicate upon existing issues #1265 and #576 so I'm going to close this off as a duplicate and add a reference within #1265 back to this.

@ssddanbrown commented on GitHub (Nov 19, 2021): Thanks for the input @jes-n. I would consider this as a duplicate upon existing issues #1265 and #576 so I'm going to close this off as a duplicate and add a reference within #1265 back to this.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#2495