Changelog
Was ist neu?
Jede Verbesserung an der Plattform, wie sie geliefert wird.
· kamo-internal
Registerkarte Politiken - Effektiv-dated pricing/capital/servicing config
Neue HypothekenpoliesTab: aktuelle aktive Version + veröffentlichen-neue Version + Version Geschichte für jede der drei effektiven Richtlinien; configTypes/configApi + tab Anmeldung.
· SecurityService
Effektive Profilpolitiken - Preisgestaltung/Kapital/Servicing veröffentlichen
Neuer MlosPolicyWriteService (isoliert; eigene repos so die config-collection write- Service ist unberührt): Single-aktive Dete-then-then-Insert-Versionierung auf dem gleichen Audit Wirbelsäule. Controller /Preispolitik, / Kapitalpolitik, /servicing-policy history) / PUT (Reinversion veröffentlichen). ServicingPolicy SCRA/FDCPA Invarianten bleiben wahr.
· kamo-shared-library
VersionedProfilePolicy Schnittstelle für effektive Strategien
Preisgestaltung/Kapital/ServicingPolicy implementieren es so dass man veröffentlichen Routine treibt die Single-aktive Demo-then-Insert-Versionierung.
· kamo-internal
Investor Delivery + Engagement Regel Unterherausgeber
Die erweiterte Anlegerreihe gewinnt Lieferung (Finanzierungsverhalten / Ausführungspfad / Überweisung) und Verpflichtung (Typ / min Pull-Through % / Pair-off) Redakteure neben Delegation + Overlays; configTypes/configApi Typen + Aufrufe.
· SecurityService
InvestorConfig Lieferung + Verpflichtung Regel Sub-Kosbringungen CRUD
************ (+update/delete) auf der D31 Konfigurations-Stachel (org fail-closed über den Muttergesellschaftsinvestor, WORM Change-Log pro Zeile); Controller /investors/{id'/delivery-reals + /commitment-rules GET/POST/PUT. Vervollständigt die letzte InvestorConfig Sub-Collections verschoben von [04].
· kamo-internal
Investor Credit-Box-Lauts von Unterredaktelung
MortgageInvestorsTab erweiterte Investorenreihe gewinnt einen Overlay-Editor (FICO/LTV/DTI/ Reserve/doc/geo Straffung + Vergleichs + Komparator + optionales Programm + effektives Fenster) neben dem Delegationseditor; configTypes/configApi-Überlagerungen + Aufrufe.
· SecurityService
InvestorConfig Credit-Box Overlay Sub-Salle Credit-Sammeln CRUD
************ auf der D31-Konfigurations-Hindele (org ausfällt über die parenter Investor, WORM Change-Log pro Zeile, configVersion Standard 1); Controller /investors/{id'/overlays GET/POST/PUT (über aktiv:falsch) aus. Vervollständigt die InvestorOverlay-Slice verschoben von [04].
· kamo-internal
Rechtsangebundene Vollhöhe Sub-nav + kontrastreicher Text
- Bewegen Sie den Abschnitt Sub-Nav von der linken auf eine rechts angebrachte, vollhohe Platte dass scrollt unabhängig; der Header + Formulargehalt nimmt die restliche Breite ein links und scrollen Sie selbst (zwei unabhängige Scroll-Regionen auf md+; stapelt mit Navi auf der Oberseite für schmale Bildschirme). - Barrierefreiheit: alle sekundären/Etikettentexte abdunkeln (grau-400 --grau-600, grau-500 -- grau-700) über die Detailseite + geteiltes Feld/SectionCard/ Leerzeichen Primitive, so Labels treffen WCAG AA Kontrast für Low-Vision-Nutzer.
· kamo-internal
Darlehen Pipeline als Hypothek Sub-Tab + Licht Thema
- Hinzufügen von AnwendungenPipelineConsole: a /leads-style advanced AG-Grid datagrid von Hypothekenanträgen auf Kreditebene (Statusfilter-Tabs, Filterreihe, schnelle Suche, CSV Export, Paginierung, Zeile --Detail). Wired als der letzte Sub-Tab der Mortgage Steward Konsole (?sub=pipeline). - Re-Thema /applikations/[uid] Detail + gemeinsames Feld/SectionCard/Modal/ Leerer Staat Primitives + alle 14 Abschnitte vom dunklen Marine-Thema zum Licht Kamo-internes Idiom; ersetzen Sie den vollblutigen Helden durch einen In-Flow Header-Leiste (behebt Header/Content-Überlappung). - Re-Thema /Anwendungen/Pipeline (kanban) und /applikations/hmda-lar to light. - Entfernen Sie die veraltete Standalone / Anwendungen dunkle Liste; repoint QuickActionsBar 'Neue Anwendung' auf dem Hypothekenmarkt Pipeline Sub-Tab.
· kamo-internal
Plattform AI-Governor Kalibrierung Konfigurations-Panel (D4 5.C)
**************** Advanced Tab gewinnt ein Governor Panel: bearbeiten Sie die Plattform- Standard Kalibrierungsstellung Haltung (Gouverneur Gate / Kraft-Steward-until-kalibiert / min Proben, jeder Inherit|Enabled|Disabled) über die neue Governor-config API. Per-org überschreibt Schicht auf der Oberseite.
· SecurityService
ScenarioDiscoveryService - kanonische Profil-Gense bei loan-app create/update (D1)
MortgageAppController (re) produziert den kanonischen BorrowerScenarioProfile über den neuen ScenarioDiscoveryService nach **************** (best-strengung, sein eigenes tx). Fügt mlos.intake zu @EnableJpaRepositories hinzu.
· kamo-shared-library
LOAN doc-type guard (D2), Sign-Convention Adapter (D3), pro-Ort Governor Konfiguration (D4)
- ImageService: einen docType für ImageAssocType.LOAN Uploads benötigen (LOAN-scoped; ACCOUNT/SERVICE_* unverändert). - SignedAdjustmentAdapter: die Regel-7 Adapter/compat Grenze (Canonical Adjustment - signierte Wert) für inkrementelle Zeichen-Konvention Migration. - AutonomyGovernorConfig + repo + GovernorConfigResolver (org - Plattform-Standard ConfigMap Layering); DbAutonomyGovernor löst nun Kalibrierung/Ende pro-Ort.
· kamo-internal
AUS Anschlüsse Registerkarte (D37) + Block 2. Hypothekenmarkt (D38)
- MortgageAusConnectionsTab: org-scoped DU/LP/GUS Anmeldeinformationen config (eine pro Art); secret ist ein Nur-Wage-Passwort-Feld, Zeile zeigt nur, ob ein Anmeldedaten gesetzt ist. - Neue Marktseite: die MORTGAGE Option + validieren, sobald die org eine hat.
· SecurityService
AUS-connection config schreiben Oberfläche (D37) + Single Hypothekenmarkt per org (D38)
- MlosConfigWriteService ************ org-scoped (resolveProfile), one-per-AusKind Einzigartigkeit, geheim auf Blanke-Secret-Editionen erhalten, WORM Audit Wirbelsäule. - MlosConfigController /aus-Verbindungen GET/POST/PUT - Geheimnis ist nur schreiben (verschlüsselt über PlatformSecretCipher innerhalb der Mutation); die Ansicht freilegt hatCredential, nie der Chiffretext. - ************ lehnen einen 2. MORTGAGE Markt per org (409).
· kamo-internal
Unteredenleger der Investorendelegation pro Programm (D39)
Lassen Sie die delegierte Switch/Kolumne; jede Investorenreihe erweitert sich um ein pro Programm Delegationsredakteur (Programm UUID, blank = Investor-wider-Verzug; DELEGATED/ NON_DELEGATED) unterstützt durch die neue /investors/{id'/delegations API.
· SecurityService
Investorendelegation schreiben Oberfläche - pro Programm CRUD (D39)
Drop delegierteAuthority aus dem InvestorConfig schreiben/Ansicht; InvestorDelegation Sub-Sammlung unter /investors/{id'/delegations (GET/POST/ PUT, löschen über active:false) auf der D31 config-write Wirbelsäule . org fail-closed über den Stammleger WORM change-log + profileVersion Bump pro Zeile.
· kamo-shared-library
Per-Programm Investorendelegation (D39) - neues InvestorDelegation Kind
Delegation ist granular pro (Investor, Programm), nicht eine grobe InvestorConfig boolean. Ergänzt DelegationAuthority {DELEGATED, NON_DELEGATED&E, InvestorDelegation entity (mlos_investor_delegation, optional programId; null = investor-weiter Standard) + Repo, und Tropfen ****************
· kamo-shared-library
[AUS] AusConnectionConfig Unternehmen pro-Ort pro Markt DU/LP/GUS-Verbindungen
Eigentümer-Direktive #6: Jede org konfiguriert ihre eigenen AUS-Anbieter-APIs (Fannie DU / Freddie LP / USDA GUS) pro Hypothekenmarkt, im Rahmen-commerce. Faelles Datenmodell: AusConnectionConfig (mlos.config, neue Tabelle mlos_aus_connection_config) - eine Zeile pro (Kreditprofil, AusKind); da ein LenderProfile ist one-per-market, Keying von KreditgeberProfileId macht diese pro Markt. Wiederverwendung des bestehenden AusKind enum (DU/LP/GUS) und VendorKategorie.AUS Vokabular statt erfinden neue. Geheimnis in Ruhe: Das API-Geheimnis wird NUR als AES-256-GCM-Sular-Ciphertext gespeichert (verschlüsselt von PlatformSecretCipher auf Schreiben, Spiegelung von SocialConnection/ PlatformOAuthClient) und ist nie in einem DTO . liest ausgesetzt hatCredential statt. clientId/endpointUrl/configJson sind nicht geheim. Unique (Profil, aus_kind). Backend write/controller ************ + the kamo-internal AUS-Verbindungen Registerkarte + i18n + KI (neue Tabelle) bauen auf dieser nächsten; die pro-Markt vs org-scoped resolve ist eine Konfigurations-Spine Entscheidung, die dem Besitzer aufgetaucht ist.
· kamo-shared-library
[ImageAssocType] Anhängen LOAN - Bilder an einen Kredit anhängen, doc-Typ erforderlich
Eigentümer-Anweisung: Bilder können direkt an ein Hypothekendarlehen angehängt werden, immer mit einem relevant doc-Typ. LOAN an BildAssocType (id 11, Bucket Imaging-Darlehen), Spiegelung der ACCOUNT Dokument-Sammlungsflaggen: istAllowDocType=true + istAllowDocTypeOpt=false, so dass ein Darlehen Dokument doc-Typ erforderlich ist und NICHT org- optional. Hinzufügen von erforderlichemDocType() (isAllowDocType && !isAllowDocTypeOpt) so hoch Pfade erzwingen 'immer ein doc Typ'. Persistenz-sicher mit NO KI/Schema-Änderung: Img.assocId hat keine @Enumeriert (Standards zu ORDINAL) und es gibt keine CHECK Einschränkung, so dass das Anhängen am END jeder bestehender Reihe ordinal (ein Testwächter LOAN-ist-last). 3 Tests grün. Koordinierte Nachbeobachtung (geflaggt): (1) Bereitstellung der Imaging-Darlehen MinIO-Eimer über KlusterServices vor dem ersten Loan-doc-Upload; (2) den ImageAssocType wieder aufbauen Verbraucher (DocsService macht Werte()[id] - müssen LOAN kennen, bevor eine LOAN-ID ankommt: **************** holen es auf ihre nächste CI-Build); (3) Durchsetzung erfordertDocType() auf dem Kredit-doc-Up-Save-Spose-Pfad.
· kamo-shared-library
[Sign-Convention] Geld-Signzeichen-Convention Validatoren + Anpassungsmodell
Nach den kanonischen Regeln des Besitzers. Core Domain Geld nie codiert Bedeutung in einem Zeichen: - ************ / requirePositive - Vermögenswerte, Verbindlichkeiten, Verbindlichkeiten, Gebühren, Kosten, Gutschriften sind POSITIVE Magnituden in ihren eigenen Felder (Regeln 1-3); ein negativer Wert versagt schnell. - Anpassungsrichtlinie {INCREASE, DECREASE, CREDIT, DEBIT, PREMIUM, DISCOUNT. Preisanpassungen (LLPAs, SRPs, Preisanpassungen, Konzessionen, Rabatte) legen eine explizite Richtung, nie eine unterschriebene Nummer (Regel 5). - ************ + der selbstbeherrschende Einstellrekord eine Magnitude zurückweisen, deren Zeichen mit der erklärten Richtung kollidiert (Regel 6); eine signierte Anpassung kann nicht konstruiert werden. Regeln 4 (Zeigen von +/- Leben in der GL-Schicht) und 7 (Signung nur im Adapter Schicht) sind architektonische Grenzen, die der Wächter durch das Leben im CORE und Ablehnung der signierten Codierung - die zeichentragende Konvertierung für Investor/Lagerhaus/ Buchhaltungs-/MISMO-Feeds bleiben durch Bauweise aus der Domäne heraus. 4 Tests grün.
· kamo-shared-library
Canonical BorrowerScenarioProfile + ProductDiscoveryGate
Per der Anweisung des Eigentümers 5.A: ScenarioSupportPolicy muss eine kanonische konsumieren Borre Scenario Profile aus normalisierten URLA-Daten generiert, nie rohe Formen/UI, und zukünftige Quellen (AUS/OCR/AI/manuell) UPDATE, dass kanonische Aufzeichnungen statt Umgehung. - BorrowerScenarioProfile (mlos.intake, neuer Tisch **************** die einzelne Pro-Leihgabe Quelle der Wahrheit - die 5 getippte URLA Produkt dimmt + eine erweiterbare berechnet-Fakten JSONB + lastSource + version. Verrückbar (behält Wahrheit), geprüft durch source+version. - BorrowerScenarioProfileService: produceFromUrla(loanFile, orgId) ist die Entstehung (lest normalisiertes Darlehen/Property unmittelbar nach URLA-Normalisierung);Aktualisieren Sie Update an ist die NUR Naht später Quellen verwenden (scheitert laut, wenn kein Profil existiert - Genese ist URLA ist allein, die Durchsetzung von update-don't-bypass); toSupportProfile projiziert die 5 Dims. - ProductDiscoveryGate: die .5.A Rechtsmauer konsultiert VOR Anspruchsberechtigung / Preisbildung löst ScenarioSupportPolicy (Mieten überschreibt + Code-Standard) über die kanonische Profil und, auf eine Ablehnung, zeichnet eine WORM AiDecision zu einem Steward geleitet (NO_ELIGIBLE_PRODUCT, rechtlich erforderlicher Mensch; DEFERRED_HARD_STOP=HIGH, STEWARD_ONLY= MEDIUM) über eine optionale Entscheidungsin. SUPPORTED schreibt nichts. 10 Tests grün. Build-and-Flagge: benötigt einen KI-Lauf (neuer Tisch) + die Service-Flow-Verkabelung (Call produceFromUrla am URLA-Normalisierungshaken + gate.evaluieren Sie bei Produkt- Entdeckungseintrag) im Besitzdienst.
· kamo-shared-library
[12] -5.A ScenarioSupportPolicy deferral-interlock resolver (D36)
doc 12 Zeile 235 P0 - 'die billigste Lebenszyklus-Ergstellung mit dem höchsten Verschulden'. Eine Rechtsmauer bei Produkt-Entdeckung, die ************ von still laufen als vorwärts erste-Liene (falsche Enthüllungen). ScenarioSupportResolver (pure @Component) maps a ScenarioSupportProfile (LoanType x Purpose x Lien x Lien x Amortisation x Construction, die vorhandenen URLA enums zu donotmodify) zu {SUPPORTED | STEWARD_ONLY | DEFERRED_HARD_STOP> Default Matrix (D36): SUPPORTED = Forward Agency/non-QM FIRST-lien kaufen/refi mit eine Standard-Abschreibung (was die deterministischen Motoren abdecken); STEWARD_ONLY = anerkannt-aber-outside-v1 ein Mensch kann entstehen (Unterordinate/HELOC, Bau/Heim-) Verbesserung, GPM, oder eine andere Dimkum - die umgekehrte / kaufliche Fang, da die Wohnanlage URLA enums haben keinen Wert für sie); DEFERRED_HARD_STOP = ausfallgeschlossen, wenn ein kritischer Dim ist null. Die KI stellt somit niemals automatisch ein Nicht-v1-Produkt voran. Pro-Mietmittel ScenarioSupportPolicy override Reihen Schicht auf der Oberseite (most-spezifische Match gewinnt, neueste version bricht Krawatten; null dim = Wildcard), um ein Produkt zu SUPPORTED zu öffnen oder zu härten zu DEFERRED_HARD_STOP. 13 Tests grün. Build-and-flag: der Resolver + Entitätsschiff jetzt; das Produkt-Entdeckung WIRING (consult vor der Förderfähigkeit + eine AiDecision auf Verweigerung) und KI für mlos_scenario_support_policy sind die Follow-up (braucht eine KI-Lauf - inhaber-gated).
· SecurityService
[08] ReconciledFactPublisher los.pipeline.fact veröffentlichen Naht (D34)
doc 08 3,3: Der gesperrte ************ darf kein NATS erhalten Herausgeber (der donotmodify editiert). Fügen Sie eine nicht-gesperrte ReconciledFactPublisher Wrapper das versöhnt, dann auf einer nicht-Null-Änderung Anzahl emittiert los.pipeline.fact.<orgId? auf der vorhandene LOS_PIPELINE-Stream (los.pipeline.-" bindet ihn bereits . kein neuer Stream/ Tabelle), so dass die Bereitschaftsschleife feuern kann. Repoint der einzige Anrufer (MortgageConnectController's scheiter Endpoint) am Wrapper; der gesperrte Service ist unberührt. Platzierung (D34): gemeinsam in SecurityService mit seinem einzigen aktuellen Anrufer, nicht in MLOSCapitalMarketsService als 3,3 vorläufig vorgeschlagen (dass eine RCE-Seite angenommen Caller, der noch nicht existiert). Die vorgeschriebene Invariante - nie von innen veröffentlichen der gesperrte Service - hält so oder so. Best-Anstrengung wie LosPipelinePublisher: abwesend NATS oder ein Verfehler wird protokolliert + geschluckt, die Anzahl wird noch zurückgegeben. 4 Tests grün.
· kamo-shared-library
[12] - 5.C AutonomyGovernor - Kill-Switch + force-steward-until-calrated (D32)
Das DecisionGate trägt bereits einen GLOBAL statischen Kraft-Steward @Value, aber 5.C. braucht zwei Dinge, die es nicht geben kann: ein Kill Switch flippable OHNE Redeploy (so DB-Backed) bei GLOBAL/TENANT/TASK_TYPE Granularität und Kraft-steward-until-N--N- Kalibrierungs-Probes pro Task-Typ (die billige P0 die Kalibriermaschine degeneriert zum Start - doc 12 Theme C / 6,1). AutonomyGovernor (Regierung pkg) ist ein OPTIONAL Docstor (ObjectProvider, gated on mlos.governor.enabled) synchron konsultiert von DecisionSpine.record() Die gleiche Form wie StewardAssigner. Es ist ADD-ONLY, genau wie die rechtliche Wand: es kann nur eine Möchtegern- AUTO_EXECUTE in ROUTE_TO_HUMAN verwandeln, niemals ein Routing heben, so ist das reine/staatenlose DecisionGate unberührt. Zwei Einsatzbedingungen: (a) ein aktive AutonomyKillSwitch Matching (orgId, aiFunction) - breitester Spielraum gewinnt begründet; eine veränderliche/flippbare Einheit, NICHT WORM, auditiert über engagiertBy/at; (b) Kalibrity Bootstrap - Plattform-weite nicht-test StewardFeedback-Zählung für die aiFunction unter min-samples (Standard 50), gezählt durch eine neue Join-Abfrage. Wenn die Gouverneur ist die Ursache für Routing, seine Begründung ist an die WORM AiDecision anhängen so eine hochvertrauensstarke Entscheidung, die an einen Menschen ging, ist nie unerklärlich. Neue Tabelle autonomy_kill_switch (additive DDL - KI run). 30 Tests grün (7 Gouverneur Logik + 3 Spine Add-only-Integration + 6 Wirbelsäule + 14 Gate); alle vier Entscheidungsspinne ctors erhalten (bestehende Anrufer unverändert).
· kamo-internal
[04] Risikoüberschicht-Tab - Credit-Box/Geo/Expositionsschichten (D31)
Neuer MORTGAGE Marktkonfigurations-Tab für pro-Tenant-Risiko-Überlagerungen: Kategorie (Kreditkasten / Geo-Konzentration / Immobilientyp / Darlehensbetrag / Betrug / Expositionsgrenze) + Aktion (Verweigerung / Referer / Gegenoffer / Flagge) + optionaler Produktvariantenumfang + effektives Fenster + optionaler JSON-Regelausdruck (validiert für Parsenability Client-Seite, Spiegelung des Servers 400). Zeilen hinzufügen/entfernen; Entfernen ist eine harte Löschung. Renders nach Investoren, vor dem Register der always-on Vereinbarungen. configTypes/configApi Spiegeln Sie das D31-Sammelmuster; i18n über das kamo-translation-dictionary Repo.
· SecurityService
[04] Scheibe E2 RiskOverlay Kollektion CRUD (D31)
Risikoüberlagerungen (Kreditkasten / Geo-Konzentration / Expositionslimit-Schichten auf der Basis-Kredit-Box) als Konfigurations-Sammlung auf der D31-Rücken: Defaults erstellen configVersion=1 + stamps Profil Identität + Buckel ProfilVersion + validate-or- Rollback + fügt ein WORM MlosConfigChangeLog an; update/löschen sind ausfallende 404 auf der Zeile eines anderen Profils; löschen ist eine harte entfernende, die als {"deleted":true" geprüft wird. Die RegelExpression ist eine JSONB-Spalte - der Controller parse-validiert es als JSON vor dem Schreiben so schlechten Input ist eine saubere 400, nicht eine 500 Mitte-INSERT. Null/blank ist erlaubt (der Regelvokabular ist eine aufgeschobene Schicht, die vorerst vom Band getragen wird). 20 Schreib-Spine-Tests grün (4 Overlay + 4 Investor + 6 Lizenzierung + 6 Stage-Override).
· kamo-internal
MORTGAGE Anleger Registerkarte (list/add/remove) - [04] Scheibe E2 (D31)
Die 7. MORTGAGE config Registerkarte: pro-Investor ************ Autorität Reihen mit einem Genehmigungs-Status-Chip. Hinzufügen über eine Inline-Reihe (Code + Status + optional ************-Entfernung über Müll (hart löschen) serverseitig). configTypes InvestorView/InvestorRequest + die 3 enum Arrays + Label Helfer; configApi ************ als Reiter 'Investoren' registriert nach Lizenzierung, vor Vereinbarungen. Englisch über das Übersetzung-Wörterbuch repo. tsc clean.
· kamo-internal
Unified Social Timeline UI bei /marketing/social
Live, animierte Cross-Provider-Feed Wiederverwendung im Clubhaus-Feed-Stil: virtualisiert Timeline, Provider Filterchips, SocialPostCard (Fähigkeitsgeräte antworten/reagieren/löschen), Multi-Provider SocialComposer (pro-Provider-Fähigkeitshinweise + Fan-out-Ergebnischips), Facebook-Stil NewPostsPill (kein Autoscroll), verwendenSocialFeedWebSocket live über /topic/social/feed/{orgId' und die /api/media/social/* Proxy-Routen. Schreibaktionen gated auf MANAGE_SOCIAL_MEDIA; Fähigkeit-gesteuerte Funktion-Verstecken durchgehend.
· MediaService
Unified Timeline Backend (Futterdauern, Adapter, Live-Relais)
SocialFeedService hält Beiträge/Kommentaren auf dem MediaSession/MediaObj-Schema fest (Wiederverwendung des Chat-Modells); SocialFeedMapper baut die Draht-DTOs; SocialTimelineController dient der fusionierten Feed + Fähigkeiten und Multi-Provide-Komponie Fan-out, antworten, reagieren, löschen. Feed-Events veröffentlichen social.feed.{orgId' -- /topisch/sozial/Futter/{orgId' (Relay + Cross-Tenant SUBSCRIBE Wache). SocialInboundConsumer-Fans aus, um Artikel zu füttern; Umfrage Sweep Backfills. Alle 5 Provider Adapter ************ SocialFeedAdapter bis zum Maximum jeder API, Fähigkeit-gated.
· kamo-shared-library
Unified Timeline SPI + Entitäten auf dem Medienschema
MediaSession/MediaObj zu halten Social Posts & Antworten (post=MediaObj, comment=child MediaObj via MediaObjMsg.parent, Anbieter Linkage auf MediaObjSocialRef). Fügt SocialFeedAdapter Unter-Schnittstelle hinzu (Feed-Ops ferngehalten der DM SocialProviderAdapter Pfad), MediaSessionSocialFeed (proconnection Feed-Session), MediaObjSocialRef Feed-Kolumnen, SocialObjKind, und die erweiterte ProviderCapabilities Matrix, die pro-Provider UI-Funktions-Verstecken fährt.

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