Kindan www-sivujen uudistus on ollut kalenteriaikaa varsin reippaasti vienyt projekti, jota on aika ajoin aina hieman edistetty, mutta joka on pääosin saanut melko rauhassa makailla keskeneräisten asioiden listalla.

Miksi päiviteltiin?

Weppisivujen uudistaminen on ollut tarpeellinen jo pidemmän aikaa paristakin syystä; sivut ovat olleet auttamatta vanhanaikaiset sekä sisällöltään, että tekniikaltaan. Vanha sivusto oli toteutettu drupalilla ja muutamien käytettyjen pluginien ja muiden viritysten vuoksi drupalin päivittäminen uudempiin major versioihin osoittautui varsin karvaiseksi hommaksi ja on siksi jäänyt tekemättä kokonaan. Tietoturvapäivityksiä on asenneltu toki aina kun niitä on saatavilla ollut. Sivusto on kuitenkin luonteeltaan varsin staattinen, joten tuntuu jokseenkin höhlältä ylläpitää monimutkaista ja suurehkoa julkaisujärjestelmää relaatiotietokantoineen ihan vaan sen takia, että saadaan generoitua harvakseltaan muuttuvaa melko simppeliä html-sisältöä.

Google analyticsin mukaan kindan sivuista mobiilikäyttöä on noin 47 prosenttia, eivätkä sivut ole kovin hyvää käyttökokemusta mobiililaitteille tarjonneet.

Miten tehtiin?

Näiden seikkojen takia päätettiin tehdä responsiiviset sivut ja toteuttaa ne teknisesti mahdollisimman kevyesti ja niin, että teknisen puolen ylläpitoon kuluisi mahdollisimman vähän aikaa. Tutkinnassa oli monia staattisia generaattoreita, mm. Jekyll ja Octopress. Lopulta valinta kohdistui kuitenkin docpad-nimiseen node.js-toteutukseen, osittain siitä syystä, että oli kiva päästä näpräämään jotain node.js:llä.

Sivusto rakenneltiin oikeastaan ihan nollista twitterin Bootstrapin päälle - eipähän ole sivupohjissa mitään ylimääräsitä ja kaikesta pitäisi ainakin teoriassa tietää miten mikäkin toimii. Sorsat ovat alusta asti majailleet git-repossa, josta niitä on ollut helppo kehittää kun koko sovellusta voi ajaa omalla koneella, eikä tarvita erillistä kehitysympäristöä, tietokantoja tai muuta hankalaa.

Sinne tänne tuli pieniä selainpään toiminnallisuuksia, kuten esimerkiksi etusivun heiluva svg-puhekupla (juu, tosi tärkeä ominausuus, hurraa :), blogilistan filtteröinti tägien mukaan, sekä tilauslomakkeen toiminta. Tilauslomakkeen lähettämistä varten on toteutettuna pieni backend, joka vain ottaa lomakkeen tietoja vastaan. Tätä backendia ei tarvitse mitenkään erikseen käynnistellä, vaan sama node.js-sovellus, joka hoitaa backendiä, käskyttää myös docpad-moduulia. Eli palvelimella käynnissä pitää olla vain yksi prosessi, ja apache sen edessä asianmukaisin asetuksin.

Screenshot

Sivujen ja blogipostausten kirjoitus hoituu kätevästi omalla editorilla ja suoraan ssh:n yli palvelimelle tallentaen. Jonkun mielestä selaimessa toimiva wysiwyg-editori saattaa tietysti olla kätevä ja viimeistä huutoa, mutta ei it-tyypin mielestä, ehei. Docpadille sisään menevä formaatti voi olla melkein mitä vain, meillä nyt ainakin käytössä html:ää, eco-templaatteja ja markdownia. Vanhojen blogipostausten exportti drupalin tietokannasta docpadin dokumenteiksi oli periaatteessa aika suoraviivainen juttu, mutta kyllähän kaikkien asettelujen säätämiseen ja tarkistamiseen aikaa paloi.

Mielenkiinnolla odotan miten homma lähtee rullaamaan arjessa.

Tarkempiakin juttuja kerron mielelläni, jos tämmöisessä jokin asia erityisesti kiinnosta.

antti

Uudempi: Uudet sivut, uusi ilme
Vanhempi: Tule mukaan sosiaaliseen mediaan