Engineering Spike: Contextual Discussions for Wiki Pages
Description
Investigate and evaluate approaches for implementing contextual discussions directly within Wiki Pages. This feature would allow users to have conversations and discussions in the context of specific sections or content blocks within Wiki Pages rather than only having discussions at the bottom of the Page.
Spike Goals
- Evaluate technical approaches for implementing contextual anchoring of discussions
- Determine how to store, retrieve, and display contextual discussions efficiently
- Assess impact on existing wiki page structure and rendering
- Assess if contextual comments implementation in the Wiki would be reproducible in other areas in the Product (there has been asks to expand this to Work Items for example)
Current status
Options
The primary engineering challenge is how to anchor the discussions within the wiki page text that can be rendered in HTML, edited in Rich text editor, plain text editor and manipulated offline and pushed using git.
-
Option 1 Adding anchor nodes (
<comment id="123">Lorem ipsum</comment>
) to the text as it's stored in Git - Option 2 Adding anchor nodes to a copy of the text stored in the DB
-
Option 3 Adding context metadata to the comments with position information
{ start: 234, end: 893 }
Each option comes with unique challenges.
Decision
We aligned on pursuing option 3 — adding comment Metadata — due to its flexibility and despite a relative implementation complexity.
Additional Information
This Spike will help us understand the feasibility and technical challenges of implementing contextual discussions before committing to a specific implementation approach. The goal is to enhance collaboration by making discussions more focused and directly tied to specific content.