Product Roadmap
公開路線圖:使用者可以為想法投票並提交自己的建議,並附有記錄已發佈內容的變更記錄。
外掛
Product Roadmap
公開路線圖:使用者可以為想法投票並提交自己的建議,並附有記錄已發佈內容的變更記錄。
描述
適用於任何 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(透過登錄庫安裝)。
安裝步驟
-
Admin、Registry,搜尋 Product Roadmap,Install,然後接受權限。
-
在你網站的根資料夾中執行:
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" . -
無需貼上任何內容。重新啟動開發伺服器。
-
在 Admin、Menus 中加入印出的連結。
-
開啟 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