Direkt zum Inhalt
KAMOUniverse

Changelog

Was ist neu?

Jede Verbesserung an der Plattform, wie sie geliefert wird.

  1. · kamo-marketing

    Fügen Sie /Anfragt direkte nv Links, Homepage-Abschnitt, und planen Feature-Vergleichszeile

    - Header: Anfragen als Top-Level-Direktverbindung zwischen Preis und Unternehmen hinzugefügt - Footer: Anfragen zur Produktspalte für direkte Sichtbarkeit hinzugefügt - Preisseite: Custom dev callout Banner zwischen Bundles und Feature-Vergleich - Features Seite: Feature-Anfragen Callout vor CTA - Homepage: Neuer Abschnitt FeatureRequests zwischen Preis und FAQ mit Plan-Tier-Zugriff - JumpToBar: Anfragen Sprunglink zwischen Preis und FAQ hinzugefügt - DB: FEATURE_REQUESTS in Support-Kategorie mit pro Plan Text-Werten ausgesät (Kostenlos: Gemeinschaftsabstimmung, Starter: Abstimmung & Antrag, Wirtschaft: Priority Requests, Enterprise: Custom dev inbegriffen) - KamoCRMPricingLoader: aktualisiert mit FEATURE_REQUESTS Funktionsdefinition und Plan-Feature Mappings

  2. · kamo-internal

    Round-Trip-AppConfigs + Oberflächen-Modell-Einstellungen + privates-org-schalten

    - BranchSetupManager: mapBackendModel hydratisiert jetzt die beharrten appConfigs zurückgegeben durch das Backend (Verfügbarkeit + erlaubtCommerceTypes pro Service type) statt sie bei der Ladung auf NOT_AVAILABLE zurücksetzen. Nutzlasten sparen sowohl für die Kinder-Modell-und Master-Modell-Flows gehören appConfigs so dass die pro-app-Verfügbarkeit und CRM-commerce-artige Einschränkungen hin und zurück. Master Modelleditor verwendet mapBackendModel wieder, so dass es sich identisch verhält. - GebrauchAppliedModel Hook: erweiterte Antwortart trägt jetzt die angewendete skalaren Einstellungen des Modells (allowOwnersViewOtherOrgs, allowOwnersPrivateOrgs, erlaubenSubChildOrgs, Altersgruppen, identityProviderSetting, teamMemberPayFeesSetting), die appConfigs-Karte, und orgIsPrivate . zukünftiger Editor (Feature Manager, OAuth config, Commerce-Markt) kann Gate einheitlich ohne Wiederholen. - Private-org-Kipp: neue Proxy-Route ************ (PATCH) und eine Sichtbarkeitskarte auf der Registerkarte der Zweig-Typen aufgetaucht, umbenannten von allowOwnersPrivateOrgs. Wenn aktiviert, werden andere org Besitzer dies nicht sehen org in Inseraten. Optimistische UI versöhnt sich mit dem nächsten angewandten Modell erfrischen.

  3. · BillingService

    Team-Mitglied Pay-Gebügel setzen bei Stripe Kundengründung

    Bumps kamo-shared-library Abhängigkeit zu 1.5.0 so BillingService lösen kann der neue AppliedModelEnforcementService und wires team-member vs org Pay-Gebühren Durchsetzung in ************ - teamMemberPayFeesSetting == NOT_AVAILABLE: Erstellung eines Member-spezifisch Abrechnungskunden (Selbstzahlung) wird abgelehnt - die Org muss Gebühren abdecken. - teamMemberPayFeesSetting == FORCE_ENABLE: Erstellen eines org-Level-Kunden die Team-Mitglied Gebühren zu decken wäre abgelehnt - Teammitglieder müssen zahlen sich selbst. - OPTIONAL: jeder Fluss ist erlaubt. Durchsetzung ist bestes Problem, wenn die Org nicht gelöst werden kann (Werkzeugkontexte, Vermächtnisdaten) - fällt durch das Vermächtnis Verhalten statt zu blockieren.

  4. · SecurityService

    Wire angewendet-Modell Durchsetzung über jeden Controller

    Jede Nicht-Rolleneinstellung auf dem angewandten Sicherheitsmodell wird nun bei der genaue Controller-Grenze regelt, und die Skalareinstellungen rund um die Reise sauber durch die Master/Kind-Modelleditoren, so dass die Benutzeroberfläche auf sie einbieten kann. - **************** wenn branchTypeID eingestellt ist, schau bis zum Zweigtyp, um die Elternorg abzuleiten; Aufruf behauptenSubChildOrgGeld und BehauptungAgeRangeAllowed für beide Mitglieder und Team-Mitglieder Altersstufen vor der Verpflichtung. Neue PATCH /{id'/Sichtbarkeit endpoint lässt Besitzer Flip Organization.isPrivate, gated by assertCanSetPrivate. getAllOrganizations gilt filterVisibleOrgsForViewer so Ergebnisse respektieren beide erlaubenOwnersViewOtherOrgs auf das Modell des Betrachters und die istPrivate Flagge auf Kandidaten. - ************ AnrufbehauptungAppEnableAllowed / assertAppDisableAllowed so NOT_AVAILABLE Apps können nicht aktiviert werden und FORCE_ENABLED Apps können nicht deaktiviert werden. - OAuthConfigController POST/PUT: assertCanManageIdentityProvider Blöcke Provider CRUD beim identityProviderSetting == NOT_AVAILABLE. - CommerceMarketController POST/PUT: BehauptungCommerceTypeAllowed lehnt eine Commerce-Typ nicht in der AppConfig für CRM des Modells aufgeführt. - SecurityModelController + MasterModelController: Hin- und Rückfahrt appConfigs durch Erstellung/Update-Nützen und die GET-Antworten. Neue ProzessAppConfigs helper akzeptiert das Listenformular, das vom Frontend-Editor verwendet wird. - AppliedModelController: Antwort beinhaltet jetzt die vollständigen Skalareinstellungen block (allowOwnersViewOtherOrgs, allowOwnersPrivateOrgs, allowSubChildOrgs, Altersgruppen, identityProviderSetting, teamMemberPayFeesSetting) und die appConfigs Karte so Frontend-Redakteure können Gate einheitlich. Auch Oberflächen orgIsPrivate, so dass das Datenschalten synchron bleibt.

  5. · kamo-shared-library

    Erzwingen Sie jede Nicht-Rolle-Einstellung auf ChildOrgSecurityModel

    Fügt Ende-zu-Ende Durchsetzung für die verbleibenden Einstellungen auf einem Org angewendet Sicherheitsmodell. Jede Einstellung, die vorher nur gelesen wurde (oder aufgegeben wurde speichern) hat jetzt eine Persistenz-Pfad, eine Laufzeit Durchsetzung Helfer, und eine UI Haken, um es zu konsumieren. Datenschicht: - Organisation.isPrivate (boolesche Spalte, Standard falsch) Sichtungsfahne, durch den neuen MasterModelController-Gated PATCH gesetzt Endpunkt. - ServiceAvailabilityType enum (OPTIONAL_DEFAULT_ENABLED / OPTIONAL_DEFAULT_DISABLED / NOT_AVAILABLE / FORCE_ENABLED). - ChildOrgSecurityModelAppConfig Entität + Repo + Service - weiterhin pro App Verfügbarkeit (und CRMs erlaubteCommerceTypes) zuvor auf speichern gesunken. - ************ Hin- und Rückrundfahrten. Laufzeitdurchsetzung: - AppliedModelEnforcementService konsolidiert jede von Anrufern verwendete Prüfung: assertSubChildOrgAllowed, assertAgeRangeAllowed, ************ isIdentityProviderAngewhrt, assertCanSetPrivate, filterVisibleOrgsForViewer, assertTeamMitgliedCanSelfPayFees, isTeamPayFeesForced / Blocked, behauptenAppEnableAllowed, behauptenAppDisableAllowed, getAppVerfügbarkeit, getDefaultEnabledAppsForChild, assertCommerceTypeAllowed, getAllowedCommerceTypes. Null-sicher: "kein angewandtes Modell" erlaubt alles. - ChildOrgTemplateSeedingService erweitert, um auch OrgFeature Reihen von die AppConfig des Elternteils (FORCE_ENABLED und OPTIONAL_DEFAULT_ENABLED) auf neue Kinder-Orgs, also neu geschaffene Orgs kommen mit der richtigen Standardoberfläche.

  6. · kamo-internal

    Sperrpflicht-System-Rollen in Mitglieds-Rollen-Vergabe-UI

    - PublicProvider: zulassen branchTypeID/masterModelID auf der eingehenden Organisation Nutzlast, so dass die Zweig-Typen Registerkarte zuverlässig Gate kann "Edit Master Model"-Taste (früher auf Jackson- Serialisierung angewiesen fließt durch die Requisitentyp-Prüfung). - RolesPermissionsTab: das Rollen-Checkbox-Gitter markiert jetzt das erforderliche System role(s) als geprüft und deaktiviert basierend auf dem Typ und der Besitzer-Flagge des Mitglieds: * Mitglieder des Mitglieds: "Mitglieder" sind erforderlich. * Team-Mitglied-Typ-Mitglieder: "Team Members" ist erforderlich. * Team-Mitglied-typische Besitzer: "Administrator (Full Access) " ist zusätzlich erforderlich. Ein "erforderlich" Chip und ein erklärender Hinweis machen die Einschränkung für die Herausgeber. Der Versuch, eine obligatorische Rolle zu vertauschen ist eine No-Op; das Backend Eine Aussöhnung in MemberSecurityController würde sie ohnehin wieder aufnehmen.

  7. · SecurityService

    Enforce System-Rollen-Einsatz und Auto-Admin für Team-Mitglieder-Besitzer

    MemberSecurityController setzt nun die drei Zuweisungs-Invarianten durch definiert in der Brainstorm-Spezifikation: - saveMemberSecurity: bevor die geforderte Rolle des Anrufers aussteht, erweitert den Satz mit der obligatorischen Systemrolle(s) basierend auf dem Mitgliedstyp: Mitgliedsmitglieder erhalten immer roleMemberID; Team-Member-Typ immer roleTeamMemberID; Team-Mitglieder-Besitzer erhalten Sie zusätzlich immer roleAdminID. LinkedHashSet bewahrt Anrufer Bestellung während der Entduierung. - updateMemberAccess: wenn die Flagge des Eigentümers umgeschaltet wird, die Rolle des Administrators wird hinzugefügt oder entfernt auf dem Team-Mitglied, um Rollenzuweisungen synchron zu halten mit Eigentum. Rechte-geprüfte Neuberechnungen läuft in der gleichen Transaktion so Downstream liest die aktualisierten effektiven Berechtigungen sofort.

  8. · kamo-shared-library

    Vorlage zwingen Regeln und DEFAULT Fallback auf Mitgliederrechte Auflösung

    **************** überlagert jetzt die aufgetragene Die 4 Standard-Rollenvorlagen des Modells auf der Oberseite der bestehenden Kaskaden (org Rollen) - Abteilung - Berufsbezeichnung - Mitglied): - Rollentyp-spezifisch FORCE_GRANTED/FORCE_NUKE überzeugt alle Kaskaden-Ebenen. Die Vorlage wird nach Mitgliedstyp gewählt: Team-Mitglieder-Besitzer verwenden ADMINISTRATOR, Teammitglieder verwenden TEAM_MEMBER, einfache Mitglieder nutzen MEMBER. - DEFAULT Vorlage FORCE Werte gewinnen über Kaskade, wenn die Rollentyp-Vorlage hat keine Kraftregel für dieses Recht (pro Q7 Vorrang). - DEFAULT Nicht-Kraft-Werte (GRANTED/NUKE) dienen als letztes Verteidigungsniveau für Rechte, die sich nach der vollständigen Kaskade auf NOT_SPECIFIED beschieden haben. AppliedModelResolverService wird als @Autowired(required=false) injiziert, also bestehende Unit-Test-Verdrahtungen, die nur die beiden Konstruktor-Pflicht konstruieren Depots arbeiten weiter und entwürdigen sich zum Vermächtnis ohne Gewaltregeln.

  9. · kamo-internal

    Master-Modell-Editor, Rollenvorlagen und Kraft-Regel Gating hinzufügen

    Oberflächen das neue branchentypische Sicherheitsmodell in der Benutzeroberfläche: - Zweig-Typen-Tab gewinnt eine "Edit Master Model"-Taste (versteckt, wenn die org hat eine branchTypeID zugewiesen), die den Modelleditor im Master öffnet Modus: kein Namefeld, kein Zweig-Typen-Chip, speichern Sie Hits /master-Modell. - Model-Editor (beide Add-Kind-Modell und Edit-Master-Modell) gewinnt ein neues "Default Security Roles" Abschnitt nach "Gebotene Apps", mit Tabs für Administrator / Teammitglied / Mitglied / DEFAULT und 5-Werte Einstellungen (FORCE_GRANTED, GRANTED, NOT_SPECIFIED, FORCE_NUKE, NUKE). - Neuer EinsatzAppliedModel() hook fetches /api/security/anwendungsmodell einmal und setzt isForced(rightName, roleType) für den Verzehr von Editoren aus. - Sicherheitsaufgaben, Abteilungen, Berufsbezeichnungen und Pro-Mitglieder-Berufe Seiten verstecken Rechte, die durch die anwendbaren Vorlagen blockiert werden: * Sicherheitsrollen: Systemrollen verwenden ihre Matching-Vorlage + DEFAULT; Die kundenspezifischen Rollen verwenden nur DEFAULT (Q11 Antwort A). * Abteilungen + Job-Titel: nur DEFAULT (nicht-rollen-spezifisch). * Mitgliedsseite: Vorlage zum Mitgliedstyp (TEAM_MEMBER vs MEMBER) + DEFAULT (Q8 Antwort C, Typ-erster Bewertungsauftrag). Neue Proxy-Routen: /api/security/master-Modell (GET/PUT), /api/security/anwendungsmodell (GET).

  10. · SecurityService

    Master-Modell + angewandte Modell Endpunkte und Template-bewusste Org-Saatgut

    Fügt die Controller, die den neuen branchentyp Sicherheitsfluss belegen: - /api/security/master-Modell (GET/PUT) verwaltet den aktuellen org-Master-Master Modell; nur schreibenbar, wenn Organization.branchTypeID null ist. - /api/security/anwendet-Modell (GET) löst, welches Modell dieses Org steuert und gibt pro-Vorwurf Kraft-Regel Karten für Frontend Gating. - SecurityModelController Rundfahrten mit den 4 Standard-Rollenvorlagen als Teil der vorhandenen Erstellung/Update-Nützlast. - OrganizationController propagiert die neue ZweigTypeID aus der Anfrage Körper und Samen der neuen org 3 System Rollen aus dem angewandten Modell Templates über ChildOrgTemplateSeedingService.

  11. · kamo-shared-library

    Master-Modell, Standard-Rollenvorlagen und Anwendungsmodell-Abschluss hinzufügen

    Einführung der Datenschicht für den neuen branchentypischen Sicherheitsmodellfluss: - Organisation gewinnt nullbare branchTypeID- und masterModelID-Spalten. - Neue RoleRTemplateSettingType enum mit 5 Werten (FORCE_GRANTED, GRANTED, NOT_SPECIFIED, FORCE_NUKE, NUKE) für Vorlagen-Layer-Einstellungen. - Neues DefaultRoleType enum (ADMINISTRATOR, TEAM_MEMBER, MEMBER, DEFAULT) für die 4 Rollenvorlagen, die jedem ChildOrgSecurityModell beigefügt sind. - Neue Entitäten ************ und ************ plus ihre Repos, Service und DTOs. - AppliedModelResolverService löst das Modell, das eine gegebene org regelt (branchType-inherited oder master) und stellt Kraft-Regel-Suchen. - ChildOrgTemplateSeedingService Samen neue Kind orgs 3 System Rollen mit GRANTED/NUKE Werte aus den Vorlagen des angewandten Modells; Kraftwerte bleiben in der Vorlage und werden zur Laufzeit durchgesetzt. Endnutzer OrgRoleRight setzt seine Verwendung des 3-Wertes RoleRightSettingType fort Kraft-Werte sind streng genommen ein Template-Layer-Konzept.

  12. · kamo-internal

    Zweig-Typ-Chip-Input-Feld zum Sicherheitsmodell-Editor hinzufügen

    - BranchTypeChipField mit farbigem Dot toggle, Edit-on-Click-Etikett und X löschen - BranchTypeEditDialog für Name/Beschreibungsbearbeitung - Autocomplete Dropdown Pulls von GET /api/security/Branch-Typen, schließt aktuelle Modelltypen aus, zeigt Quellmodell für Cross-Modell-Typen - handleSaveModel sendet branchentyp und gelöschtBranchTypeIds in PUT/POST Nutzlast - Listentabelle bekommt Branch Types Spalte mit farbigen Dot Chips - loadModels Karten branchTypes von Backend-Antwort

  13. · kamo-login

    MANAGE_USERS rechts von RoleRightType entfernen

  14. · kamo-register

    MANAGE_USERS rechts von RoleRightType entfernen

  15. · kamo-internal

    MANAGE_USERS direkt aus allen Frontend-Referenzen entfernen

  16. · kamo-shared-library

    MANAGE_USERS rechts (id=19) von RoleRightType enum entfernen

  17. · kamo-internal

    Fügen Sie Zweig-Typen Sicherheits-API-Route

  18. · SecurityService

    Draht-Filiale in Sicherheitsmodell CRUD Endpunkte

  19. · kamo-shared-library

    ChildOrgSecurityModelDTO mit vollen Feldern und branchTypes erweitern

  20. · kamo-shared-library

    OrgBranchTypeService hinzufügen

  21. · kamo-shared-library

    OrgBranchTypeRepository hinzufügen

  22. · kamo-shared-library

    OrgBranchTypeDTO hinzufügen

  23. · kamo-shared-library

    OrgBranchType-Einheit hinzufügen

  24. · kamo-internal

    Update BranchSetupManager Untertitel auf dynamisches Branchentyp-Label

  25. · kamo-internal

    Umbenennen Sie Branch Setup-Tab in dynamische {branchLabel]-Typen um und aktualisieren Sie URL auf Zweig-Typen

  26. · kamo-login

    Capcha *** nach jedem fehlgeschlagenen Anmeldeversuch zurücksetzen

    Benutzer müssen nach jedem falschen Passwort erneut verifizieren, dass sie menschlich sind. Ruft Widget.reset() und kläre CapchaVerified/payload-Staat auf sowohl Anmeldefehler als auch Netzwerkfehler.

  27. · EmailService

    Auto-Inject-LogoUrl, logoSimpleUrl und orgName Variablen zum Absenden

    EmailTemplateService führt jetzt Basisvariablen zusammen (logoUrl, logoSimpleUrl, orgName) abgeleitet von der primären Domäne der Org vor dem Rendering, so dass alle transaktionalen templates kann sich ohne Anrufer auf {{logoUrl' und {{logoSimpleUrl' beziehen müssen sie explizit übergeben. Anrufern gelieferte Vars haben immer noch Vorrang.

  28. · kamo-internal

    Berechtigungsgatter für Benutzer-Level-Felder und Passwort-Änderung Abschnitt in MyAccountTab

  29. · kamo-internal

    Access Gate und MANAGE_MEMBER_SECURITY Tab-Wächter zur Mitglieder-Einstellungen hinzufügen

  30. · kamo-internal

    Änderungspasswort hinzufügen Next.js API Proxy-Route

Euer Universum wartet.

Fügen Sie Produkte hinzu, wann immer Sie möchten – keine Migration, keine neuen Anmeldungen.

Für immer kostenlos – keine Kreditkarte erforderlich