Outlook 日程内容富文本字段映射产品方案

需求:2026-06-11-24638版本:V0.4来源:Outlook日程内容富文本字段映射产品方案_PRD_20260707.md

Outlook 日程内容富文本字段映射产品方案

版本:v2.0 结构化版本 | 更新日期:2026-07-09

需求来源:需求反馈 / 用户沟通 / 本地代码分析 / Outlook 官方资料

优先级:P1

文档状态:待产品 / 研发 / 测试评审

---

基础信息

项目内容
关联需求2026-06-11-24638
需求主题日程内容富文本字段与 Outlook 描述字段同步映射
文档版本V0.3
更新日期2026-07-08
当前状态初稿,待产品 / 研发 / 测试评审

需求变更记录

变更日期变更人变更内容

依赖需求 Story 列表

ID需求描述涉及端与开发人员是否有依赖项备注
待确认日程内容富文本字段与 Outlook 描述字段同步映射待确认依赖日程内容升级富文本 2.0,以及 Office 365 / Outlook 同步链路支持 HTML 描述转换。

---

一、需求概述

1.1 客户反馈

客户反馈结论: Outlook 日程同步需要支持日程内容富文本与 Outlook 描述字段之间的双向映射,避免同步后正文内容、格式、链接、图片等信息丢失。

需求编号反馈客户客户级别反馈人业务场景
2026-06-11-24638待补充待补充待补充使用 Office 365 / Outlook 日程同步时,需要将纷享日程「日程内容」与 Outlook 事件「描述」进行富文本字段映射。

1.2 系统现状

1.2.1 现状结论

当前 Office 365 / Outlook 日程同步场景中,需要将纷享日程的「日程内容」与 Outlook 事件的「描述」进行字段映射。两个字段都属于富文本内容,但底层表达方式不同:

  1. 纷享日程内容当前使用协同富文本 1.0,能力有限,且后续不再作为主要演进方向。
  2. Outlook 事件描述通过 Microsoft Graph event.body 表达,官方支持 texthtml 两种内容格式。
  3. 如果继续基于富文本 1.0 做对接,既难以承接 Outlook 描述里的 HTML 富文本能力,也会把后续维护成本继续叠加在旧链路上。
  4. 因此,本期建议以协同富文本 2.0 作为纷享日程内容字段的目标承载方式,再基于富文本 2.0 与 Outlook HTML 描述做映射。

本需求不是简单增加一个字段映射,而是需要先完成日程内容富文本承载方式升级,并明确「纷享富文本 2.0」和「Outlook HTML 描述」之间的共同能力。只有双方都具备的能力,才作为等价映射能力;单侧具备或语义不一致的能力,只能降级或不映射。

1.2.2 纷享本地代码依据

依据结论
fs-new-schedule/fs-new-schedule-api/src/main/java/com/facishare/schedule/api/model/ScheduleObjDataExt.java:29:56:90-109ScheduleObj 的日程内容字段为 content,并存在扩展字段 content__e
fs-new-schedule/fs-new-schedule-biz/src/main/java/com/facishare/schedule/biz/predefine/action/ScheduleAddAction.java:82-85新建日程时会调用RichTextFieldService.handleRichTextFields 处理富文本字段。
fs-new-schedule/fs-new-schedule-biz/src/main/java/com/facishare/schedule/biz/predefine/action/ScheduleEditAction.java:68-72编辑日程时同样会处理富文本字段。
fs-new-schedule/fs-new-schedule-biz/src/main/java/com/facishare/schedule/biz/service/RichTextFieldService.java:51-65系统会扫描对象中的RICH_TEXT 类型字段,将富文本解析结果写回原字段和扩展字段。
fs-new-schedule/fs-new-schedule-biz/src/main/java/com/facishare/schedule/biz/service/RichTextFieldService.java:79-129当前富文本解析会处理文本、图片、附件、音频,并调用FeedAdapterService.parseXTRichText 生成协同 XT 富文本。
fs-new-schedule/fs-new-schedule-biz/src/main/java/com/facishare/schedule/biz/service/RichTextFieldService.java:130-170当前链路还会处理链接、@ 人 / 部门等协同语义,并把协同富文本中的人员 / 部门合并到抄送范围。
fs-new-schedule/fs-new-schedule-biz/src/main/java/com/facishare/schedule/biz/feeds/facade/ScheduleTimelineFacade.java:80-84日程时间线读取时,因为搜索结果缺少content__e,会再查一次对象数据,说明扩展富文本字段对展示链路有实际依赖。
fs-social-feeds/fs-social-richtext/src/main/java/com/facishare/social/feeds/model/content/XTRichTextV2ContentTypes.java:14-22富文本 2.0 模型已定义docparagraphattextimagefiletopic 等内容节点。
fs-social-feeds/fs-social-richtext/src/main/java/com/facishare/social/feeds/model/RichTextV2Abilities.java:31-69富文本 2.0 提供摘要、临时图片转正式、查找话题、查找 @ 人 / 部门 / 外部人员、查找图片等能力。
fs-social-feeds/fs-social-richtext/src/main/java/com/facishare/social/feeds/model/XTRichTextV2JsonRoot.java:34-92富文本 2.0 支持计算摘要、从 XT 文本初始化、从 Markdown 初始化、提取正文内容。
fs-social-feeds/fs-social-richtext/src/main/java/com/facishare/social/feeds/model/content/leaf/XTRichTextV2ParagraphText.java:9-23富文本 2.0 文本节点已覆盖段落、加粗、斜体、删除线等基础文本能力。

产品判断: 纷享日程内容不是普通字符串字段。当前字段既有明文摘要,也有协同富文本扩展结构;但日程当前仍处于富文本 1.0 形态,能力有限且不再演进。本期不建议继续基于 1.0 做 Outlook 描述对接,建议统一升级到协同富文本 2.0,再建设「富文本 2.0 ↔ HTML」转换能力。

1.2.3 现状截图

Outlook 描述字段纷享日程内容现状
Outlook 描述字段富文本纷享日程内容字段
协同富文本 2.0 参考能力
协同富文本 2.0 参考能力

1.3 竞品现状

竞品竞品分类竞品现状来源
Outlook / Microsoft Graph第三方日历 / API支持事件正文 event.body,正文类型可为 texthtmlhttps://learn.microsoft.com/en-us/graph/api/resources/event?view=graph-rest-1.0
Outlook / Microsoft Graph第三方日历 / APIitemBody.contentType 支持 text / htmlcontent 为正文内容。https://learn.microsoft.com/en-us/graph/api/resources/itembody?view=graph-rest-1.0
Outlook / Microsoft Graph第三方日历 / API创建事件时可写入 body.contentType = HTMLbody.contenthttps://learn.microsoft.com/en-us/graph/api/calendar-post-events?view=graph-rest-1.0

1.3.1 Outlook 官方能力依据

官方资料结论
Microsoft Graph event resource:body 属性类型为 itemBody,用于表示事件正文,可为 HTML 或 text。
https://learn.microsoft.com/en-us/graph/api/resources/event?view=graph-rest-1.0
Outlook 事件描述字段具备富文本承载能力。
Microsoft Graph itemBody resource:contentType 可取 text / htmlcontent 为正文内容。
https://learn.microsoft.com/en-us/graph/api/resources/itembody?view=graph-rest-1.0
字段映射应以 HTML 作为主要格式,普通文本作为兜底。
Microsoft Graph 创建事件示例:创建 event 时可设置body.contentType = HTMLbody.content
https://learn.microsoft.com/en-us/graph/api/calendar-post-events?view=graph-rest-1.0
纷享同步到 Outlook 时,可通过 Graph 写入 HTML 描述。

1.4 产品价值

  1. 支持日程内容在纷享与 Outlook 之间保持可读、可编辑、可同步。
  2. 避免 Outlook 描述中的基础富文本格式在同步回纷享时丢失。
  3. 以富文本 2.0 作为日程内容后续承载方式,减少继续维护富文本 1.0 旧链路的成本。

1.5 需求目标

  1. 将日程内容字段升级到协同富文本 2.0。

- 新建 / 编辑日程时,日程内容使用富文本 2.0 编辑与存储能力。 - 原日程内容的基础展示、编辑、发布、详情展示能力保持可用。 - 存量富文本 1.0 内容需要兼容展示,并在编辑或同步时按规则转换。

  1. 支持纷享日程内容与 Outlook 描述字段双向同步。

- 纷享创建 / 编辑日程后,同步到 Outlook 时,Outlook 描述可展示对应内容。 - Outlook 创建 / 编辑描述后,同步回纷享时,纷享日程内容可展示对应内容。

  1. 以 HTML 作为双方富文本同步的中间格式。

- 纷享侧需要支持将富文本 2.0 内容转换为 Outlook 可识别的 HTML。 - Outlook 侧返回 HTML 时,纷享侧需要能转换为富文本 2.0 可展示 / 可编辑的内容。

  1. 明确富文本 2.0 与 Outlook 描述之间的能力边界。

- 两端都具备且语义一致的能力,纳入等价映射。 - 两端都具备但表现有差异的能力,纳入有限映射或降级映射。 - 只有单端具备,或跨平台语义无法互通的能力,不作为等价映射能力。

1.6 范围与非目标

类型内容
本期范围1. 日程内容字段升级到协同富文本 2.0。
2. 纷享日程内容与 Outlook 描述字段支持双向同步。
3. 以 HTML 作为 Outlook 描述字段同步格式。
4. 明确共同支持、降级支持和不纳入本期的富文本能力。
非目标范围1. 不追求两个平台富文本样式像素级一致。
2. 不做 Microsoft Loop 组件、投票、嵌入式卡片等 Outlook 专有内容映射。
3. 不把纷享 @ 人、话题、CRM 对象等协同语义反向映射成 Outlook 专有对象。
4. 不对存量日程做一次性批量迁移。

---

二、产品方案

2.1 整体产品方案

本期方案分两步:

  1. 先完成日程内容字段的承载能力升级。 日程内容从当前富文本 1.0 升级到协同富文本 2.0,作为后续与 Outlook HTML 描述字段对接的基础。
  2. 再建设富文本 2.0 与 Outlook HTML 描述的双向转换。 纷享同步到 Outlook 时,将富文本 2.0 转换为 HTML;Outlook 同步回纷享时,将 HTML 清洗并转换为富文本 2.0。
flowchart TD
  A[用户在纷享或 Outlook 编辑日程内容] --> B{同步方向}
  B -->|纷享到 Outlook| C[富文本 2.0 转 HTML]
  C --> D[写入 Outlook event.body]
  B -->|Outlook 到纷享| E[读取 Outlook HTML 描述]
  E --> F[安全清洗并转换为富文本 2.0]
  F --> G[写入纷享日程内容]
  D --> H[同步完成]
  G --> H

2.2 具体方案说明

2.2.1 富文本 1.0 与 2.0 取舍

方案说明优点问题产品结论
继续使用富文本 1.0 对接 Outlook保持当前日程内容字段链路,只补 Outlook HTML 转换改造范围相对小1.0 能力有限且不再演进;与 Outlook HTML 能力差距大;后续每补一个格式都要在旧链路上打补丁不推荐
日程升级富文本 2.0,再对接 Outlook HTML日程内容字段切换到富文本 2.0,以 2.0 模型和 Outlook HTML 做转换能承接更多基础格式;与协同后续富文本演进方向一致;后续维护口径统一需要处理存量内容兼容、编辑器替换、详情展示和转换规则推荐作为本期方案
只同步纯文本不处理富文本格式,仅同步可读文本实现成本最低用户在 Outlook 和纷享录入的格式、链接、列表、图片等信息会明显丢失不满足本需求目标

推荐结论:本期应以「日程内容升级协同富文本 2.0」作为前置方案,再建设富文本 2.0 与 Outlook HTML 描述字段的映射能力。

2.2.2 字段映射方案

2.2.2.1 字段关系

同步方向纷享字段Outlook 字段产品规则
纷享 -> OutlookScheduleObj.content / content__e 对应的富文本 2.0 内容event.body.contentevent.body.contentType = HTML将纷享富文本 2.0 转换为 HTML 后写入 Outlook 描述。
Outlook -> 纷享event.body.contentScheduleObj.content / content__e 对应的富文本 2.0 内容将 Outlook HTML 清洗并转换为纷享日程富文本 2.0。
兜底策略content 明文body.contentType = text 或 HTML 降级文本当富文本转换失败时,至少保留可读文本,不因格式问题阻断日程同步。

2.2.2.2 能力映射原则

  1. 共同能力优先。 只有纷享富文本 2.0 和 Outlook 描述都支持,且用户可感知语义一致的能力,才进入等价映射。
  2. 内容优先于样式。 当双方表现不完全一致时,优先保证文字、链接、段落层级等核心内容不丢失,再尽量保留样式。
  3. 单侧能力不强行映射。 纷享独有的 @ 人、CRM 对象、话题、业务卡片等,不反向生成 Outlook 语义;Outlook 独有的 Office HTML、Loop 组件等,不反向生成纷享语义。
  4. 不能映射时必须有降级策略。 降级顺序为:保留可读文本和链接 > 保留为附件 / 链接 > 写入提示文本 > 不写入目标端富文本。

2.2.2.3 双方共同支持,可做等价映射的能力

序号能力纷享富文本 2.0Outlook 描述映射结论
1普通文本支持 text 节点支持正文文本双向等价映射,必须保留。
2段落 / 换行支持 paragraph / text支持 HTML 段落、换行双向等价映射,保留段落和换行。
3加粗支持基础文本样式Outlook 编辑器支持加粗,HTML 支持表达双向等价映射。
4斜体支持基础文本样式Outlook 编辑器支持斜体,HTML 支持表达双向等价映射。
5删除线支持基础文本样式Outlook 编辑器支持删除线,HTML 支持表达双向等价映射。
6字号富文本 2.0 工具栏支持字号
1783495252326
Outlook 描述支持字号 / HTML 字号表
1783495286219

待定
双向映射常见字号;无法匹配的字号按相近字号或默认字号展示。
7字体颜色富文本 2.0 工具栏支持字体颜色
1783495217673
Outlook 描述支持字体颜色 / HTML 颜色表达
1783495201656
双向映射常见颜色;不要求色值完全一致。
8有序 / 无序列表富文本 2.0 支持列表能力Outlook 描述支持列表双向映射基础列表;复杂多级样式可降级为基础列表。
9超链接富文本 2.0 支持链接能力
1783495341044
Outlook 描述支持链接 / HTML 链接
1783495332472
双向等价映射,只同步链接 URI
10普通 emoji支持普通字符输入的 emojiOutlook 描述支持普通 emoji 字符双向等价映射 Unicode emoji。
11图片富文本 2.0 支持 image 节点Outlook 描述可承载 HTML 图片,但访问和权限受限有条件映射:仅在图片可被目标端访问时映射;否则降级为附件或链接。
12文件富文本 2.0 支持 file 节点Outlook 事件支持附件,但不属于描述正文能力不作为正文等价映射;如已有附件同步能力,则走附件同步。

2.2.2.4 单侧支持或语义不一致,需要降级的能力

序号能力支持差异降级规则
1下划线Outlook 支持;当前本地富文本 2.0 代码依据只确认到段落、加粗、斜体、删除线,截图可见工具栏能力但需研发确认模型支持若富文本 2.0 模型支持则纳入等价映射;否则 Outlook -> 纷享时降级为普通文本。
2对齐 / 缩进两端工具栏均可见相关能力,但模型层支持范围需研发确认支持则映射;不支持时保留段落和文本,不强保留对齐样式。
3高亮 / 背景色纷享 2.0 截图可见高亮能力;Outlook HTML 可表达,但 Outlook 客户端表现可能有差异可做有限映射;失败时降级为普通文本或字体颜色。
4表格纷享 2.0 截图可见表格能力;Outlook HTML 可表达表格,但客户端兼容差异大仅支持基础表格;复杂表格降级为纯文本段落或保留为截图 / 附件。
5图片双方都能表达图片,但文件访问权限、临时文件转正式、外部图片加载策略不同图片可访问时映射;不可访问时降级为附件或链接。
6附件/网盘纷享富文本 2.0 有 file 节点;Outlook 附件不是描述正文能力不写入描述正文;走附件同步或在描述中保留文件名 / 链接。
7@ 人 / @ 部门纷享有组织身份语义;Outlook 描述正文没有等价身份对象降级为可读文本,例如@张三;Outlook 回传不反向识别为纷享人员。
8话题纷享有 topic 节点;Outlook 描述没有等价话题语义降级为普通文本,例如#主题#
9CRM 对象链接纷享侧业务语义强;Outlook 侧没有等价 CRM 对象语义降级为【对象名称 + 数据名称】的普通文本;
1783495611333
10音频纷享旧链路已处理音频;Outlook 描述正文不适合作为音频承载不做正文映射;降级为附件或文本说明。

2.2.2.5 不纳入本期的能力

序号能力不纳入原因
1纷享-投票能力
2Microsoft Loop 组件、投票、嵌入式卡片等专有内容不属于普通事件描述富文本同步范围,语义无法在纷享日程内容中等价表达。

2.2.3 产品规则

2.2.3.1 日程内容升级规则

  1. 新建日程:日程内容使用富文本 2.0 编辑器。
  2. 编辑存量日程:
    • 若原内容是富文本 1.0,进入编辑时转换为富文本 2.0 可编辑内容;
    • 转换失败时保留明文内容,避免内容丢失。
  3. 日程详情 / 列表 / Feed 展示:展示效果以富文本 2.0 渲染结果为准;不支持的旧格式按明文展示。
  4. 存量数据不做一次性批量迁移,避免影响历史日程;以编辑和同步触发转换。

2.2.3.2 纷享同步到 Outlook

  1. 用户在纷享创建或编辑日程内容。
  2. 系统将纷享富文本 2.0 内容转换为 HTML。
  3. 同步到 Outlook 时,写入 event.body.contentType = HTMLevent.body.content
  4. 转换过程中遇到不支持的元素时:
    • 文本必须保留;
    • 可读链接优先保留;
    • 不支持的协同语义按降级规则处理;
    • 不允许因为某个格式不支持导致整条日程同步失败。

2.2.3.3 Outlook 同步到纷享

  1. Outlook 事件描述为空时,纷享日程内容为空。
  2. Outlook 事件描述为 text 时,按普通文本写入纷享日程内容。
  3. Outlook 事件描述为 HTML 时:
    • 先进行安全清洗,过滤脚本、外部样式、不可控嵌入内容;
    • 再转换为纷享日程富文本 2.0 内容;
    • 不支持的样式降级为普通文本或基础段落。

2.2.3.4 编辑与覆盖规则

  1. 用户在任一端编辑描述 / 日程内容后,按现有同步方向和更新时间规则同步到另一端。
  2. 若 Outlook 描述中包含 Teams 会议、在线会议等系统自动生成内容,同步覆盖时不能直接清空或破坏该内容,需保留或合并处理。
  3. 若转换失败,系统应保留原始可读文本,不应把目标端字段置空。

2.2.3.5 存量数据兼容

  1. 存量日程内容仍按当前方式展示,不做强制批量迁移。
  2. 存量日程发生编辑或触发 Outlook 同步时,再按富文本 2.0 规则转换。
  3. 若存量 content__e 缺失,应使用 content 明文作为兜底内容。
  4. 富文本 1.0 中无法等价转换为 2.0 的内容,按「允许降级」规则处理。

2.3 待确认事项

序号待确认项需要确认方
1富文本 2.0 当前是否已有稳定的 HTML 输入 / 输出转换能力;如没有,本期需要新增到什么范围。研发
2富文本 1.0 存量内容转换到 2.0 的兼容策略和失败兜底规则。产品 / 研发 / 测试
3图片在本期的最终口径:正文内联、附件同步、链接降级,还是暂不支持。产品 / 研发 / 测试
4Outlook 描述中的 Teams / 在线会议自动内容如何识别和保护。研发 / 测试
5是否需要对同步降级内容给用户提示;若需要,提示出现在哪个端、哪个场景。产品

---

三、规范检查项

3.1 业务文案多语言 Key

无。本需求核心是字段承载与同步映射,不涉及新增业务文案多语言 Key。

3.2 需求埋点

无。当前未提出新增产品埋点要求。

3.3 沙盒 / 更改集能力

不涉及。本需求不新增 PaaS 配置对象。

3.4 PaaS 国际化兼容检查

ID多语接入事项是否需要注意事项
1接入翻译工作台不新增可维护翻译词条。
2CRM 提醒不新增提醒内容。
3企信消息提醒不新增消息提醒。
4修改记录待确认若日程内容字段升级后影响修改记录展示,需要研发确认。
5审计日志待确认若同步失败或降级需要后台追踪,需要研发确认日志口径。
6支持快捷翻译能力本期不处理快捷翻译能力。
7支持数据多语能力本期不处理数据多语。
8预置配置多语不涉及预置配置。
9预置示例数据多语不涉及预置示例数据。

3.5 新对象 / 新字段 BI 分析申请

不涉及新增对象或 BI 分析字段。若研发评审确认需要新增扩展字段或同步状态字段,再补充申请口径。

3.6 操作日志说明

本期暂不新增用户可见操作日志。后台建议保留富文本转换失败、图片 / 附件降级、HTML 清洗失败等同步异常日志,具体日志字段由研发评审确认。

3.7 需求风险点检测

  1. 日程从富文本 1.0 升级到 2.0 可能影响存量展示。 需要优先保证历史日程内容可读,不做不可逆批量迁移。
  2. 富文本 2.0 与 Outlook HTML 不完全等价。 本期应保证高频格式和内容可读,不承诺完全还原 Outlook 编辑器效果。
  3. 图片和附件边界容易混淆。 用户感知上图片可能在正文中,但技术上可能属于附件或临时文件,需要产品和技术明确口径。
  4. Outlook HTML 内容不完全可控。 Office 客户端可能生成复杂 HTML,需要清洗后再进入纷享。
  5. 在线会议正文可能被覆盖。 Outlook 自动生成的会议加入链接、Teams 信息等需要保护,避免因纷享编辑描述导致丢失。

3.8 上线策略

3.8.1 收费标准

  • [x] 不收费
  • [ ] 收费

3.8.2 上线节奏

  • [ ] 全网
  • [x] 灰度
灰度发布的原因涉及日程内容富文本承载方式升级和 Outlook HTML 转换,建议先灰度验证存量内容兼容、同步降级和在线会议正文保护。
预计全网时机待评审确认
期间分几次灰度待评审确认
各灰度批次的时间节点及灰度的客户范围待评审确认

3.8.3 适用版本

待评审确认。

---

附录:本期结论摘要

  1. 本需求应按「富文本字段能力映射」处理,不应只作为普通字段映射处理。
  2. 日程内容当前富文本 1.0 能力有限且不再演进,本期推荐升级到协同富文本 2.0。
  3. Outlook 侧以 HTML 描述作为主要同步格式。
  4. 纷享侧需要支持富文本 2.0 与 HTML 的双向转换。
  5. 本期重点保证文本、段落、基础样式、列表、链接、普通 emoji 等高频能力。
  6. 图片、附件、@ 人、业务卡片等能力允许降级,不做跨平台语义完全还原。
  7. Office 专有 HTML、Loop 组件、脚本、iframe、像素级样式一致不纳入本期。