8cea7dee20
- SiteForge Enterprise V8.10.0-dev.1 upstream source (210 tests) - Fix: v8_workflows._mapped_input now reads both 类型/分类 columns so WXR imports keep post/product types instead of collapsing to page - Docs: trade-pro theme port spec (R3) and implementation plan Co-Authored-By: Claude Code <noreply@anthropic.com>
4.4 KiB
4.4 KiB
SiteForge Enterprise V8.3.0-dev.1 — WordPress 分类、标签与媒体目录
已实现(可在本地固定夹具测试)
- 保留 V8.2 WordPress REST 分页文章和页面扫描、Worker 任务、Sitemap 审计和媒体本地化。
- 新增
wp_migration_v83.py:公开 WP RESTcategories、tags、media目录的逐页采集。每类资源独立保存页码、累计数量和是否完成;每页最多 50 条、每类最多 5,000 条;所有远程访问走项目安全 HTTP 客户端。 - 保存源 WP taxonomy/media ID、名称、slug、parent、源归档 URL、媒体 MIME/尺寸/替代文本的有限元数据;逐项关系使用
wp_catalog_refs表保存。数据仍保持在原迁移会话作用域。 - WP 文章的源 ID、分类/标签 ID、特色媒体 ID 和部分公开 ACF 快照进入分批暂存数据的
meta.wp_source;ACF 过大不存储原值,只记录字段名与需复核提示。不自动执行或重建 Elementor、插件脚本。 - 已同步名称自动补齐暂存内容
meta.fields.category/tags,确认导入后随内容保存;新同步不会修改已经正式提交或人工编辑的正文。 - 分类/标签归档原 URL 在
finalize时进入 SEO 基线,不会凭空生成不存在的归档页面;不匹配仍须由 URL/SEO 审计处理。 - 未找到的关系、缺失上级分类、空名称、跨域归档 URL、ACF 等进入人工复核。只有全部审核完才允许按既有发布门禁继续。
- Web 工作台新加“分类 / 标签 / 媒体库”分页同步与目录进度查询。
API(需已登录 + CSRF + 站点权限)
GET /api/migrations/sites/{site}/wordpress/sessions/{session}/catalog:查询资源采集检查点及数量POST /api/migrations/sites/{site}/wordpress/sessions/{session}/catalog/categories/next:同步下一页公开分类POST /api/migrations/sites/{site}/wordpress/sessions/{session}/catalog/tags/next:同步下一页公开标签POST /api/migrations/sites/{site}/wordpress/sessions/{session}/catalog/media/next:同步下一页公开媒体库元数据POST /api/migrations/sites/{site}/wordpress/sessions/{session}/catalog/refresh:手动刷新待导入文章里的分类和标签名称
操作顺序:建立迁移会话 → 采集 WordPress 页面与文章(Worker)→ 同步分类、标签、媒体库元数据直到各目录 done=true → 执行 V8.2 媒体本地化 → 核对 Sitemap 缺失 URL 与分类归档 URL → 确认正式导入 → SEO/发布审核。
已验证
- 旧有 120 项及新增 10 项,合计 130 项 pytest 通过。
- 覆盖源 ID 保存、分类和标签关联、独立媒体清单、幂等分页、网络故障游标保护、越权、目录同步 API、人工复核、归档 URL 基线等。
- Python 编译、JavaScript 语法、版本核查见
scripts/check.sh和scripts/verify_release.py。
未完成 / 严禁误标为生产完成
- WordPress 分类/标签 元数据同步 不等于完整重建分类归档页内容和样式。保存原 URL 以便后续修复或人工批准的重定向。
- WordPress 媒体库 目录同步 不等于下载了全量媒体二进制;只下载 V8.2 明确扫描并授权的正文、封面图片,其他附件、PDF、CDN、
srcset、CSS 背景仍需继续处理。 - 公开 WP REST 对 ACF、Elementor、WooCommerce 变体/库存/属性的暴露程度因站而异;本版只保留有限元数据和复核提示,不做复杂插件的布局无损转换。
- 目录同步目前是“一次一页”的同步 API,不是长时独立 Worker 任务;大规模任务应继续入队列。
- 未做真实 Docker Engine、授权生产 WordPress 全站、GitHub 云 CI、正式 Art Design Pro 构建和远程 SFTP/S3 发布验收。
- 旧数据库上的原地升级、数据库备份与正式回滚仍需要在隔离环境演练。
下一批具体开发建议
- 完成分类/标签归档模板生成或经过人工批准的 301 重定向映射,并纳入 URL/SEO 验收。
- 实现媒体附件全量清单 + 授权可下载资产、失败可续传、二进制校验与附件引用关系。
- 针对真实 ACF / Elementor / WooCommerce 导出文件,建立固定测试夹具和受限字段适配器。
- 把分类、标签、媒体目录同步放入独立 Worker 任务,具备取消、进度和故障恢复。
- 在稳定的 P2 迁移流程后启动 P3 API/XML/只读数据库连接器和 P4 编辑器增强。