Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

プロポーザル周りのアーキテクチャ検討 #218

Open
taisukeoe opened this issue Jan 25, 2020 · 2 comments
Open

プロポーザル周りのアーキテクチャ検討 #218

taisukeoe opened this issue Jan 25, 2020 · 2 comments

Comments

@taisukeoe
Copy link
Contributor

taisukeoe commented Jan 25, 2020

背景

今年はWebサイトリニューアルと並行してプロポーザル公開をしたため、運用上の懸念がいくつか残るアーキテクチャになってしまった。

今年度の実装が優先ではありつつも、来年度のアーキテクチャをこのissue上で検討していく。

ScalaMatsuri 2020(現在)のアーキテクチャ

CFP応募フォーム
⬇️ ... Google Formの設定
フォームの回答SpreadSheet(言語ごとのシート、秘匿情報アリ - 旅費助成金など)
⬇️ ... GAS: ID採番、カラム名(英日)の名寄せ。トリガー: 新レコード追加
Master SpreadSheet(英・日統合シート、秘匿情報アリ - 旅費助成金など)
⬇️ ... GAS: 秘匿情報の除去。トリガー: 日次
Public SpreadSheet (英・日統合シート、秘匿情報ナシ)
⬇️ ... GAS Web Appとして公開: カラム名とkeyのmap, 値の整形
JSON
⬇️ ... Nuxt.jsアプリケーション(このリポジトリ)から参照
プロポーザルページで表示

運用

掲載内容修正

  • TODO: Google Formの修正機能を使ってもらう(Masterへの反映ロジック未実装)
  • 現状: スタッフに連絡 or issueを立ててもらう
    • スタッフがMaster SpreadSheetを編集する

翻訳

  • 翻訳したスタッフがMaster SpreadSheetを編集する

運用課題

  • MasterレコードがSpreadSheet管理なので、誤編集リスクがある
    • 変更履歴の使い勝手がよくない。
  • GAS Web AppのレイテンシやRate Limitなどが不明
    • ScalaMatsuri 2020のサイトを運用しながら様子見。
@taisukeoe
Copy link
Contributor Author

1/25 に @grimrose さんと話したメモ

ScalaMatsuri 2021~ のアーキテクチャ

CFP応募フォーム
⬇️ ... Google Formの設定
フォームの回答SpreadSheet(言語ごとのシート、秘匿情報アリ - 旅費助成金など)
⬇️ ... GAS: ID採番、カラム名(英日)の名寄せ。トリガー: 新レコード追加
統合 SpreadSheet(英・日統合シート、秘匿情報アリ - 旅費助成金など)
⬇️ ... GAS: 秘匿情報の除去。トリガー: レコード変更
Public SpreadSheet(英・日統合シート、秘匿情報ナシ)
⬇️ ... CSVダウンロード( HOW?)
⬇️ ... yamlへ整形( HOW?)
Nuxt.jsアプリケーション(このリポジトリ)のassetsへyamlをcommit(yamlをマスターとして管理)
⬇️ ... ビルド時にローカルでyamlからjsonへ変換( HOW?)
プロポーザルページで参照し、表示

意図

  • 秘匿情報を、Google SpreadSheetおよびGASの世界に閉じて管理する
    • G Suite外のサービスは、Public SpreadSheetのみ参照する

運用

掲載内容修正

  • Google Formの修正機能を使ってもらう(GASで変更反映の実装必要?)
  • yaml変更のPullReqを送ってもらう

翻訳

  • yaml変更のPullReqを送ってもらう

@taisukeoe
Copy link
Contributor Author

GAS Web AppのレイテンシやRate Limitなどが不明

Google SpreadSheet API v4 Rate Limit によれば:

This version of the Google Sheets API has a limit of 500 requests per 100 seconds per project, and 100 requests per 100 seconds per user. Limits for reads and writes are tracked separately. There is no daily usage limit.

Google Apps Scriptでも同じRate Limitが適用されるのだろうか 🤔
もしそうだとしても、100秒ごとに500リクエストまでなら、PV毎にcallしても余裕そうですね。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant