Zum Hauptinhalt springen
Aktuelles Ereignis

Eine neue Organisationseinheit

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

Artikelcredits

Martin Donadieu

Schreiber

Valeria

Rezensent

Jordan

Redakteur

Eine neue Organisationseinheit

Einleitung

Hallo, ich bin WcaleNieWolny - Capgo's Leiter der Softwareentwicklung.

Über die letzten 8 Monate habe ich das contextSeite/ Bereich: Capgo Builder / native cloud Build Produktseite. Rolle: Kurze UI-Bezeichnung oder Navigationselement. Nachrichtenschlüssel `native_build_builder_credit_over` (Native Build Builder Credit Over).

Finally, after 8 months, every single part of Capgo is accessible to org members. This includes:

  • , und ab dem 14. April freue ich mich, Ihnen mitteilen zu können, dass das System abgeschlossen ist 🎉 🎊
  • Schließlich, nach 8 Monaten, ist jeder einzelne Teil von __CAPGO_KEEP_0__ für Mitglieder der Organisation zugänglich. Dazu gehören:
  • Anwendungen
  • full CLI support
  • 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… Ich begann zunächst mit der Arbeit an diesem Projekt 2 Wochen nach meiner Aufnahme. Zum Zeitpunkt hatte ich wenig bis keine Kenntnisse über die Codebasis oder irgendeinen größeren Plan, wie dies umzusetzen war.

Dies führte dazu, dass ich die hackigste Lösung implementierte, die nur die Zugriff auf die Apps, Kanäle und Versionen unterstützte. Es ermöglichte nicht einmal den eingeladenen Benutzer, Zugriff auf Statistiken zu erhalten.

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ückzukehren 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 schaffte ich es endlich, es zu funktionieren.

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

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

Organisationen v2

Das Organisationssystem funktionierte trotz aller Herausforderungen ziemlich gut. Die Benutzer nutzten es und es brachte den gesamten Projektfortschritt wirklich voran. Allerdings musste ich noch:

  • den Schlamassel in der Ebenen-Sicherheit
  • die Unterstützung für den gesamten CLI
  • stellen, dass Admin-Benutzer denselben Zugriff wie der Besitzer haben

Nach vielen Diskussionen mit Martin, entschieden wir uns dafür, dass der beste Weg, um voranzukommen, darin bestand, das gesamte Sicherheitsregelwerk neu zu schreiben und alle Ressourcenbesitzrechte auf Organisationen und nicht auf Benutzer zu übertragen. Dies würde eine leichtere Integration mit dem neuen Organisationssystem ermöglichen und würde 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 sie manuell testen mussten. Nach 3 sehr ausführlichen Gesprächen 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 kurzen Panikruf, drückte ich schnell einige Änderungen in die Produktion und ging zu 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.

Erstens konnte nur der Besitzer 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 schnell manuell gelöst und es war in diesem Moment, dass wir beschlossen, dass dieses Problem unannehmbar war

Die Migration war ziemlich reibungslos. Es dauerte eine Woche Arbeit, aber im Vergleich zu V1 und V2 war es wirklich nicht so schwer 💂

Organisationen v4 - die Zukunft

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.


Es war nicht leicht, aber ich habe viel gelernt und __CAPGO_KEEP_0__ hat eine sehr nette und wichtige Funktion erhalten Ich muss noch die veralteten Funktionen deprecieren, die Benutzeroberfläche des Web-Apps verbessern und nach Fehlern suchen, aber es sollten keine großen Änderungen an diesem System geben.

Dankeschön für das Lesen 💂

Fortsetzung von A brand new organization system Wenn Sie Organisationen verwenden um einen Plan für das Dashboard und die API-Operationen zu erstellen und 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 zur Implementierungsdetail in Geräte und Pakete zur Implementierungsdetail in Pakete.

Live-Updates für Capacitor-Apps

Wenn ein Fehler im Web-Layer live ist, schicken Sie die Korrektur über Capgo anstatt Tage für die Genehmigung im App-Store abzuwarten. 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.