チェンジログ
何が新しいの?
プラットフォームのすべての改良 それが出荷される
· kamo-internal
MemberIds が開いたグループチャットのセッションを作成します
ChatTool は props.memberIds を無視しました: グループが空に現れます userId と no sessionGuid なので 1:1 createSession は初期と ウィンドウはセッションがなかった。 MemberIds が ChatTool を提示する際の今 POST /sessions/chat/find-or-create でセッションを解決します。 (同じエンドポイント ChatBox の初期MemberIds パスの使用; バックエンドの追加 呼び出し者自体)。 会員リストは安定したソート文字列としてキー化されますので、 効果は配列のアイデンティティで再ファイアされず、解決された guid フロー グループウィンドウがGUID-anchoredであるので、既存の書き込みバックを通して バックアップ.
· APIService
電子メールOAuthプロバイダコールバックのためのパブリックパススルー
転送GET ******************** に Eメールサービス セッションレス (strips auth, 以下リダイレクトなし), RingCentral OAuth コールバックをミラーリング. これは、Microsoft/Google/Zohoに登録された固定公開リダイレクトURIです.
· EmailService
固定パブリックリダイレクト+ゲートウェイフォワードコールバック
プラットフォームのメール OAuth (Microsoft 365 / Google / Zoho) は、有効な公開がなかった リダイレクト URI: リダイレクトはリクエストホストから派生しました。 クラスター内サービスアドレスであり、唯一のコールバックハンドラは POST専用 単一の固定された、一般に到達可能なリダイレクトURIを両方使用 認可とトークン交換を要求し、パブリックGETコールバック プロバイダがブラウザをリダイレクトする(org は state で実行されるので、no セッションが必要です。 HTMLページを自動閉鎖する.
· kamo-internal
ゲートリードコンタクト-infoを割り当てる+新しいプライバシーの権利
3つの新しいCRMの権利をミラーリング. リード詳細ページでは、マスク/ロック プライマリコンタクト、メーリングアドレス、プロパティアドレスフィールド、リード ビュー/編集を保持しない限り、現在のメンバーに割り当てられていない コンタクトの権利(および、譲渡されていないリード、VIEW UNASSIGNED LEADS); 状態フィールドは常に表示されます。 アサインパン再割り当てゲートを切り替える ASSIGN LEADSへ。 /leadsグリッドで、Unassignedフィルタオプションをゲート 投稿者 VIEW UNASSIGNED LEADS, 今空メール/ストリートフィルタをドロップし、 email カラムの値で、flip でプロパティーvs-mailing 状態を表示します.
· SecurityService
リードコンタクト-info プライバシーの権利を強化
getAllLeads は、Lean LeadListDTO を返し、不要なリードを非表示にします。 VIEW UNASSIGNED LEADSのないメンバーから。 GetLeadById マスクは、 リードのための情報(保存状態)は、それらがなければ、発信者に割り当てられません VIEW LEAD CONTACT INFO OTHERS, と 403s は、それらのためのリードを割り当てました VIEW UNASSIGNED LEADSの欠如。 updateLead ゲート手動再割り当て (ASSIGN LEADS)および連絡先情報編集 メニュー mortgageプロパティフィールドを実際に変更したときにのみカウントします。 神のバイパス.
· kamo-shared-library
リードコンタクト-info プライバシーの権利 + リーンリストDTO
3つのCRM権利を追加します。 (161-163): 「その他に割り当て: リードを表示/編集 コンタクト情報「Unassigned Leads」と「View Unassigned Leads」 lean の LeadListDTO を追加 /leads の格子のための投影は接触情報を除いて運びません ステートフィールド。 Add **************** 携帯電話のストリップに/ ゲートされた読者のための電子メール/mailing+property の住所(保存される州).
· kamo-register
/member と /team パスからメンバーシップタイプを送信
/team のサインアップは TEAM MEMBER (created PROSPECT の作成、管理の活性化) を作成します。 /member サインアップすると、EMBERが作成されます。 RegisterFlow は、各パスが供給する memberType の prop を取ります ラッパーとレジスタボディに含める; バックエンドはマッチングを作成します 会員タイプ.
· SecurityService
/team は TEAM MEMBER (PROSPECT) を作成します
パブリック登録は、登録サイトが送信するMemberTypeを表彰するようになりました(/memberから) チームパス: /team は TEAM MEMBER を PROSPECT として作成しますので、管理者はそれらをアクティブにする必要があります。 サインインする前に(ログインゲートごとに)、/member はベース MEMBER を作成します。 応用分野 createRegistrationMembership() を使用して、新規ユーザーと既存のユーザー再利用パスの両方へ。 ザ・オブ・ザ・ securityProvider ミラーは変更されません(ベース MEMBER を横にし、org がそのときスキップされます) 独自のセキュリティプロバイダ。 以前は全ての登録簿がベースEMBERを作ったので、/team の申請者は、 MEMBER は、UI を経由してチームメンバーとして追加できませんでした (409 既にメンバー).
· SecurityService
チームメンバーのコントラクターでチームメンバーワークの電話延長を公開
/leads のエージェント フィルターは、ワーク フォン エクステンションをラベル オプションとして必要 "名前(ext 8080)"。 TeamMemberに既に存在する拡張子 (getPhoneWorkExtension) がシリアライズされていないため、ベアナンバーのみでした.
· kamo-internal
リクエストサポートポップアップは、親組織の共有トピックを示しています
新規でチケット決済トピックのドロップダウンをポイント /api/support/topics/利用できるエンドポイント(own-org + 親共有トピック) したがって、子-org ユーザーは、親 org のサポートに連絡することができます 親の構成されたトピック.
· MediaService
サーフェスの親オーガニ共有トピックは、サポートポップアップでリクエスト
Child-org のユーザーは、親 org の共有サポート トピックが表示されない サポートを要求する場合(assignToOwnOrg=false)、ポップアップのみ 独自のトピックを取得しました。 GET /api/support/topics/available (own +) を追加 親共有、MANAGE SUPPORT ゲートなし、 getParentOrgTopics を固定して使用 修正されたAssignToOwnOrgFalseクエリ。 親共有に対するファイリング トピックは、すでにチケットを createTicket 経由で親の org にルーティングします.
· SecurityService
親のセキュリティプロバイダを継承する新しい子組織
Kamo-internal から子の org を作成する場合、新しい org の securityProvider をセットします。 それを許可するのではなく、親 org のsecurityProvider ( org で作成されます) デフォルトはセルフです。 既存のすべてのorgのポイントを埋めるデータバックフィルでペア トップレベルのKamoCRMのorgでsecurityProvider, ので、メンバーシップミラーリングは、 すべての組織とその将来の子供たち.
· kamo-login
?linked=1でアカウントリンク通知を表示する
既存のアカウントを新しいorgに登録すると、ここにリダイレクトします。 ?linked=1. "あなたはすでにカモアカウントを持っている - 私たちは、この組織を追加しました お問い合わせ 既存のパスワードでサインインし、メールを埋めます。 既存のミラー ?email verified の処理.
· kamo-register
既存のユーザーのアカウントリンク応答の処理
入力したメールが既にACTIVEアカウントに所属している場合、バックエンドはこれをリンクします。 org で、account LINKED を返します。 サインインするユーザーを直接ルート (?linked=1) ではなく、メール検証フロー — 既存のものにサインイン パスワード 新規ユーザーとプレースホルダーのサインアップは、確認メールパスを保持します.
· kamo-internal
ワイヤーアップメンバー/チームメンバー作成+プロスペクトゲートUI
- 欠落したPOSTプロキシルート/api/security/members/createを追加し、 /create-team-member(前は405節)なので、バックエンドに辿り着くことはありません。 ステータス + JSON ボディパス フォームの 409 「すでにメンバー」 再利用処理 作品紹介 - MemberCreateForm: フローティングラベルが重複したメンバーシップステータスフィールドを修正 「ステータスを選択」プレースホルダ(シュリンクラベル+ノッチアウトアウトアウトアウトプット)を追加し、 「アクティブ」のチームメンバーだけがサインインできることに注意してください.
· SecurityService
既存のユーザーを、securityProvider にミラーを、ゲートのチーム メンバーの印使用して下さい
再利用(同一人物の重複アカウントなし): - MemberCreateControllerは、既存のユーザーを個人メールで再利用できるようになりました。 ケース・インセンシブリー(ケース・センシティブ、レガシー・ミックスケース・メールの欠如)。 - SecurityController.register は、常に作成するのではなく、既存のアカウントを再利用します。 新規ユーザー: 既に org -> 409 ALREADY MEMBER のメンバー (サインイン) 既存の ACTIVE アカウント → org をリンクし、パスワードを保持し、Account LINKED を返します。 不活性なプレースホルダー(検証済みでログインしない) -> それを主張する パスワードを入力してください。 パブリックフォームは、アクティブなアカウントのグローバルパスワードを上書きすることはできません。 securityProviderミラー: - 社内メンバー/チームメンバー作成とパブリックレジスタの両方がコールできるようになりました **************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** orgのsecurityProvider org(ベースメンバーとして) チームメンバーの活発化のゲート: - 会員登録状況がわかるチームメンバーのログインブロック != ACTIVE with "あなたのアカウント 現時点では活動していません。 正規会員とアクティブチームメンバーパス Org-resolution硬化(X-Forwarded-Hostの兄弟): - getExternalProviders と PortalController.resolveOrg は alias-fallback ソルバーを使用します。 getServerName() のフェイルオープン(プラットフォームの org を漏らす代わりにクローズ)をドロップします.
· kamo-shared-library
SecurityProvider 会員ミラー + 再使用/パッチ グラウンドワーク
-**************** userId: ユーザを org のセキュリティプロバイダー org をベースメンバーとして (セットアップ済み; org のとき no-op) 自身を保護したり、既にユーザがいる。 すべての新しいルールを返す 会員は、プラットフォーム/セキュリティ・プロピダー・オーガニゼーションの下でも上陸します。 メニュー 場合の無感覚、 クロスオーガナイズアカウントの再利用のための多重性安全メールルックアップ(メールはグローバルではありません) ユニークなので、シングルオプションのファインダーがスローされます。 -****************は、セキュリティプロバイダをセルフオンにリセットを停止します すべての org 編集 (null 時のみ) なので、子 org はリンクを続けます プラットフォームプロバイダはミラーに依存します.
· kamo-internal
ワイヤータスク タブ 実際のバックエンドへ + アクションを削除 + ライブカウント
/leads/{id}/tasks[/{taskId}] の次のプロキシルートを追加します。(タブの getTasks/ addTask/updateTask/completeTask の呼び出しは 404ing でした)、deleteTask のアクションは タスク グリッド、 'タスクを開く' ステータスをライブ タスク リストから導きます。 TASK CHANGED イベントの refetch タスクとして流れます.
· SecurityService
リードタスク REST API + リアルタイム TASK CHANGED
/leads/view Tasksタブのバックエンドを既に呼び出していましたが、 決して存在しません: GET/POST/PUT/DELETE メニュー (LeadTaskController + LeadTaskService)、ロックエンドポイントのように保護されている。 各 create/update/delete が TASK CHANGED を生成し、オープンなリードビューがライブをリフレッシュします.
· kamo-shared-library
リードフォローアップタスクのためのLeadTaskエンティティティティ
/leads/view タスク タブ (主にフロントエンド専用スタブなし) をバックアップします。 持続性)。 LeadTask(table LEAD TASK)は、フロントエンドのTaskItem形状をミラーリング メニュー + LeadTaskDTOとリポジトリ。 タスクのミューテーションは、既存のリードリアルタイムチャネルでTASK CHANGEDを放送します.
· kamo-internal
リアルタイムのdatagrid + 1枚の編集ロックが付いている生きている鉛眺め
/leads グリッドは websocket (NATS→STOMP): 行の追加/削除/更新 アクティブなフィルターに対して自動的にそして変更された細胞は他のために一度点滅します メンバーの編集、デッドリフレッシュボタンが削除されます。 /leads/view/[id] はライブ リード/履歴/タスク/ステータスの更新とパーペンの排他的な編集ロックを獲得 'currently 編集' の roster, ライブカウントダウン, idle/disconnect のオートセーブ. useLeadsRealtime hook、リードLocksApi + 次プロキシルート、再利用可能な追加 MemberContactCard(名+作業延長、クリックツーコールソフトフォン/オープンチャット)。 鉛の更新は、null-preservinglyをマージするので、部分的なペイロードは決して空白の細胞をしません.
· MediaService
Org-guard /topic/leads/rt/{orgId} リアルタイムサブスクリプション
クロステナントSUBSCRIBEは、新しいリードリアルタイムのトピックを監視し、 既存の /topic/social/feed ガード: 会員は、会員のみに加入することができます orgのリードストリーム。 既存の************************は既に リレーsecurity.leads.rt.* を /topic/leads/rt/* に中継するため、リレー変更は必要ありません.
· SecurityService
パーパンの編集ロックREST API +自動保存スイーパー
/api/security/leads/{id}/locks を追加 **************************************************** LeadLockService: 排他的なパーペインの予約、ラフトバッファリングハートビート 5分アイドルTTLをリセットし、バッファを自動保存するスケジュールされたスイーパー idle-expiryまたはプレゼンス グレースのタイムアウトに関するドラフトとリリース。 Idle-expiryとは 絶対エポックミルとして放出される。 Lead.lock.* (configmap) で設定します.
· kamo-shared-library
リアルタイムNATSの公開+パーペの編集ロックエンティティティ
Org-scoped リードイベントを、security.leads.rt.{orgId} に公開 (created/updated/) /leads グリッドと /leads グリッドが変更されたフィールドキー、履歴追加で削除され、 /leads/view ページは、ライブを更新できます。 ************************************************************************************************************************************************************************************************************************************************************************************************************************************ 変更されたレジストリキーは、UIの点滅を駆動するために使用される。 LeadPaneLockエンティティティ(table LEAD PANE LOCK、ユニーク(LEAD UID、PANE))を追加し、 排他的なパーペイン編集ロックをバックアップするリポジトリ; 出版社は、 カウントダウンのための絶対エポックミリシス(タイムゾーンセーフ番号)としてのアイドルexpiry.
· kamo-internal
プライマリタブを残りのスタイルAページのヘッダーに統合
スタイルA→Bスイープのフォローアップ、通過しないページをカバー 設定ビュー: - /kb:KbNavBarは記事/リソース/でグラデーションヒーローヘッダーになります レビュータブが統合され、新しい記事アクションが整列されます。 レイアウト 共有された放射状の背景を取得します。 メニュー ミニバック矢印ヘッダー+一般/ Domains MUIタブは、統合されたタブでグラデーションヒーローヘッダーになります。 - /leads/view/[id]: 主レコードタブがヘッダバーグラデーションに移動 ヘッダ; インラインステータス/サブステータスエディタはヘッダに追加されます 適切な整列操作(勾配のためにスタイル)、別の置換 タブカード.
· kamo-internal
一番下のカウントバーを社会全体にヘッダに移動し、タブをインポート
兄弟のCRM設定の表面にベンダータブの治療を適用しているので、 スタンドアローン "x • y" のサマリーバーは、もはやページ不動産を食べません。 - ソーシャル・コネクションと自動インポート:ヘッダ・アクションのボトムアライメントと リフレッシュ+追加/作成ボタンの上の行の積み重ねを数える。 - 手動輸入のサブタブ(高速インポート、インポートテンプレート):カウントはに移動します 孤独の左は、下部バーをドロップして、アイコンをリフレッシュ(スペース-between).
· kamo-internal
ヘッダーアクションの上でベンダー/製品数を移動すると、ボトムアライメントがリフレッシュ+ベンダーを追加
このページの不動産を回復するために使用されるスタンドアローンボトムサマリーバー occupy — "x ベンダー • x 製品" ラインは、アクションの上にスタックします。 ヘッダ内のボタンと、タイトルブロックでボタンを下部揃えます.
· kamo-internal
プライマリタブをスタイルAページ全体でページヘッダー(スタイルB)に統合
グラデーション・ヒーロー・ページごとに、そのプライマリ・タブを別々のカードにレンダリング ヘッダの下では、 グラデーションヘッダ自体をレンダーし、一致する /アカウントと/サポート。 - 設定ビュー:タブバーがグラデーションヘッダに移動(すべての〜23を変換) /settings/* ページを一度に); カラム、ヘッダアクション、backHref、および タブのアイコン/glow/alignRight は保存されます。hideTitle はタブを保持します。 - /leads/reports: レポートタブはヘッダーに移動しました。 - /commerce(PipelineView): 市場ごとのタブ(縦のアイコンと) ヘッダ;シングルマーケット/オンボーディング状態は変更されません.
· kamo-internal
ヘッダーの矢印は /leads に戻ります
オプションの backHref/backTooltip を [SettingsView] に追加して、白をレンダリングします。 タイトルの左矢印をバックアップし、CRM設定ページをワイヤーで縛って送信 /leads に戻ってメンバー。 Tooltip は既存のローカライズを再利用します Lead.view.header.backToBrowser ('Back to Lead') 文字列.
· kamo-internal
Bold 'CRM Settings:' プレフィックス, パイプセパレータ, タブリンク上のホバーのみアンダーライン
CRMの設定タブは、太字の「CRM設定:」ラベルとリンクします (new ******************** キー), 別々のリンク ' | ' スペースの代わりに、リンクを常にアンダーラインから切り替える アンダーライン・オン・ホバー.
