Teamkommunikasjon, innebygd

Chat og e-post

Alle organisasjoner ender opp med å jonglere mellom en chatteapp, en e-postklient og det systemet som driver selve nettsiden eller butikken — tre verktøy, tre innlogginger og konstant bytting av faner bare for å få et svar fra en kollega eller en kunde.

Problemet det løser: Ansatte skal ikke måtte forlate arbeidsområdet hvor de administrerer innhold, bestillinger og arrangementer bare for å stille en kollega et raskt spørsmål eller sjekke innboksen.

Hvordan det hjelper:

  • Innebygd teamchat — én-til-én- og gruppesamtaler finnes direkte inne i Backstage, med antall uleste, samtalehistorikk og filvedlegg, slik at ansatte aldri trenger et eget chatteverktøy for daglig koordinering.
  • Gruppe­samtaler med reell administrasjon — gruppechatter kan få nytt navn, og medlemmer kan legges til, fjernes eller forlate dem på egen hånd, akkurat som i en moderne chatteapp.
  • Koble til din egen postkasse — ansatte kan knytte sin eksisterende e-postkonto (via IMAP/SMTP) og lese, organisere og svare på e-post uten å åpne en separat e-postklient.
  • Kjent postkasseopplevelse — mapper med uleste/totaltelling, meldingslister, hele meldingstekster, vedlegg og mulighet til å markere meldinger som lest/ulest eller slette dem, alt i samme arbeidsområde.
  • Konfigurasjon per leietaker — hver organisasjon konfigurerer sin egen postkassetilkobling, slik at e-posten holdes avgrenset til riktig leietaker og påloggingsinformasjon aldri deles mellom organisasjoner.

Den gode arbeidsdagen: Et raskt spørsmål til en kollega og et svar på en kundes e-post kan begge håndteres uten å forlate siden du allerede jobber i.

Hvorfor dette er viktig for organisasjonen din

Å redusere antall verktøy ansatte må håndtere er ikke bare en praktisk fordel — det betyr færre innlogginger å administrere, færre steder der en melding kan forsvinne, og mindre tid brukt på å skifte kontekst. At chat og e-post blir en del av samme arbeidsområde som innhold, CRM og bestillinger betyr at hver samtale skjer rett ved siden av dataene den handler om.


Tekniske detaljer

Chat er implementert av ChatItemService (ExireNexus.Services/Services/ChatService.cs, pluss partials ChatService.Groups.cs og ChatService.Messages.cs), støttet av modellene Chat, ChatUser og MessageItem (ExireNexus.Shared/Models).

Viktige implementeringspunkter:

  • GetOrCreateOneToOneChatAsync og CreateGroupChatAsync håndterer opprettelse/oppslag av chatter, mens SendMessageAsync, MarkMessagesAsReadAsync og GetTotalUnreadCountAsync driver den daglige meldingsopplevelsen.
  • Gruppeadministrasjon — RenameChatAsync, AddMemberAsync, RemoveMemberAsync, LeaveChatAsync — håndheves gjennom at den forespørrende brukeren er medlem, og sørger for at gruppeendringer er begrenset til faktiske deltakere.
  • GetConversationsAsync og GetChatDetailsAsync returnerer DTO-er (ConversationSummaryDto, ChatDetailsDto, MessageDto) tilpasset Backstage-grensesnittet (ExireNexus.Backstage/Components/VisitorArea/Chat/ConversationList.razor, ConversationView.razor), og holder tjenestens persistensmodeller separate fra det som sendes til klienten.
  • Meldingsvedlegg håndteres gjennom den eksisterende IFileService, ved å gjenbruke plattformens delte filopplastings-pipeline i stedet for en chat-spesifikk en.
  • Sanntidsoppdateringer flyter gjennom IChatEventNotifier, noe som frakobler tjenestelaget fra den konkrete transporten (f.eks. SignalR) som brukes for å pushe nye meldinger til tilkoblede klienter.

E-post er implementert av ImapMailService (ExireNexus.Services/Services/ImapMailService.cs), som bruker MailKit/MimeKit for IMAP (lesing) og SMTP (sending), med MailConfigProvider (ExireNexus.Services/Services/MailConfigProvider.cs) som løser hver leietakers effektive postkasseinnstillinger.

Viktige implementeringspunkter:

  • IsConfiguredAsync lar UI-en (ExireNexus.Backstage/Components/Editors/Mail/Mail.razor) oppdage om en leietaker har koblet en postkasse før den forsøker å laste mapper eller meldinger.
  • GetFoldersAsync og GetMessagesAsync returnerer lette sammendrag (MailboxFolder, MailMessageSummary i ExireNexus.Shared/Models/Email/MailInboxModels.cs) for rask listegjengivelse, mens GetMessageAsync laster hele meldingsinnholdet og vedleggsmetadata bare når en melding åpnes.
  • Vedlegg hentes ved behov via GetAttachmentAsync i stedet for å lastes ned på forhånd, noe som unngår unødvendig båndbredde for meldinger med store vedlegg brukeren aldri åpner.
  • SendAsync sender via SMTP og legger til en kopi i Sendt-mappen, i tråd med oppførselen brukere forventer fra en standard e-postklient.
  • Hver operasjon åpner en kortlivet IMAP/SMTP-tilkobling med innstillinger fra IMailConfigProvider, slik at legitimasjon alltid løses per leietaker i stedet for å caches globalt — konfigurasjonen finnes i MailSettings.razor (ExireNexus.Backstage/Components/Editors/Settings).


Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.