Tipikate Rattamatkaklubi uudiskiri

Allikas: Tipikate Rattamatkaklubi teabebaas
Redaktsioon seisuga 31. mai 2020, kell 12:30 kasutajalt Jaanus (arutelu | kaastöö) (→‎Automaatselt)
Jump to navigation Jump to search

Sissejuhatus

Käesolev artikkel räägib Tipikate Rattamatkaklubi uudiskirjast.

Käesolev artikkel ei ole leht listiga liitumiseks ega listi saadetud kirjade lugemiseks! Tegemist on juhendiga kirjade väljasaatjale ning listi tehnilisele haldajale.

Kui soovid listiga liituda või oma kirjade saamise seadistusi muuta, siis saad seda teha siin.

Kasutusjuhend

Sissejuhatus

Selleks, et uudiskirja kaudu kirju välja saata, pead teadma vastavat URLi ning omama kasutajanime ja parooli.

Uue kirja alustamine

  • Kui oled uudiskirja haldusliidesele sisse loginud, siis vali vasakust servast "Campaigns -> Send a campaign":

Pl sendcampaign.jpg

  • Seejärel täida ära Campaign subject ja From line väljad:

Pl subject and from.jpg

  • Campaign Subject välja näevad uudiskirja saajad oma meili Subject real.
  • From line rida täida ära palun kujul "SinuEesnimi SinuPerekonnanimi SinuEmailiAddress". Ehk nagu on toodud üleval näites. Palun ära jäta sinna vaikimisi väärtust, vaid pane saatja andmetena kirja just enda omad! Nii tagad ka selle, et kirjale Reply tegevate inimeste kirjad jõuavad just sinu postkasti. NB! Palun kasuta saatja aadressina ainult rattamatkaklubi.ee domeeni all olevat e-maili aadressi! See vähendab oluliselt võimalust, et kirja (või ka meie domeeni tervikuna) tõlgendataks spämmina. Saatja aadressina võid kasutada nii rattamatkaklubi.ee domeeni all olevat edasisuunajat (kui sul on selline) või ka päris e-maili kontot (kui sul on selline).

Sisu loomine

Nüüd võid Compose message kasti sisu luua. Pane tähele, et kui soovid kirja sisu sinna kasti Paste-da, siis mitmetes brauserites ei tööta "CTRL + V" kombinatsioon siin korrektselt. Paste funktsionaalsust saad sel juhul kasutada nii:

  • Tee parem hiireklõps selles kohas, kuhu soovid sisu Paste-da. Seejärel vali avanenud hüpikmenüüst Paste:

Pl pastemenu.jpg

  • Avaneud aknasse saad nüüd tavaviisil (CTRL + V) oma teksti kleepida. Seejärel vajuta "OK":

Pl pastewindow.jpg

Sinu kleebitud tekst ilmub nähtavale Compose message kasti.

Kui oled kirja sisu valmis saanud, võid kerida lehte ka allapoole. Aga see ei ole iseenesest hädavajalik. Kui seda siiski teed, siis:

  • Campaign Title kasti ei ole vaja midagi sisestada. See ei mõjuta kuidagi kirja saajat, vaid sisestatud pealkiri jääb nähtavale vaid süsteemisiseselt. Ja kui sa sinna midagi ei kirjuta, siis täidetakse see hiljem automaatselt kirja Subject väljaga ära.
  • Kui oled süsteemi kasutamises alles algaja või pole niisama kindel, kas kõik sai korrektselt, siis võiksid kasutada Send test alajaotust. Saad sisestada oma isikliku e-maili aadressi (peab olema seesama, millele ise süsteemist uudiskirju saad) ning vajutada "Send test". Sulle saadetakse kiri, mille abil saad veenduda, kas kõik sai korrektselt.

Pl sendtest.jpg

  • Kui kirja sisu on valmis ja oled veendunud, et see on korrektne, on aeg edasi liikuda. Send a campaign lehe päises on viis tab-i, mis kujutatud allpool joonisel. Esimese tab-i sisuks oli kirja koostamine. Kuna teisel ja kolmandal tab-il ei ole vaja sul midagi muuta, võid nüüd klikkida otse neljandal tab-il ("Lists" - tähistatud joonisel sinise ringiga). Alternatiivselt võid klikkida ka selle all parempoolsel noolel (tähistatud joonisel musta ringiga), aga sel juhul pead klikkima kolm korda järjest - vahepealset kahte tab-i sul ikkagi näppida ei ole vaja.

Pl movetolists.jpg

Listide valik

Kui oled jõudnud listide valiku lehele (neljas tab ülevalt äärest), on sul kolm võimalust:

  • Kõige tavalisemal juhul tuleb teha linnuke ainult listi "Iganädalased rattasõidud" ette. Need kasutajad on andnud nõusoleku saada kuni 50 kirja aastas ning enamik kirju lähevad just ja ainult neile.
  • Kui arvad, et sinu kiri on keskmisest olulisem, võid teha lisaks linnukese ka "Laiendatud üldinfo" ette. Pane tähele, et sellisel juhul pead ära märkima nii "Iganädalased rattasõidud" kui ka "Laiendatud üldinfo". See on tingitud sellest, kuidas meie listide loogika on üles ehitatud ning oluline, et tagada süsteemi käitumine meile soovitud viisil.
  • Kui arvad, et sinu kiri on eriti oluline, võid teha eelnevatele lisaks linnukese ka listi "Üldine oluline info" ette. Pane taaskord tähele, et sel juhul on korrektse toimimise tagamiseks vaja teha linnuke kõigi kolme listi ette või muidu ei tööta süsteem nii nagu soovitud. See valik saadab välja kirja siis kõigile inimestele, kes meie uudiskirjadega liitunud on.

Palun arvesta, et viimast valikut oleme lubanud kasutada maksimaalselt kümme korda aastas. Ehk siis meie uudiskirjas on inimesi, kes on avaldanud selget soovi saada vaid aasta kõige olulisemaid uudiskirju. Nii üldises plaanis võiksid need kuni 10 kirja aasta lõikes jaotuda nii:

  • 1 kiri uusaastakogunemise kohta.
  • 1 kiri õhtuste rattasõitude hooaja alguse kohta.
  • 2 kirja Kääriku teemal (näiteks üks siis, kui üritus on välja kuulutatud ja teine videolingiga, kui üritus on käima läinud vms).
  • 2 kirja Tipikate Rattamatka teemal (näiteks esialgne väljakuulutamine ja teine järelinfoga kui mingi suurem video on valmis vms).
  • 1 kiri sügismatka väljakuulutamisel.
  • 1 kiri hooaja lõpupeo väljakuulutamisel.
  • 1-2 kirja veel mingitel muudel olulistel juhtudel.

NB! Kuigi kirja saatjale endale võib tunduda, et tema kiri on väga oluline, siis ei tasu antud listi puhul reegleid eirata! Me ei võidaks sellega populaarsust juurde, kui saadame nendele inimestele rohkem kirju, kes on spetsiaalselt palunud neid võimalikult vähe saata :) Kasuta palun sellistel juhtudel pigem ülalnimetatutest keskmist võimalust listide valikuks. Ja kõige levinumatel juhtudel tee palun linnuke ainult kõige esimese listi ette:

Pl selectlists.jpg

Kirjade väljasaatmine

  • Kui listid on valitud, on aeg liikuda viimase sammu juurde. See on viies tab ülevalt realt ehk Finish. Kui oled selle tab-i valinud ning kindel, et kõik sai korrektselt, võid vajutada allpool nuppu "Place Campaign in Queue for Sending". Pane tähele, et peale seda tagasiteed enam ei ole:

Pl placequeue.jpg

  • Nüüd näitab süsteem sulle järgmist ekraani ning kuigi seal otsesõnu seda ei öelda, siis on see kinnituseks, et sinu poolt on kõik tehtud:

Pl done.jpg

  • Süsteem alustab kirjade väljasaatmist automaatselt ühe minuti jooksul ning üldiselt on hiljemalt kahe minuti pärast kõik tehtud.
  • Palun arvesta, et kuna meie uudiskirjas on üle 300 liikme ning serveri limiit kirjade väljasaatmise osas 600 kirja tunnis, siis samal tunnil mitut uudiskirja saata ei saa. See tähendab, et isegi kui sa avastad kohe peale uudiskirja väljasaatmist, et oled kogemata listis olevad inimesed ropult läbi sõimanud, siis vabandada saab alles kõige varem tunni aja pärast :)

Tehniline taustainfo

Sissejuhatus

NB! Siin peatükis olev info ei ole oluline kirjade väljasaatjale - tegemist on märkmetega, mis võivad olla kasuks listi tehnilisele haldajale.

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.

Töö käigus selgus aga seegi, et kuigi tavalisele administraatorile on antud kirjade väljasaatmise õigus, siis reaalselt saab ta ainult kampaania send queue-sse lisada, mitte aga seda queue-d päriselt välja saata. Lahenduseks pakkus PHPList kasutusjuhend cron job-i kasutamist. Suuremate listide korral soovitatakse seda meetodit kasutada nii või naa - et vältida brauseri kaudu saatmisel tekkida võivaid timeout-e. Aga nüüd sai siis meie listi puhul ka kogu kirjade väljasaatmine just cron job abil lahendatud. Selleks tarbeks sai koostatud skript, salvestatud see faili phplist_cron ning lisatud cpanel-i kaudu kord minutis jooksev cron job:

/home/jaanuseu/phplist_cron -pprocessqueue > /dev/null 2>&1

Lisaks sellele sai config.h faili lisatud seadistus:

define('MANUALLY_PROCESS_QUEUE', 0);

See eemaldab super admin jaoks Process queue nupu ning asendab selle nupuga View progress. Teise administraatori jaoks oleks aga ilma selle seadistuseta vaatepilt üsna segane - kui kampaania on järjekorda lisatud, siis jääks ette ekraan, mis justkui nõuaks edasist tegevust, mida samas teha ei saa. Lisaks viskaks brauser lehelt lahkumise korral ette teate, nagu kasutaja võiks lehelt lahkudes mingeid salvestamata andmeid kaotada. Ülalmainitud seadistus teeb aga selle lehe korda ning lisab samuti nupu View progress.

Send queue-sse lisatud kirjade väljasaatmist alustab cron job automaatselt ühe minuti jooksul.

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 kaustu texts ja config - see võib anda vihjeid, kas mingi funktsionaalsus vajab veel täiendavalt käsitsi tegelemist. Kui texts kaustas olevad failid estonian.inc ja/või english.inc on muutunud, siis võib vajalik olla ka veebilehel reaalselt kasutatava faili estonian.inc täiendus. Kui config kausta sisu on originaaltarkvaras muutunud, siis võib see viidata vajadusele ka midagi reaalses süsteemis muuta või annab lihtsalt vihjeid selle kohta, et mingeid uusi ja huvitavaid funktsionaalsusi on juurde tulnud, mida äkki on soov kasutada.

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.
  • 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.

Muud tähelepanekud

  • Kui PHPList versioon 3.3.9 koosneb 3465-st failist, siis versioonis 3.4.0 sisaldub 13869 faili ja versioonis 3.5.4 sisaldub 12925 faili. Seetõttu võib nende manuaalne üles-alla laadimine FTPS kliendi abil päris vaevaline olla.
  • 31.05.2020 versioonile 3.5.4 üle minnes ilmnes, et FTPS kliendina kasutatud Total Commander puhverdab kaustades olevate failide nimekirja isegi kopeerimisoperatsiooniks. Ehk siis kui algselt sai Total Commander-i abil serveri poolel lists kaustas veidi ringi brausitud, seejärel veebiliideselt automaatse uuendusena versioon 3.5.4 peale pandud ning seejärel Total Commander-i abil failidest uut varukoopiat tegema asutud, siis kukkus asi veaga välja ja ~300 faili jäid alla laadimata. Ja nii kaks korda järjest katkes täpselt samas kohas, sama veaga ja puudu jäid samad failid. Internetist otsides tundub aga, et Total Commander-i autor peab seda normaalseks, vastava puhverdamise keelamise valikut ei ole ning on kasutaja enda mure, kui ilma Total Commander-i teadmata serveri poolel faile muudab. TODO: Testida, kas puhvrid kustutatakse vähemalt Total Commander-i seiskamisel, samuti võib uurida muid FTPS'i oskavaid kliente.

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 üksik veateade süsteemi poolt genereeritud e-kirja saatmisel märgib kasutaja kohe unconfirmed olekusse.

Hetkel tundub, et cron job-i üles sättida ei ole mõtet, vaid pigem proovida aeg-ajalt manuaalselt neid tagastusi importida. Siis on võimalik kohe ka üle vaadata, ega liigselt kasutajaid unconfirmed olekusse ei liigutatud.

PHPList toetab ka keerukamate reeglite seadistamist, mis veateate sisu analüüsivad ja vastavalt sellele siis midagi teevad. Aga hetkel tundub, et meie listi jaoks oleks nende seadistamine liiast.

Kuna minevikust on olemas eelaimdus, et teatud tüüpi vigu konkreetsele inimesele kirjade saatmisel on mugavam lahendada seeläbi, et tagastuste postkastis meilikliendiga otsing teha, siis sai märtsis 2019 sätitud üles veel teine aadress uudiskiri-bounces-copy [ät] rattamatkaklubi.ee ning seejärel cpanel-i abiga forwarder, mis kõik veateated ka sinna edasi kopeerib. Tegemist hetkel lahendusega, mis mõeldud pigem testimiseks; tulevikus võib seda loogikat muuta. Tänu sellele lahendusele võib aga nüüd julgelt admin liidesel aeg-ajalt uued veateated sisse importida ning on teada, et kirjade koopia jääb siiski ka peale töötlemist alles.

Alternatiiv taolisele testlahendusele oleks see, et sissetulevad kirjad (veateated) kopeeritakse sama meilikonto alamkausta. PHPList poolelt sai see ka järgi proovitud ning probleemi ei ole - PHPList alamkaustadest kirju ei otsi. Probleem tekkis siiski sellega, et esmapilgul ei tundunud cpanel-i kaudu olema võimalik taolist kopeerimise mehhanismi seadistada. E-maili filtrite kaudu saaks seadistada küll kirjade liigutamise alamkausta, aga mitte kopeerimise. Lisaks puudub filtritel valik "kõik kirjad", vaid filtriks tuleks konstrueerida midagi koledat, mis kõik kirjad kinni võtaks.