Zum Hauptinhalt springen
Story

Eine neue Organisationseinheit

Eine Geschichte, wie das capgo-Team eine Organisationseinheit hinzufügte

Artikelcredits

Martin Donadieu

Schreiber

Valeria

Rezensent

Jordan

Redakteur

Eine neue Organisationssystem

Einführung

Hallo, ich bin WcaleNieWolny - Capgo's Leiter des Software-Engineering.

Im Laufe der letzten 8 Monate habe ich das Organisationssystem, und ab dem 14. April bin ich froh, Ihnen mitteilen zu können, dass das System abgeschlossen ist 🎉 🎊

Schließlich, nach 8 Monaten, ist jeder einzelne Teil von Capgo für Mitglieder der Organisation zugänglich. Dies umfasst:

  • Anwendungen
  • Statistik
  • Rechnung
  • vollständige CLI-Unterstützung
  • und noch viel mehr!

Es war nicht leicht, hier zu gelangen; es gab 3 große Revisionen der Systeme.

Organisationen v1

Die Anfänge waren rau… Zunächst begann ich damit, an diesem Projekt zu arbeiten, 2 Wochen nachdem ich es betreten hatte. Zum Zeitpunkt hatte ich wenig bis keine Kenntnisse über die Codebasis oder irgendeine größere Idee, wie man dies umsetzen sollte.

Dies führte dazu, dass ich die hackigste Lösung implementierte, die nur die Zugriff auf die Apps, Kanäle und Versionen unterstützte. Sie ermöglichte es nicht einmal, dass der eingeladene Benutzer Zugriff auf Statistiken hatte.

Und dann wartete ich auf Martin, um dies zu überprüfen. Ich wartete und wartete, aber nichts wirklich geschah. 3 Monate später entschied ich mich, zurückzukommen und alle Merge-Konflikte zu lösen. Ich entschied mich auch, zu testen, was sich als großartige Idee herausstellte. Zu meiner Überraschung funktionierte die hackige Lösung nicht. In diesem Moment entschied ich mich, alle Bugs zu beheben und eine umfassende E2E-Test zu schreiben. Ich musste mit sehr gebrochenen code und vielen schlechten Entscheidungen arbeiten, die ich in der Vergangenheit getroffen hatte, aber nach 2 harten Wochen bekam ich es endlich zum Laufen.

Das bedeutet jedoch nicht, dass es perfekt war. Der Besitzer der Organisation hatte noch viel mehr Zugriff als selbst der höchst eingeladene Benutzer. Die Benutzererfahrung war auch sehr mangelhaft. Der eingeladene Benutzer konnte nicht einmal die Anwendungstatistiken sehen, die Rechnung verwalten und die CLI war auf das Hochladen beschränkt.

Dennoch hatte Martin das PR geprüft und eine Woche später wurde es in die Produktionsumgebung geschoben.

Organisationen v2

The Organisationssystem funktionierte trotz aller Herausforderungen ziemlich gut. Die Benutzer nutzten es und es drückte den gesamten Projekt vorwärts. Allerdings musste ich noch:

  • den Schlamassel in der Niveaurechtssicherheit
  • die Unterstützung für den gesamten CLI
  • stellen, dass Administratoren denselben Zugriff wie der Besitzer haben

Nach vielen Diskussionen mit Martin, entschieden wir uns dafür, dass der beste Weg vorwärts ging, das gesamte Sicherheitsregelwerk neu zu schreiben und alle Ressourcenbesitzrechte auf Organisationen und nicht auf Benutzer zu verschieben. Dies würde eine leichtere Integration mit dem neuen Organisationssystem ermöglichen und auch viele legacy code entfernen.

Das Schreiben des neuen RLS code war sehr zeitaufwändig, aber nach einer Woche und einem halben Tag war die gesamte Migration fertig.

Diesmal jedoch entschieden wir uns dagegen, die E2E-Tests zu schreiben, was bedeutete, dass wir es manuell testen mussten. Nach 3 sehr ausführlichen Anrufen zusammen, Martin und ich, entschieden wir uns schließlich, auf die Produktion zu drücken und hofften, dass es gut laufen würde

Es ging nicht… Es stellte sich heraus, dass ich die Benutzerregistrierung gebrochen hatte und neue Benutzer konnten kein Konto erstellen

Nach einem schnellen Panikanruf, drückte ich schnell einige Änderungen in die Produktion und ging ins Bett. Leider schufen meine Änderungen nur noch mehr Probleme

Nachdem ich aufgewacht bin, entdeckte ich, dass die Benutzer viele leere Organisationen hatten. Dies sollte nicht passieren, da nur eine Organisation pro Benutzer erlaubt sein sollte. Es dauerte einige Zeit, um alle duplizierten, leeren Orgs zu entfernen, aber abgesehen davon verliefen die Änderungen ziemlich reibungslos.

Organisationen v3

Selbst das reichte nicht aus. Es fehlte noch ein riesiger Bestandteil - die Abrechnung.

Der Besitzer konnte bislang die Abrechnung verwalten. Dies hat einige interessante Probleme geschaffen, bei denen ein Benutzer ein Abonnement gekauft hat, weil er dachte, er kaufe es für die Organisation.

Wir haben das Problem manuell gelöst und es war in diesem Moment, dass wir beschlossen, dass dieses Problem unannehmbar war.

Organisationen v4 - die Zukunft

Nach all diesem harten Arbeit denke ich, es ist Zeit, sich auf etwas anderes zu konzentrieren.

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.


Danke für die Lektüre

Weitermachen mit einem neuen Organisationssystem

Fortsetzung von A brand new organization system Wenn Sie Organisationen v4 verwenden um das Planungsdashboard und API-Betrieb zu planen, verbinden Sie es mit API-Übersicht zur Implementierungsdetail in API-Übersicht Einführung zur Implementierungsdetail in Einführung API-Schlüssel zur Implementierungsdetail in API-Schlüssel Geräte für die Implementierungsdetails in Geräten Bundles für die Implementierungsdetails in Bundles.

Live-Updates für Capacitor-Apps

Wenn ein Bug im Weblayer live ist, schicken Sie die Reparatur über Capgo anstatt Tage zu warten, bis die App-Store-Zulassung erteilt wird. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Menschliche Unterstützung von Martin

Los geht's jetzt

Neueste von unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um ein wirklich professionelles Mobil-App zu erstellen.