核心判断只有一条:当同一份内容必须在多个栏目出现时,先决定谁是权威来源,再决定其他位置是引用还是复制。权威来源只能有一个,通常放在内容最完整、最贴近业务流程的栏目;其他栏目只保留摘要、链接或自动聚合,不保存可独立编辑的正文副本。
假设有一个内部知识站,同一份“退款规则”既要出现在“售后帮助”栏目,又要出现在“财务制度”栏目。开发初期,两个栏目各自维护一份正文,编辑改一处忘另一处,用户看到两个版本。这个情境是假设的,用来演示判断方法,不是真实项目记录。
判断是否需要改成引用,看两个条件:同一内容是否会被两个以上栏目独立编辑;这些栏目是否面向不同读者但要求内容一致。两个条件同时成立,就必须建立单一来源。只满足一个,比如同一内容只在一个栏目编辑、另一个栏目只是只读展示,可以暂不改造,但要在开发文档里写明谁是唯一编辑入口。
反过来,如果两个栏目对同一主题的要求本来就不同,例如“售后帮助”要口语化步骤,“财务制度”要条款式表述,那它们不是同一内容,不应强行合并。强行合并会让两类读者都读不顺。此时正确的做法是拆成两份内容,各自维护,只在关键数字或规则变更时人工同步。
权威来源应满足两个特征:正文最完整;变更最频繁的编辑就在这个栏目工作。仍用上面的假设情境,如果退款规则的实际修改由财务人员发起,且财务栏目保存完整条款,那么权威来源应放在财务栏目,售后栏目改为引用。
具体动作是:在开发阶段为内容模型增加一个“来源标识”字段,取值只有“权威”和“引用”。权威记录保存正文;引用记录只保存标题、摘要和指向权威记录的稳定标识,不保存正文。这个动作的结果是,编辑在引用栏目里看不到正文编辑框,只能改摘要和排序,从而从入口上阻止副本产生。
如果变更由售后人员发起,财务只做审核,那就反过来,把权威来源放在售后栏目。选择依据不是栏目重要程度,而是谁最接近内容变更的源头。放错位置会导致每次更新都要跨栏目操作,引用机制反而增加步骤。
确定权威来源后,其他栏目有三种呈现方式,适用条件不同:
一个可执行的取舍是:先默认用链接,只有当读者在引用栏目完成任务的路径明显被打断时,才升级为嵌入。嵌入会增加一处需要维护的渲染逻辑,不要为了页面好看而默认选它。
继续假设内部知识站。售后栏目编辑发现退款规则要加一条“超时未处理自动退款”,财务栏目也有一份相同规则。决策过程如下:
这个动作的结果是,后续规则变更只需在售后栏目操作一次。下一步要做的不是继续加引用,而是约定权威内容的删除流程:删除前必须先解除引用,否则引用栏目会出现断链。这个约定应写进开发交付文档,而不是留在某个人的记忆里。
单一来源不是一次性配置,而是开发流程里的固定检查点。建议在内容模型设计、模板开发、上线验收三个阶段各检查一次:
如果验收时发现引用栏目仍能编辑正文,说明模型没有真正区分两种类型,应回到内容模型阶段修正,而不是在模板层用隐藏字段绕过。隐藏字段只改变显示,不改变数据里存在副本的事实,后续仍会出现两份正文不一致。