- Introduced Kuando Busylight integration for centralized presence management. - Updated case creation UI to support new modules and improved type handling. - Added personal Buzzwords visibility preferences for users. - Implemented file upload functionality directly from the case topbar. - Enhanced validation and user experience in case creation process. - Created migration for user-specific module preferences. - Updated tests to cover new features and ensure functionality.
4.7 KiB
Kuando Busylight og central Presence i BMC Hub
Status: Planlagt
Formål
Kuando Busylight bliver et output fra BMC Hubs fælles Presence Engine. Hubben er eneste status-master; profilprik, medarbejdervisning, Mission Control og Busylight bruger den samme resolved status og farve.
Hubben kalder KuandoHUB direkte på brugerens registrerede interne IP. Der bruges ingen BMC Device Agent.
Arkitektur og afgrænsning
Hændelse eller Hub-session
↓
Presence Engine
┌──────┼───────────────┐
↓ ↓ ↓
Profil Mission Control Kuando-klient i Hubben
↓
http://<intern-ip>:8989/
↓
KuandoHUB
↓
USB Busylight
- Hubben må kun kontakte IPv4-adresser i
172.16.0.0/12. - KuandoHUB bruger altid HTTP, port
8989og den faste/-endpoint. - Der understøttes én Busylight/KUandoHUB-konfiguration pr. bruger i første version.
- Brugeren indtaster selv sin interne IP i Profil → Busylight. IP-adressen er en begrænset destinationsadresse, ikke en login-mekanisme.
- Brugeren kan være
Available, selv om KuandoHUB ikke kan nås. Enhedsstatus og presence er separate tilstande.
Presence Engine
Det globale, administratorstyrede statuskatalog starter med:
| Status | Farve |
|---|---|
| Available | Grøn |
| Working | Gul |
| Busy | Rød |
| Do not disturb | Lilla |
| Lunch | Cyan |
| Away | Orange |
| Not at work | Pink |
| Offline | Grå |
- Normalstatus er
Availableved aktiv Hub-session ogOffline, når sidste aktive session lukker. - En manuel status varer, indtil brugeren selv ændrer den.
- Prioritet opløses centralt: critical → phone → meeting → do-not-disturb → working → available.
- Når timer, opkald eller en notifikation ophører, genberegnes den gældende status. Der lagres ikke en løs farve, der blot skal genskabes.
- Presence udsendes gennem en dedikeret autentificeret WebSocket med bruger, resolved status, farve, kilde og tidspunkt. Eksisterende WebSocket-kontrakter for telefoni, Mission Control og bundbaren bevares.
Profil og enhed
Profil → Busylight indeholder aktivering, intern IP, online-/fejlstatus, seneste kommando og testknapper for grøn, gul, rød, blå, lilla og sluk.
Kuando-klienten validerer destinationsadressen, følger ikke redirects og bruger korte connect-/response-timeouts. Kommandoresultater og fejl gemmes. UI må kun angive, at KuandoHUB accepterede kommandoen; fysisk lysrespons bekræftes visuelt.
Leveringsrækkefølge
Fase 1
- Statuskatalog og central resolved presence.
- Profilprik, Profil → Busylight og direkte KuandoHUB-kald.
- Manuelle farvetests og sluk.
Fase 2
- Timer-start/-stop kobles til Working/Available.
- Telefoni: ringning giver midlertidig notifikation, besvaret samtale giver Busy, og afslutning genskaber den beregnede status.
- Mission Control viser samme medarbejderstatus.
Fase 3
- Separat notification-overlay med blink/pulse, varighed og valgfri lyd.
- Tilslut ny/tildelt/hastesag, direkte besked, indgående opkald samt Mission Controls drift-warning og drift-critical.
- Critical-alarm kan kvitteres i Hubben og vender derefter tilbage til gældende presence.
- Profilen får lydvalg, volumen, ingen lyd under samtale/møde og quiet hours.
Data og API'er
- Nye migrationer opretter statuskatalog, brugerpresence/overlejringer, Busylight-enhedsindstillinger, kommandohistorik og alarmkvitteringer.
- Autentificerede API'er dækker læs/ændr egen presence og Busylight-indstilling, hent/test egen enhed, administrér globale statuser og notifikationsregler samt kvittér critical-alarm.
- Kun administrator må ændre det globale statuskatalog. Brugeren kan kun læse og ændre sin egen enhed og status.
Test og accept
- Enhedstest for prioritet, manuel overstyring, session-baseret online/offline og genberegning efter timer, opkald og notifikation.
- API- og autorisationstest for egne enheder, administratoradgang og afvisning af ugyldige, offentlige eller ikke-
172.16/12IP-adresser. - HTTP-test mod mock KuandoHUB for farver, sluk, timeout og fejl.
- WebSocket-test for realtime profil-/Mission Control-opdatering uden regression i eksisterende telefoni og bundbar.
- Manuel accept på internt net: visuel bekræftelse af testknapper, timer og opkald; utilgængelig KuandoHUB må kun gøre enheden fejlende.
Forudsætninger
- Hub-serveren har netværksrute til brugernes
172.16.x.x-adresser, og KuandoHUB lytter på port8989. - Implementeringen ændrer ikke eksisterende API-adfærd uden for de nye presence- og Busylight-grænseflader.