Tipikate Rattamatkaklubi uudiskiri
Sissejuhatus
Käesolev artikkel koondab tehnilist taustainfot Tipikate Rattamatkaklubi uudiskirja kohta.
Uudiskiri kasutab PHPList tarkvara, istub veebiserveri kaustas /lists ning võimaldab saata välja Tipikate Rattamatkaklubi uudiskirja. Kasutatavad ressursid on laias laastus järgmised:
- Kaustas /lists asuvad failid.
- MySQL andmebaas.
- Meiliaadress uudiskiri-bounces [ät] rattamatkaklubi.ee
Uudiskirja süsteem ei ole kuidagi cpaneliga integreeritud, kogu haldus käib manuaalselt, näppides selleks eelpool nimetatud faile, andmebaasi ja meilikontot.
Kuna uudiskirjana korraga välja saadetavate kirjade hulk on suur, siis kasutame teenusepakkuja lisateenust, mis meilide väljasaatmise limiiti suurendab (2019. aasta veebruaris on limiidiks 600 kirja tunnis).
Kasutajaõigused
Nagu selgus, siis on PHPList kasutajaõigused veidi kohmakad. Kui on soov teha igale kirjade välja saatjale oma konto, siis see polegi eriti võimalik (ilma, et kõik kasutajad super admin'ideks teha). Tavalised administraatorid näevad ainult neid liste, mille omanikud nad on. Samas ei saa listi omanikuks olla mitu administraatorit korraga. Kui tavaline administraator liste ei näe, siis on tema ainsaks võimaluseks postitada kõikidesse listidesse korraga (mis on väga halb valik).
Kasutame seetõttu kahe kasutaja süsteemi, mida siis administraatorite vahel jagama peame:
- Kirjade väljasaatja - omab liste ja saab kirju välja saata ning statistikat vaadata.
- Super admin, kes saab kõike teha. Tema näeb ja saab kasutada ka liste, mille omanik on keegi teine. Tasub märkida, et mingis varasemas versioonis oli see vist teisiti, ehk siis isegi super admin ei näinud liste, mille omanik ta ei olnud.
Uuendamine
Manuaalselt
- Tee varukoopia /lists kaustas asuvatest failidest, eriti olulised on logo_lists.png, config/config.php ja texts/estonian.inc
- Tee andmebaasist varukoopia.
- Lae alla uus versioon ja paki arhiiv lahti.
- Vaheta /lists kataloogis olevad failid uutega välja.
- Taasta eelpool nimetatud kolm faili.
- Logi uudiskirja admin liidesele sisse ja jälgi protseduure (tõenäoliselt pakutakse välja andmebaasi uuendamist).
Lisaks sellele tasub veel võrrelda eelmise ja uue originaaltarkvara faile texts/estonian.inc ja texts/english.inc. Kui tarkvarasse on vahepeal uusi tekste juurde tekkinud, siis tasub need manuaalselt uude installatsiooni üle kanda.
Automaatselt
Alates tarkvara versioonist 3.3.9 on tekkinud juurde ka automaatse uuendamise võimalus admin liideselt. 26.03.2019 sai selle abil mindud üle versioonile 3.4.0, kuid see päris valutult ei läinud. Eks tulevik peab näitama, kumb uuendamise viis mugavam tundub või kas automaatse uuendamise protseduur muutub paremaks. Kindlasti tasub aga enne uuendamist ikkagi alati ise nii failidest kui andmebaasist varukoopia luua!
Senised tähelepanekud on järgmised:
- Alustuseks vingus uuendaja, et fail logo_lists.png on tema jaoks tundmatu ning tuleks enne uuendamist ära kustutada. Tõsi ta on, et see fail ei kuulu originaaltarkvara juurde, aga ehk mingist acknowledge nupust oleks ka piisanud...
- Seejärel pakuti välja, et kas teha failidest varukoopia. See aga ei õnnestunud kirjutusõiguste tõttu. Võimalik muidugi, et süü ei ole siinkohal PHPList tarkvaral, vaid see on tingitud meie enda ülejäänud lehe ülesehitusest.
- Uuendamine ise tähendas siis seda, et uued failid tõmmati alla ning vanad kirjutati üle. Peale uuendamist saab admin liideselt ka andmebaasi uude versiooni konverteerida, aga varukoopia tegemist ei pakuta!
- Failidest jättis uuendus puutumata config/config.php, aga kirjutas texts/estonian.inc lihtsalt üle. Seega see tuleb pärast ise taastada.
Üks kõrvaline tähelepanek veel: kui versioon 3.3.9 koosneb 3465-st failist, siis versioonis 3.4.0 sisaldub 13869 faili. Seetõttu on nende manuaalne üles-alla laadimine nüüd päris vaevaline.
Liitumislehe päis
18.11.2017 tekkis mõte, et võiks uudiskirjaga liitumise lehe päise veidi ilmekamaks teha ning lisada sinna klubi logo. Nimetatud päist saab iseenesest administreerimisliideselt muuta nii: menüüst Config -> Subscribe pages -> Edit ikoon -> Header alajaotus -> leida üles järgmine osa:
<div id="header" >
Selleks aga, et muidu valgel taustal olev logo sealse lehe kujunduse mõttes liigselt silma ei riivaks, samuti võttes arvesse päise riba kõrgust, tekkis kaks mõtet:
- Logo võiks olla läbipaistval taustal.
- Kuna kiri "Tipikate Rattamatkaklubi" on seal niikuinii olemas, siis võib logost kasutada ainult "rataste/rõngaste" osa.
Mingil põhjusel ei PDF ega AI failist tehtud PNG aga läbipaistvat tausta ei omanud - oli see sama valge taust. Võib-olla ongi algfail selline, võib-olla ei osanud abivahendeid õigesti kasutada. Tausta aitas läbipaistvaks muuta Paint.net tarkvara. Samas esmane katse PDF failist konverditud PNG failiga jäi kole - samas võib-olla oleks abi olnud sellest, kui PNG algul märksa kõrgema DPI-ga tekitada.
Igal juhul lõplik lahendus oli järgmine:
- Konverteerida AI fail PNG-ks online konverteri abil. Mingeid erilisi seadistusi teha pole vaja. Tulemuse link saadeti e-mailile.
- Avada PNG fail Paint.net-is ja kasutada "Tools" alt abivahendit nimega Magic Wand. Teema rääkis lahti see artikkel. Laias laastus tuleb klikkida igal valgel alal ja siis "delete" nupuga sealne taust ära kustutada. Et "kodarate" vahelt ka väiksemad alad kätte saada, tuleb korralikult sisse zoomida.
- Seejärel lõigata välja ainult rataste osa. Kuna taust on nüüd läbipaistev, võib lõigata nii väikse raami kui saab.
- Seejärel vähendada pilt selliseks, et kõrgus oleks 59 pikslit - see osutuks parimaks, mis päisesse sobib. Laiuseks tuli automaatselt 130.
- Laadida fail /lists kausta.
Päise konfiguratsioon osutus lõpuks selliseks:
<h1 id="logo"><a href="https://rattamatkaklubi.ee" title="Visit our website" target="_blank"><table><tr><td style="padding-left: 50px;"><img src="https://rattamatkaklubi.ee/lists/logo_lists.png" /></td><td style="padding-left: 20px; font-size: 25px; vertical-align: middle; width: 200px;">[ORGANISATION_NAME]</td></tr></table></a></h1>
Seejuures põhjendused olid järgmised:
- Tabeli tekitamine oli vajalik, et logo korrektselt vasakule ja kiri paremale saada ning et oleks võimalik neile eraldi atribuute külge panna.
- padding-ud said pandud tunde järgi, et okei välja näeks.
- Fondi suurus oli oli alguses ~50, aga väiksemas aknas või väiksemal ekraanil (nt telefonis) nägi see väga kole välja - tekst wrap'iti kahele reale ja alumine rida jäi päise alast välja. Seetõttu sai fondi suuruseks pandud 25 ja tabeli lahtri laiuseks 200 - see viimane tagab, et tekst nüüd alati kahele reale wrapitakse.
Tagastuste töötlemine
Veateated, mis tekivad e-kirjade väljasaatmisel, saadetakse aadressile uudiskiri-bounces [ät] rattamatkaklubi.ee. Vaikimisi ei juhtu nendega aga midagi edasi, vaid neid võib lihtsalt manuaalselt lugemas käia. PHPList oskab siiski need ka oma süsteemi importida, peale mida on vaikimisi ja soovitav käitumine juba töödeldud kirjad postkastist ära kustutada - see väldib sama veateate topelt töötlemist. PHPList tarkvarasse importimisel on kaks varianti:
- Manuaalselt admin liidesel System -> Manage bounces -> Process bounces.
- Automaatselt cron job abil.
Peale PHPList tarkvarasse importimist talletatakse kirjad selle andmebaasi ning seostatakse konkreetse kasutajaga. See võib olla abiks, kui on kunagi soov järge ajada, miks üks või teine asi korrektselt toiminud ei ole vms. Samas on tagastuste importimisega seotud ka mõned omapärad:
- config.php failist saab seadistada limiiti, et kui mitu järjestikust kirja peab vea tekitama, et kasutaja märgitaks unconfirmed olekusse. Vaikimisi on see 5. Samas tundub, et kui veateate tekitab süsteemi poolt genereeritud teade, siis märgitakse kasutaja kohe esimesel korral unconfirmed olekusse. Esmane Google otsing tundub seda kinnitama, samuti ei tule kohe välja, et seda kuidagi seadistada saaks.
- Kui tagastusi töödeldakse pika aja järel tagantjärgi, siis selles osas süsteem ei tee vahet, millal probleem ilmnes. St kolm aastat tagasi tekkinud veateade süsteemi poolt genereeritud e-kirja saatmisel märgib kasutaja kohe unconfirmed olekusse.