帖子列表管理Thread Management
自动获取 Teams 频道帖子,按完成/未完成分类。标题、发帖人、状态、截止日期、优先级、标签 6 项在同一界面一览无余。
把每一条 Teams 频道帖子,负责到底直至「完成」。
ThreadManager 是一款 SharePoint Framework Web 部件,用于追踪 Microsoft Teams 频道帖子至「完成」状态。 部件分散部署于各团队的 SharePoint 站点,无需中心服务器——安全、低成本,已在 ITSN 内部实际运用,让团队「未完成」归零。
在 Teams 频道中飞来飞去的请求、咨询、故障报告,从发出的那一刻起就开始消失在时间流中。您是否每次都要翻回帖子确认「那件事后来怎么样了?」
ThreadManager 自动将频道帖子收录为任务,在同一界面统一管理负责人、状态、截止日期和优先级。完成后一键通知,让「未完成」归零。
v1.0.0.85 的实机截图。从列表管理到看板、甘特、日历,全部在 Teams / SharePoint 原生环境中运行。
v1.0.0.12 全面刷新 UI/UX。最新 v1.0.0.85 进一步新增日历期限托盘、甘特基线、模板、循环生成、新建帖子 (Compose)、离线编辑。所有功能均封闭于团队 SharePoint 站点内,无需中心服务器或外部 SaaS 依赖。
自动获取 Teams 频道帖子,按完成/未完成分类。标题、发帖人、状态、截止日期、优先级、标签 6 项在同一界面一览无余。
单击单元格即可直接编辑负责人、状态、截止日期、标签。乐观并发控制确保多人同时编辑安全无误。
按状态、优先级、标签、负责人、截止日期范围筛选。支持标题、备注、发帖人的部分匹配搜索。状态保存于 URL,刷新后自动恢复。
完成→频道投稿、负责人分配→个人 Activity Feed、截止提醒 (临近/已逾期)→个人 Activity Feed、备注内 @提及→被提及者 Activity Feed,共 4 种通知通过 Microsoft Graph API 直接发送。24 小时节流抑制过度通知。无需外部服务与额外许可证,在 Teams 内闭环完成。
为新团队部署时无需 PowerShell。点击「自动安装」按钮,9 个列表及全部列即可幂等构建完成。
通知的启用、目标频道、收件人编辑仅限 M365 群组所有者。普通成员只读显示。设置封存于团队 SharePoint 内,继承标准权限。
所有操作记录至 DiagnosticsLog,并可通过 correlationId 追踪行为链路。「出了什么问题」可追溯至根因。
既可作为 SharePoint Web 部件,也可作为 Teams 标签页使用。同一代码、同一数据、同一权限模型。
数据保留在各团队的 SharePoint 站点内。无需中心服务器,无需中央数据库。「我们团队的信息」就在我们团队内部。
编辑后以 800ms debounce 自动保存,告别「忘点保存」。其他用户抢先保存时,冲突检测会弹出合并界面,乐观并发控制确保多人同时编辑安全。
stale-while-revalidate 缓存加速首次后的启动。原本需 11.6 秒的启动变为近乎即时。边显示边后台拉取最新数据,有差异时平滑更新。体验截然不同。
列表 (master) 与详情 (detail) 在同一界面查看编辑的 master-detail 卡片混合布局。右键行即可快速访问「打开聊天 / 分配给自己 / 分配给他人 / 更改状态 / 更改优先级 / 设置截止日期」。移动端 (<600px) 详情面板全屏化,配备返回按钮与 44px+ 触摸目标,现场也能使用。
状态扩展为 未开始 / 进行中 / 评审中 / 暂缓 / 已完成 5 个值。负责人从 M365 群组成员中通过带搜索的下拉选择 (可留空)。按负责人排序时,未分配始终排在末尾,「没人负责的」一目了然。
搜索框常驻,详细筛选折叠 + 已应用数量角标,让界面更宽敞。新帖以蓝点 + 加粗标记未读,一键标为已读。备注栏输入 @ 即可弹出成员选择器,被提及者同时收到角标和 Teams 通知。
点击右上角「新建帖子」,输入目标频道、标题、内容、负责人、优先级、标签、截止日期后直接发至 Teams 频道,自动纳入管理范围。无需切换回 Teams 单独发帖,在 ThreadManager 内即可从创建到管理全程完成。(发帖需手动点击按钮,不会意外自动发送)
以月/周日历按截止日期俯瞰帖子。未设置截止日的帖子汇集在界面下方托盘,拖拽至日期格即可设置截止日期。边看边定「何时做」,毫不迷茫。
以时间轴条形图展示帖子。开启基线后,计划 (预定开始~截止) 与实绩 (开始~完成) 以两条条形并排显示,通过颜色一眼识别延误或提前。未设置的帖子也以空行显示,拖拽即可设置开始日期和截止日期。
跨「未开始」「进行中」「评审中」「暂缓」各列拖拽卡片,直观更新状态。未完成视图下,「已完成」列隐藏,专注于进行中的工作。
将常用帖子保存为模板 (标题、负责人、优先级、标签、截止日期、正文)。点击「立即创建」确认内容后,直接发至 Teams 频道并纳入管理。可团队共享,例行工作的启动瞬间完成。
为模板设置「每天 / 每周 (指定星期) / 每月 (指定日期)」循环规则,到期时自动呈现生成预告。确认内容后再发送,频道不会被自动帖子刷屏。
即使在网络不稳定的现场或途中,也可继续编辑。网络断开期间的修改安全暂存于本机,恢复在线后自动发送。防止「没保存成功,输入内容丢失」,不受网络状况左右。
在个人设置中开启后,自己负责的帖子将自动同步至自己的 Outlook 日历 (截止日期作为日程) 或 Microsoft To Do (未完成作为任务)。同步为单向 (ThreadManager → 外部),默认关闭。仅需要的人自行开启即可。
基于 Microsoft 365 标准技术栈 (SharePoint Framework + Microsoft Graph) 构建。无需额外服务器或额外许可证。
SharePointWebPart / TeamsTab / TeamsPersonalApp。可添加至 SharePoint 站点页面,也可作为 Teams 频道标签页使用。ChannelMessage.Read.All 读取频道消息并收录为任务帖子 /
Channel.ReadBasic.All 获取频道基本信息 /
ChannelMember.Read.All 获取频道成员,显示负责人候选 /
Team.ReadBasic.All 获取团队基本信息 /
Group.Read.All 获取团队 (群组) 信息及所有者判定 /
User.ReadBasic.All 解析显示名称 (仅限基本资料) /
ChannelMessage.Send 将完成通知回复投稿至频道 /
TeamsActivity.Send 发送 Teams 活动通知 (Feed 通知) /
Calendars.ReadWrite 签名用户本人的日程 (/me/events) /
Tasks.ReadWrite 在签名用户本人的 To Do (/me/todo) 中创建任务AllSites.FullControl (仅限 Web 部件所在站点内)Calendars.ReadWrite / Tasks.ReadWrite 仅面向签名用户本人,不会访问其他用户的数据。
从最终用户到租户管理员,参与的每个人都能感受到「这真的很好用」的设计。
功能的减法也是设计。我们明确列出「有意不做」的内容,以防臃肿。同时介绍公开计划。
评论、附件、表情反应等 Teams 帖子已经具备的功能,我们有意不实现。充分利用 Teams 原生体验,只补充进度管理——ThreadManager 不是又一个「重型」任务管理工具,而是架在 Teams 之上的轻量进度层。
由此带来的价值:① 学习成本低;② 不破坏现有 Teams 使用习惯;③ 团队数据封存于 SharePoint;④ 更新影响范围可预期。
目前处于扩大内部使用与功能成熟阶段。v1.0.0.12 大幅刷新 UI/UX (4 种原生通知、自动保存、缓存加速),v1.0.0.85 进一步新增日历 / 甘特基线 / 模板 / 循环生成 / 新建帖子 (Compose) / 离线编辑。日常运营的体感已截然不同。
下一个节点计划对外公开。计划在 2026 年内于 AppSource / SharePoint Store 上架 (该时间为预定计划,并非确定承诺)。价格模型将在咨询时介绍。详细功能路线图为内部运营信息暂不公开,但可在签署 NDA 后详细说明。
租户管理员的初次操作与各团队所有者的个别操作明确分开。熟悉的团队 30 分钟内即可完成部署。
从本页直接下载 sp-task-list.sppkg。通知功能通过 Teams 原生 (Microsoft Graph) 运行,无需额外模板。保存到任意位置即可。
将下载的 sp-task-list.sppkg 上传至 SharePoint Admin Center 的应用目录,点击「部署」在整个租户启用。
# SharePoint Admin Center > https://<tenant>-admin.sharepoint.com > 应用 → App Catalog → 「添加应用」 > 上传 sp-task-list.sppkg > 点击「部署」按钮
在 SharePoint Admin Center → 「API 访问」中审批待处理的请求。Microsoft Graph 10 项范围及 SharePoint 权限全部审批。
# 审批对象 (Microsoft Graph: 10 项范围) ✓ Microsoft Graph: ChannelMessage.Read.All ✓ Microsoft Graph: Channel.ReadBasic.All ✓ Microsoft Graph: ChannelMember.Read.All ✓ Microsoft Graph: Team.ReadBasic.All ✓ Microsoft Graph: Group.Read.All ✓ Microsoft Graph: User.ReadBasic.All ✓ Microsoft Graph: ChannelMessage.Send ✓ Microsoft Graph: TeamsActivity.Send ✓ Microsoft Graph: Calendars.ReadWrite ✓ Microsoft Graph: Tasks.ReadWrite ✓ SharePoint: AllSites.FullControl
在 SharePoint Admin Center → 「Apps for Teams」触发同步。通常 1 至数小时,最长 24 小时后在 Teams 应用商店中显示。
选择使用方式后添加。同一代码,同一数据。
# 方式 A:添加为 SharePoint 页面 Web 部件 > 进入团队 SharePoint 站点 → 编辑 > 点击「+」→ 选择「ITSN 帖子管理」 # 方式 B:添加为 Teams 标签页 > Teams 频道 → 点击「+」添加标签页 > 搜索「ITSN 帖子管理」→ 添加
首次启动时自动显示安装界面。点击「开始自动安装」,9 个列表及全部列自动构建。进度条实时显示。
# 自动构建的列表 (9 个) ✓ Threads 帖子本体 (发起人/负责人/截止日期/状态/标签) ✓ Milestones 里程碑 (节点/预定周期) ✓ ActivityLog 操作活动日志 ✓ Reactions 反应 (表情回应) ✓ ThreadTemplates 帖子模板 ✓ IntegrationLinks 外部连携链接 (Outlook / To Do) ✓ WebhookConfig Webhook 连携设置 (测试版) ✓ ChannelRegistry 目标频道注册 ✓ DiagnosticsLog 观测 (诊断) 日志
在管理标签页点击「+ 注册频道」选择目标频道。在通知标签页开启/关闭 Teams 原生通知 (完成/负责人分配/截止提醒)。至此即可开始正式使用。
必要条件:仅当访客 (外部用户) 需要使用 ThreadManager 时为必需。仅限成员使用时为可选。
背景:由于 App Catalog 站点默认禁用外部共享 (Disabled),若不启用 Public CDN,访客的浏览器将无法加载 Web 部件,导致无法启动。通过 CDN 分发静态资源,即可使访客也能正常启动。
生效时间:设置完成后,需 15 分钟至数小时才能生效。
# 以 SharePoint 管理员身份执行
Connect-PnPOnline -Url https://<tenant>-admin.sharepoint.com -Interactive
Set-PnPTenantCdnEnabled -CdnType Public -Enable $true
Add-PnPTenantCdnOrigin -CdnType Public -OriginUrl "*/CLIENTSIDEASSETS"
仅限成员使用的场合,此步骤为可选。请根据贵组织的安全策略自行判断。
以下就 ThreadManager 的数据处理方式,基于事实进行说明。
将 ThreadManager 引入您的团队。
安装包可从本页立即下载。如需导入支持、定制开发或技术咨询,欢迎随时联系我们。
下载 .sppkg ↓