Product Roadmap

公开路线图:用户可以为想法投票并提交自己的建议,并附有记录已发布内容的更新日志。

插件

Product Roadmap

公开路线图:用户可以为想法投票并提交自己的建议,并附有记录已发布内容的更新日志。

  • 分类: roadmap
  • 状态: 可用
  • 版本: 0.4.0
  • 价格: 未知
  • 来源: 官方插件注册表
  • 安装方式: 注册表沙盒插件
  • 核实日期: 2026-10-21

描述

适用于任何 EmDash 站点的公开路线图。访客可以看到你正在考虑、正在开发和已经发布的内容。他们可以投票,也可以提交一个等待你批准的想法。

你将获得

  • 自定义阶段名称的看板。 默认从 Under review、Planned、In progress 和 Done 开始。可以添加、隐藏、重命名或重新排序。
  • 投票。 每人对每个条目只能投一票。再次点击即可撤回。
  • 需审批的建议。 想法会保存为草稿。你可以批准它上板,或拒绝它。
  • 访客或会员。 由你选择谁可以投票和提出建议。访客需要填写姓名。写出的想法始终需要等待审核。
  • 更新日志。 第二个集合,带有列表页面和每个版本各一个页面。
  • 评论。 条目页面使用 EmDash 自带的评论。无需额外审核。
  • 合并。 把重复的条目并入你保留的条目。票数会一并转移,每人一票。

它如何协同工作

插件是引擎:路由、存储和后台界面。EmDash 插件无法为你的站点添加页面,所以公开页面以站点套件的形式提供,只需复制一次。参见“安装”。

每小时的电子邮件需要邮件服务提供商。即使关闭邮件,仪表板卡片仍会显示有多少想法在等待。

安装

安装之前

1. 你的站点需要沙箱运行器。 注册表插件在沙箱中运行。在站点具备沙箱运行器之前,Admin、Plugins 会显示“No plugins configured”,菜单中也没有 Registry。

  • Node: 在你的站点中运行 npm install @emdash-cms/sandbox-workerd workerd,然后在 astro.config.mjs 的 emdash() 内添加 sandboxRunner: "@emdash-cms/sandbox-workerd/sandbox",。
  • Cloudflare: 添加 import from "@emdash-cms/cloudflare"; 和 sandboxRunner: sandbox(),。它需要 Workers Paid 套餐、名为 LOADER 的 worker_loaders 绑定(在你的 Wrangler 配置中取消注释),以及作为 storage: r2(...) 的 R2 存储桶,否则安装会因 “Storage error while installing plugin” 而中止。然后运行 npm run deploy。

停止开发服务器并重新启动。现在后台菜单中会显示 Registry。

2. 插件是引擎。访客页面来自它的站点套件。 注册表插件无法为你的站点添加页面。在你复制套件之前,它的地址(例如 /roadmap/)会显示你站点的 404 页面。这是正常现象。下面的套件复制只需一条命令。

3. 你需要 Node 22.16 或更高版本,用于 npx emdash seed 这一步。

已在 EmDash 1.3.1 上使用 blog 模板验证,包括 Node 和 Cloudflare Workers(通过注册表安装)。

安装步骤

  1. Admin、Registry,搜索 Product Roadmap,Install,然后接受权限。

  2. 在你站点的根文件夹中运行:

    kit="$(mktemp -d)" &&
      git clone --depth 1 \
        --branch v0.4.0 \
        https://github.com/wbcomdesigns/emdash-roadmap \
        "$kit/emdash-roadmap" &&
      "$kit/emdash-roadmap/scripts/add-to-site.sh" .
  3. 无需粘贴任何内容。重启开发服务器。

  4. 在 Admin、Menus 中添加打印出的链接。

  5. 打开 Admin、Roadmap、Ideas。

每次更新后,请使用新标签运行第 2 步。完整指南:https://github.com/wbcomdesigns/emdash-roadmap/blob/v0.4.0/docs/website/getting-started/install.md

常见问题

为什么安装后 /roadmap/ 是 404? 插件无法创建页面。请使用你所安装版本的标签,运行“安装”选项卡(或 Admin、Roadmap、Ideas)中的套件命令,然后重启开发服务器。

看板提示无法加载。 请从你所安装版本的标签再次复制套件。套件和插件是同时发布的。

访客可以投票和提出想法吗? 可以,前提是 Settings 设为 Anyone(默认),并且主机向 EmDash 提供了访客的地址:Cloudflare,或站点配置中的 trustedProxyHeaders。否则,访客会看到登录链接,Settings 也会如此说明。每个想法都需要等你批准。

访客在浏览器控制台中看到 401。 这是预期的:页面会先检查已登录会员的投票。页面本身没有问题。

如何把条目移到另一个阶段? 在条目的编辑界面,使用右侧的 Stage 面板。

新想法会立即上线吗? 不会。建议会保存为草稿。在 Ideas 中批准它,才会放到看板上。

如果我重命名某个阶段会怎样? 看板会使用新名称。条目仍留在该列中。你无需逐个编辑条目。

它支持深色模式吗? 支持。套件的颜色会跟随你站点的主题。

它会发送电子邮件吗? 如果站点有邮件服务提供商,当有想法在等待时,每小时发送一条简短通知。通知中没有想法的文字,也没有链接。仪表板卡片始终显示数量。

有付费版本吗? 没有。这里的一切都是免费的。

更新日志

0.4.0

在繁忙的测试站点上,每个页面、投票和后台界面现在都保持在 Cloudflare 每次插件调用 10 个请求的上限之内。在 Cloudflare 上验证之前,仍将其标记为不支持。没有新增权限。

  • 新增:每个条目会保留一个持续更新的票数;0.3.0 的票数会在 Ideas 页面加载时和每小时重新构建。
  • 改进:合并、Roadmap 票数清除和每小时清理都分步骤运行。
  • 修复:在 Cloudflare 上,访客的投票曾被以“不在看板上”为由拒绝。
  • 修复:套件脚本不再声称在 Cloudflare 站点上已创建内容类型。

更新后请再次复制套件。在此之前,按分类筛选的看板会显示所有条目,而 Take back all my votes 在 7 次之后会因错误而停止。

kit="$(mktemp -d)" &&
  git clone --depth 1 \
    --branch v0.4.0 \
    https://github.com/wbcomdesigns/emdash-roadmap \
    "$kit/emdash-roadmap" &&
  "$kit/emdash-roadmap/scripts/add-to-site.sh" .

0.3.0

新权限:Read retained content revision history,使 Stage 面板能在条目有未发布的更改时查看并移动它。更新时你只需批准一次。访客需要有访客地址才能投票。更新后请再次复制套件:

kit="$(mktemp -d)" &&
  git clone --depth 1 \
    --branch v0.3.0 \
    https://github.com/wbcomdesigns/emdash-roadmap \
    "$kit/emdash-roadmap" &&
  "$kit/emdash-roadmap/scripts/add-to-site.sh" .
  • 新增:Set up visitor pages 卡片;scripts/add-to-site.sh 会复制整个套件。
  • 改进:Stage 面板是设置阶段的唯一位置。
  • 修复:Ideas 计数、嵌套表单、对齐、深色模式。
  • 安全:没有访客地址时不允许访客写入;每个 IPv4 或 IPv6 /64 只算一位访客;哈希在 30 天后清除。

0.2.1

  • 修复:My votes 文件不再与 WB Polls 的文件同名,因此两个套件可以并存于同一站点。更新后请再次复制套件。

更早的版本:https://github.com/wbcomdesigns/emdash-roadmap/blob/main/CHANGELOG.md