Files
probably-rendering-one-more…/docs/linked-guidance/publishing.md
T

13 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 真实文档发布
本分支依赖 linked-guidance #7(ee69749)和 wiki-email-auth #6 后续安全修复 c27fa4f。先合并账户及协议依赖,再合并本 PR。使用现有 PostgreSQL、014 账户迁移后执行 015;无需 SMTP 变更。
- `/write`:已验证邮箱账户创建、加载并发布下一版本,支持结构化表单和受限 XML;预览通过 `/api/documents/preview` 校验并解析条件链接,不写数据库。
- `/documents` 与 `/documents/:id?revision=N`:真实用户文档列表与固定版本阅读。主页可链接这两个入口,现有 `/guide` 可对 `user-` ID 委托 `resolveDocument` 或链接 `/documents/:id`。本 PR 未修改首页与原型阅读页,避免覆盖并行 UI 工作。
- `/api/documents` GET 列表,POST 创建/发布;`/api/documents/:id` GET 单篇、POST 下一版、DELETE 作者撤下;`?format=xml&revision=N` 返回规范 XML。未指定版本为发现用途,实际采用需固定 revision。
- `user-` 前缀独立于静态 catalog。条件链接可引用静态样例或真实文档;缺失版本明确展示,不自动请求外站、不静默换最新版。撤下后列表及 latest 不再展示,历史固定版本仍然公开可读。
- 邮箱会话仅由新接口校验,不授予管理员 API 权限。发布是公开行为;目前没有草稿服务、私有文档、恢复撤下或账户删除功能。tags 是 JSON 元数据,XML 0.1 没有 tags 字段,XML 导入为无标签文档。
- 数据库通过行锁分配下一版本并拒绝过时编辑,触发器禁止修改/删除已发布内容。数据库所有者仍可执行数据库维护,触发器不是对数据库管理员的安全隔离。
验证由 ces-control PR CI 执行:严格 XML 单元测试;PostgreSQL 真实发布、所有权、并发版本冲突、不可变内容和撤下保留历史的集成测试。PR 不自动部署,服务器视觉验收须主 chat 人工合并后的部署成功再执行。