Bulk Export 機能
- GROWI ページを PDF or Markdown で一括ダウンロードできる
memo
- ユーザがダウンロードリクエストを出してからダウンロードが完了するまでの間に GROWI が固まってしまうことは避けたい
ストーリー作成当時の解:
- 一括ダウンロードしてからダウンロード中は queue に入ってほしい
- 完了したら ダウンロードの準備が完了したことを navbar あたりで知らせる
- zip を作って fs に置くのがよくない!
- サーバサイドの方で markdown をとってきて zip を作って filesystem に置いてから持ってくる => API レスポンスを返さないからよくない => すぐにレスポンスが帰ってほしい
- GROWI で zip をつくながら file type zip で順次ブラウザに流していく
ストリームを使ってパイプする
- express-easy-zip: https://github.com/tanhauhau/express-easy-zip/blob/master/DOC.md external_link
- zip-stream がアクティブ
- markdown はこれが解?
PDFはどうする?
- サーバーは json で渡す
- client で 解析して順次 pdf
- クライアント側で送られてきた json を remark で html してから pdf 化して,順次 client-zip
- 管理画面のimport/export機能は fs にデータを作る
どういうことか?
- http の file type, http を送る
- ブラウザはそれをみて保存を決める ヒント記事: https://scrapbox.io/shokai/Express%E3%81%A71GB%E4%BB%A5%E4%B8%8A%E3%81%AEAPI%E3%83%AC%E3%82%B9%E3%83%9D%E3%83%B3%E3%82%B9%E3%82%92%E8%BF%94%E3%81%99%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF external_link
難しいところ
・Remark による HTML レンダリング ・PDF化 ・zip化