﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mikko Saari</title>
	<atom:link href="http://www.mikkosaari.fi/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mikkosaari.fi</link>
	<description>Pelikirjoittaja, Wordpress-taituri ja kääntäjä</description>
	<lastBuildDate>Mon, 19 Jul 2010 10:01:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MySQL-niksejä: tuplien löytäminen ja etsi-ja-korvaa</title>
		<link>http://www.mikkosaari.fi/mysql-nikseja-1/</link>
		<comments>http://www.mikkosaari.fi/mysql-nikseja-1/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 10:01:10 +0000</pubDate>
		<dc:creator>Mikko Saari</dc:creator>
				<category><![CDATA[Muut jutut]]></category>

		<guid isPermaLink="false">http://www.mikkosaari.fi/?p=159</guid>
		<description><![CDATA[<p></p><p>Pari MySQL-niksiä omaan talteen ja muiden iloksi:</p>
<h3>Etsi ja korvaa</h3>
<p>MySQL-taulusta voi tehdä etsi-ja-korvaa-toimenpiteitä seuraavanlaisella koodilla:</p>
<p style="padding-left: 30px;">UPDATE taulu SET kenttä = replace(kenttä,&#8221;etsi tämä&#8221;,&#8221;korvaa tällä&#8221;);</p>
<p>Helppoa ja hauskaa, mutta varovasti tämän kanssa sitten, MySQL:ssä ei ole undoa.</p>
<h3>Tuplien etsiminen</h3><p>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p></p><p>Pari MySQL-niksiä omaan talteen ja muiden iloksi:</p>
<h3>Etsi ja korvaa</h3>
<p>MySQL-taulusta voi tehdä etsi-ja-korvaa-toimenpiteitä seuraavanlaisella koodilla:</p>
<p style="padding-left: 30px;">UPDATE taulu SET kenttä = replace(kenttä,&#8221;etsi tämä&#8221;,&#8221;korvaa tällä&#8221;);</p>
<p>Helppoa ja hauskaa, mutta varovasti tämän kanssa sitten, MySQL:ssä ei ole undoa.</p>
<h3>Tuplien etsiminen</h3>
<p>Löydät taulusta rivit, joissa on joku kenttä tuplana näin:</p>
<p style="padding-left: 30px;">SELECT kenttä, COUNT(kenttä) AS NumOccurrences FROM taulu GROUP BY kenttä HAVING ( COUNT(kenttä) &gt; 1 )</p>
<p>Tämä tuottaa listan kentän arvoista, jotka esiintyvät taulussa useampaan kertaan. Jos noita haluaa poistella automaattisesti, <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;139444">How to remove duplicate rows from a table in SQL Server</a> neuvoo. En ole kokeillut.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikkosaari.fi/mysql-nikseja-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Relevanssi 1.9</title>
		<link>http://www.mikkosaari.fi/relevanssi-19/</link>
		<comments>http://www.mikkosaari.fi/relevanssi-19/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 10:39:00 +0000</pubDate>
		<dc:creator>Mikko Saari</dc:creator>
				<category><![CDATA[Tiedotteet]]></category>

		<guid isPermaLink="false">http://www.mikkosaari.fi/?p=157</guid>
		<description><![CDATA[<p></p><p><a href="/relevanssi/">Relevanssi</a> on nyt versiossa 1.9. Uusin versio korjaa tiivistelmiin liittyviä juttuja — koodissa oli pieni bugi, joka liittyi shortcodeihin. Lisäksi paransin tiivistelmän tekevää algoritmia niin, että nyt otetaan ensimmäisen sijasta paras tiivistelmä. Hakutuloksissa näkyy siis jatkossa enemmän hakusanoja. Tämä on&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="/relevanssi/">Relevanssi</a> on nyt versiossa 1.9. Uusin versio korjaa tiivistelmiin liittyviä juttuja — koodissa oli pieni bugi, joka liittyi shortcodeihin. Lisäksi paransin tiivistelmän tekevää algoritmia niin, että nyt otetaan ensimmäisen sijasta paras tiivistelmä. Hakutuloksissa näkyy siis jatkossa enemmän hakusanoja. Tämä on erityisen hyvä uudistus niissä tilanteissa, joissa sumea haku on käytössä ja haetaan jotain pientä merkkijonoa, joka esiintyy usein muiden sanojen sisällä.</p>
<p>Lisäksi jos kommenttien indeksoiminen on käytössä, tiivistelmä voidaan poimia myös kommentista.</p>
<p>Omien merkintälajien käyttäjille tuli myös tarpeellinen parannus, joka korjaa tärkeän ongelman. Edellisessä versiossa merkintöjen tallentaminen ei johtanut indeksointiin. Nyt homma toimii niin kuin pitää.</p>
<p>Suosittelen päivitystä!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikkosaari.fi/relevanssi-19/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Relevanssi 1.8.1</title>
		<link>http://www.mikkosaari.fi/relevanssi-181/</link>
		<comments>http://www.mikkosaari.fi/relevanssi-181/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 10:29:47 +0000</pubDate>
		<dc:creator>Mikko Saari</dc:creator>
				<category><![CDATA[Tiedotteet]]></category>

		<guid isPermaLink="false">http://www.mikkosaari.fi/?p=153</guid>
		<description><![CDATA[<p></p><p><a href="http://www.mikkosaari.fi/relevanssi/">Relevanssi</a> päivittyi taas. Paikkasin joitain bugeja ja lisäsin pari uutta ominaisuutta. Uudet ominaisuudet liittyvät lähinnä omiin artikkelilajeihin. Nyt Relevanssi osaa haluttaessa kunnioittaa artikkelilajien julkisuutta ja indeksoida vain ne artikkelilajit, jotka halutaan indeksiin mukaan.</p>
<p>Uuden version löydät <a href="http://wordpress.org/extend/plugins/relevanssi/">pluginihakemistosta</a> tai päivittämällä&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://www.mikkosaari.fi/relevanssi/">Relevanssi</a> päivittyi taas. Paikkasin joitain bugeja ja lisäsin pari uutta ominaisuutta. Uudet ominaisuudet liittyvät lähinnä omiin artikkelilajeihin. Nyt Relevanssi osaa haluttaessa kunnioittaa artikkelilajien julkisuutta ja indeksoida vain ne artikkelilajit, jotka halutaan indeksiin mukaan.</p>
<p>Uuden version löydät <a href="http://wordpress.org/extend/plugins/relevanssi/">pluginihakemistosta</a> tai päivittämällä suoraan WordPressin kautta.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikkosaari.fi/relevanssi-181/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>150 korttipeliä -kirja on valmis</title>
		<link>http://www.mikkosaari.fi/150-korttipelia-kirja-on-valmis/</link>
		<comments>http://www.mikkosaari.fi/150-korttipelia-kirja-on-valmis/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 18:09:37 +0000</pubDate>
		<dc:creator>Mikko Saari</dc:creator>
				<category><![CDATA[Tiedotteet]]></category>

		<guid isPermaLink="false">http://www.mikkosaari.fi/?p=149</guid>
		<description><![CDATA[<p></p><p><img class="alignright" title="150 korttipeliä" src="http://www.lautapeliopas.fi/wp-content/uploads/2010/05/150-korttipelia-kansi.jpg" alt="150 korttipeliä -kirjan kansi" width="154" height="250" />Kirjoittamani <a href="http://www.korttipeliopas.fi/150-korttipelia"><em>150 korttipeliä</em> -kirja</a> on valmistunut. Posti toi minulle tänään tekijänkappaleet ja pääsin ihailemaan valmista kirjaa ensimmäistä kertaa. Kirjasta tuli oikein tyylikäs, pieni mutta paksu pokkari. Kiitos pokkarimuodon kirja kulkee helposti mukana ja on huomattavan edullinen verrattuna aikaisempiin kirjoihini.&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p></p><p><img class="alignright" title="150 korttipeliä" src="http://www.lautapeliopas.fi/wp-content/uploads/2010/05/150-korttipelia-kansi.jpg" alt="150 korttipeliä -kirjan kansi" width="154" height="250" />Kirjoittamani <a href="http://www.korttipeliopas.fi/150-korttipelia"><em>150 korttipeliä</em> -kirja</a> on valmistunut. Posti toi minulle tänään tekijänkappaleet ja pääsin ihailemaan valmista kirjaa ensimmäistä kertaa. Kirjasta tuli oikein tyylikäs, pieni mutta paksu pokkari. Kiitos pokkarimuodon kirja kulkee helposti mukana ja on huomattavan edullinen verrattuna aikaisempiin kirjoihini. Kirjaa myydään noin 10-12 euron hintaan. Voit siis helposti ostaa kaksi, yhden kotiin ja toisen mökille!</p>
<p>Kirjassa esitellään nimensä mukaisesti 150 korttipeliä. Pelattavaa riittää siis pitkäksi aikaa. Esittelyissä on pyritty hieman taustoittamaan pelejä ja kertomaan, miten niin liittyvät toisiin peleihin. Tuloksena on toivon mukaan sivistynyt, sivistävä ja viihdyttävä paketti korttipelitietoutta.</p>
<p>Kirjan kaveriksi on avattu nettisivut. <a href="http://www.korttipeliopas.fi/">Korttipeliopas</a>-sivuilta löytyy osa kirjassa julkaistuista säännöistä — ne tavallisimmat — ja lisäksi kaikenlaista ekstraa, mitä kirjassa ei ole. Sivut ovat sisältönsä suhteen vielä hieman vaiheessa, mutta päivittyvät säännöllisesti. Lisäksi Korttipelioppaasta löytyy Pelikorttikauppa, josta voi ostaa epätavallisia pelikortteja.</p>
<p>150 korttipeliä -kirjan on julkaissut Avain. Alunperin julkaisijan piti olla BTJ, mutta BTJ osti Avaimen ja julkaisee jatkossa kirjansa Avaimen nimellä. Samapa tuo minulle.</p>
<p>Tässä vielä linkkejä kirjakauppoihin; kirjaa saa jokseenkin kaikista kirjakaupoista, vähintään tilaamalla (hinnat tarkistettu 30.6.):</p>
<ul>
<li><a href="https://www.akateeminenkirjakauppa.fi/webapp/wcs/stores/servlet/ProductDisplay?catalogId=10001&amp;storeId=10052&amp;productId=9267201&amp;langId=-11&amp;contractId=">Akateeminen Kirjakauppa</a> (9,27 €)</li>
<li><a href="http://www.adlibris.com/fi/product.aspx?isbn=9516927998">AdLibris</a> (9,80 €)</li>
<li><a href="http://www.bookplus.fi/kirjat/saari%2c_mikko/150_korttipeli%c3%a4-9420482">BookPlus</a> (10,95 €)</li>
<li><a href="http://info.fi/tiedot.aspx?Tieto=1162846">Info.fi</a> (11,70 €)</li>
<li><a href="http://www.levykauppax.fi/book/saari_mikko/106_korttipelia/">Levykauppa Äx</a> (11,90 €)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mikkosaari.fi/150-korttipelia-kirja-on-valmis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Taksonomiat käytännössä, case Kirjavinkit</title>
		<link>http://www.mikkosaari.fi/taksonomiat-kaytannossa-case-kirjavinkit/</link>
		<comments>http://www.mikkosaari.fi/taksonomiat-kaytannossa-case-kirjavinkit/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 09:31:08 +0000</pubDate>
		<dc:creator>Mikko Saari</dc:creator>
				<category><![CDATA[WordPress-vinkit]]></category>
		<category><![CDATA[taksonomiat]]></category>

		<guid isPermaLink="false">http://www.mikkosaari.fi/?p=144</guid>
		<description><![CDATA[<p></p><p>Otin <a href="http://www.mikkosaari.fi/taksonomioista-potkua-tiedonhallintaan/">omat taksonomiat</a> käyttöön Kirjavinkeissä — tämä kun on se tapa, miten sivusto olisi alunperin pitänyt järjestää. Taksonomioihin siirtyminen oli mielenkiintoinen prosessi, joka opetti paljon WordPressin omien taksonomioiden käytöstä. Se toivon mukaan valaisee muuten kenties vähän vaikeaselkoista aihetta.</p>
<h3>Miksi</h3><p>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p></p><p>Otin <a href="http://www.mikkosaari.fi/taksonomioista-potkua-tiedonhallintaan/">omat taksonomiat</a> käyttöön Kirjavinkeissä — tämä kun on se tapa, miten sivusto olisi alunperin pitänyt järjestää. Taksonomioihin siirtyminen oli mielenkiintoinen prosessi, joka opetti paljon WordPressin omien taksonomioiden käytöstä. Se toivon mukaan valaisee muuten kenties vähän vaikeaselkoista aihetta.</p>
<h3>Miksi taksonomiat?</h3>
<p>Kirjavinkeissä on tähän asti ollut tarjolla vain kirja-arvosteluja, jotka on järjestetty kirjailijan mukaisiin kategorioihin (nykyisessä WordPress-suomennoksessa aiheet). Tämä on ihan kätevä tapa, sillä silloin kirjailijan mukaiset arkistot (kaikki saman kirjailijan kirjat yhdellä sivulla) saa näppärästi ja kirjailijalistat syntyvät kätevästi. Toinen vaihtoehto olisi laittaa kirjailija metadataksi avainkenttään (custom fields), mutta silloin arkistot ja muut vaatisivat paljon enemmän työtä.</p>
<p>Kategorioiden käyttämiseen liittyy tiettyjä ongelmia, joista vakavin on se, ettei Kirjavinkeissä voinut julkaista mitään muuta kuin arvosteluja. Siistien URLien toivossa olin säätänyt kaikkien artikkelien osoiterakenteeksi <em>/arvostelut/slugi/</em>, joten muunlaiset artikkelit eivät tähän oikein istuneet (tämä ratkaisu oli osin myös perintöä edellisestä versiosta, joka pyöri Movable Typellä). Kokeilin aluksi erityisellä kategorialla, jota käsiteltiin hieman eri tavoin, mutta lopputulos ei miellyttänyt.</p>
<p>Nyt arvostelut ovat kategoriassa Arvostelut, jolloin saan osoiterakenteenkin oikein yksinkertaisesti <em>/%category%/%postname%/ </em>-muotoilulla ja muut jutut, kuten uutiset, saa sitten omiin polkuihinsa.</p>
<h3>Vanhan datan siirtäminen</h3>
<p>Tämänkokoisessa projektissa — 1 400 merkintää, satoja kategorioita — on olennaista, että saa tiedot siirrettyä järjestelmästä toiseen mahdollisimman automaattisesti. Se kävi onneksi helposti, sillä WordPressissä varsin monia asia on itse asiassa taksonomia. Avainsanat, aiheet ja omat taksonomiat ovat kaikki samoissa taulukoissa.</p>
<p>Niinpä tehtävä kävikin helposti. Taulussa <em>wp_term_taxonomy</em> kerrotaan, mitkä termit liittyvät mihinkin taksonomiaan. Tarvittiin vain yksinkertainen PHP-skripti, joka kopioi kaikki category-taksonomian termit uuteen kirjailijat-taksonomiaan.</p>
<p>Seuraavaksi käytiin käsiksi <em>wp_term_relationships</em>-tauluun, joka määrittää, mitkä termit liittyvät mihinkin merkintöihin. Tässä kävin läpi uudet kirjailijat-taksonomian termit, hain jokaiselle termin tunnuksen kautta vanhan taksonomian tunnuksen (term_taxonomy_id) ja sitä kautta objektit, joihin ne liittyivät. Sitten vain loin uudet parit, joissa objektit liitettiin uusiin termeihin. Tämä kävi helposti.</p>
<p>Nyt vanha data oli kopioitu uudeksi. Uusi taksonomia on vanhan tapaan hierarkinen lista — hierarkisuutta en sinänsä tarvitse, mutta järjestelmän käyttäjien ja tiedon siirtämisen kannalta vanhan kopioiminen oli kätevää.</p>
<p>Lopuksi vain lisäsin kaikki merkinnät uuteen Arvostelut-kategoriaan ja hävitin vanhat kategoriat.</p>
<h3>Muutoksia koodiin</h3>
<p>Kirjavinkeissä on teemassa paljon PHP-koodia, johon piti tehdä muutoksia. Tässä oli omat haasteensa, sillä taksonomioihin liittyvä koodi on edelleen Codexissa varsin heikosti dokumentoitua. Esimerkiksi erinomaisen kätevä <em>get_the_terms()</em>-funktio puuttuu täysin — sen yksityiskohdat piti kaivella lähdekoodista.</p>
<p>Jos haluaa tarkistaa, ollaanko taksonomian arkistosivulla, pitää <em>is_category()</em> -funktion sijasta käyttää <em>is_tax(&#8216;taksonomian nimi&#8217;) </em>-funktiota. Arkistosivulla taksonomiatermin saa kaivettua näin: <em>$term = $wp_query-&gt;get_queried_object();</em></p>
<p>Tästä saadaan olio, jolla on hyödyllisiä atribuutteja. <em>$term-&gt;slug</em> on osoiteslugi, <em>$term-&gt;name</em> nimi. <em>$term-&gt;count</em> on esiintymisten lukumäärä. Täysi permalinkki haetaan funktiolla <em>get_term_link(termiolio, taksonomian nimi)</em>.</p>
<p>Sen sijaan, että haetaan <em>get_the_category()</em>-funktiolla merkintään liittyvät kategoriat, merkintään liittyvät taksonomiatermit haetaan näin:</p>
<div id="_mcePaste" style="padding-left: 30px;"><em>foreach ((get_the_terms($post-&gt;ID, &#8216;taksonomian nimi&#8217;)) as $term) { &#8230; }</em></div>
<p>Tällä saadaan kelattua läpi merkintään liittyvät termit. $term on jälleen kerran oliomuodossa.</p>
<h3>Toimiva lopputulos</h3>
<p>Tuloksena saatiin Kirjavinkit, joka näyttää entisenlaiselta, mutta toimii astetta fiksummin. Nyt on mahdollista julkaista sekä arvosteluja että muita juttuja. Saa nähdä, onko tälle joustavuudelle paljonkaan käyttöä, mutta ainakin informaatioarkkitehtuuri on astetta fiksumpaa.</p>
<p>Pientä lisälaittoa vaati All in One SEO Pack, jota käytän otsikoiden ja metatietojen muokkaamiseen. Se ei ymmärrä taksonomioista mitään, joten koodia piti hieman puukottaa. Jos jotakuta aihe kiinnostaa, voin pyynnöstä kertoa tarkemmin, mitä tein.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikkosaari.fi/taksonomiat-kaytannossa-case-kirjavinkit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Taksonomioista potkua tiedonhallintaan</title>
		<link>http://www.mikkosaari.fi/taksonomioista-potkua-tiedonhallintaan/</link>
		<comments>http://www.mikkosaari.fi/taksonomioista-potkua-tiedonhallintaan/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 03:48:07 +0000</pubDate>
		<dc:creator>Mikko Saari</dc:creator>
				<category><![CDATA[WordPress-vinkit]]></category>
		<category><![CDATA[taksonomiat]]></category>

		<guid isPermaLink="false">http://www.mikkosaari.fi/?p=140</guid>
		<description><![CDATA[<p></p><p>Jos WordPressillä haluaa tehdä jotain vähän monimutkaisempaa sisällönhallintaa, tulee helposti vastaan tilanteita, joissa tarvitaan hieman jämerämpiä työkaluja rakenteisen informaation hallintaan. Avainsanat ovat näppärä apuväline tiedon luokitteluun, mutta on tilanteita, joissa ne eivät riitä. Silloin apuun tulevat omat taksonomiat.</p>
<p>Omat taksonomiat&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p></p><p>Jos WordPressillä haluaa tehdä jotain vähän monimutkaisempaa sisällönhallintaa, tulee helposti vastaan tilanteita, joissa tarvitaan hieman jämerämpiä työkaluja rakenteisen informaation hallintaan. Avainsanat ovat näppärä apuväline tiedon luokitteluun, mutta on tilanteita, joissa ne eivät riitä. Silloin apuun tulevat omat taksonomiat.</p>
<p>Omat taksonomiat ovat itse luotuja luokitusjärjestelmiä, jotka toimivat joko vapaamuotoisesti avainsanojen tapaan tai hierarkisesti aiheiden (kategorioiden) tapaan. Niiden luominen ja käyttäminen on hyvin yksinkertaista. Omat taksonomiat ovat olleet WordPressissä versiosta 2.8 alkaen.</p>
<h3>Käytännön esimerkki</h3>
<p>Teen korttipelejä käsittelevää sivustoa WordPressillä (sivut avataan lähiviikkoina) ja törmäsin tässä projektissa tilanteeseen, jossa taksonomioista on apua. Huomasin nimittäin tallentavani avainsanoihin kolmea eri tietoa: korttipelin luokitusta, pelaajamäärää ja käytettyä pakkaa. Toimii se noinkin, mutta elegantimpi ratkaisu on hajottaa eri tiedot eri luokituksiin.</p>
<p>Niinpä jätin pelin luokituksen avainsanoihin ja tein uudet taksonomiat pelaajamäärille ja pakoille. Koska näiden tietojen ei tarvitse olla hierarkisia — kaikki vaihtoehdot ovat samanarvoisia — tein ne yksinkertaisimmalla mahdollisella tavalla.</p>
<p>Katso myös <a href="http://www.mikkosaari.fi/taksonomiat-kaytannossa-case-kirjavinkit/">Taksonomiat käytännössä, case Kirjavinkit</a>.</p>
<h3>Näin teet oman taksonomian</h3>
<p>Taksonomiat rekisteröidään näin:</p>
<p style="padding-left: 30px;"><code>add_action('init', 'create_my_taxonomies', 0 );</code></p>
<p style="padding-left: 30px;"><code>function create_my_taxonomies() {<br />
register_taxonomy('pakat', 'post', array('hierarchical' =&gt; false, 'label' =&gt; 'Pakat', 'query_var' =&gt; true, 'rewrite' =&gt; true));<br />
register_taxonomy('pelaajia', 'post', array('hierarchical' =&gt; false, 'label' =&gt; 'Pelaajamäärät', 'query_var' =&gt; true, 'rewrite' =&gt; true));<br />
}</code></p>
<p>Tämä koodi lisätään teeman tiedostoihin (funktiot kannattaa koota yhteen paikkaan ja sitä varten useimmissa teemoissa onkin <em>functions.php</em>-tiedosto). Tämä yksinkertainen koodi lisää kaksi taksonomiaa.</p>
<p>Ensimmäinen parametri määrittelee taksonomian nimen, seuraava kertoo että se liittyy artikkeleihin (vaihtoehtona olisi &#8216;page&#8217;).</p>
<p>Jos &#8216;hierarchical&#8217; on &#8216;true&#8217;, tuloksena on hierarkinen luokitus, jossa voi olla ylä- ja alaluokkia. &#8216;Label&#8217; on käyttöliittymässä näkyvä nätti nimi, &#8216;query_var&#8217; mahdollistaa artikkelien hakemisen taksonomian avulla ja &#8216;rewrite&#8217; aktivoi nätit URLit. Molempiin kannattaa lätkäistä &#8216;true&#8217;. URLit alkavat toimia, kunhan käyt Osoiterakenne-asetussivulla (pelkkä käyminen riittää, ei tarvitse edes tallentaa).</p>
<p>Tämän jälkeen taksonomiat ilmestyvät Artikkelit-valikkoon ja näkyvät artikkelien muokkaussivulla. Ne toimivat kuten avainsanat ja aiheet, joten niiden käyttäminen on helppoa.</p>
<p>Jos haluat näyttää uudet taksonomiasi käyttäjille, saat listattua ne näin:</p>
<p style="padding-left: 30px;"><code>&lt;?php echo get_the_term_list( $post-&gt;ID, 'pakat', 'Pakka: ', ', ', '' ); ?&gt;</code></p>
<p>Tämä koodinpätkä näyttää merkinnän termit taksonomiasta &#8216;pakat&#8217;, laittaa eteen otsikon &#8216;Pakka: &#8216; ja erottelee termit pilkuilla. Tämän pitää olla jossain, missä $post-muuttuja on määritelty, esimerkiksi yksittäisen merkinnän sivulla tai etusivulla Loopin sisällä.</p>
<h3>Lisää aiheesta</h3>
<p>Opin asian Justin Tadlockin jutusta <a href="http://justintadlock.com/archives/2009/05/06/custom-taxonomies-in-wordpress-28">Custom Taxonomies in WordPress 2.8</a>. WordPress 3.0 lisäsi taksonomioihin uusia ominaisuuksia, joista kertoo lisää Tadlockin artikkeli <a href="http://justintadlock.com/archives/2010/06/10/a-refresher-on-custom-taxonomies">A refresher on custom taxonomies</a>. <a href="http://codex.wordpress.org/Function_Reference/register_taxonomy">Register_taxonomy-funktion ohjeet</a> Codexissa listaavat kaikki eri parametrit — tässä on esitelty vain ehdoton minimi, jolla taksonomiat saa toimimaan ja etenkin WordPress 3.0 -käyttäjien kannattaa vilkaista Codexista uusia mahdollisuuksia. Taksonomioita voi hyödyntää myös <a href="http://codex.wordpress.org/Template_Tags/wp_tag_cloud">wp_tag_cloud-funktiolla</a>, se osaa käyttää myös omia taksonomioita.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikkosaari.fi/taksonomioista-potkua-tiedonhallintaan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Relevanssi 1.8</title>
		<link>http://www.mikkosaari.fi/relevanssi-18/</link>
		<comments>http://www.mikkosaari.fi/relevanssi-18/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 11:06:54 +0000</pubDate>
		<dc:creator>Mikko Saari</dc:creator>
				<category><![CDATA[Tiedotteet]]></category>

		<guid isPermaLink="false">http://www.mikkosaari.fi/?p=138</guid>
		<description><![CDATA[<p></p><p><a href="http://wordpress.org/development/2010/06/thelonious/">WordPressistä ilmestyi uusi versio</a> ja sen kunniaksi <a href="/relevanssi/">Relevanssikin</a> päivittyi. Uusi versio 1.8 korjaa paljon bugeja, jotka eivät varsinaisesti aiheuttaneet ongelmia, mutta jos PHP on kytketty näyttämään kevyempiäkin varoituksia, nämä virheet tuottivat ruudulle paljon roskaa. Ne on nyt korjattu.</p>
<p>Uusina&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://wordpress.org/development/2010/06/thelonious/">WordPressistä ilmestyi uusi versio</a> ja sen kunniaksi <a href="/relevanssi/">Relevanssikin</a> päivittyi. Uusi versio 1.8 korjaa paljon bugeja, jotka eivät varsinaisesti aiheuttaneet ongelmia, mutta jos PHP on kytketty näyttämään kevyempiäkin varoituksia, nämä virheet tuottivat ruudulle paljon roskaa. Ne on nyt korjattu.</p>
<p>Uusina ominaisuuksina on mahdollisuus valita, mitä artikkelilajeja indeksoidaan. WordPress 3.0 tuo perinteisen postin ja pagen rinnalle mahdollisuuden tehdä omia artikkelilajeja. Tämä on erinomainen ominaisuus ja nyt Relevanssikin tukee sitä. Käyttäjän on mahdollista valita, mitä omia artikkelilajeja indeksoidaan. Oletuksena indeksoidaan aivan kaikki.</p>
<p>Hieman vanhempi ominaisuus on mahdollisuus luoda omia taksonomioita, siis avainsanojen kaltaisia luokituksia. Näitäkin voi nyt indeksoida, mikäli haluaa.</p>
<p>Lataa uusi Relevanssi <a href="http://wordpress.org/extend/plugins/relevanssi/">pluginihakemistosta</a> tai päivitä se suoraan WordPressistä.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikkosaari.fi/relevanssi-18/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Taustakuvien tekeminen N900:lle</title>
		<link>http://www.mikkosaari.fi/n900-taustakuvat/</link>
		<comments>http://www.mikkosaari.fi/n900-taustakuvat/#comments</comments>
		<pubDate>Sat, 29 May 2010 10:03:32 +0000</pubDate>
		<dc:creator>Mikko Saari</dc:creator>
				<category><![CDATA[Muut jutut]]></category>

		<guid isPermaLink="false">http://www.mikkosaari.fi/?p=130</guid>
		<description><![CDATA[<p></p><p>N900 on näppärä taskutietokone, johon saa tyylikkäitä taustakuvia. Laitteessa on neljä työpöytää, joiden välillä voi pyörittää. Kukin on kooltaan 800 x 480 pistettä, joten koko tausta on 3200 x 480 pistettä. Kauneinta jälkeä tulee luonnollisesti maisemataustakuvasta, joka kiertää ympäri, eli&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p></p><p>N900 on näppärä taskutietokone, johon saa tyylikkäitä taustakuvia. Laitteessa on neljä työpöytää, joiden välillä voi pyörittää. Kukin on kooltaan 800 x 480 pistettä, joten koko tausta on 3200 x 480 pistettä. Kauneinta jälkeä tulee luonnollisesti maisemataustakuvasta, joka kiertää ympäri, eli kuva ei katkea missään vaiheessa.</p>
<p>Flickristä löytää runsaasti käyttökelpoista materiaalia. Taikasana on <em>equirectangular</em>. Tällaiset 360 asteen panoraamakuvat kiertävät kauniisti ympäri. Lopputuloksena on kertakaikkisen näyttävä taustakuva. Vaan miten Flickr-kuva saadaan N900:n taustakuvaksi?</p>
<p>Ensin kuva pitää kutistaa sopivan pieneksi. Skaalaa 3200 pisteen leveyteen ja kavenna sitten pystysuunnassa 480 pisteeseen. Tämä on hyvin kapea koko, eikä se toimi aivan joka kuvalla. Sen jälkeen kuva pitää leikata neljäksi 800 x 480 pisteen kuvaksi. Tässä vaiheessa on vähän optimoinnin varaa, eli voit siirtää kuvaa sivusuunnassa niin, että katkokset tulevat jotenkin fiksusti.</p>
<p>Kuvien lisäksi tarvitaan ohjetiedosto, joka neuvoo N900:lle, miten homma toimii. Formaatti on tällainen:</p>
<p style="padding-left: 30px;">[Desktop Entry]<br />
Type=Background Image<br />
Name=<strong>Église d&#8217;Auvers-sur-Oise</strong><br />
Hidden=True</p>
<p style="padding-left: 30px;">X-File1=/home/user/MyDocs/.images/<strong>eglise_01.jpg</strong><br />
X-File2=/home/user/MyDocs/.images/<strong>eglise_02.jpg</strong><br />
X-File3=/home/user/MyDocs/.images/<strong>eglise_03.jpg</strong><br />
X-File4=/home/user/MyDocs/.images/<strong>eglise_04.jpg</strong></p>
<p style="padding-left: 30px;"><strong> </strong>X-Order=01</p>
<p>Kuvien polkujen pitää olla noin, vaihda vain tilalle oikea tiedostonnimi ja vaihda myös taustakuvan nimi. Tämä nimetään esimerkiksi .<strong>eglise</strong>.desktop — huomaa ensimmäinen piste. Vaihda lihavoitu kohta haluamaksesi.</p>
<p>Nämä tiedostot pitää sitten sijoittaa laitteeseen. Kytke N900 koneeseen ja valitse massamuistitila. MyDocs-hakemisto näkyykin valmiiksi kohdalla, kun olet USB:lla kiinni laitteessa, joten sujauta tiedostot vain .images-hakemistoon. Minulla se näkyi MacOs-hakemiston alla, Windowsista en tiedä. Tiedostot saa tarvittaessa helposti siirrettyä oikeaan hakemistoon myös N900:n omalla tiedostonhallinnalla.</p>
<p>Kun kaikki on paikallaan, taustakuvan saa helposti aktivoitua N900:n työpöytäasetuksista.</p>
<ul>
<li><a href="http://www.mikkosaari.fi/wp-content/uploads/2010/05/vielleeglise.zip">Vieille église de Mérignac</a> (kuva: <a href="http://www.flickr.com/photos/gadl/3340009601/">gadl / Flickr</a>)</li>
<li><a href="http://www.mikkosaari.fi/wp-content/uploads/2010/05/sainteustache.zip">Saint Eustache</a> (kuva: <a href="http://www.flickr.com/photos/gadl/409795352/">gadl / Flickr</a>)</li>
<li><a href="http://www.mikkosaari.fi/wp-content/uploads/2010/05/eglise.zip">Église d&#8217;Auvers-sur-Oise</a> (kuva: <a href="http://www.flickr.com/photos/gadl/561093502/">gadl / Flickr</a>)</li>
<li><a href="http://www.mikkosaari.fi/wp-content/uploads/2010/05/cloister.zip">Cloisters Melbourne University Vic</a> (kuva: <a href="http://www.flickr.com/photos/gawthrop/3240944769/">Peter Gawthrop / Flickr</a>)</li>
</ul>
<p>Taustakuvat ovat jaossa <a href="http://creativecommons.org/licenses/by-sa/2.0/deed.en">Creative Commonsin lisenssillä</a>, joka edellyttää alkuperäisen tekijän mainitsemisen ja vaatii jalosteiden jakamisen samalla lisenssillä.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikkosaari.fi/n900-taustakuvat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Relevanssi 1.7.3</title>
		<link>http://www.mikkosaari.fi/relevanssi-173/</link>
		<comments>http://www.mikkosaari.fi/relevanssi-173/#comments</comments>
		<pubDate>Sun, 23 May 2010 18:10:04 +0000</pubDate>
		<dc:creator>Mikko Saari</dc:creator>
				<category><![CDATA[Tiedotteet]]></category>

		<guid isPermaLink="false">http://www.mikkosaari.fi/?p=127</guid>
		<description><![CDATA[<p></p><p><a href="http://www.mikkosaari.fi/relevanssi/">Relevanssista</a> ilmestyi pieni bugikorjausversio. Paljastui, että pluginin alkuvalmisteluissa on MySQL-koodissa virhe, jonka johdosta tietokantojen indeksit eivät mene kohdalleen. Tämä taas heikentää suorituskykyä, ilmeisesti ainakin merkintöjä indeksoitaessa.</p>
<p>WordPressin foorumeille kirjoitti nimittäin vietnamilainen käyttäjä, jonka WordPressissä oli yli 200 000 merkintää. Ennen&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://www.mikkosaari.fi/relevanssi/">Relevanssista</a> ilmestyi pieni bugikorjausversio. Paljastui, että pluginin alkuvalmisteluissa on MySQL-koodissa virhe, jonka johdosta tietokantojen indeksit eivät mene kohdalleen. Tämä taas heikentää suorituskykyä, ilmeisesti ainakin merkintöjä indeksoitaessa.</p>
<p>WordPressin foorumeille kirjoitti nimittäin vietnamilainen käyttäjä, jonka WordPressissä oli yli 200 000 merkintää. Ennen korjausta indeksointi veti palvelimen solmuun, korjauksen jälkeen homma sujui sutjakkaasti. Jos siis indeksoinnin kanssa on ongelmia, uusi versio korjaa vian komeasti.</p>
<p>En tosin ole ihan täysin varma, korjaako — tai siis, uusi versio on korjattu, mutta muutos ei taida aktivoitua automaattisesti vanhoissa asennuksissa. Olemassaoleva asennus on kuitenkin helppo korjata. Aja vain tietokantaan tällaiset komennot vaikka phpMyAdmin SQL-ikkunasta:</p>
<p style="padding-left: 30px;"><code>ALTER TABLE wp_relevanssi ADD INDEX (doc)</code></p>
<p style="padding-left: 30px;"><code>ALTER TABLE wp_relevanssi ADD INDEX (term)</code></p>
<p>Vaihda taulun nimeä, jos käytät jotain muuta etuliitettä kuin wp_. Nämä käskyt lisäävät tarpeelliset indeksit.</p>
<p>Korjattu versio löytyy tavalliseen tapaan <a href="http://wordpress.org/extend/plugins/relevanssi/">pluginihakemistosta</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikkosaari.fi/relevanssi-173/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Kätevä värityökalu Kuler</title>
		<link>http://www.mikkosaari.fi/kateva-varityokalu-kuler/</link>
		<comments>http://www.mikkosaari.fi/kateva-varityokalu-kuler/#comments</comments>
		<pubDate>Wed, 12 May 2010 04:17:34 +0000</pubDate>
		<dc:creator>Mikko Saari</dc:creator>
				<category><![CDATA[Muut jutut]]></category>

		<guid isPermaLink="false">http://www.mikkosaari.fi/?p=122</guid>
		<description><![CDATA[<p></p><p>Etsin jotain työkalua, jolla voisin hakea sopivaa väriä (halusin tummentaa hieman tämän blogin linkkien väriä) ja törmäsin Adoben <a href="http://kuler.adobe.com/#">Kuler</a>-työkaluun. Tämä Flash-härveli onkin varsin näppärä tapa löytää hyviä värejä ja väriyhdistelmiä.</p>
<p>Jos esimerkiksi on väri, josta lähtee kehittämään, yhteensopivia värejä&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p></p><p>Etsin jotain työkalua, jolla voisin hakea sopivaa väriä (halusin tummentaa hieman tämän blogin linkkien väriä) ja törmäsin Adoben <a href="http://kuler.adobe.com/#">Kuler</a>-työkaluun. Tämä Flash-härveli onkin varsin näppärä tapa löytää hyviä värejä ja väriyhdistelmiä.</p>
<p>Jos esimerkiksi on väri, josta lähtee kehittämään, yhteensopivia värejä voi hakea saman värin eri sävyinä, komplementtiväreinä, kolmioväreinä tai yhdistelemällä aivan eri sävyjä. Lähtökohtana voi olla myös omalta koneelta tai Flickristä otettu kuva, josta Kuler osaa poimia tiettyyn tunnelmaan sopivia värejä.</p>
<p>Sivuilta löytyy myös tuhansittain käyttäjien tekemiä väriyhdistelmiä, joista voi hakea inspiraatiota. Kaikkineen Kuler on ehdottomasti tutustumisen arvoinen palvelu, jos joutuu joskus pohtimaan väriyhdistelmiä.</p>
<p><img class="aligncenter size-full wp-image-123" title="Abode Kuler" src="http://www.mikkosaari.fi/wp-content/uploads/2010/05/kuler.jpg" alt="Adobe Kuler" width="650" height="376" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikkosaari.fi/kateva-varityokalu-kuler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
