Hyvä ihminen! Tämä ei ole blogin etusivu. Täällä on tagiin "txp" kytketyt jutut.
Gootti.net-sivustolla, jossa tuo Textpattern pyörittää noin 1000:ta yksittäistä artikkelia, alkoi olla outoa hidastelua yksittäisten artikkelisivujen avaamisessa. Tämä oli kummallinen ongelma, joka vaivasi parin-kolmen viikon ajan. Nyt sattuman kautta ilmiöön löytyi vastaus Textpatternin FAQ-vastauksesta. Siellä ehdotettiin järjestelmän hallintapaneelin roskapostilistojen vähentämistä! Neuvo toimi. Vau. Näin yksinkertaista.
Goottisivustolla oli kärsitty noin kuukauden päivät sitten koneellisesta spämmistä. Samoja artikkeleita vainottiin lähettämällä niihin kommenttispämmiä. Yritin jossain välissä suojella julkaisuja asentamalla erityisen Defensio-liitännäisen Textpatterniin, mutta Defensio rikkoo koko kommentoinnin, joten sitä ei kannata asentaa tai aktivoida. Aatoksia-blogia pitävä nimimerkki Bitten todisti omalla saitillaan saman häiriön olevan todellinen. No joo. Asensin kuitenkin goottisivustolle useita eri roskapostilistoja, joilla kommenttispämmin saapuminen lakkasi täysin. Textpatternissahan on oletusarvoisesti vain yksi roskapostilista, jonka osoite on sbl.spamhaus.org. Näitä osoitteita voi olla useampia. Ne ilmoitetaan TXP:n hallintapaneelista löytyvän “Lisäosat”-välilehden suunnalla sijaitsevaan tekstikenttään. Käytin Gootti.net-sivustolla seuraavaa kuralistaa:
sbl.spamhaus.org,bl.csma.biz,bl.csma.biz,psbl.surriel.com,
dnsrbl.swinog.ch,intercept.datapacket.net,list.dsbl.org
Tuo pitää kommenttispämmin loitolla, mutta hidastaa yksittäisten artikkelien latautumisaikaa huomattavasti. Ainakin puoli minuuttia. Useita yksittäisiä roskapostilistojen osoitteita ei siis välttämättä kannata ilmoitella. Toisaalta nyt jätettyäni vain alkuperäisen (sbl.spamhaus.org) kuralistaosoitteen jäljelle, tullaan jööttisivustolla todennäköisesti kokemaan aikaisemmin eliminoitua tuhrimista koneellisesti operoivien idioottiroskaajien toimesta. Tämä on juuri tätä. Kun yksi asia saadaan kuntoon niin toisaalla toinen asia menee päin ryppysilmää.
Lisäys: Kirjoituksessa esitetyn tuhatluvun taivutustapaa tuunattu. (Kiitos!)
Textpattern-sisällönhallintajärjestelmän uusi virallinen versio, joka on siis 4.0.6, on tarkoitus julkaista ensi viikon puolella. Tällä hetkellä Textpatternin kehitystiimi etsii vapaaehtoisia testaamaan uusimman version julkaisukandidaattia, joiden tehtävä on testailla järjestelmää ja ilmoittaa TXP:n väelle siinä mahdollisesti ilmenevistä ongelmista ja virheistä.
Päällisin puolin uusin versio tuntuu sen testiversiota tarkastellessani olevan samanlainen kuin edeltäjänsä. Sen hallintapaneeliin on kuitenkin tehty pieni, mutta todella mukava, korjaus. Nyt yksittäisen välilehden klikkauspinta-alaa on kasvatettu. Konehuoneessa järjestelmä on nähtävästi saanut kovin paljon mullistuksia. Uusi versio tuntuu korjaavan kaksi tietoturva-aukkoa (yksi parantaa hallintapaneelin SQL-rakennetta, toinen kirjautuneen käyttäjän evästeen olomuotoa). Vanhoja tageja on otettu pois, osaa korjattu. Pari uuttakin TXP-tagia löytyy:
<txp:if_search_results><txp:search_term />Molemmat uudet tagit liittyvät järjestelmän julkisen puolen hakukoneeseen. Ylempi on nähtävästi ehtolause, joka suorittaa sen sisälle asetetun materiaalin, mikäli käyttäjä tarkastelee hakutuloksia. Alempi tulostaa ruudulle haussa käytetyn hakulauseen, tai -sanan.
Tämän kirjoituksen otsikko on aika hämärä, joten yritän ensin selventää sitä, mitä tässä yritetään toteuttaa. Kun tämä blogimerkintä julkaistiin, se ilmestyi Korinaa kuopasta -weblogin etusivulla kirjoitusten listauksen alkuun. Se ilmestyi artikkelilistan ensimmäiselle sijalle. Blogiin on kytketty konepellin puolelle pari riviä koodia, jotka tunnistavat blogin etusivun ensimmäisen artikkelin. Tunnistettuun artikkeliin isketään kiinni CSS-väkäset, joiden avulla kirjoituksen esitystapaa voidaan muokata. Näin siis tässä tapauksessa. Tätä konstia voidaan tietysti hyödyntää myös muilla tavoin — tunnistettuun artikkeliin voidaan lisätä aivan oma sitä varten räätälöity lomake, jossa on vain ko. artikkelia koskevia elementtejä ja toimintoja.
Tähän kappaleeseen asti nyt esittelyssä oleva keino on kuulostanut melkoisen tekniseltä jargonilta, joten eiköhän siirrytä kansantajuisempaan lähestymistapaan.
Asennetaan ensin Textpatterniin liitännäinen wet_if_page.
Voimme tunnistaa blogin etusivulta, tai vaikka sivulta n:o 17 löytyvän artikkelin, joka on artikkelilistassa järjestyksessä kolmas (3). Tunnistettuun artikkeliin voidaan tehdä muotoiluja. Sen ulkoasua ja sen sisältöä voi “tuunata” siten, että se ei vaikuta muihin samassa artikkelilistassa oleviin artikkeleihin. Tässä blogissa on päätetty tunnistaa blogin sivulta numero 1 artikkelilistan järjestyksessä ensimmäinen artikkeli. Tunnistettuun artikkeliin on asetettu vain sitä varten luotu Textpattern-lomake. Jotta saisimme tällaisen alkeellisen tunnistussysteemin toimimaan, kajoamme Textpatternissa siihen sivupohjaan, joka on käytössä blogin etusivulla. Täällä Kk:n puolella sivupohjana käytetään default-nimistä pohjaa. Siihen sullotut maagiset liirumlaarumit ovat seuraavanlaiset:
<txp:if_article_list>
<txp:article limit="1" listform="uusin" offset="0" pageby="20" pgonly="0" status="4" time="past" allowoverride="0" />
<txp:article limit="19" listform="default" offset="1" pageby="20" pgonly="0" status="4" time="past" allowoverride="1" />
</txp:if_article_list>
Nuo koodirivit tekevät seuraavaa:
uusin.default. Otetaan takapakkia yksi pykälä (offset="1"), sillä muuten ruudulle tulostuu pari kertaa sama artikkeli.Live (status="4"), ja jotka on julkaistu joskus menneisyydessä.Tällaista. Olemme vieneet operaation lähes päätökseen. Tekemättä on vielä pari pientä säätöä. Tutustutaan ensin uusin-lomakkeen sisuksiin. Sen sisälmyksissä käytetään tällaista perushuttua:
<div id="tuorein-blogimerkinta">
<txp:wet_if_page page="1">
<h2>
<strong>Tämä on kaikkein uusin kirjoitus.</strong>
<txp:permlink><txp:title /></txp:permlink>
</h2>
<txp:else />
<h3>
<txp:permlink><txp:title /></txp:permlink>
</h3>
</txp:wet_if_page>
<txp:body />
</div>
Nokkelimmat huomaavat tässä koodissa ristiriitaisuuksiakin, mutta käytännössä tämä ruma riekale toimii vallan mainiosti. Tämä siis tulostaa artikkelilistan ensimmäiselle artikkelille div-elementin sisälle, joka on saanut id-selektorin, käärin tavaran ja tsekkaa vielä onko artikkeli varmasti sivuston sivulla numero 1. Jos ei olla ihan ensimmäisellä sivulla, niin tulostetaan hieman toisenlaista tavaraa… Tarvitsemme aivan ehdottomasti wet_if_page-liitännäisen taikavoimia, sillä muuten emme kykene suorittamaan täsmäiskua millekään tietylle sivuston sivulle. Ilman em. pluginia jokainen sivupohjaa default käyttävä artikkelilistaus (sivu), jolla tätä tunnistustoimintoa käytetään, saisi esimerkkikoodia käyttäen tällaisen merkkauksen eteensä:
<h2>
<strong>Tämä on kaikkein uusin kirjoitus.</strong>
<txp:permlink><txp:title /></txp:permlink>
</h2>
Liitännäisen avulla saamme tähdättyä halutulle sivulle asettamalla ehtolauseessa toivon sivunumeron. Blogin etusivulle voimme tähdätä laittamalla sivunumeroksi numeron “1”. Tällä lailla:
<txp:wet_if_page page="1">
<h2>
<strong>Tämä on kaikkein uusin kirjoitus.</strong>
<txp:permlink><txp:title /></txp:permlink>
</h2>
</txp:wet_if_page>
Textpattern Resources -sivustolla 8. päivä kuluvaa kuukautta julkaistu liitännäinen wlk_helpful on osoittautunut erittäin näppäräksi toiminnoksi. Sen avulla Textpattern-sivustoilla käyttäjät voivat yksinkertaisesti klikkaamalla arvostella artikkeleita. Liitännäisen avulla kukin artikkeli saa joko positiivisia tai negatiivisia pisteitä, jonka jälkeen arvosteltuja julkaisuja voi printata ruudulle julkaisujen saamien negatiivisten tai positiivisten pisteiden mukaan. Tämä liitännäinen toimii Ajaxilla. Pluginin versionumero on tätä kirjoittaessani 0.2.5.
Olen ottanut tähän mennessä tämän pluginin käyttöön Viihdeuutinen.
Artikkeleiden tai kokonaisten sivujen sivutuksen luominen Textpattern-päivitystyökalulla on kohtalaisen helposti toteutettu. Textpatternista löytyvään sivupohjaan voidaan asettaa ehtolauseita erilaisia sivutuksia varten. Tuollaisten ehtolauseiden avulla voidaan antaa sivutus (eli siis sellaiset linkit, joita klikkaamalla pääsee siirtymään toiseen artikkeliin tai toiselle sivulle) esimerkiksi vain sivuston etusivulle, tai vaikkapa vain yksittäiselle julkaisulle.
Yksittäiselle artikkelille voidaan antaa linkit edelliselle ja/tai seuraavalle sivulle näin ikään:
<txp:if_individual_article>
<txp:link_to_prev>Edellinen artikkeli</txp:link_to_prev>
<txp:link_to_next>Seuraava artikkeli</txp:link_to_next>
</txp:if_individual_article>
Tuo ylle listattu koodilitania on kääritty ehtolauseeseen, tai mihinkä lie superkoodiin, joka tulostaaa koodin mikäli käyttäjä tarkastelee yksittäistä artikkelia. Jos yksittäinen sivu on silmäiltävänä, tulostetaan ruudulle yksi, tai jopa kaksi asiaa. Vau. Jos Textpattern-sivustolla on kyseisessä osiossa useita artikkeleita, tulee tämä koodi tulostamaan joko linkin edelliseen artikkeliin varustettuna linkkitekstillä Edellinen artikkeli ja/tai sitten linkin seuraavaan artikkeliin linkkitekstin ollessa Seuraava artikkeli. Tämä voi kuulostaa monimutkaiselta, mutta on oikeastaan yksi yksinkertaisimmista asioista mitä tämä maa päällään kantaa.
Artikkelilistalle voidaan tulostaa sivutus samalla periaatteella, mutta tällöin itse sivutuksen luova koodi on hieman erilainen kuin yksittäisen artikkelin kohdalla:
<txp:if_article_list>
<txp:older>Edellinen sivu</txp:older>
<txp:newer>Seuraava sivu</txp:newer>
</txp:if_article_list>
Tämä ylle langetettu koodi tarkistaa siis onko käyttäjä tarkastelemassa artikkelilistausta. Tai vaikka Textpattern-sivuston etusivua.
Tagit: txp
Ehkäpä sinullakin jossain välissä astuu eteen sellainen tilanne, jossa Textpatternilla toteutettavan sivuston sisäisen hakukoneen tuottamat hakutulokset pitäisi erittää jossakin muussa osiossa kuin oletusarvoisen etusivun puolella. Tekemällä pientä hienosäätöä hakukoneeseen ja laittamalla pystyyn erityinen hakukoneosio, voidaan hakutuloksetkin sijoitella siististi haluttuun osioon. Meikäläisellä on tässä esimerkin vuoksi sivustolla oleva “Etsi”-niminen osio, jossa ruudulle ilmestyy hakukone ja hakukoneen tuottamat hakutulokset. Ne esitetään osiossa “Etsi” eikä sivuston etusivulla. Tällöin siis sivuston hakutulokset löytyvät osoitteesta www.omasivusto.com/etsi/hakutulokset.
Tämän toteuttamiseksi vaaditaan siis ihan erityinen osio, minkä voi tietysti nimetä halutuksi, mutta tässä esimerkissä osion nimi on se “Etsi”. Ja näin sitä mennään:
<txp:if_section name="etsi">
<h2>Etsi</h2>
<form action="<txp:site_url />etsi/" method="get">
<input type="text" name="q" value="" size="15" />
<button type="submit">Etsi</button>
</form>
<txp:if_search>
<h3>Hakutulokset:</h3>
<txp:article pgonly="0" />
<ul
><li title="Edellinen sivu"><txp:older showalways="1">Edellinen sivu</txp:older></li
><li title="Seuraava sivu"><txp:newer showalways="1">Seuraava sivu</txp:newer></li
></ul>
</txp:if_search>
</txp:if_section>
Tuon koodirimpsun voi nakata periaatteessa suoraan Textpattern-sivupohjaan, jonka jälkeen se ryhtyy automaattisesti tekemään sitä mitä ikinä hakukoneet ja -tulokset sitten tekevätkin. Tietysti jos hakutuloksia varten käytetään jotain muuta osiota kuin esimerkissä mainittua, tulee koodin kolmanneksi ylimmästä rivistä vaihtaa osion nimi toimivaksi.
Nettisivujen ylläpitäminen Textpatternin perusasennuksella ilman liitännäisiä on ihan OK. Sivuston pyörittämistä voi kuitenkin tehostaa asentelemalla Textpatterniin liitännäisiä. Tässäpä muutamia suosikkejani.
ob1_title auttaa sivujen title-tagien muotoilemisessa. Otsikkoon voidaan liittää kyseisen artikkelin nimi, artikkelin kategorian nimi ja sivuston nimi.zem_contact_reborn on monipuolinen palautelomakeplugin. Se siis lähettää nettisivun lomakkeessa ilmoitetun datan sähköpostiosoitteeseen. Sama liitännäinen sisältää myös näppärän toiminnon jonka avulla artikkeli voidaan lähettää sähköpostiosoitteeseen. Tämä vaatii toimiakseen erillisen kielitiedostopluginin, nimeltään zem_contact_lang. Kielitiedosto on oletusarvoisesti englanniksi, mutta sen voi suomentaa tai vaikka ruotsintaa kajoamalla liitännäisen lähdekoodiin. Kielen kääntäminen vie vain muutaman minuutin, joten eipä tuo kovin iso urakka ole. zem_contact_reborn-liitännäiseen on saatavilla myös spammisuojaus, joka on ihan erillinen plugin. Sen nimi on pap_contact_cleaner.rss_suparchive on kelvollinen apuväline arkiston luomista ajatellen. Tämän avulla voidaan luoda esimerkiksi sivutettu artikkelilista sivuston julkaisuista.tru_tags luo tageja, tagipilviä. Tämän asentaminen voi tuntua hankalalta, sillä sitä varten pitää erikseen luoda oma osio tageja varten jne. Kunhan tähän kunnolla tutustuu, voi se osoittautua erittäin herkulliseksi apuvälineeksi!art_meta_description luo artikkelin tekstistä automaattisesti meta description -tekstin. Tämän toimintoihin kuuluu mm. se miten monta sanaa tai kirjainta artikkelin tekstistä otetaan ja sullotaan meta description -tagiin.rss_admin_show_adv_opts avaa automaattisesti Textpatternin “Kirjoita”-välilehden vasemmassa sivupalkissa sijaitsevat toiminnot. Hyvin yksinkertainen, mutta voi säästää hermoja jos artikkeleita pukkaa tiuhaan tahtiin. Ei tarvitse erikseen kliksutella sitä “Lisävalinnat”-linkkiä kun tämä hoitaa sen automaattisesti.Liitännäisiä voi ladata ja hakea osoitteesta http://textpattern.org löytyvästä Textpattern Resources -sivustosta. Se on sellainen virallinen kirjasto TXP-liitännäisille.
Joskus saattaa Textpatternissa esimerkiksi sivupohja kasvaa hankalasti hahmotettavaksi kokonaisuudeksi. Merkkausta / koodausta voi kommentoida siten ettei kommentit näy käyttäjäpuolella lainkaan asettamalla kommentit tai muut piilotettavat tavarat <txp:hide /> -tagin sisälle. Tämä tagi esiteltiin muistaakseni vasta tuoreimmassa Textpatternin versiossa, joka on 4.0.5.
Ainakin TXP:n sivupohjiin ja lomakkeisiin voi sulloa vain ylläpidolle esitettävää tavaraa tällä tavoin:
<txp:hide>
Piilotettava teksti tulee tähän.
</txp:hide>
Onpas siitä taas kulunut pitkä aika kun viimeksi kirjoittelin tänne. On ollut kiireitä, niitä on edelleen. Kunhan sitä kullankallista luppoaikaa alkaa ilmaantumaan, voisin kirjoitella esimerkiksi näistä jutuista:
Tiedostonsiirtolomakkeen ulkoasun muokkaaminen CSS:n avulla. Tästä on olemassa jo toimiva demo, jonka innoittajana toimi Niceonen blogissa mainittu Shaun Inmanin esittelemä keino säätää file inputin ulkoasua JavaScriptia ja CSS-merkkausta käyttäen. Meitsin kikka kakkonen ei tarvitse lainkaan JS-koodia, joten who’s the man?
Aamulla herätessäni yöunilta heräsi sellainen vänkä idea. Siinä Textpatternin avulla voidaan luoda kullekin blogimerkinnälle uniikki ulkoasu. Joo-o.
Tämä Textpattern-vinkki on lyhyesti ja ytimekkäästi tässä:
<ul
><li><a title="Julkaise '<txp:title />' Bongaa!-sivustolla" href="http://www.bongaa.info/submit.php?url=<txp:permlink rel="external" />">Bongaa!</a></li
><li><a title="Julkaise '<txp:title />' Kerro.fi-sivustolla" href="http://kerro.fi/button?url=<txp:permlink rel="external" />">Kerro!</a></li
><li><a title="Julkaise '<txp:title />' Blogispotissa" href="http://www.blogispotti.fi/submit.php?url=<txp:permlink rel="external" />">Spottaa!</a></li
></ul>
Yllä näkyvä koodi voidaan liittää esimerkiksi Textpatternin single-artikkelilomakkeeseen. Se tulostaa ruudulle automaattisesti artikkelin lähetyslinkit kolmeen tunnetuimpaan suomalaiseen Digg-tyyliseen palveluun. Linkit on kääritty esimerkkikoodissa järjestämättömään listaan.
Tagit: artikkeli, blogimerkintä, txp
Niinkin luotettavan tietolähteen kuin Wikipedian mukaan syksy alkaa syyspäiväntasauksella syyskuun 22. tai 23. päivän kohdalla pohjoisella pallonpuoliskolla
. Syksyn saapumiseen on aikaa vain muutamia viikkoja. Kerron tämän teille siksi, että sääennustusten mukaan ensi viikko on äärimmäisen helteinen (maanantai-iltapäivän lämpötila Porvoossakin 30 °C:n tienoilla).
JavaScript-tiedosto tekee mystisiä laskusuorituksia selvittäessään kuinka monta päivää on vielä paahduttava kesän kuumuudessa. Syksy alkaa aikaisintaan virallisesti 22. syyskuuta, joten sillä mennään. Syksy sa armas, sa saavut…
…vain päivän kuluttua!
Tagit: javascript, txp
Joko olen tehnyt jotain väärin, tai sitten Textpattern 4.0.5:n tiedostolistan latauslinkeissä on jotain vialla. Aika monimutkainen lause. Avataanpa. Tänään yritin luoda luettelon tiedostokategorian sisältämistä tiedostoista. Kunkin tiedoston yhteydessä halusin esittää tiedoston nimen, kuvauksen, luomis- ja muokkaushetken jne., sekä tiedoston latauslinkin. (Sellaisen normaalin hyperlinkin, jota napsauttamalla voi ladata ao. tiedoston.) Textpatternissahan on aika näppäriä sisäänrakennettuja tageja, joiden avulla tiedostojen räplääminen onnistuu monipuolisesti. Loin tiedoston latauslinkin tällaisella TXP-koodilla:
<txp:file_download_link><txp:file_download_name /></txp:file_download_link>
Tuo koodi sijoitettiin lomakkeeseen files, joka on oletusarvoinen tiedostojen tietojen esitystapaa kyykyttävä lomake. Oheinen koodi tulostaa ruudulle tällaista:
<a href="http://www.omaosoite.com/file_download/#38;id=1">Esimerkki</a></li>
Esimerkissä tiedoston id-numero on 1. Tuollaista linkkiä klikkaamalla ei saa ladatuksi tiedostoa. Siinähän on nimittäin ylimääräistä moskaa seassa. Latauslinkin pitäisi näyttää tältä:
<a href="http://www.omaosoite.com/file_download/1">Esimerkki</a></li>
Tehdään toimiva latauslinkki. Sellaisen, mikä luo automaattisesti kullekin tiedostolle toimivan latauslinkkelin. (Voi ei. Taas keksin uuden sanan. I’ve disgraced mi famili. Harakirin paikka.) Luodaan haluttuun tiedostolomakkeeseen, joka omassa esimerkissäin on lomake files, alla näkyvää koodia:
<a href="<txp:site_url />file_download/<txp:file_download_id />/"><txp:file_download_name /></a>
Siinä se. Se tekee tällaista jälkeä:
<a href="http://www.omaosoite.com/file_download/1/">Esimerkki</a></li>
Nokkelimmat lukijat huomaavat kuinka tämä oheinen latauslinkki poikkeaa Textpatternin itse generoimasta latauslinkistä siten, että linkin loppuun on tässä tapauksessa ympätty kenoviiva (/). Sen voi tietysti jättää pois, sillä latauslinkki toimii ilmankin.
Tagit: txp
Textplates ’07, minkä nettisivut sijaitsevat aivan yllättäen osoitteessa www.textplates.com, kertoo uutisosiossaan laittaneensa kyseisen Textpattern-templatekilpailun jatkoajalle. Kisan oli tarkoitus päättyä jo kesäkuun lopussa, mutta vähäisen osallistujamäärän vuoksi kilpailuaikaa on jatkettu ensi viikon keskiviikkoon asti. Kilpailu päättyy siis 11. päivä kuluvaa kuukautta.
Tuo on siis sellainen ulkoasukilpailu, missä jaetaan aivan tajuttomasti palkintoja. Palkintoja on tarjolla yhteensä yli 11 000 USD:n edestä, joka on yli 8000 euroa. (8000 € = n. 47 000 Suomen markkaa.) Palkkioita ryöppyää päävoittajille ja 50 ensimmäiselle osallistujalle. Pääpottina on Sitegroundin lahjoittama Mac Mini. Sen lisäksi Grand Prize -sijalle kivunnut kilpailija saa Foingilta muhkean hostingpaketin ja lisenssin Style Master CSS Editor -ohjelmaan.
.zip-päätteisenä pakettina ja sen mukana tulee kulkea 125×125 kuvapikselin kokoinen kuvakaappaus kilpailutyön ulkoasusta.Textplatesin nettisivuilla kerrotaan viime vuoden kilpailun olleen erittäin suosittu. Se keräsi yhteensä n. 40 kilpailutyötä. Viime vuoden kilpailutöitä on ko. nettisivuston mukaan ladattu ainakin 100 000 kertaa.
Tämän vuoden Textplates-tuomaristoon kuuluu seuraavat alan asiantuntijat:
Textpatternin virallisessa weblogissa uutisoidaan, että ja jotta Textpatternin versio 4.0.5 on juuri julkaistu. Tuorein kehitysversio sisältää runsaasti uusia toimintoja ja pari kohtalaisen tärkeää tietoturvakorjausta. Toinen kriittisistä paikkauksista korjaa XSS-haavoittuvuuden Textpatternin kommenttien esikatselussa. Textpatternin blogissa kehotetaan vanhempien Textpattern-versioiden käyttäjiä päivittämään uusimpaan versioon nimenomaan tämän XSS-korjauksen vuoksi. Samalla he suosittelevat myös järjestelmään asennettujen liitännäisten päivittämistä tuoreimpiin versioihinsa.
Edellisen kerran järjestelmä hyppäsi versiosta toiseen viime vuoden lokakuussa.
txp:article_url_title.txp:hide.Tagit: txp
Koska ajattelen yksinkertaisesti, on yksinkertaisten Textpattern-vinkkien kirjoittaminen melko vaivatonta. Tänään kerron kuinka voit luoda Textpattern-järjestelmällä julkaistaviin artikkeleihin tai muihin julkaisuihin helposti ymmärrettävän ja esitystavaltaan fiksun päivämäärän.
Tehdään tänään TXP-koodi, joka tulostaa julkaisuun päivämäärän tällä tavalla:
Artikkeli julkaistiin lauantaina 11. päivä kesäkuuta vuonna 2007.
Tuo yllä näkyvä tyylikäs päivämäärä voidaan toteuttaa kahdella eri tavalla. Laitetaan artikkelin lomakkeeseen, joka voi olla listalomake tai yksittäisen artikkelin esitystapaa kyykyttävä lomake, joko tällainen koodi:
Artikkeli julkaistiin <txp:posted format="%A" gmt="0" />na <txp:posted format="%e." gmt="0" /> päivä <txp:posted format="%B" gmt="0" />ta vuonna <txp:posted format="%Y" gmt="0" />
Tai sitten tiivistetty versio:
<txp:posted format="Artikkeli julkaistiin %Ana %e. päivä %Bta vuonna %Y." gmt="0" />
Jälkimmäinen koodi on mielestäni hieman epätavallinen, mutta se näyttää toimivan ainakin Textpatternin versiossa 4.0.
Tagit: txp
Textpatternilla julkaistava artikkeli voi olla pitkä. Siinä voi olla paljon kirjaimia. Hirveästi kirjaimia ja pilkkuja ja pisteitä. Joskus voi olla järkevin ja käyttäjäystävällisin vaihtoehto halkaista artikkeli johdantoon ja leipätekstiin. Esimerkiksi tässä blogimerkinnässä näet viisi ensimmäistä lausetta johdantona, jonka jälkeen klikkaamalla joko blogimerkinnän permalinkkiä tai johdantotekstin alapuolella näkyvää linkkiä voit siirtyä lukaisemaan artikkelin kokonaisuudessaan.
![]()
Tämä temppu on toteutettu Textpatternilla, johon on asennettu & aktivoitu rss_auto_excerpt-niminen liitännäinen. Liitännäinen, eli plugin, on kytketty omaan lomakkeeseensa, joka taas on valittu käytettäväksi kyseistä blogimerkintää julkaistaessa.
Textpatternin käyttäjien eloa helpottamaan on luotu useita lomakkeenkäsittelijöitä, eli sellaisia lomakevirityksiä joiden avulla nettisivuilta voidaan lähettää sähköpostitse dataa johonkin sähköpostiosoitteeseen. Omakohtaisten kokemusten perusteella voin suositella esimerkiksi palautelomakkeen luomisessa käytettäväksi zem_contact_reborn-nimistä TXP-liitännäistä. Se on osoittautunut helpoksi asentaa ja käyttää. Se myös tyrehdyttää roskapostisaastan virtaamisen sähköpostilaatikkoosi. Näin vuolaita sanoja, eikä aiheetta.
Liitännäisen asentaminen ei vaadi kummoisia taitoja. Lomakeplugin tarvitsee toimiakseen oheisesta listasta näkyvät kaksi ylintä pluginia. Alimmainen, pop_contact_cleaner ei ole vaadittu lisäosa, mutta se on toki hyvä ladata ja asentaa jotta saadaan lomakkeelle entistäkin enemmän turvaa.
Alimmainen spammisuojaus lisää lomakkeen loppuun seuraavanlaisen koodirimpsun, joka houkuttelee spammirobotteja täyttämään ne.
<div style="visibility: hidden"><input type="text" name="phone" value="" id="phone" /><br /><input type="text" name="mail" value="" id="mail" /></div>
Nuo eivät siis näy tavalliselle ihmismäiselle käyttäjälle. Ne näkyvät esimerkiksi spammimasiinalle, joka tutkii nettisivun lähdekoodia ja yrittää sieltä merkkauksen seasta poimia lomakkeen tietoja. Nähdäkseni spammia lähettävä taho yrittää täyttää kaikki lomakkeen kentät, koska sen jälkeen yleensä voidaan lomakkeen tiedot lähettää eteenpäin. Tämä pop_contact_cleaner kuitenkin huijaa niitä pieniä spammiveijareita, sillä yllä näkyviin lomake-elementteihin ei tule syöttää minkäänlaista tietoa — jos nuo input-kentät täytetään, tarkoittaa se suojausjärjestelmälle sitä, että kyseessä on spammeri. Silloin lomakkeen tietoja ei lähetetä käsiteltäväksi… Ja niin tai näin roskapostia ei siis tule.
zem_contact_reborn on enemmänkin kuin vain lomakkeenkäsittelijä. Se mahdollistaa tavallisten palaute- ja yhteydenottolomakkeiden tekemisen ja käyttämisen, mutta sen sisälle on rakennettu myös toiminto, minkä avulla Textpatternilla julkaistun artikkelin voi lähettää sähköpostitse kaverille. Artikkelin vastaanottajan sähköpostiosoitteen voi määritellä käyttäjä itse.
Yksinkertaisen lomakkeen luominen onnistuu pistämällä muutaman rivin koodia Textpattern-sivuston lähdekoodiin, josta TXP sen sitten suorittaa kun sivu ladataan. Käytännössä oheisesta koodista syntyy suunnilleen samanlainen lomake kuin se joka sijaitsee tämän “blogin palautesivulla“http://www.kuopassa.com/weblog/palaute/. Lomakkeen ulkoasua voi tietenkin muokata CSS:n avulla. Samoin lomakkeen ilmoituksia (virheilmoitukset, kiitosviestit).
<txp:zem_contact to="etunimi.sukunimi@kuopassa.com">
<txp:zem_contact_text label="Nimi" min="3" />
<txp:zem_contact_textarea label="Viesti" />
<txp:zem_contact_email />
<txp:zem_contact_submit label="Lähetä palaute" />
</txp:zem_contact>
Tagit: lomakkeenkäsittelijä, plugin, txp
Textpattern ja Youtube
Me harvaisen monet TXP-julkaisujärjestelmän käyttäjät monesti mietimme voiko asiat tuottaa helpommin. Yksi näistä mietinnän kohteista saattaa olla Youtuben videoiden sijoittelu nopeasti ja helposti. Aloitetaan.
Aluksi meidän tulee luoda Textpatternin hallintapaneelin kautta uusi Muokattava kenttä. Siirry siis TXP:n hallintapaneelissa kohtaan Hallinta / Asetukset / Lisäastukset.
Selaa Muokattava-otsikon alle ja kirjoita johonkin Muokattavaan kenttään: Youtube. Muokattavan kentän numerolla ei ole mitään väliä.
Tämän jälkeen meidän tulee lisätä artikkelin lomakkeeseen pieni määrä koodia, jotta saisimme itse videot näkyviin. Siirry TXP:n hallintapaneelissa kohtaan Esittelytapa / Lomakkeet ja avaa articleform nimeltä default, tai se jota käytät kirjoitustesi alustana.
Itse koodi tulee näyttämään tältä. Sijoita se articleformissa kohtaan johon haluat videon ilmestyvän:
<txp:if_custom_field name="Youtube">
<p><object type="application/x-shockwave-flash" width="425" height="350" data="http://www.youtube.com/v/<txp:custom_field name="Youtube" />"><param name="movie" value="http://www.youtube.com/v/<txp:custom_field name="Youtube" />" /><param name="quality" value="best" /><param name="wmode" value="transparent" /></object></p>
</txp:if_custom_field>
Koodista löytyy kohdat width ja height. Näiden arvoiksi voit määrittää haluamasi, kunhan vain muistat säilyttää vanhan videon kokosuhteen 425:350. Täten voit määrittää leveydeksi vaikka 400 ja korkeudeksi 329. Tällöin videon koko sopii paremmin itse sivuston leveyteen.
Miten tätä sitten käytetään? Sisältöä kirjoitettaessa Lisävalinnat-otsikon alta löytyy nyt kohta Youtube. Tähän sinun tulee sijoittaa Youtuben videon koodi jos haluat lisätä artikkeliin videon.
Videon koodi löytyy itse videon linkistä. Esimerkiksi http://www.youtube.com/watch?v=8bbTtPL1jRs videon koodi on sarjanumero joka löytyy v=:n jälkeen. Tässä esimerkissä sarjanumero on 8bbTtPL1jRs.
Valmis artikkeliin tulostuva Youtube-koodi näyttää tältä:
<p><object type="application/x-shockwave-flash" width="425" height="350" data="http://www.youtube.com/v/8bbTtPL1jRs"><param name="movie" value="http://www.youtube.com/v/8bbTtPL1jRs" /><param name="quality" value="best" /><param name="wmode" value="transparent" /></object></p>
Rähinän Jukka Svahn, nuori vanha bloggari, ammoisten aikojen sampo, hullu ja aivan liian normaali — kaikkia erikseen ja samaan aikaan.
Tagit: txp
Textpatternilla rakennettuun sivustoon voidaan määritellä TXP:n hallintapaneelista käsin sivuston nimi ja iskulause. Kumpikin voidaan liittää sivuston sivupohjaan TXP:n sisäänrakennettujen tagien avulla. Niiden lisäksi sivupohjan title-elementtiin voidaan pistää Textpattern-tagi, joka automaattisesti luo sivun sisältöä kuvaavan otsikon.
Oletusarvoisesti TXP:llä hyrräävän sivuston sivupohjan title näyttää jokseenkin tältä:
<title><txp:page_title /></title>
Tuo on siis se automaattisesti ja älykkäästi toimiva tagi, joka tulostaa sivupohjan title-elementin sisään otsikon. Se ei kuitenkaan sivuston etusivulla, aloitussivulla, tulosta muuta kuin sivuston nimen. Ohhoh. Voisimme tehdä etusivun title-otsikosta hieman informatiivisemman jos lisäisimme otsikkoon esimerkiksi sivuston slogan-tekstin. Slogan on usein informatiivinen. Sivuston nimi on informatiivinen. Kun käytämme sekä sivuston nimeä, että iskulausetta, maailma lähes kavahtaa sitä informatsuunin määrää, joka title-palikan sisällä velloo.
Tehdään niin.
<title><txp:page_title /><txp:if_section name=","> — <txp:site_slogan /></txp:if_section></title>
Tehty. Sivun otsikon tulostavan tagin lisäksi pistimme <txp:if_section>-ehtolausemonsterin, joka tulostaa sen sisälle laitetun tekstin tai tagin tai kuvan tai koodin, mikäli ehtolause täyttyy. Tässä tapauksessa tulostetaan <txp:site_slogan /> jos käyttäjä on sivuston etusivulla, aloitussivulla. Huomaavaisimmat Teistä havaitsevat, että käytän pilkkua ehtolauseen name-attribuutin arvona. Senhän voi jättää tyhjäksi, jolloin koko koodirimpsu näyttäisi tältä:
<title><txp:page_title /><txp:if_section name=""> — <txp:site_slogan /></txp:if_section></title>
Tuntuu toimivan pilkulla tai ilman. Pilkun kanssa voidaan määritellä niiden sivuston osioiden nimet, joiden yhteydessä tulostetaan ehtolauseen sisälmykset. Jos halutaan tulostaa sivuston etusivulla ja “uutiset”-nimisen osion yhteydessä title-elementtiin myös slogan, voimme tehdä näin:
<title><txp:page_title /><txp:if_section name=",uutiset"> — <txp:site_slogan /></txp:if_section></title>
Tagit: txp
Tässä kirjoituksessa kerrotaan miten Textpatternilla julkaistun artikkelin yhteydessä esitettävän arvosanan tai -numeron voi korvata sen graafisella vastineella. Arvosana syötetään TXP:ssä sille varattuun custom_field-kenttään. Kenttään syötetty numero tai muu arvo tunnistetaan TXP:n sisäänrakennetun if_custom_field-toiminnon avulla ja korvataan CSS:n avulla sen graafisella vastineella.
Idea on yksinkertainen ja sen toteuttaminenkin on melko helppoa. Varttitunnissa saat rakennettua esim. levyarvosteluja varten helppokäyttöisen arvostelutoiminnon. Toimiva esimerkki löytyy Gootti.net-sivustolta, jossa on levyarvostelu Scream Silence -nimisen bändin uusimmasta albumista. Arvostelun lopussa nähdään albumille annetut “pisteet”. Tuossa tapauksessa pisteet annettiin väliltä 0–5. Levylle annettiin neljä pistettä (kts. kuva), jotka korvattiin julkaistussa artikkelissa kuvatiedostolla.
“Korvaaminen” on tässä tapauksessa harhaanjohtava termi, sillä käytännössähän teksti vain piilotetaan kuvan alle.
Aloitellaan. Luodaan ensin Textpatternin hallintapaneelista uusi custom_field, jonka nimeksi annetaan Levyarvostelun pisteet (0-5). Kun tuo kenttä on luotu, se näkyy TXP:n “Kirjoita”-välilehdessä, siinä vasemmassa sivupalkissa.
Seuraavaksi laitetaan ehtolauserykelmä kuntoon. Se on melko helposti toteutettu:
<txp:if_custom_field name="Levyarvostelun pisteet (0-5)" val="0"><p class="pisteet pist0"><span>Pisteet:</span> 0/5</p></txp:if_custom_field>
<txp:if_custom_field name="Levyarvostelun pisteet (0-5)" val="1"><p class="pisteet pist1"><span>Pisteet:</span> 1/5</p></txp:if_custom_field>
<txp:if_custom_field name="Levyarvostelun pisteet (0-5)" val="2"><p class="pisteet pist2"><span>Pisteet:</span> 2/5</p></txp:if_custom_field>
<txp:if_custom_field name="Levyarvostelun pisteet (0-5)" val="3"><p class="pisteet pist3"><span>Pisteet:</span> 3/5</p></txp:if_custom_field>
<txp:if_custom_field name="Levyarvostelun pisteet (0-5)" val="4"><p class="pisteet pist4"><span>Pisteet:</span> 4/5</p></txp:if_custom_field>
<txp:if_custom_field name="Levyarvostelun pisteet (0-5)" val="5"><p class="pisteet pist5"><span>Pisteet:</span> 5/5</p></txp:if_custom_field>
Näyttääkö monimutkaiselta ja hankalalta hahmottaa? Ajatus tuon toiminnon takana on äärimmäisen yksinkertainen. Otetaanpa yksi if_custom_field-koodi käsiteltäväksi ja katsotaan mitä se oikein tekee:
<txp:if_custom_field name="Levyarvostelun pisteet (0-5)" val="0"><p class="pisteet pist0"><span>Pisteet:</span> 0/5</p></txp:if_custom_field>
Tuossa yläpuolella näkyy siis pätkä koodia, mikä siis laitetaan siihen Textpatternin lomakkeeseen, jota käytetään artikkelissa. Koodi tarkistaa onko custom_field-kentässä, minkä nimi on Levyarvostelun pisteet (0-5), arvo 0. Arvo tarkoittaa tässä tapauksessa pisteitä (arvosanaa!). Jos arvo on 0, silloin esimerkissä tulostetaan tällaista (X)HTML-merkkausta:
<p class="pisteet pist0"><span>Pisteet:</span> 0/5</p>
Yllä näkyy siis normaali tekstikappale, mille on annettu kaksi ryhmäselektoria (pisteet ja pist0). Ne viittaavat CSS-merkkaukseen, jota kirjoitamme myöhemmin. Voisimme toki käyttää myös id-selektoria, mutta vain siinä tapauksessa, ettei samalla nettisivulla taatusti näytetä kahta artikkelia, joissa käytetään tätä arvostelusysteemiä. Ryhmäselektorien käyttäminen on järkevää jos esim. levyarvosteluja on samalla sivulla useita kappaleita.
Tekstikappaleen sisälle on laitettu sana “Pisteet”, joka on kääritty span-elementin sisälle. Tämä sen vuoksi, että voimme tarttua siihen myöhemmin CSS:n kautta — laitamme nimittäin kaikki muut tekstikappaleen sisälle tungetut kirjaimet ja merkit piiloon CSS:n avulla. (Koska haluamme laittaa tavallisen tekstin tilalle grafiikkaa.)
Yllä näkyvä tekstikappale tarkistaa mikäli sille määritellyn custom_field_-kentän arvo on 0. Tämähän on selvä juttu. Jos se arvo on se, niin arvosana on 0. Argh. Onpas monimutkaista. Jos arvosana on 0, niin ruudulle tulee näkyviin tällaista:
Pisteet: 0/5
Tuohan se tulee näkyviin. Ei mitään muuta. Jos kyseisen custom_field-kentän arvo on jokin muu kuin 0, silloin tätä yllä näkyvää tekstikappaletta ei näytetä. Tuohon voimme kuitenkin ulottaa CSS:n lonkerot. Olemme valmistelleet ko. tekstikappaleen merkkauksen siihen pisteeseen, että voimme korvata tekstikappaleessa näkyvän “0/5”-pötkön kuvatiedostolla. Meillä on tekstikappaletta varten selektori, millä siihen pureudutaan. Tässä vaiheessa itse kunkin on syytä tuntea itsensä hyvin miehekkääksi ja voimakkaaksi. Meillä on nimittäin keinot pistää tuo pikkuruinen p-elementti sellaiseen solmuun, ettei mitään rajaa.
Tuo pistemäärä voidaan piilottaa ja laittaa sen tilalle vaikkapa tähtiä. Vaikkapa viisi kappaletta tähtiä. Tyhjiä, himmeitä, tähtiä. Esimerkiksi sellaisia, mitä tuossa alapuolella näkyy.

Voimme käyttää myös noita tämän artikkelin alussa näkyviä tähtiä. Siinä on yksi iso läjä tähtiä, joita voi käyttää. Kaikki tähdet on sijoitettu ja tallennettu samaan kuvatiedostoon, jota käytetään kaikkien pistemäärien esittämisessä. Ei tarvitse nysvätä useiden eri kuvatiedostojen kanssa kun pidetään koko tähtikokoelma samassa kasassa.
p.pisteet {
text-indent: -9999px;
overflow: hidden;
display: block;
height: 50px;
/* Pituutta kannattaa varata riittävästi: */
width: 200px;
/* p-elementti relatiiviseksi, jotta span-elementtiin kääritty teksti saadaan irrotettua haluttuun kohtaan: */
position: relative;
}
p.pisteet span {
/* span-elementtiin käärittyä tekstiä ei piiloteta: */
text-indent: 0;
/* Sijoitetaan span-elementti p-elementin sisällä haluttuun paikkaan: */
position: absolute;
top: 15px;
left: 10px;
}
/* Seuraavaksi vuorossa itse tähdet: */
p.pist0 {
background: url(pisteet.png) no-repeat 40px 100%;
}
p.pist1 {
background: url(pisteet.png) no-repeat 40px -200px;
}
p.pist2 {
background: url(pisteet.png) no-repeat 40px -150px;
}
p.pist3 {
background: url(pisteet.png) no-repeat 40px -100px;
}
p.pist4 {
background: url(pisteet.png) no-repeat 40px -50px;
}
p.pist5 {
background: url(pisteet.png) no-repeat 40px 0;
}
Kannattaa huomata, että tuossa yllä näkyvässä tähtien esitystapaa määrittelevässä CSS-litaniassa ylimmäisenä määritellään se kuva, jonka pisteet (tai arvosana) on 0. Ylimmäinen koodiklimppi esittää siis esimerkkikuvan alimmaiset tähdet.
Toinen huomionarvoinen seikka, joka koskee samaa CSS-rypästä, on pisteet.png-kuvatiedoston sijoittaminen p-elementin pituussuunnassa alkamaan 40 kuvapikseliä vasemmasta laidasta. Esimerkissähän p>-palikka on 200 pikseliä pitkä. Siihen pituussuuntaan sijoitetaan sekä span-elementtiin kääritty teksti, että kuvatiedosto. Teksti on sijoitettu tässä tapauksessa tähtien vasemmalle puolelle.
TXPhorum on ilmainen, kevyt ja näppärä. Ja ihQ. Sen asentaminenkin on nopeasti hoidettu, sillä se vaatii toimiakseen ainoastaan parin TXP-pluginin asentamisen ja parin osion luomisen. Sen jälkeen foorumi on käyttökunnossa.
Foorumin voi nähdä toiminnassa siirtymällä osoitteeseen www.pelivihjeet.com/foorumi/. (Jos sivusto ei toimi niin siitähän sitten vaan lähettelemään kiitoksia Webol-firmalle, jonka MySQL-palvelin on kaatunut & kompastellut pitkin päivää.)
Kiitos TradeDoublerilla työskentelevän Nicon, Gootti.net hyväksyttiin CDON.COM:in kumppanuusohjelmaan. Nyt goottisivuston artikkeleissa esitetään joko Google AdSense -banneri tai sitten vaihtoehtoisesti CDON.COM-verkkokaupasta löytyvään tuotteeseen viittaava linkki. Jos siis Gootti.net-sivustolla julkaistava artikkeli tai uutinen käsittelee vaikkapa musiikkia, niin silloinhan voidaan käydä etsimässä em. verkkokaupasta artikkeliin/uutiseen liittyvää musiikkia ja linkittää siihen. Tällöin lukija saa uutisen tai artikkelin kautta tietoa häntä itseään kiinnostavasta musiikista ja samalla voi tilata musiikkia CDON.COM:in edullisesta verkkoputiikista. Vaihtoehtoisesti jutun yhteydessä esitetään AdSense-mainos. Yksittäinen Gootti.net-sivustolla julkaistava juttu on siis rakenteeltaan seuraavanlainen:
Tällaisen toiminnon rakentaminen on melko helppoa, nimittäin Textpatternilla. Ympäri mennään ja yhteen tullaan. Textpatternilla julkaistava yksittäinen juttu käyttää oletusarvoisesti “Single”-lomakepohjaa. Rakennetaan sinne sellainen toiminto, minkä avulla voidaan esittää tavaraa n:o 1 tai sitten vaihtoehtoisesti tavaraa n:o 2, mikäli ensimmäistä ei ole tarjolla. Tehdään näin:
<txp:if_custom_field name="tuotelinkki">
<!-- Tavara n:o 1 tulee tähän -->
<txp:else />
<!-- Tavara n:o 2 tulee tähän -->
</txp:if_custom_field>
Ja tämä laitetaan siis lomakepohjaan “Single”. Tuota systeemiä varten tarvitaan vielä yksi kappale _custom_field_-kenttiä. Sellaisen voi käydä tekemässä siirtymällä ensin TXP:n “Hallinta”-välilehteen ja sitten sieltä napsauttamalla “Asetukset”-linkkiä. Ja sitten vielä “Lisäasetukset”-linkkiä. Nyt avautuvalta sivulta löytyy paljon tavaraa, joista ei tarvitse välittää. Etsitään sivulta muokattavien kenttien luettelo ja laitetaan jonkun kentän nimeksi “tuotelinkki”.
Siinä se on. Nyt jokaisen sivustolla julkaistavan jutun yhteydessä esitetään joko tavaraa 1 tai tavaraa 2. Jos kenttään “tuotelinkki” on laitettu tekstiä, silloin esitetään tavaraa numero 1. Jos kenttä on tyhjä, silloin laitetaan tavaraa n:o 2. Tästä voi itse kukin ideoida vaikka minkälaisia variaatioita. Vaikka tällaisen:
<txp:if_custom_field name="tuotelinkki">
<a href="<txp:custom_field name="tuotelinkki" />">Tilaa tuote!</a>
<txp:else />
Tuotetta ei ole olemassa.
</txp:if_custom_field>
TradeDoubler uusi ulkoasunsa ja paransi sivupohjiensa merkkauksen laatua.
Tagit: gootti.net, tradedoubler, txp
Tässäpä teille Google Maps & Textpattern -sarjan toinen osa. Yritetään hahmottaa miten Google Maps -karttapalvelua voisi hyödyntää mahdollisimman vähäisellä vaivannäöllä omassa blogissa tai muussa verkkopalvelussa. Pistetään karttasysteemi toimimaan Textpatternilla, jotta karttakohteiden lisääminen, muokkaaminen ja poistaminen onnistuisi joutumatta itse räpläämään kartta-alueen lähdekoodia. Annetaan Textpatternin tehdä työ puolestamme — sidotaan ensin karttatoiminto ja TXP toisiinsa.
Edellisessä tätä asiaa käsittelevässä blogimerkinnässä vähän pohjustettiin ja alustettiin Google Maps -karttojen lisäämistä nettisivuille. Tarvitaan tosiaan API-avain, joka on ilmainen ja jonka saa haettua Googlen karttapalvelusta parilla napinpainalluksella. API-avainkoodin hakemisen jälkeen se lisätään nettisivun lähdekoodiin, <head></head>-osion sisään… Kannattaa lukea blogimerkintä “Google Maps ja Textpattern: osa 1”, sillä sieltä löytyy aika selväkielisesti ohjeet API-koodin liittämiseksi nettisivun lähdekoodiin, kuin myös kartta-alueen määritteleminen sivun lähdekoodiin.
Otetaan mallia Gootti.net-sivustolla löytyvästä karttapalvelusta, missä listataan suomalaisten goottikauppojen ja muiden samanhenkisten liikkeiden sijainnit kartalla. Se on toimiva esimerkki.
Kartta-alue määritellään vaikkapa näin:
<div id="map" style="width:500px; height: 500px"></div>
Kartta tulee siis näkyviin 500 kuvapikseliä leveänä ja korkeana. Kartta on niin iso tai pieni, leveä tai korkea, kuin mikä sille ilmoitetaan CSS:n avulla.
Jos käyttäjän nettiselaimessa ei ole JavaScript-koodin suorittaminen sallittu, tällöin karttaa ei näytetä. Voidaan tunkea tuonne div-parin väliin jotain tekstiä tai kuvaa siltä varalta, että tuo JS on pois käytöstä (tai jos nettiselain ei jostain muusta syystä kykene näyttämään karttaa):
<div id="map" style="width:500px; height: 500px"><p>Hei! Oi ei! Nyt ei kartta taida toimia. Käy sen sijaan katsomassa staattista karttakuvaa <a href="#">täällä</a>.</p></div>
Tuossa esimerkissä siis kartta-alueen sisälle on laitettu tekstikappale, jossa lukee:
Hei! Oi ei! Nyt ei kartta taida toimia. Käy sen sijaan katsomassa staattista karttakuvaa täällä
Esimerkkitekstin linkki ei johda mihinkään, mutta senhän voisi linkittää esim. kartasta otettuun kuvakaappaukseen tai johonkin vaihtoehtoiseen palveluun. Tai sitten linkkiä ei lainkaan laiteta sinne. Ei ole pakko.
Vielä ei kartta kuitenkaan toimi. Sehän tarvitsee nimittäin hieman lisätietoja. Lisätietoja voi hakea vaikkapa suomenkieliseltä ohjesivulta, missä selostetaan hyvinkin yksinkertaisten karttojen tekeminen.
Nyt sitten vähän sisäistetään noita juttuja. Ajatellaan ja pohditaan ja käydään mahdollisesti kahvilla, laitetaan pari riviä lottoa ja toivotaan sieltä tulevan järjettömästi rahaa. Sitten kun huomataan, ettei pääpottia taaskaan tullut, ja unelmat jäävät unelmiksi, voidaan keskittyä taas tähän karttajuttuun. Huokaistaan vielä syvään. Jatketaan.
Kartta toimii sitten kun sen yhteyteen laitetaan lisää koodia. Koodi voi näyttää tältä:
<script type="text/javascript">
//<![CDATA[
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(63.598358,24.571836), 5);
map.setMapType(G_NORMAL_MAP);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
//]]>
</script>
Yllä näkyvä koodi voidaan panna esim. kartta-alueen alapuolelle nettisivun lähdekoodissa.
map.setCenter(new GLatLng(63.598358,24.571836), 5);
Tämä ylle laitettu koodirivi tarkoittaa kartta-alueen aloituspaikkaa. Siinä on latitudi (leveysaste) ja longitudi (pituusaste). Latitudi on esimerkissä tällainen numerolitania: 63.598358 ja se erotetaan pituusasteesta pilkulla, eli pituusaste on leveysasteen oikealla puolella. Lisäksi koodirivissä näkyy numero 5. Se tarkoittaa Google Maps -kartan zoomausta. Ilmeisesti Google Maps -kartan zoomaus voi olla enintään 16 — jos kartan aloituspaikan zoomaus on 16, se tarkoittaa kartan olevan mahdollisimman lähellä Telluksen pintaa. Tellus tarkoittaa tätä planeettaa.
Seuraavaksi varmaan kysytte mitä nämä koodirivit tarkoittavat:
map.setMapType(G_NORMAL_MAP);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
No sitä minä en tiedä. Kai niillä joku funktio on.
map.setMapType(G_NORMAL_MAP);
Tämä tarkoittaa mahdollisesti sitä karttanäkymää, mikä on kartta-alueella käytössä. Tässä esimerkkikoodissa on perinteinen kartta, jossa näkyy kaikenmaailman tiet ja risteykset ja kadunnimet. Google Maps -kartassa voidaan em. karttanäkymän lisäksi valita sellainen satelliittikuvista koostettu kartta (siinä ei näy teiden nimiä). Kolmas vaihtoehto on hybridikartta, joka on satelliittikuvista koostettu kartta, missä esitetään myös teiden nimet yms.
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
Näillä ilmeisesti määritellään minkälaisia painikkeita ja navigointivälineitä kartta-alueen oikeaan ja vasempaan yläkulmaan tulee näkyviin. Navigointivälineillä viittaan nuolipainikkeisiin, joilla kartassa voi siirtyä suunnasta toiseen, sekä zoom-nappuloihin. Jälkimmäisiä nappuloita nylkyttämällä kartta-alueen zoomausta voi vaihtaa.
Eiköhän tässä ollut tarpeeksi tälle päivälle. Seuraavassa jaksossa jalostamme karttaa lisäämällä siihen karttapisteitä. Toivottavasti jossain vaiheessa saadaan nämä löpinät hoidettua pois alta ja käsiteltyä myös kartan kytkemistä Textpatterniin.
Google Maps on mahtava karttapalvelu. Sen avulla voi vaikkapa näyttää missä suomalaiset goottikaupat sijaitsevat. Tuollaisen karttasysteemin valjastaminen Textpatternilla päivitettäväksi on loppujen lopuksi melko yksinkertaista. Tarvitaan vain:
Gootti.net:in Goottikaupat kartalla -osion päivittäminen hoidetaan TXP:n kautta. Kartalla näkyvien kohteiden lisääminen, poistaminen ja muokkaaminen on yhtä helppoa kuin minkä tahansa artikkelin hallitseminen TXP:n avulla.
Näin on. Nyt voisin jättää kertomatta miten tämä on mahdollista. Voisin olla neuvomatta tarkemmin. Ihan kiusallani.
Mutta nyt palatkaamme kuitenkin käsiteltävänä olevan asian pariin. Google Maps -systeemin käyttäminen on melko helppoa, kunhan ensin viitsii tutustua systeemin takana toimivaan rattaistoon. Kartan laittaminen nettisivulle vaatii ensin pikaisen toimenpiteen suorittamisen Google Maps API:n suunnalla. Haetaan sieltä halutulle nettisivulle jonkinlainen sarjanumero (virallinen termi lienee Maps API key). Koodilitanian hakeminen onnistuu nopeasti. Ensin lukaistaan palvelun käyttöehdot, hyväksytään ne, jonka jälkeen ilmoitetaan sen nettisivun URL-osoite, jolle anotaan sarjanumero. Sitten lähetetään lomakkeen tiedot napsuttamalla "Generate API key" -nappulaa. Sen jälkeen kun em. lomakkeen tiedot on lähetetty, saadaan esiin karttapalvelun sarjanumero ja kaikenmaailman ohjeistuksia. Otetaan ainakin se sarjanumero talteen. Otetaanpas vielä ne muutkin ohjeet säilöön, kun eihän sitä tiedä miten pieleen näillä minun ohjeillani mennään…
Karttahan saadaan nettisivulle näkyviin laittamalla juuri haettu sarjanumero nettisivun lähdekoodin <head></head>-osion väliin. Lisättävä koodirivi näyttää todennäköisesti / jokseenkin tältä:
<script src="http://maps.google.com/maps?file=api&v=
1&key=tahan-sarjanumero" type="text/javascript"></script>
Yllä näkyvä koodiesimerkki pitää sisällään rivinvaihtoja, joten tuo ei tuollaisenaan toimi. Lisäksi siitä puuttuu toimiva sarjanumero. (Eli koodirivin voi toki kopioida, mutta siihen kannattaa vaihtaa toimiva sarjanumero ja poistaa turhat rivinvaihdot.)
Nyt kun olemme saaneet näin paljon aikaiseksi, voisimme käydä vaikka jääkaapilla hakemassa evästä. On vielä paljon tekemistä, jotta kartta toimisi.
Kartan lähdekoodin sisältöalueelle, ts. <body></body>-palikan väliin, laitetaan haluttuun kohtaan ensin tällaista:
<div id="map" style="height: 100px; width: 100px;"></div>
Tämä koodi on se alue, mihin kartta tulostetaan. Se paikka, mihin kartta tulee näkyviin. Kartta sijoitetaan div-pömpelin sisään. Tässä esimerkkimerkkauksessa kartan kokoa ja leveyttä säädetään CSS-merkkauksen avulla, joka on muljaistu div-elementin sisään. Kartassa on oletusarvoisesti id-selektori, jonka arvo on map. Kun kerran selektori, joka muuten on aika hieno sana, löytyy, siihen voidaan tarttua esim. ulkoisen CSS-tiedoston kautta. Tämän nimenomaisen ja kyseessä olevan div-mötikän sisälle voidaan laittaa tavaraa. Voidaan laittaa esimerkiksi joku teksti-ilmoitus, tyyliin: “Jos näet tämän, karttapalvelu ei toimi.”. Siis esimerkiksi näin:
<div id="map" style="height: 100px; width: 100px;"><p>Kun kerran näet tämän, et näe karttaa. Harkitse paremman nettiselaimen hankkimista.</div>
Jos karttasysteemi toimii, se peittää koko div-palikan alueen ja piilottaa tekstin ja todennäköisesti muut sinne sijoitetut roinat alleen. Karttasysteemihän toimii hyvin pitkälti JavaScript-koodin avulla. Mikäli käyttäjän nettiselaimessa on JS:n suorittaminen evätty, silloin kartta ei toimi.
Tämä juttu onkin odotettua laajempi selittää ja esitellä. Seuraavassa jaksossa laitamme kartan näkymään aikaisemmin mainitun div-elementin kohdalle. Käsittelemme mahdollisesti myös kohteiden lisäämistä kartalle, tai vaihtoehtoisesti sitä miten paljon pikakahvia vatsalaukkuni vetää.
Joskus sattuu ja tapahtuu. Saattaa vaikkapa unohtua jonkin Textpatternia käyttävän sivuston hallintapaneelin salasana. Unohtuneen tai kadonneen salasanan voi kuitenkin nollata, mikäli on mahdollista käydä hieman säätelemässä nimenomaisen Textpattern-järjestelmän tietokantaa — tietokantaanhan on tallennettu TXP-järjestelmän käyttäjätilien tiedot. Tietokannasta löytyy luonnollisesti myös järjestelmän ylläpitäjän käyttäjätunnus ja salasana, jotka voi vaihtaa muokkaamalla tietokantaa esimerkiksi phpMyAdmin-järjestelmän avulla.
Käyttäjätilin tiedot on tallennettu Textpatternin tietokannan tauluun txp_users. Ainakin näin pitäisi olla, ellei sitten TXP-järjestelmää asennettaessa ole itse vaihdettu taulujen oletusarvoisia nimiä. Kyseisestä taulukosta löytyy sellainen sarake tai rivi, jossa lukee pass. Sinne on sijoitettu kaikki käyttäjätilien tiedot. Jokaisen käyttäjätilin käyttäjätunnus on selkokielisenä, mutta salasana on jotenkin kryptattu. Salasanan voi vaihtaa phpMyAdmin-järjestelmästä vaikkapa siten, että seikkaillaan ensi kohti oikeaa taulukkoa ja oikeaa saraketta (eli kohti pass-nimistä mötikkää). Tyhjennetään huolettomasti se tekstikenttä, jossa lukee vanha kryptattu salasana ja naputellaan tilalle uusi. Voidaan tallentaa. Ja salasanalla ei pääse kirjautumaan. No. Hitto.
Sitten kun pakokauhua on jälleen kerran saatu lietsotuksi, voimme yrittää uudelleen samaa operaatiota… Tällä kertaa sen jälkeen, tai sitä ennen, kun vanha kryptattu salasana on nollattu ja uusi kirjoitettu, valitaan pudotusvalikosta arvo PASSWORD. Sitten tallennetaan. Sitten se toimii.
Tagit: txp
Tagit: txp
Rahinaa ja rähinää tuolta Jukan suunnalta — hän tuki, neuvoi ja auttoi kun hätä oli suurin.
Tämän blogin arkistossa on varmaan muutamia satoja blogimerkintöjä, joista tosin valtaosa on ihan täyttä turhuutta, mutta jotka on nyt laitettu yhdelle sivulle kaikki... Ihan kaikki. Tuon sivun lataaminen on melko raskasta eikä Googlekaan taida siitä kovin paljon tykätä. Iso-G soisi, että yhdellä sivulla olisi kohtuullinen määrä linkkejä. Kohtuullisen määritteleminen kohtuullisen hankalaa, mutta taitaa olla hieman kohtuutonta jos yhdellä sivulla on pelkästään satakunta linkkiä.
Laitoin Metallimusiikki.net:in arkistoon Jukan antamien neuvojen pohjalta systeemin, jolla arkistossa näkyvät julkaisut on sivutettu usealle yksittäiselle sivulle. Siellä arkistossa on nyt 15 julkaisua per sivu. Samanlaista systeemiä on tarkoitus viritellä myös Gootti.net:in arkistoon, jossa tällä hetkellä on melkoinen litania linkkejä yhdessä ryppäässä.
Näillä edellä mainituilla sivustoilla on käytössä Textpattern-järjestelmä. Näin ollen tämä vinkki, tämä ohje, toimii vain Textpatternin käyttäjillä. Eli, eli... Tämä sivutushan on toteutettu Metallimusiikki.net-sivustolla niin, että sen Textpatterniin on ensin asennettu rss_suparchive-niminen lisäosa. Asennuksen jälkeen lisäosa on aktivoitu. Sitten on siirrytty muokkaamaan TXP:n hallintapaneelista arkisto-osion sivupohjaa, johon on laitettu suurinpiirtein tällainen koodi:
<ul>
<txp:rss_suparchive section="metallimusiikki,musiikkivideot" form="arkistolista" limit="15" />
</ul>
<ul id="sivutus"
><li title="Siirry edelliselle sivulle"><txp:older>Edellinen sivu</txp:older></li
><li title="Siirry seuraavalle sivulle"><txp:newer>Seuraava sivu</txp:newer></li
></ul>
Koodiesimerkissä näkyvän ensimmäisen ul-listan sisälle on laitettu siis tuo aktivoitu rss_suparchive-lisäosa, jonka avulla kutsutaan kahdesta osiosta (section) julkaisuja tulostettavaksi arkistosivulle. Esimerkissä osioiden nimet ovat metallimusiikki ja musiikkivideot. Koska osioita on esimerkissä enemmän kuin yksi kappale, joudutaan osiot erottelemaan pilkulla. Siinä määritellään myös lomake (form), jota käytetään julkaisujen tulostuksen muotoilemiseen. Tässä tapauksessa käytettävän lomakkeen nimi on arkistolista. Lopuksi koodissa rajoitetaan (limit) yhdellä kertaa sivulle tulostettavien julkaisujen lukumäärä. Tässä tapauksessa tulostetaan sivulle 15 kappaletta julkaisuja.
Jälkimmäinen koodiesimerkissä näytetty ul-lista sisältää itse arkistosivun sivutuksen.
Kolmas viritettävä hommeliini on sen lomakkeen luominen ja muokkaaminen, jolla määritellään em. arkistossa esitettävien julkaisujen esitystavan ja muun informaation.
Siirrytäänpä Textpatternin hallintapaneelissa osioon "Lomakkeet". Luodaan sinne uusi lomake klikkaamalla sivun oikeassa laidassa näkyvää "Luo uusi lomake" -linkkiä. Nyt on tyhjä lomake. Vau. Laitetaan siihen tyhjään lomakkeeseen esimerkiksi tällainen koodi:
<li><txp:posted />: <txp:permlink><txp:title /></txp:permlink></li>
Tuo tuossa yläpuolella näkyvä koodi tulostaa julkaisun päivämäärän (päivämäärän esitystapaa voi toki erikseen muotoilla), sitten se laittaa sen päivämäärän jälkeen kaksoispisteen ja välilyönnin ja... Joo-o, eiköhän se avaudu selittämättäkin. Tämä lomake käärii siis jokaisen julkaisun luettelorivin sisään ja tulostaa siihen päivämärään, kestolinkin ja julkaisun otsikon.
Seuraavaksi tallennetaan lomake. Laitetaan nyt lomakkeen nimeksi "arkistolista" kun kerran sitä jo tuolla aiemmassa koodiesimerkissä on käytetty. Lomakkeen tyypiksi valitaan article. Sitten voidaankin napsauttaa sitä nappulaa, jossa lukee "Tallenna".
Tässä vaiheessa pitäisi arkiston olla kunnossa ja siinä tulisi näkyä (ja toimia!) sivutus.
Mainitsin tuossa eräässä välissä, että lomakkeen kautta tulostettavan julkaisun päivämäärän ja mahdollisen aikaleiman voi muotoilla halutunlaiseksi. Sehän onnistuu tällä tavoin:
<txp:posted format="%d.%m,%y" />
Em. juttuun löytyy tarkempia ohjeita TextBook International -sivuston txp:posted-sivulta.
Textpatternin Dev Weblog kertoo, että nyt on julkaistu viimeinen esijulkaisu (pre-release) Textpatternin versiosta 4.0.4. Esijulkaisun versionumero on 4.0.4rc1. Muutoksia ja uutuuksia uusi TXP:n versio tuo tullessaan melko paljon.
article ja article_custom -tagit saavat uuden sort-attribuutin.author, category, category1 ja category2 -tagit voi linkittää mihin tahansa osioon nimen perusteella.class ja rel).link_category, link_date, link_name ja link_url.if_author ja if_article_author.Tagit: txp
Tänään tapahtui Gootti.net:in suunnalla sellainen hommeli, että päätin vaihtaa sivustolla käytettävän uutistyökalun. Käytössä oli aiemmin CuteNews, josta vaihdettiin tällä hetkellä uusimpaan Textpatternin versioon.
Siirto-operaatio suoritettiin sillä tavalla, että Textpattern ensin asennettiin alihakemistoon, jonka jälkeen manuaalisesti jokainen sivustolla CuteNewsin avulla julkaistu uutinen, artikkeli ja “linkkivinkki” kopioitiin Textpatterniin. Kun materiaalit saatiin siirrettyä uuteen järjestelmään otin varmuuskopion CuteNewsistä.
Textpatternin siirtäminen alihakemistostosta sivuston juureen onnistuu näin:
Jossain vaiheessa voi käydä antamassa kansioille files ja images tarvittavat CHMOD-oikeudet.
Jos Textpattern ei jostain syystä enää toimikaan niin nyt saattaa olla hyvä hetki ottaa vauhtia ja ryhtyä hyppimään seinille. Gootti.net:in tapauksessa edellä mainittua ohjeistusta noudattamalla kaikki toimi lähes ongelmitta. Pieneksi ongelmaksi paljastui artikkeleiden kestolinkkien toimimattomuus. Vika johtui .htaccess-tiedostosta, johon onneksi löytyi helppo ratkaisu.
Tähän aiheeseen liittyviä blogimerkintöjä ovat:
Tagit: txp

Textpatternin weblogissa ilmoitettiin muutoksesta, joka koskee seuraavaksi julkaistavia Textpatternin versioita. Textpattern 4.1.x tullaan julkaisemaan BSD-lisenssillä. Lisenssin vaihtaminen ei koske vanhoja, jo julkaistuja, Textpatternin versioita. Vanhat versiot ovat GPL-lisenssin alaisuudessa.
Tagit: txp
Textpatternin käyttäjille avattu TXP Blogmap on kerännyt tähän mennessä yhteensä 64 Textpatternilla toimivaa blogia, nettipäiväkirjaa tai muuta TXP:n voimalla toimivaa sivustoa. Suomen alueelta minun lisäkseni kartalle on ilmoittautunut Princessdom Blogout.
Kartalle oman Textpattern-sivustonsa voi ilmoittaa asentamalla ensin Textpatterniin lisäosan, jonka nimi on bas_lets_see_yours ja konfiguroimalla lisäosan ominaisuuksista asetukset (kts. kuva) omaan sivustoon sopiviksi. Kun asetukset on aseteltu, on pingattava omaa TXP-sivustoa. Sivusto lisätään blogikartalle heti pingaamisen jälkeen.
Tagit: txp
Textpatternin verkkolehti, TXP Magazine, julkaisi artikkelin Textpattern versus Wordpress, jossa kerrotaan kattavasti Textpatternin ja WordPressin eroavaisuuksista. Sivusto on englanninkielinen.
Tagit: txp

Textpatternin asentaminen on lähes yhtä nopea toimenpide kuin samaisen softan päivittäminen vanhasta versiosta uudempaan.
Toimiakseen Textpattern vaatii Web-palvelimelta PHP- ja MySQL-tuen. Textpatternin nettisivujen FAQ-sivulla kerrotaan, että PHP:n version olisi oltava 4.3 tai uudempi ja MySQL:n version olisi oltava 3.23 tai uudempi. Textpattern tarvitsee toimiakseen yhden MySQL-tietokannan. Perusasennus vaatii levytilaa hieman alle megatavun (TXP:n versio 4.0.3).
Olen asennellut Textpatternin eri kehitysversioita useille Web-sivustoille. Kokemusta on kertynyt yhteensä ~5 kappaletta onnistuneita asennuksia. Asennustoimenpiteen olen yleensä aloittanut ensin hankkimalla itse asennettavan softan, jonka voi siis ladata ilmaiseksi Textpatternin webbisivuilta.
Asennettava Textpattern siirretään Web-sivulle esimerkiksi FTP-yhteyttä käyttäen. (Softa voidaan muuten asentaa haluttaessa joko alihakemistoon tai ihan sivuston juurihakemistoon.) Sitten kun kaikki Textpattern-paketissa mukana olleet tiedostot on siirretty Web-sivuille, on startattava Internet-selain ja siirryttävä asentamaan softa…
Mikäli Textpattern on siirretty alihakemistoon, esimerkiksi osoitteeseen www.osoite.com/uutiset, on Textpatternin asennusohjelma mitä todennäköisimmin osoitteessa www.osoite.com/uutiset/textpattern/setup. Jos taas Textpattern dumpattiin siirrettiin sivuston juurihakemistoon, on siirryttävä osoitteeseen www.osoite.com/textpattern/setup.
Kun on päästy Textpatternin asennusohjelmaan, avautuu ensin pudotusvalikko, josta valitaan haluttu kieli. Kielivaihtoehtoja on runsaasti. Myös Suomi löytyy vaihtoehdoista.
Kielen valitsemisen jälkeen on aika ilmoittaa Textpatternille tiedot sen käyttöön annettavasta MySQL-tietokannasta. Samalla sivulla voidaan myös säätää sivuston hakemistopolkua ja sivuston URL-osoitetta.
Jos kaikki on tähän mennessä mennyt aivan suunnitelmien mukaan, avautuu seuraava vaihe, jossa ilmoitetaan ensin, että yhteys tietokantaan on muodostettu ja että nyt olisi sitten tehtävä vähän hommeleita. Hommelilla nyt viitataan siihen, että seuraavaksi on tehtävä tiedosto, jonka nimi on config.php. Tiedostoon laitetaan asennusohjelman ilmoittamat koodirimpsut. Kun asianmukainen tiedosto, joka on varustettu asianmukaisin tiedoin, on luotu ja tallennettu, on se siirrettävä Web-sivuille kansioon textpattern. Kun config.php on siirretty on hyvä ilmoittaa siitä myös asennusohjelmalle. Klikataan siis punataustaista nappulaa, jossa sanat jylhät lukevat: Minä tein sen.
Seuraavaksi ruudulle välähtää viimeinen täytettävä lomake, jonka jälkeen asennusohjelma kiittää sinua kaikesta siitä hyvästä ja oikeasta mitä olet ikinä saanut aikaan. Olet nyt asentanut Textpatternin ja voit kirjautua siihen juuri ilmoittamallasi käyttäjätunnuksella ja salasanalla.
Artikkeli Textpatternin päivittäminen, joka julkaistiin pari viikkoa aikaisemmin, on myös suositeltavaa ja aiheeseen liittyvää luettavaa.
Tagit: txp

Textpatternin päivittäminen vanhemmasta versiosta uudempaan sujuu parissa minuutissa. Uuden Textpatternin version mukana tulevilla tiedostoilla .htaccess ja index.php sekä kansiolla textpattern korvataan vanhan asennetun Textpatternin version vastaavat tiedostot ja kansio. Kansion textpattern sisällä sijaitsevaa tiedostoa config.php ei kuitenkaan tule korvata päivitettäessä järjestelmää.
Kun uudet tiedostot on siirretty nettiin, tulee seuraavaksi kirjautua Textpatternin hallintapaneeliin. (Tältä näyttää ko. kirjautumissivu.)
Sitten kun järjestelmään on kirjauduttu omalla käyttäjätunnuksella ja salasanalla, on hyvä siirtyä välilehdestä Hallinta löytyvään osioon Diagnosointi. Mikäli päivitysoperaatio onnistui, näkyy tekstilaatikossa uuden Textpatternin versionumero. Diagnosointi -osiossa näkyy myös mahdolliset virheilmoitukset ja varoitukset.
Sama päivitysopas löytyy Textpatternin nettisivuilta. Opas on englanninkielinen.
Tagit: txp
Nyt päivitettiin sekä tämän blogin Textpattern versiosta 4.0.1 versioon 4.0.3. Samalla myös Suositut.net:in uutissivu päivitettiin uusimpaan Textpatternin versioon.
Tagit: txp
Textpattern weblog kertoo uusimmasta ominaisuudesta, joka on mahdollisesti käytössä seuraavassa Textpatternin versiossa:
In a nutshell, Elements are like core plugins. They’re included as part of the Textpattern distribution, and thus have no install or uninstall mechanism, but can be turned on or off like plugins.
Tagit: txp
Ei ne nakit todellakaan näytä pysyvän kurissa, kuten aiemmin jo ehdin todeta.
Tänään on lisätty Suositut.net:in puolelle Textpatternilla toimiva uutissivu, joka toivottavasti hieman auttaa tuomaan lisäarvoa sivustolle.
Tagit: txp
Nyt, tai pari blogimerkintää sitten, vaihtui tapa jolla merkintöjen kestolinkkien otsikot tallennetaan. Huomasin että Textpatternin hallintapaneelista voi nappia painamalla muuttaa otsikot-eroteltaviksi-valiviivoilla. Aikaisempien julkaisujen permalinkit pysyvät ennallaan.
Tagit: txp
Tagit: txp
Textpatterniin voi ladata ja asentaa lisäosia (plugins), joita voi ladata esimerkiksi sivustolta Textpattern Resources.
Edellisessä blogimerkinnässä uutisoin asentaneeni Textpatterniin lisäosan, joka mahdollistaa gravatar -kuvakkeiden käytön kommenteissa. Tarkoittamani lisäpalikan nimi on glx_gravatar.
Kun glx_gravatar on asennettu Textpatterniin, täytyy se sen jälkeen aktivoida. (Eli pluginit eivät ole automaattisesti käytössä niiden asentamisen jälkeen, vaan ne täytyy erikseen laittaa päälle.)
Kyseinen lisäosa näyttää gravatarin nettisivulla, kun sivun lähdekoodiin on asetettu tarvittava tagi. Tagi voi näyttää vaikkapa tältä:
<txp:glx_gravatar default="http://www.kuopassa.com/images/plus/
gravatar_anonyymi.png" class="gravatar" />
Yllä näkyvä tagi sisältää WWW-osoitteen, josta löytyy PNG-kuva, joka näytetään siinä tapauksessa että käyttäjällä (eli kommentoijalla) ei ole omaa gravataria. Attribuutti class viittaa CSS-tiedostoon. Mikäli halutaan liittää kuvaan alt-teksti, voidaan lisätä tagiin attribuutti alt, jolle voidaan antaa haluttu arvo. Sitten on tietysti mahdollista määritellä, minkälaisia gravatareita sallitaan näytettävän — rating -attribuutti on tähän tarkoitukseen.
Mikäli oman gravatar -kuvakkeen haluaa esittää tämän blogin kommenteissa, on kommentoijan ensin käytävä rekisteröitymässä osoitteessa www.gravatar.com/signup.php... On hyvä käydä tutustumassa tähän systeemiin lukemalla ensin vastauksia usein kysyttyihin kysymyksiin.
Tagit: txp
Kirjoitan tätä blogimerkintää Textpatternilla. Hieno juttu. Nyt on mahdollista kommentoida julkaisuja, eli blogimerkintöjä ja yksittäiseen julkaisuun linkittäminen on vaivatonta.
Pitäisi käydä ostamassa kaupasta yksi 40 W:n lampppu pöytävalaisinta varten.
Jossain vaiheessa on tehtävä vanhaan blogiin joku viritys, jolla ohjataan automaattisesti kävijät tähän uuteen blogiin. Sitten pitää vielä miettiä miten toimitaan vanhan blogin RSS-virtojen kanssa.
Blogin muuttoilmoitus ja tietojen päivitys Blogilistalle.
... ja olisi käytävä kirjoittamassa jotain näsäviisasta Andan blogiin.
Tagit: txp