E3SM-Project / E3SM-Project/simboard

[Enhancement]: Add lightweight case-level commenting for collaboration

Open
#232 1 comment 0 reactions 0 assignees View on GitHub
feature: commenting
Dominant language
Python
Stars
1
Forks
2
Avg merge
22m
Merged PRs (30d)
12

Description

### Is your feature request related to a problem?

Even with case-level documentation, SimBoard still lacks a lightweight way for users to discuss case-specific context, ask questions, or leave follow-up remarks tied to a case.

Today, case pages are effectively read-only aggregation views with no built-in discussion surface. That makes collaboration harder when users need to:
- clarify case-level notes
- record review comments or follow-up questions
- capture small updates that should not overwrite canonical notes
- preserve discussion history around case interpretation or maintenance

Without a dedicated commenting surface, those conversations move to external systems or are lost entirely.

### Describe the solution you'd like

Add lightweight case-level commenting on the Case Details page.

Initial scope:
- allow authenticated, authorized users to add comments tied to a case
- show comments in chronological order on the Case Details page
- preserve author and timestamp metadata for each comment
- keep the first version simple and case-level only
- treat comments as discussion separate from canonical case notes

Recommended constraints:
- do not turn this into a full wiki or collaborative editor
- do not support attachments, rich embeds, or inline annotations in the first version
- do not expand to simulation-level or compare-page comments in this issue
- keep moderation, edit/delete policy, and notification behavior minimal unless product requires more

### Describe alternatives you've considered

Rely on case notes only.
- Good for canonical documentation, but poor fit for discussion, questions, and review history.

Bundle comments into the case notes issue.
- Increases scope substantially because commenting needs its own data model, API behavior, permissions, and UI states.

Use an external discussion system only.
- Avoids implementation work, but fragments workflow and loses SimBoard-local context.

### Additional context

This should follow case-level notes as a separate enhancement, not be combined with #226.

Comments are a different product capability from markdown notes:
- notes are canonical documentation owned by editors
- comments are conversational updates and discussion history

Keeping this separate will make implementation, testing, and product review much clearer.

Out of scope:
- threaded replies beyond a simple first version unless explicitly required
- reactions, mentions, notifications, or subscriptions
- attachments or file uploads
- simulation-level comments
- compare-page comments

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named in the issue. Start by locating the Case Details page and the existing case-notes and authentication paths, then trace how case data is persisted and exposed. Done means authorized users can add case-level comments, comments display chronologically with author and timestamp metadata, and discussion remains separate from canonical notes.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.