内容从创建到归档的各阶段状态需要显式定义
别名: 草稿发布归档 · 内容状态机 · document lifecycle
概念解释
一份内容在产品里会经历几个阶段:例如草稿、已发布、已归档,有时还有审核中、已过期。每个阶段要有名字、有可见标记,并且能说出在这一阶段可以做什么(能否编辑、能否被搜到、能否分享)。没有显式状态机,人只能用文件夹位置或「看起来灰不灰」来猜现在是哪一阶段。它定义的是状态有哪些。归档是不是删除、自动归档会不会不告而别、不活跃内容怎么清,都建立在这些名字已经存在之后。
机制
人对对象的行动取决于「它现在算什么」。草稿可以大改,已发布改了要通知读者,已归档不应出现在日常列表里但仍在。若这些只存在于后端枚举,界面用同一套铬板画所有对象,人会在已发布稿上当草稿改、或在归档里当现役文件分享。显式状态把阶段变成可学习的词,并约束入口:发布按钮只在草稿出现,恢复只在归档出现。状态还要互斥且可解释:同一对象不能既是草稿又是已发布而不加版本。隐藏状态(「软删除中但看起来还在列表」)会让阶段和可见性脱节,人按看见的来行动,按真实状态承担后果。
怎么研究
请人列出一份内容「现在处于什么阶段、能做什么」。比较:无标记、仅颜色、名称+可做之事。再请他们从草稿走到归档,看每一步是否找得到对应动作。
自变量:状态名是否出现在对象旁、每个状态允许的动作是否不同、非法动作是隐藏还是点了失败。 因变量:阶段判断正确率、在错误阶段执行了不可逆动作的次数、走完全生命周期的步数。
实验室若把状态机画在试卷上,人会按图答题。应从对象表面读。不要和权限角色混为一谈:查看者面对已发布,作者面对草稿,是两个维度。
边界
一次性聊天消息没有归档阶段,状态机可以是已发送 / 已撤回。强工作流(合同签署)阶段更多,但每个名字仍要在对象上可读,不能只在管理员后台。个人涂鸦可以只有「存在」,硬造发布/归档是负担。跨系统同步时对方没有对应阶段,要在本系统标明「对方状态未知」,不要映射成一个假的已发布。
怎么落地
- 为每类内容写出互斥阶段,并在对象旁显示当前阶段名。
- 每个阶段列出允许的动作;不允许的入口不出现,而不是点了再报错。
- 阶段变化写进活动记录,便于回答「什么时候从草稿变成发布」。
- 验证:不打开设置,问「这份现在是什么、能不能改、会不会出现在主列表」。三个答案都要和状态机一致。再请人把一份草稿变成归档,中途不应出现无名的中间态。