Tudtad-e?

Kedves Nézőink, “Haszontalan tények” rovatunk 439. része következik.

bemondok

Kezdésnek egy kis dicsekvés: Talán elsőre fel sem tűnik, de az RszMail elég sok — főleg EU-s — ország rendszámformátumát tudja kezelni (nézd csak meg az országjel legördülő listáját). Amikor a különböző formátumokat egységesen kezelő programrészletet írtam, akkor bukkantam rá a következő — igencsak haszontalan — tényre, amit most megosztok Veletek:

frog

Azaz minden más (régiókódos vagy régiókód nélküli) országban oda tudtak figyelni rá, hogy elég legyen egymás után leírni az alfanumerikus karaktereket az azonosításhoz (pl. egy magyar ABC123 vagy egy osztrák W1234AB egyértelmű szóközök és kötőjelek nélkül is), egyedül a precíz germánoknál nem. 🙂

Tehát egyedül náluk nem lehet tudni, hogy az RSZM01 karaktersorozat a regensburgi szad Szelíd Motorosok támogatójáé vagy a remscheidi Zöld Manóé-e. Simán találkozhatnának az Autobahnon, valahogy így:

rszm01
Azért mekkora szerencse, hogy nem illusztrációk készítésével keresem a kenyerem…

Ennyi volt ez a poszt, nem kell belőle tanulságot levonni, és igen, I’m fun at parties. Annyit tudok felhozni a mentségemre, hogy ha nem kellett volna külön dolgoznom a német rendszer miatt, akkor valószínűleg bennem sem merült volna fel, hogy ilyen dolgokról elmélkedjek.*

belyeg128U.i.: Egyébként nagyon durva, hogy mennyi és milyen információt lehet találni neten a rendszámokról, bizonyos arcok nagyon komolyan veszik ezt a dolgot… o.O Respekt!

*: Na jó, de, felmerült… 🙂


Hogy mit honnan:

Summer special üzenetsablon

Megérkezett a nyár és vele természetesen a kánikula is. 😐 A hőségre az RszMail egy új, nyári üzenetsablonnal reagál:

Gyerek/állat maradt a forró autóban!

Sajnos ez az az időszak, amikor minden évben előkerülnek a napon álló autóban hagyott gyerekről vagy kisállatról szóló hírek. A szülő/gazdi persze csak néhány percre ugrott el bevásárolni, de ez a “néhány perc” komoly veszélyt jelenthet a forró utastérben maradtakra.

dog_w_ac
Egy fokkal jobb megoldás [Kérlek, ne törd be az ablakot. Megy a klíma. Van vize, és a kedvenc zenéjét hallgatja.]
A gondatlanságot megszüntetni/megelőzni sajnos nem tudjuk, de az új üzenetsablonnal biztosítjuk, hogy tényleg akárki üzenhessen a jármű (regisztrált) tulajdonosának néhány kattintással, bejelentkezés nélkül.

Reméljük, hogy soha nem lesz rá szükség!

belyeg128U.i.: Elnézést kérek a tanévnyitós posztkezdésért. Sajnálom.


Hogy mit honnan:

  • A summer special üzenetsablon ötlete: egy kreatív munkatárstól 🙂
  • Autóban hűsölő kutya: Twitterről

Nyomulunk!

tl;dr: Van push értesítés mobil és asztali Chrome-ra! Jejj!

kulka_orom
Kulka János is örül a push értesítéseknek.

Úgy kell, hogy:

  • bejelentkezel,
  • belépsz a Műszerfaladra,
  • legörgetsz a Push értesítések részhez,
  • ráböksz a nagy “Push értesítések beállítása” gombra,
  • megadod az eszközöd nevét,
  • bepipálod a “Kérek push értesítést…” jelölőnégyzetet,
  • ha megjelent alul valami hosszú, szürke szöveg, akkor
  • ráböksz a nagy “Mentés és bezárás” gombra,
  • és kész!

UPDATE: Ez egy kicsit megváltozott, most már közvetlenül a Műszerfaladon tudod kezelni a push értesítéseket.

Ha nemcsak ez, hanem a háttér is érdekel egy picit, akkor olvass tovább. Akkor és csak akkor.

Először is bocsánatot kérek a cím borzalmas szójátékáért, nem vagyok rá büszke. De hogyan lehetne másképp kezdeni egy push értesítésekről írt posztot? 🙂

nenyisd

Azért jó a cégünknél dolgozni, mert az ember sok hozzá hasonló, problémamegoldásra kihegyezett mérnökemberrel van körülvéve. Ha olvastad az előző bejegyzést, akkor tudhatod, hogy a push értesítések összerakásánál — akkor látszólag — áthatolhatatlan falba, a HTTPS hiányába ütköztem. Ezt nyilván nemcsak a blogon, hanem a munkahelyi beszélgetések alkalmával is elsírtam a többieknek, így kaptam egy remek tippet (kösz, Zoli!): a Firebase használatát. Ez egy olyan* szolgáltatás, ahová fel lehet tölteni egy webappot, amely aztán (most jön a — számomra — fontos rész!) HTTPS-en keresztül, a legújabb előírásoknak megfelelően lesz elérhető.

Bár a tipp úgy szólt, hogy dobjak el mindent, és költöztessem át az egész RszMail-t a Google által nyújtott platformra, én azért ennél egy fokkal óvatosabb voltam. Egyrészt már megvolt a teljes architektúra, nem akartam mindent elölről kezdeni, másrészt szeretem teljes egészében kézben tartani az oldal működését, a biztonságérzetemhez pedig még szükségem van az oldschool FTP-n feltöltős, cPanelen kattintgatós felületre (a Firebase ilyet nem ad).

Tehát a feladat az volt, hogy írjak egy, az RszMail-hez tartozó, azt kiegészítő webappot, amely technikailag teljesen független az RszMail központi részétől, és mindössze annyit tud, hogy feliratkoztatja a felhasználókat a push értesítésekre, és kezeli azokat. Szóval technikailag egy teljesen idegen alkalmazás értesítéseire kell feliratkozni, igen. 🙂

Természetesen a felhasználói élményt (van ilyen?!) meg kellett őrizni, ezért az app pontosan úgy néz ki, mint maga az RszMail, és arról is gondoskodnom kellett, hogy a külső app és a központi alkalmazás között sima legyen az átjárás. Ja, de ezzel azért ne is nyissak (nagy) biztonsági rést a rendszeren. Remélem, legalább ez utóbbi sikerült. (Várom a ‘; DROP TABLE Users; – nevű eszközöket…) 🙂

drop_table
Az ember úgy küzd a közúti bírságok ellen, ahogy tud…

Az ötlet végül csak félig jött be — a Firebase a Google push motorját, a Google Cloud Messaging-et használja (időközben átnevezték Firebase Cloud Messaging-re, és minden bizonnyal sokat alakítottak is rajta, de ez most mindegy), amely egyelőre (?) csak Android és iOS natív appokkal, illetve Chrome böngészővel működik. Szerencsére utóbbinak legalább mobil és asztali verziójával is.

Szóval jelenleg ott tartunk, hogy ha (viszonylag friss) Chrome-ot használsz**, akkor azonnal értesülhetsz a rendszámodra érkezett üzenetekről, akkor is, ha a levelezőkliensed nem pittyeg minden egyes új levélnél. Ez azért elég jó! 🙂

Természetesen van még hová fejlődni: implementálnom kell a Web Push API-t, ami már egy W3C-kompatibilis megoldás lesz, és akkor már Firefoxon, Safarin, meg minden egyeben fognak suhanni az értesítések (már ha maguk a böngészők is veszik a fáradságot, hogy szintén implementálják). Ehhez viszont kell az előző posztban említett HTTPS, szóval ez még egy kicsit arrébb van.

Hű, már 500 szó fölött járunk, lassan be kell zárni ezt a posztot. Pedig azt terveztem, hogy az RszMail (HTTP) – Firebase app (HTTPS) közötti átjárásról is írok! Meg a service workerekről, meg az általuk felmerülő kockázatokról, meg a meghiúsult AJAX hívásaimról, meg az XSS támadásokról, meg a CORS-ról, meg-meg-meg… De talán jobb is így, hogy nem, mert ez már tényleg csak a nagyon kockákat hozza lázba úgy, mint engem… Számomra nagyon érdekesek voltak ezek a témák! 🙂 De akkor erről majd személyesen, ha egy beszélgetés fonala úgy hozza…

belyeg128*: Nem, a Firebase ennél sokkal több, de nekem most ez volt a lényeg. Olvass utána, amúgy király dolog! 🙂
**: Persze csak állandó internetkapcsolattal rendelkező okostelefonról vagy számítógépről, csodát tenni nem tudunk.


Hogy mit honnan: