-
Notifications
You must be signed in to change notification settings - Fork 15
Push notifikaatiot
Push-notifikaatiot ovat käytössä työntekijöiden mobiilikäyttöliittymässä ("employee mobile" PWA). Ne ilmoittavat tapahtumasta näyttäen vain otsikon – ei viestin sisältöä. Toiminto on kytkettävissä yksiköittäin toimintojen avauksella PUSH_NOTIFICATIONS ja laitekohtaisilla asetuksilla.
Tuetut kategoriat (PushNotificationCategory):
-
RECEIVED_MESSAGE– uusi lukematon ryhmäviesti -
NEW_ABSENCE– uusi poissaolomerkintä ryhmän lapselle -
CALENDAR_EVENT_RESERVATION– huoltaja varannut tai perunut keskusteluajan (vain yksikkölaitteet)
Käyttäjä valitsee kategoriat ja ryhmät, joista haluaa ilmoituksia. Henkilökohtaiset laitteet eivät voi valita CALENDAR_EVENT_RESERVATION-kategoriaa.
- Web Push -standardin mukainen salattu payload (aes128gcm) ja VAPID-autentikointi.
- Payload-malli on yksinkertainen: lista
NotificationV1-objekteja, joilla on yksi ominaisuustitle. - Asynkroninen lähetys
AsyncJob-järjestelmällä. - ACL tarkistaa oikeuden
RECEIVE_PUSH_NOTIFICATIONSennen lähettämistä. - VAPID JWT -tokenit välimuistitetaan taulussa
vapid_jwt(uusi token luodaan vain jos voimassa olevan jäljellä oleva aika < 1 h; perusvoimassaoloaika 12 h). - Tilaus poistetaan jos push-palvelu vastaa 404/410.
Service Worker rekisteröidään polkuun /employee/mobile/service-worker.js. Luokka PushNotifications huolehtii luvasta, tilauksen luonnista ja päivityksestä. Selainpuolella vanhentumassa (< 7 päivää) oleva tilaus uusitaan.
REST-rajapinnat (mobiililaite-autentikoitu):
- GET
/employee-mobile/push-settings– luetut kategoriat ja ryhmät - PUT
/employee-mobile/push-settings– asetusten päivitys (ACL-varmistus ryhmiin) - POST
/employee-mobile/push-subscription– tilauksen (endpoint + avaimet + mahdollinen expires) luonti/päivitys
-
mobile_device– laite + valitut kategoriat (push_notification_categories) -
mobile_device_push_subscription– aktiivinen tilaus (endpoint, auth_secret, ecdh_key, expires) -
mobile_device_push_group– ryhmät, joista laite haluaa ilmoituksia -
vapid_jwt– voimassa olevien VAPID-tokenien välimuisti
- Tapahtuma (viesti merkataan lähetetyksi, poissaolo samana päivänä, keskusteluaikavaraus) tuottaa
AsyncJob-töitä. - AsyncJob hakee tilauksen ja tarkistaa ACL:n.
- Haetaan tai päivitetään VAPID-token.
- Luodaan salattu Web Push -viesti ja lähetetään. TTL on 1 päivä viesteille ja poissaoloille; keskusteluaikavarauksen TTL määräytyy varauksen loppuaikaan asti (rajattu 15 min – 5 päivään).
- Jos push-palvelu vastaa 404/410, tilaus poistetaan.
- Otsikko ei sisällä arkaluontoista sisältöä (ei viestien tekstiä).
- Salattu sisältö ennen push-palvelua (standardi Web Push -salaus).
- VAPID varmistaa lähettäjän.
- ACL estää ryhmiin kuulumattomat laitteet.
Toteutus on standardi Web Push + Service Worker, joten se toimii moderneissa selaimissa. eVakassa se on kuitenkin käytössä vain työntekijöiden mobiilikäyttöliittymässä.
- Viesti:
Uusi viesti ryhmälle {Ryhmän nimi} ({Lähettäjä})
(Lähettäjä näytetään jos saatavilla) - Poissaolo:
{Ryhmän nimi}: Uusi poissaolomerkintä - Keskusteluaika:
{Ryhmän nimi}: Huoltaja varannut/perunut keskusteluajan {pvm} klo {alku} - {loppu}
Copyright 2017-2025 City of Espoo
Sisältö on lisensoitu LGPL-2.1-or-later -lisenssillä
- eVaka
- Arkkitehtuuri
- Prosessikaaviot
- Henkilökunnan eVaka:
- Huoltajan evaka:
- Muita eVakan toiminnallisuuksia:
- Laskujen muodostus
- Perhesuhteet-(laskutus)
- Laitimmaislaskenta
- Asianhallintaprosessit ja metatiedot
- Päätökset
- Lomakepohjat ja lapsen asiakirjat
- Toimintojen avaukset
- Mobiililaitteiden liittäminen
- Viestintä
- Ehdottava esiopetusprosessi
- Yksikkö
- Integraatiot:
- Tarkempi tekninen dokumentaatio: