项目深度

Odoo To-Do 为什么不是“换个皮肤的任务”:待办、活动与转正式任务的三层管道怎么分工

很多人把 Odoo To-Do 当成简化版任务,但源码显示它其实在把“个人待办、活动提醒、正式项目任务”三层东西串起来。理解 create_todo_activity 和 convert to task,才能知道 To-Do 适合放什么,不适合放什么。

项目
进阶 开发者 1 分钟阅读
0 评论 0 点赞 0 收藏 5 阅读

先说结论

Odoo To-Do 不是“项目任务的迷你版”,而是一个更靠前的收集层。

/home/ubuntu/odoo-temp/addons/project_todo/models/project_task.pywizard/mail_activity_todo_create.py 来看,官方在做的是三层分工:

  • To-Do:快速收集个人待办
  • Mail Activity:提醒与跟进机制
  • 正式 Task:进入项目、字段更完整、参与协作与统计

这也是为什么 To-Do 有这些典型行为:

  • 没标题也能自动生成名字
  • 可以只靠描述第一行补标题
  • 可以一键“Convert to Task”
  • 还可以同时创建 activity,把提醒和待办绑在一起

所以别把 To-Do 理解成“任务少几个字段”,而要理解成:

它是正式项目任务前面的一个轻量缓冲区。


第一层:为什么 To-Do 允许“标题都不认真写”

project_todo/models/project_task.py 里,对 create 做了一个非常说明问题的处理:

  • 如果没有 name
  • 又没有项目、没有父任务
  • 那就从 description 第一行自动生成标题
  • 再不行就叫 Untitled to-do

这套逻辑其实非常有态度。

它在告诉你:

  • To-Do 的首要目标是快速入库
  • 先记下来,比结构完整更重要

换成正式项目任务,这么宽松反而危险;但放在个人待办入口里,就很合理。

因为个人待办的典型场景就是:

  • 我先记个念头
  • 我稍后再整理
  • 不是所有条目都值得立刻结构化

第二层:为什么 To-Do 不等于 Project Task 主流程

虽然底层模型仍是 project.task,但 To-Do 明显在使用方式上做了切层。

例如:

  • 独立的 To-Do 视图集合(kanban / list / form / calendar / activity)
  • 没有项目和父任务时的特殊命名策略
  • 一键转正式任务的动作

也就是说,Odoo 没有重新造一个完全独立模型,而是选择:

  • 复用任务能力
  • 但在入口、默认值、视图和操作上,营造不同工作模式

这是很典型的 Odoo 设计:

同一个底层对象,可以通过上下文和视图变成不同层级的工作台。


第三层:Mail Activity 在这里扮演什么角色

mail_activity_todo_create.py 更能说明 To-Do 的真实定位。

这个 wizard 会同时做两件事:

  1. 创建一个 project.task 作为 to-do
  2. 再创建一个 mail.activity 指向这个 task

这意味着 To-Do 不是单纯的任务卡片,而是可以被提醒系统接管的待办对象

这里的分工非常清楚:

  • Task 负责承载待办实体
  • Activity 负责承载时间提醒和跟进动作

也正因为这样,To-Do 更接近“可被调度的个人行动项”,而不只是一个文本记事本。


第四层:什么时候该 Convert to Task

action_convert_to_task() 这个动作最值得实施团队重视。

它意味着官方默认接受这样一种工作流:

  • 先把东西收成 to-do
  • 确认真的需要进入项目执行
  • 再转成正式任务

这个动作背后的价值,在于延后结构化成本。

不是所有待办都值得一开始就:

  • 指定项目
  • 指定客户
  • 分配多人
  • 定义阶段
  • 接入统计口径

很多事情先只是:

  • 一个念头
  • 一次提醒
  • 一条跟进项

当它升级成团队协作对象时,再转为正式任务,系统负担和认知负担都会更低。


第五层:最容易犯的两个误区

误区一:把 To-Do 当正式项目任务用

如果团队把所有正式交付工作都先丢进 To-Do,再长期不转正,就会出现:

  • 项目统计缺失
  • 协作字段不足
  • 项目归属模糊
  • 任务看板和个人待办混在一起

误区二:把 To-Do 当成纯个人笔记

反过来也不对。

因为 To-Do 底层仍然是任务对象,而且能挂 activity、能转正式任务,它比纯文本记事要“重”很多。

它适合的是可执行、可能升级、值得被提醒的待办,而不是所有随手想法。


一个很实用的判断标准

留在 To-Do 的情况

  • 还不确定是否值得进入项目
  • 主要是个人跟进
  • 只需要提醒,不需要多人协作
  • 短期内不会参与项目统计

转成正式 Task 的情况

  • 已经明确归属某个项目
  • 需要多人分工或协作
  • 需要阶段推进、截止日期、看板可见性
  • 未来会进入项目分析和经营视图

最后一句

To-Do 的价值,不在于它比项目任务简单,而在于它让你不用太早承诺结构。

它像一个前置缓冲层:

  • 先收
  • 再提醒
  • 最后必要时转入正式项目执行

把这条管道用顺了,个人效率和项目治理反而更容易同时兼顾。

DISCUSSION

评论区

想参与讨论?先 登录 再发表评论。
还没有评论,你可以成为第一个留言的人。