メインコンテンツにジャンプ
A story

新しい組織システム

A backstory on how the capgo team added a organization system

記事のクレジット

マーティン・ドナディュー

記事の執筆者

バレリア

記事のレビュー

ジョーダン

編集者

新しい組織システム

概要

Hey, I am WcaleNieWolny - Capgoのリードソフトウェアエンジニア。

過去8ヶ月間、 組織システム、そして2023年4月14日、システムは完了しました🎉 🎊

ようやく8ヶ月後、Capgoの全ての機能は組織メンバーにアクセス可能になりました。これには

  • アプリ
  • 統計
  • 請求
  • CLIの完全サポート
  • そしてさらに多くのもの!

ここまで来るには、システムの3つの大きな改訂版を経てきました。

Organizations v1

最初は、プロジェクトに参加してから2週間でこの作業を始めました。時期尚早でした。コードベースや実装方法についてはほとんど知りませんでした。

その結果、最もハック的な解決策を実装しました。ただし、チャンネルやバージョンを除いて、すべてのアプリにアクセスするだけでした。招待されたユーザーは統計を参照することもできませんでした。

その後、Martinにレビューを依頼しました。待ち続けましたが、実際には何も起こりませんでした。3か月後、再びこのプロジェクトに戻り、すべてのマージコンフリクトを解決し、テストを実行することにしました。結果として、ハック的な解決策は完全に失敗しました。そこで、すべてのバグを修正し、E2Eテストを実施することにしました。過去の私が残した多くの不正解決策や、codeが壊れた状態で、2週間の辛い努力の末にようやく機能するようになりました。

しかし、それでも完璧ではありませんでした。組織のオーナーは、招待されたユーザーよりも多くのアクセス権を持っており、ユーザー体験も不足していました。招待されたユーザーは、統計を参照することも、請求を管理することもできませんでした。CLIは、ファイルのアップロードに制限されていました。

それでもMartinはPRをレビューし、1週間後にはプロダクションにプッシュされました。

Organizations v2

組織システムは、すべての課題にもかかわらず、うまく機能していました。ユーザーはそれを使用し、プロジェクト全体を前進させました。しかし、まだ私には:

  • 修正する必要がありました。 行レベルのセキュリティ
  • CLIのサポートを追加する必要がありました。
  • __CAPGO_KEEP_0__の管理者ユーザーは、オーナーと同じアクセス権を持つようにする必要がありました。

しかし マーティンと多くの議論の後、最も適切な方法は、セキュリティ規則をすべて書き直し、リソースの所有権を組織に移すことだった。 with Martin, we decided that the best way to move forward was to rewrite the entire security rules and to move all the resource ownership to organizations and not users. This would allow for easier integration with the new organization system, and it would also remove a lot of legacy code.

新しいRLScodeを書くことはとても面倒だったが、半月後には全ての移行が完了した。

しかし今回は、E2Eテストを書くことに反対したため、手動でテストする必要があった。マーティンと私が3回の長い電話をしてから、ようやくプロダクションにプッシュし、うまくいくことを願った。

しかし、うまくいかなかった…ユーザー登録が壊れ、新規ユーザーはアカウントを作成できなかった。

慌てて電話をした後、すぐにプロダクションに変更をプッシュし、寝てしまった。残念ながら、私の変更はさらに問題を生み出した。

起床後、ユーザーが多くの空の組織を持っていることを発見した。1つの組織だけが許可されるはずなので、これは起こり得ないことだ。組織の重複削除には時間がかかったが、それ以外の変更は比較的順調に進んだ。

組織 v3

それでも十分ではなかった。まだ、ビリングの重要なコンポーネントが欠けていた。

現在、オーナーだけがビリングを管理できていた。ユーザーが組織のためにプランを購入したと思っていたが、実際には自分自身のために購入したという問題が生じていた。 この問題を手動で解決し、ここでこの問題は受け入れられないと判断した。

マイグレーションは比較的順調に進んだ。1週間の作業がかかったが、V1とV2と比べるとそれほど難しくなかった。

組織 v4 - 未来

このような大きな仕事を終えた後、他のことに焦点を当てる時間が来たと思っている。

これは簡単ではなかったが、多くのことを学び、capgoは重要で素晴らしい機能を受け取った まだ、古い機能を非推奨にし、ウェブアプリのユーザー体験を向上させ、バグを監視する必要があるが、このシステムには大きな変更は必要ない。


読んでくれてありがとう 🚀

A brand new organization system から続く

この機能を使用している場合 A brand new organization system 計画ダッシュボードとAPIの運用を計画し、 APIの概要 APIの概要の実装詳細については 導入 導入の実装詳細については APIの鍵 APIの鍵の実装詳細については デバイス デバイスの実装詳細については、 バンドル バンドルの実装詳細については。

ライブアップデートはCapacitorアプリに適用されます

ウェブ層のバグが実行中の場合、Capgoを通じて修正を配信し、数日間待つ必要のあるアプリストアの承認を待つのではなく、ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路を通じて残ります。

マーティンから人間のサポートを受けます

今すぐ始めましょう

最新のブログ記事

Capgoは、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。