实体关系是在两个同类事物之间定义的链接。Ceum 支持两种范围:项目对项目与任务对任务。不支持跨类型的链接(例如项目链到任务)以及客户对客户的链接。
可以做什么
关系会出现在项目与任务的创建、编辑与详情页面上的“关系”区段中。每个关系包含:
- 来源 — 当前正在查看其页面的实体。
- 目标 — 已链接的实体。
- 类型 — 从已配置的关系类型中选取。
同一个“关系”区段会同时显示两个方向:查看任务 A 时,会并列看到外向关系(A → 其他)与内向关系(其他 → A),各带有一个方向指示符(外向为向右的尖角符号,内向为向左的)。
添加与移除
在“关系”区段中,选择一个类型并搜索目标。保存表单以提交更改。移除关系只需在该行的删除控件上点击一下。
若某个关系类型未在设置中启用,它就不会出现在类型选择器中。
方向
关系始终带有方向。“A 阻塞 B”与“B 阻塞 A”是不同的链接——Ceum 不会自动创建反向链接。若工作流使用双向含义(例如“相关”),它仍以单向链接存储;访问任一侧都能看到它。
唯一性与自链接规则
- 无法重复添加相同的来源、目标与类型——Ceum 会报告冲突。
- 可以在同一对之间创建多个不同的类型——例如“A 阻塞 B”与“A 重复于 B”可以并存。
- 一个事物无法链接到自身。
删除时会发生什么
删除关系的任一侧也会移除每个引用它的关系,两个方向皆然。日后不会留下需要清理的孤立链接。
配置
关系类型按工作区且按范围(项目或任务)配置。请在以下位置配置:
一个类型具有显示名称、颜色、顺序、启用开关,以及两个依赖开关(见下文)。开箱即用时,项目与任务都有“相关”、“阻塞”、“被阻塞”、“依赖于”与“为依赖项”,任务另外还有“重复”。可以重新排序、重命名、重新设置颜色或停用其中任何一个。
依赖通知
每个关系类型上的两个开关会将其变成一种 依赖——Ceum 会监视并在任务看板上发出提醒:
- 影响目标 — 来源拖住目标。当来源尚未完成时,目标会被标记。
- 受目标影响 — 来源被目标拖住。当目标尚未完成时,来源会被标记。
两者都默认为关闭,因此一般的关系类型仍是一个安静的标签。预置的类型已为你串接好这些:
- 阻塞(红色)— 影响目标。“A 阻塞 B”会在 A 尚未完成时提醒 B。
- 被阻塞(红色)— 受目标影响。“A 被 B 阻塞”会在 B 尚未完成时提醒 A。
- 依赖于(黄色)— 受目标影响。“A 依赖 B”会在 B 尚未完成时提醒 A。
- 为依赖项(黄色)— 影响目标。“A 是 B 的依赖”会在 A 尚未完成时提醒 B。
提醒本身就是任务看板上的黄色边框与工具提示——关于它确切何时显示,请参阅该文章。项目使用相同的开关,但因为没有项目看板,目前项目还没有视觉提醒。
提示与边界情况
- 重命名类型不会破坏既有链接。 即使重命名类型,关系仍会附着于该类型。
- 停用类型会将其从新的选择器中隐藏,但会让该类型的既有关系保持可见,直到将它们移除。
- 没有客户关系。 请使用某客户下的项目作为最接近的可用模型。
- 没有跨类型链接。 若一个任务与一个项目相关,请将该任务指派给该项目,而非将它们链接起来。
在移动设备上
- 关系 UI 简化为添加(在底部弹出中选取类型与目标)与删除;网页端并列的内向/外向布局在移动端折叠为单一列表,并将方向折入每一行中。