Summary
Enable users to add annotations to specific data points, time periods, or chart elements, and collaborate through threaded comments on dashboards and visualizations.
Current State
No annotation or comment functionality. Users cannot add context or collaborate within the analytics interface.
Proposed Features
Point Annotations
<ChartWithAnnotations
annotations={[
{
type: 'point',
dimension: 'Sales.date',
value: '2024-03-15',
label: 'Marketing campaign launched',
icon: 'rocket'
}
]}
/>
Types:
- Point Annotation: Mark specific data points
- Range Annotation: Highlight time periods or value ranges
- Threshold Lines: Show target/goal lines
- Text Notes: Free-form notes on charts
Dashboard Comments
<CommentThread
targetId="portlet-123"
targetType="portlet"
allowMentions={true}
notifyOnReply={true}
/>
Features:
- Threaded discussions on dashboards and portlets
- @Mentions to tag team members
- Resolve/unresolve comment threads
- Email notifications for mentions/replies
Visibility Controls
- Show/hide annotations per user preference
- Public vs. private annotations
- Role-based visibility (admin-only annotations)
Export Integration
- Include annotations in PDF/image exports
- Export comments as report appendix
Competitor Reference
- Pyramid Analytics: "Comments and annotations within analytic reports serve as a powerful, ubiquitous collaboration tool"
- Sigma Computing: "Add comments and annotations directly within reports"
- Luzmo: "Fuel collaboration with alerts, comments, dashboard sharing"
Technical Approach
- Create
Annotation and Comment data models
- Build
AnnotationOverlay component for chart integration
- Add
CommentThread component for discussions
- Implement notification system for mentions
- Store annotations/comments in server with REST API
Data Models
interface Annotation {
id: string
dashboardId: string
portletId?: string
type: 'point' | 'range' | 'threshold' | 'text'
target: { dimension: string; value: any }
content: string
createdBy: string
createdAt: Date
}
interface Comment {
id: string
parentId?: string // For threading
targetType: 'dashboard' | 'portlet' | 'annotation'
targetId: string
content: string
mentions: string[]
resolved: boolean
createdBy: string
createdAt: Date
}
Labels
enhancement feature-request client collaboration
Summary
Enable users to add annotations to specific data points, time periods, or chart elements, and collaborate through threaded comments on dashboards and visualizations.
Current State
No annotation or comment functionality. Users cannot add context or collaborate within the analytics interface.
Proposed Features
Point Annotations
Types:
Dashboard Comments
Features:
Visibility Controls
Export Integration
Competitor Reference
Technical Approach
AnnotationandCommentdata modelsAnnotationOverlaycomponent for chart integrationCommentThreadcomponent for discussionsData Models
Labels
enhancementfeature-requestclientcollaboration