オンボーディング
app.engram.page に初めてサインインすると、保管庫が開く前に、Engram が短いオンボーディングウィザードを案内します。このウィザードがあるのは、保管庫のエンドポイントに到達する前に、Engram が利用規約への同意と有効なサブスクリプションの状態を必要とするためです。
ウィザードの内容
Section titled “ウィザードの内容”ウィザードは 2 ステップです。
- 同意。 利用規約とプライバシーポリシーに同意します。現在有効な利用規約のバージョンに対して、サーバー側の
user_agreementsテーブルに記録されます。有効なバージョンは、コンパイル時の定数ではなく、terms_versionsテーブルから動的に解決されます (Engram.Legal.VersionCacheがメモ化します)。 - 課金。 プランを選び、Paddle でチェックアウトを完了します (Free を選べば Paddle は完全に省略されます)。各プランの内容は課金 → プランを参照してください。
両方のステップが完了すると、保管庫のブラウザーに移ります。
保管庫へのアクセスが制限される理由
Section titled “保管庫へのアクセスが制限される理由”バックエンドは、/api/notes、/api/search、/api/folders を RequireOnboarding プラグの内側に置き、次を確認します。
- このユーザーが最新の利用規約に同意していること
- サブスクリプションが良好な状態であること (セルフホストの場合は、この確認が完全に省かれます)
どちらかの確認に失敗すると、API は 403 を返し、Web アプリはウィザードにリダイレクトします。そのため、オンボーディングが中途半端な壊れた状態になることはありません。ゲートは、通してくれるか、足りないステップを解決する画面を表示するかのどちらかです。
ウィザードの省略 (セルフホスト)
Section titled “ウィザードの省略 (セルフホスト)”セルフホストでは、課金は既定でオフです (PADDLE_API_KEY がなければ config :engram, :billing_enabled は false)。ウィザードはプラン選択のステップを飛ばします。利用規約への同意は一度だけ必要です。
ウィザードの再実行
Section titled “ウィザードの再実行”手動で再実行することはできません。一度同意すれば、そこは通過済みです。利用規約が変わると、Engram がサーバー側でバージョンを上げ、次の API 呼び出しが 403 を返し、アプリは利用規約の同意ステップだけを再表示します。プランの変更は、ウィザードではなく課金のページで行います。