简介
嘿,我是 WcaleNieWolny - Capgo 的首席软件工程师。
在过去的 8 个月里,我一直在开发 组织系统,并且截至 2023 年 4 月 14 日,我很高兴地宣布该系统已完成 🎉 🎊
Finally, after 8 months, every single part of Capgo is accessible to org members. This includes:
- __CAPGO_KEEP_0__
- 的每个部分都对组织成员开放。这包括:
- 应用
- full CLI support
- and so much more!
来到这里并非易事;系统经过了3次重大修订。
组织v1
起初,项目刚刚开始,我就开始着手工作,仅仅两周时间。
当时我对代码库几乎一无所知,也没有更大的想法来实现这个功能。
And then I waited for Martin to review this. I waited and waited, but nothing really happened. 3 months later, I decided to come back to this and fix all the merge conflicts. I also decided to test, which turned out to be a great idea. To no surprise, the hacky solution completely failed. At that moment, I decided to fix all bugs and write an extensive E2E test. I had to work with very broken code and a lot of bad decisions made by the past me, but after 2 hard weeks, I finally got it to function.
That does not, however, mean that it was perfect. The owner of the organization still had a lot more access than even the highest invited user. User experience also was quite lacking. The invited user could not even see the application statistics, manage billing, and the CLI was limited to upload only.
然后我等待了Martin的审查,但什么也没发生。等了三个月后,我决定重新回到这个问题上来,解决所有的冲突。
此外,我决定进行测试,这是一个很好的决定。结果,hack的解决方案完全失败了。这个时候,我决定修复所有的bug并编写一个全面的E2E测试。
The organization system was working rather well despite all of the challenges. Users were using it, and it really pushed the entire project forward. However, I still had to:
- 修复在 行级安全
- 添加对整个CLI的支持
- 确保管理员用户具有与所有者相同的访问权限
之后 与马丁进行了大量讨论后 我们决定最好的方式是重写整个安全规则,并将所有资源的所有权转移到组织中,而不是用户。 这将使与新组织系统的集成变得更加容易,并且也将移除大量的遗留code。
编写新的RLScode非常枯燥,但经过一周半的时间,整个迁移就准备好了。
这次,我们决定不编写E2E测试,这意味着我们必须手动测试。经过3次非常详尽的电话会议,马丁和我最终决定推送到生产环境并希望它会顺利进行 🙏
然而…我发现我破坏了用户注册,新用户无法创建账户 😅
在一阵急促的电话会议后,我迅速推送了一些更改到生产环境,然后就睡觉了。然而,我的更改只创造了更多的问题 😰
After I woke up, I discovered that users had a lot of empty organizations. This is not supposed to happen as only 1 organization should be allowed per user. It took some time of brainstorming to remove all of the duplicated, empty orgs, but aside from that, the changes went rather smoothly.
系统信次事件布
Even this was not enough. There was still a huge component missing - billing.
So far only the owner could manage the billing. This has created some interesting issues where a user purchased a plan thinking he was buying it for the organization. We quickly fixed the issue manually and it was at this point that we decided that this issue was unacceptable
The migration was rather smooth. It took a week of work but compared to V1 and V2 it really was not that hard 🌊
系统信次事件事件 - 有效的学为
After all of this hard work I think it’s time to focus on something else for now 🤣
It was not easy but I learned a lot and capgo has received a very nice and important feature I still have to deprecate the legacy functions, improve the webapp user experience, monitor for bugs, but there should not be any major changes to this system.
想好一个有请会系统信次事件
If you are using
想好一个有请会系统信次事件 A brand new organization system 为计划仪表板和API操作,连接它 API概览 在API概览中了解实现细节 介绍 在介绍中了解实现细节 API密钥 在API密钥中了解实现细节 设备 在设备中了解实现细节 捆绑包 在捆绑包中了解实现细节