<?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>Fokus &#187; Jonatan Fried</title>
	<atom:link href="http://www.fokus.se/author/jonatan/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fokus.se</link>
	<description>Årets tidskrift i kategorin digitala medier 2009!</description>
	<lastBuildDate>Thu, 02 Sep 2010 13:05:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Så gjorde vi det mobila Almedalsprogrammet</title>
		<link>http://www.fokus.se/2010/06/sa-gjorde-vi-det-mobila-almedalsprogrammet/</link>
		<comments>http://www.fokus.se/2010/06/sa-gjorde-vi-det-mobila-almedalsprogrammet/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 12:21:19 +0000</pubDate>
		<dc:creator>Jonatan Fried</dc:creator>
				<category><![CDATA[Redaktionsbloggen]]></category>
		<category><![CDATA[Fokus]]></category>
		<category><![CDATA[Fokustema]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.fokus.se/?p=13935</guid>
		<description><![CDATA[På allmän begäran följer här en genomgång av tekniken och teknikerna bakom Fokus  almedalssajt.]]></description>
			<content:encoded><![CDATA[<p>Att utveckla för mobila webbläsare är, de många moderna funktionerna till trots, på många sätt som att resa tillbaka till slutet av 1990-talet. Mobilernas begränsningar gällande minne, processor, skärmupplösning och framförallt överföringshastighet påminner om den plats skrivbordsdatorer befann sig på när de fortfarande kommunicerade via uppringningsmodem. </p>
<p>Den stora skillnaden utöver storleken är att mobila webbläsare inte kör fax-fanfaren varje gång de kopplar upp.</p>
<p>För mig, som vanligtvis är bortskämd med bandbredd, har det varit en stor utmaning och väldigt lärorikt att få almedalssajten att köra i en komfortabel hastighet. I vissa telefoner är den kanske inte riktigt där än, i andra är det efter en hel del optimering faktiskt riktigt snabbt.</p>
<p>Så mitt viktigaste tips efter att ha pysslat med det här är att ta bort allt som inte är absolut nödvändigt. Stryk den där roliga funktionen som bara hälften av alla kommer använda.</p>
<p>Allt utöver det nödvändigaste gör sajten långsammare, mer svårnavigerad och kostar dyrt ur användbarhetssynpunkt.</p>
<h4>Hantera datan</h4>
<p>Eftersom vi gillar Wordpress väldigt mycket har vi använt det till publiceringen på <a href="http://almedalen.fokus.se">almedalen.fokus.se</a>. För att hantera den stora mängden innehåll i almedalsprogrammet på ett strukturerat sätt gjorde vi egna taxonomier. Jag har tidigare skrivit om det <a href="http://www.fokus.se/2009/11/bygg-en-tidningssajt-med-wordpress-%E2%80%93-del-2/">här</a>, men det tål att upprepas.</p>
<p>Sätt upp dina taxonomier i functions.php:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
add_action<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'init'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'my_taxonomies'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> my_taxonomies<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	register_taxonomy<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'place'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'hierarchical'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'label'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Plats'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'query_var'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'rewrite'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	register_taxonomy<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'organizer'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'hierarchical'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'label'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Arrangör'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'query_var'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'rewrite'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	register_taxonomy<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'organisation'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'hierarchical'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'label'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Organisationstyp'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'query_var'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'rewrite'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Nu kan vi utöver inläggsetiketter även sortera innehåll efter plats, arrangör och organisationstyp. Detta är i enlighet med »stryk det«-principen inte utgjort som navigeringsmöjligheter för användaren, men som strukturerad data är det superanvändbart i en massa andra sammanhang. Till exempel behövs det till Kart- och Twitter-integrationen.</p>
<p>Eftersom man måste kunna kolla alla evenemang, framförallt de som ännu inte har ägt, och evenemangen använder publiceringsdatumet (post_date) som tidsangivelse behöver vi få Wordpress att visa opublicerade inlägg. Återigen i functions.php:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> my_posts_request_filter<span style="color: #009900;">&#40;</span><span style="color: #000088;">$input</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">return</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'publish'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'future'</span><span style="color: #339933;">,</span><span style="color: #000088;">$input</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'posts_request'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'my_posts_request_filter'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Detta trollar om alla inlägg till att ha &#8221;publish&#8221; som post_status, även om den egentligen är &#8221;future&#8221;.</p>
<p>Nästa grej var att stoppa in all data från Gotlands kommun i vår egen databas. Wordpress har såklart en samling förnämliga funktioner för detta ändamål. Vi gjorde en plugin som kör ungefär den här koden (xml-strukturen beror såklart på vad det är för xml man stoppar in):</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> get_and_put_event<span style="color: #009900;">&#40;</span><span style="color: #000088;">$event_id</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000088;">$xml</span> <span style="color: #339933;">=</span> <span style="color: #990000;">simplexml_load_file</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;http://www.en-internetadress.se/min-feta-xml-fil/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$document</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">documents</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">textdocument</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">document</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$document</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$document</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">attributes</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$event_id</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$document</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$node</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$event</span><span style="color: #009900;">&#91;</span> <span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span> <span style="color: #000088;">$node</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">attributes</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span> <span style="color: #000088;">$node</span><span style="color: #339933;">;</span>		
			<span style="color: #009900;">&#125;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Kolla om vi redan sparat inlägget och därför ska uppdatera det istället för att skapa det.</span>
			<span style="color: #000088;">$con</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_connect</span><span style="color: #009900;">&#40;</span>DB_HOST<span style="color: #339933;">,</span>DB_USER<span style="color: #339933;">,</span>DB_PASSWORD<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$con</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">':('</span> <span style="color: #339933;">.</span> <span style="color: #990000;">mysql_error</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
			<span style="color: #990000;">mysql_select_db</span><span style="color: #009900;">&#40;</span>DB_NAME<span style="color: #339933;">,</span> <span style="color: #000088;">$con</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT post_id FROM wp_program WHERE event_id = <span style="color: #006699; font-weight: bold;">$event_id</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_fetch_row</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$mypost</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ID'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Rubrik</span>
			<span style="color: #000088;">$mypost</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'post_title'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$event</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$nodes</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">title</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Ingress</span>
			<span style="color: #000088;">$mypost</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'post_excerpt'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$event</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$nodes</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">excerpt</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>	
&nbsp;
			<span style="color: #666666; font-style: italic;">// Innehåll</span>
			<span style="color: #000088;">$mypost</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'post_content'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$event</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$nodes</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">content</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Plats</span>
			<span style="color: #000088;">$place</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$event</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$nodes</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">place</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Tags är en array</span>
			<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$event</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$nodes</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tags</span><span style="color: #009900;">&#93;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$tag</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$tags</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$tag</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000088;">$mypost</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tags_input'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$tags</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Kategori måste skapas om den inte finns</span>
			<span style="color: #000088;">$category</span> <span style="color: #339933;">=</span> wp_create_category<span style="color: #009900;">&#40;</span><span style="color: #000088;">$event</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$nodes</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">category</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$mypost</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'post_category'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$category</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Egna taxonomier</span>
			<span style="color: #000088;">$organizer</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$event</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$nodes</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">organizer</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$organisation</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$event</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$nodes</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">organisation</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Diverse saker</span>
			<span style="color: #000088;">$mypost</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment_status'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'closed'</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$mypost</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ping_status'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'closed'</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$mypost</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'post_status'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'publish'</span><span style="color: #339933;">;</span>	
&nbsp;
			<span style="color: #666666; font-style: italic;">// Kasta in inlägget</span>
			<span style="color: #000088;">$my_id</span> <span style="color: #339933;">=</span> wp_insert_post<span style="color: #009900;">&#40;</span><span style="color: #000088;">$mypost</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Kasta in egna taxonomier till inlägget</span>
			wp_set_post_terms<span style="color: #009900;">&#40;</span><span style="color: #000088;">$my_id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$place</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'place'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			wp_set_post_terms<span style="color: #009900;">&#40;</span><span style="color: #000088;">$my_id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$organizer</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'organizer'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			wp_set_post_terms<span style="color: #009900;">&#40;</span><span style="color: #000088;">$my_id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$organisation</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'organisation'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Gör en trevlig länk som vi kan klicka på för att se hur fint det blev!</span>
			<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;p&gt;'</span><span style="color: #339933;">.</span> <span style="color: #000088;">$event_id</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">'=&gt;&lt;a target=&quot;_blank&quot; href=&quot;/?p='</span><span style="color: #339933;">.</span> <span style="color: #000088;">$my_id</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;&gt;'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$my_id</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&lt;/a&gt;&lt;/p&gt;'</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Det hela är ganska okomplicerat och finns <a href="http://codex.wordpress.org/Function_Reference/wp_insert_post">väl dokumenterat i Codex</a>.</p>
<p>Det enda speciella vi gjorde här var en databastabell som håller koll på vilka evenemang som sparats, och därför ska uppdateras istället för att skapas.</p>
<p>Slutligen fixade vi så att alla inlägg kommer kronologiskt i loopen. Vanligtvis brukar hemsidor visa det senaste först, men ett kalendarium bör nog oftast visa det första först. Den här raden vänder uppochner på allting och ska köras innan loopen.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$query_string</span><span style="color: #339933;">;</span> query_posts<span style="color: #009900;">&#40;</span><span style="color: #000088;">$query_string</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;&amp;order=ASC&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<h4>Fixa gränssnittet</h4>
<p>När all data är i ordning är det dags att bygga något som interagerar med den. Sajten bygger i hög grad på javascript-ramverken <a href="http://jquery.com/">jQuery</a>, <a href="http://code.google.com/p/jqtouch/">jQTouch</a> och <a href="http://github.com/davidaurelio/TouchScroll">Touchscroll</a>.</p>
<p>JQuery behöver ingen närmre introduktion. Det har blivit de-facto standarden för att skriva enklare javascript och finns buntat med Wordpress.</p>
<p>JQTouch är en jQuery-plugin tänkt att tillhandahålla behändiga funktioner för just pekskärms-baserade apparater. Det gör det onekligen smidigt att anpassa interaktion för Android och iPhone, men det är också rätt tungt och svåröverskådligt. Kanske hade det varit enklare att skriva den begränsade mängd funktionalitet vi i slutändan använde själva? Men det är absolut ett imponerande ramverk som jag råder alla att testköra.</p>
<p>Touchscroll är ett ramverk som förhindrar webbläsarens default-scrollning och hittar på sin egen. På så vis kan man runda några av iPhone-Safaris stökiga begränsningar som superslö scroll, och förbud mot absolut positionering av element. Efter iOS4-uppdateringen känns den dock betydligt långsammare, eller så är det bara hjärnspöken.</p>
<p>Att integrera dessa ramverk med Wordpress är mest en fråga om att ha välstrukturerad html i temat, men vi hade vissa problem med att få jQTouch och Touchscroll att fungera ihop.</p>
<h4>Komprimera och optimera</h4>
<p>Vi har lagt stor möda på att få ner storleken på sidan. Almedalsprogrammet är i år större än någonsin, och den blotta mängden evenemang gjorde att storleken på sidan initialt var omkring en megabyte, typ enbart text och html, vilket är helt sjukt.</p>
<p>De flesta webbläsare, även mobila, stödjer <a href="http://www.php-help.ro/php-tutorials/gzip-output-minify-css-and-javascript/">gzip-komprimering</a>. När vi komprimerade all html krympte sidan till runt 200kb, vilket ändå är för stort. Vi minifierade css javascript, och gzippade även javascriptet, detta reducerade storleken till 140kb.</p>
<p>Det visade sig också finnas en hel del effektivisering att göra i markupen. Genom att ta bort element som mest hade semantisk och estetisk funktion, och försöka åstadkomma samma sak med css istället sparades ytterligare 10kb, dessutom gjorde det Touchscroll mycket mer responsivt.</p>
<p>Inget av den optimering vi gjort har vi kommit på själva, det bygger på tips och tricks från vänliga själar. Och vi kommer fortsätta att försöka pressa ned storleken och upp hastigheten, så om ni har något grymt optimeringsknep på lager, langa på det, vi skulle bli superglada!</p>
<h4>Avslutningsvis</h4>
<p><img src="http://www.fokus.se/wp-content/uploads/2009/11/almedalen.jpg" alt="almedalen" title="almedalen" width="77" height="66" class="alignleft size-full wp-image-13975" /><br />
Det som har varit roligast att göra är »spara favoriter«-funktionen. Dels för att den blev ganska elegant om jag får säga det själv, men framför allt för att den verkligen löser ett problem.</p>
<p>Med så många evenemang i kalendariet behövs det desperat ett sätt att vaska fram guldkornen, och det bästa sättet att göra det är såklart genom att använda almedalsbesökarnas kollektiva intelligens.</p>
<p>Så jag vill verkligen uppmana alla att <a href="http://almedalen.fokus.se/">ta en titt på kalendariet</a>, <a href="http://almedalen.fokus.se/wp-login.php?action=register">registrera en användare</a> och spara favoriter. </p>
<p>Tillsammans kan vi skapa <a href="http://www.fokus.se/#almedalen">den definitiva guiden till evenemangen</a> du inte får missa!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fokus.se/2010/06/sa-gjorde-vi-det-mobila-almedalsprogrammet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mobil seminariesommar</title>
		<link>http://www.fokus.se/2010/06/mobil-seminariesommar/</link>
		<comments>http://www.fokus.se/2010/06/mobil-seminariesommar/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 09:01:42 +0000</pubDate>
		<dc:creator>Jonatan Fried</dc:creator>
				<category><![CDATA[Redaktionsbloggen]]></category>
		<category><![CDATA[Fokus]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Politik]]></category>

		<guid isPermaLink="false">http://www.fokus.se/?p=13763</guid>
		<description><![CDATA[Nu finns programmet för Almedalsveckan tillgängligt i mobilen.]]></description>
			<content:encoded><![CDATA[<p>Med mindre än en månad kvar till årets stora politik- och påverkansfestival är vi glada och stolta över att tillsammans med <a href="http://www.gullers.se/">Gullers Grupp</a> kunna presentera en mobilanpassad version av kalendariet.</p>
<p>För iPhone installerar du programmet genom att gå till <a href="http://almedalen.fokus.se">almedalen.fokus.se</a> med mobilens webbläsare, tryck på + och välj &#8221;lägg till på hemskärmen&#8221;.</p>
<p>Vi kommer att fortsätta utveckla funktionerna under tiden fram till Almedalsveckan, så om du har tips och idéer på hur vi kan förbättra programmet tar vi tacksamt emot dem!</p>
<p>Eftersom det är första gången vi gör det här har utvecklingen varit kantat av nya erfarenheter och lärdomar. En mobiltelefon, hur bra den än är, kommer inte ens i närheten av den prestanda som vi är vana vid från våra datorer. Att få programmet att kännas någorlunda snabbt och responsivt har varit en verklig utmaning. I synnerhet eftersom Almedalsveckan och antalet evenemang i år är <a href="http://www.makthavare.se/2010/06/17/rekord-igen/">större än någonsin</a>.</p>
<p>Vi tycker nu att vi har fått det att fungera tillfredsställande, och sätter vårt hopp till att 3g-näten i Visby klarar av att snabbt leverera data till alla seminariesugna sommargäster samtidigt.</p>
<p>Vi valde tidigt att göra programmet som en webbapplikation eftersom det innebär att fler kan använda det, och att vi får större kontroll över uppdateringar och annat. Det vi offrat är att programmet då inte är tillgängligt i Android- eller iPhones app-stores. Men eftersom det ändå är mycket snabbare och smidigare att installera en webbapp känns det inte som någon större förlust.</p>
<p>Vi hoppas att det mobila almedalsprogrammet ska göra det lite lättare för er som åker till Almedalsveckan att hålla koll på vad som händer på byn. Vi vill också passa på att bjuda in er till <a href="http://www.almedalsveckan.info/event/user-view/5966">vårt seminarium</a>, och tipsa om att man före, under och efter almedalsveckan kan <a href="http://twitter.com/fokusredaktion/redaktionen">följa oss på Twitter</a>.</p>
<p>Vi ses i sommar!</p>
<p><a href="http://www.makthavare.se/2010/06/18/halla-dar-jonathan-fried-pa-fokus/">Läs mer om appen på makthavare.se</a> och <a href="http://www.fokus.se/almedalen-i-din-mobil/">fokus.se</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fokus.se/2010/06/mobil-seminariesommar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bygg en valsajt med Wordpress del 1</title>
		<link>http://www.fokus.se/2010/05/bygg-en-valsajt-med-wordpress-del-1/</link>
		<comments>http://www.fokus.se/2010/05/bygg-en-valsajt-med-wordpress-del-1/#comments</comments>
		<pubDate>Thu, 13 May 2010 11:07:53 +0000</pubDate>
		<dc:creator>Jonatan Fried</dc:creator>
				<category><![CDATA[Redaktionsbloggen]]></category>
		<category><![CDATA[Fokus]]></category>
		<category><![CDATA[Fokustema]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.fokus.se/?p=9356</guid>
		<description><![CDATA[Med öppnandet av valsajten och släppet av vårt nya Wordpress-tillägg kickar fokus.se igång valbevakningen på allvar. ]]></description>
			<content:encoded><![CDATA[<p>Sverige börjar få valfeber. Och eftersom Fokus alltid satsat så hårt på att ha den bästa bevakningen av svensk politik tycker vi det är superkul att tempot höjs och fler människor engagerar sig i de aktuella frågorna.</p>
<p>Varje nyhetswebb med självaktning bör i dessa tider ha en valsajt. Vi har en, du hittar den på <a href="http://www.fokus.se/tema/val-2010">fokus.se/tema/val-2010</a>, men framförallt blir vi en valsajt.</p>
<p>De kommande månaderna riktar vi in oss på att inte bara ha en bra valsida med nyheter och annat smått och gott, utan även på att integrera valbevakningen i alla delar av fokus.se där det passar.</p>
<p>För att åstadkomma detta utvecklar vi ett Wordpress-tillägg som hämtar och visar information om svensk politik och svenska makthavare. Vi kallar det <a href="http://www.fokus.se/sveriges-riksdag-for-wordpress/">Sveriges riksdag för Wordpress och har nu släppt det i sin första version</a>.</p>
<p>I dagsläget visar Sveriges riksdag för Wordpress ett interaktivt diagram över opinionsläget, en kalender med kommande händelser i valrörelsen och veckans mest intressanta länkar om svensk politik.</p>
<p>Diagramet visar en sammanvägning av publicerade  opinionsundersökningar från alla olika institut. Genom att väga samman  olika mätningar kan skillnader i frågor, mätmetoder och andra felkällor  pareras och en tydligare bild av opinionsläget ges. Dessutom visas  länkar till Fokus politikreportage samt mandatperiodens  viktigaste händelser, valda av Fokus politikredaktör Torbjörn Nilsson, i  anslutning till tidsaxeln.</p>
<p>Politiklänkarna och valkalendern sammanställs av redaktionerna på Fokus och makthavare.se.</p>
<p>Vi har många ytterligare funktioner på gång som vi kommer att rulla ut i rask takt varefter de blir färdiga.</p>
<p>Sveriges riksdag för Wordpress är framförallt ämnad att användas på fokus.se och <a href="http://www.makthavare.se">makthavare.se</a>, men om du har en Wordpress-sajt som du vill politikifiera får du gärna <a href="http://www.fokus.se/wp-content/uploads/2010/05/wp_riksdagen.zip">ladda ned</a> och använda tillägget på din sida.</p>
<p>Vi  har testat tillägget på Wordpress 2.9 och 3.0 men kan såklart inte garantera att det funkar perfekt tillsammans med ditt tema och dina andra tillägg.</p>
<p>Hursomhelst, från och med nu är vi en valsajt, och vi hoppas att du blir det också!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fokus.se/2010/05/bygg-en-valsajt-med-wordpress-del-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vad skrämmer efter islam?</title>
		<link>http://www.fokus.se/2010/04/vad-skrammer-efter-islam/</link>
		<comments>http://www.fokus.se/2010/04/vad-skrammer-efter-islam/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 13:25:29 +0000</pubDate>
		<dc:creator>Jonatan Fried</dc:creator>
				<category><![CDATA[Kommentar]]></category>
		<category><![CDATA[Kultur]]></category>
		<category><![CDATA[Terrorism]]></category>
		<category><![CDATA[Tv]]></category>

		<guid isPermaLink="false">http://www.fokus.se/?p=12297</guid>
		<description><![CDATA[Jihad Jane kan vara slutet på en populärkulturell era. När hotet inte bär skägg är det dags att vända blad.]]></description>
			<content:encoded><![CDATA[<p>Plötsligt täcks Colorados himmel av fallskärmar med sovjetiska soldater. Invasionen sker så plötsligt att ingen hinner blinka innan kommunisterna fullbordat sitt mål: att starta soppköer från öst- till västkust.</p>
<p>Allt detta i filmen »Röd gryning« från 1984 – 114 minuter som du gott och väl kan ägna åt annat.</p>
<p>Men vid den tid då Reagan argumenterade för att en sovjetisk invasion av Afghanistan var samma sak som en invasion av USA, framstod inte »Röd gryning« som lika larvig. För många var det en fullt rimlig dramatisering av varför stödet till den afghanska motståndsrörelsen var viktigt.</p>
<p>Populärkulturen har sällan utrymme för mer än ett stort hot åt gången.</p>
<p>Parallellt med att Reagandoktrinen tappade i betydelse ökade antalet rapporterade fall av multipel personlighetsstörning i världen. År 1980 fanns bara 200 kända fall, när kalla kriget var slut hade de hunnit bli 20 000. Orsaken sägs av vissa forskare vara filmen »Sybil«, som med sin kittlande berättelse om <a href="http://www.astraeasweb.net/plural/spiegel.html">Shirley Ardell Masons 16 personligheter</a> populariserade diagnosen.</p>
<p>Undermedvetna hämnare med förträngda minnen av sexuella övergrepp var det nya, inte bara på film, utan även bland psykologer, medier och allmänhet. Individer som Hannibal Lecter och Thomas Quick utgjorde det stora hotet mot den fredlige medborgaren. Röda faran hamnade på utelistan.</p>
<p>Men med attackerna den 11 september blev hotet åter storpolitiskt. Sedan dess har en god del av 2000-talet ägnats åt att ängsligt debattera islam. I november förra året rapporterade till exempel riksmedierna om »ökad radikalisering« bland muslimer i Rinkeby. Mona Sahlin åkte dit och stöddansade och Nyamko Sabuni lovade att kartlägga fenomenet.</p>
<p>Ett halvår senare kunde »Konflikt« i P1 berätta hur uppgifterna, om bland annat terroristrekryteringar, till stor del baserats på anekdoter från en enda källa. <a href="http://www.medievarlden.se/diskussion/2010/04/axel-anden-nar-det-handlar-om-rinkeby-forsvinner-kallkritiken">Politiker, medier och medborgare hade återigen svepts med av en kittlande historia i samtiden</a>.</p>
<p>När »South Park« nyligen summerade sina första 200 avsnitt med att ännu en gång driva med att man inte får driva med Muhammed var dock temperaturen lägre än vanligt. Någon skrev det förutsägbara hotet på internet som världspressen lydigt plockade upp, men den lika förutsägbara yttrandefrihets­debatten uteblev.</p>
<p>När hotet från islam till slut inte längre bär skägg utan förkroppsligas av Jihad Jane från Michigan, har terroristparadigmet skruvats till sin sista gänga.</p>
<p>Förr eller senare måste ett hot lämna plats för ett annat.</p>
<p>I september förmörkas återigen himlen i den amerikanska mellanvästern, när nyinspelningen av »Röd gryning« släpps.</p>
<p>Den här gången kommer <a href="http://www.youtube.com/watch?v=co0CopP1Vec&amp;feature=related">soldaterna från Kina</a>.</p>
<p><em>Rättegången mot 46-åriga Colleen »Jihad Jane« LaRose, som står åtalad för en mordkomplott mot konstnären Lars Vilks, inleds på tisdag i Philadelphia.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fokus.se/2010/04/vad-skrammer-efter-islam/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Snyggast vänner vinner</title>
		<link>http://www.fokus.se/2010/04/snyggast-vanner-vinner/</link>
		<comments>http://www.fokus.se/2010/04/snyggast-vanner-vinner/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 08:02:21 +0000</pubDate>
		<dc:creator>Jonatan Fried</dc:creator>
				<category><![CDATA[Aktuellt]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Riksdagsval]]></category>

		<guid isPermaLink="false">http://www.fokus.se/?p=12231</guid>
		<description><![CDATA[Imponerande ­besökssiffror på ­nätet ger ingen självklar valseger.]]></description>
			<content:encoded><![CDATA[<p>Någon du känner har blivit fan av ett up-and-coming kommunalråd som kandiderar till riksdagen. Du kanske också vill bli ett Facebook-fan? Partierna har i valrörelsen verkligen lyckats väva in sig i internets vardag. Med varierande iver och framgång satsar alla hårt på att söka upp väljarna var de än befinner sig.</p>
<p>En ståndsmässig kampanj­sajt anno 2010 har små rutor för åtminstone Twitter, Youtube, Facebook och Flickr. Eftersom partierna är erfarna och professionella kampanj­organisationer arbetar de efter siffror.</p>
<p>De har anställt personal för att noga mäta besökare på hemsidan, inlänkar i bloggnätverk, followers, visningar och fans.</p>
<p>Valet 2010 är partiernas första trevande försök att omvandla dessa siffror till social organisation. De skryter gärna ut nyckeltal de är nöjda med för att framstå som rörelser med fart. Men siffrorna ljuger; för att utvinna någon verkligt användbar kunskap ur dem krävs åtminstone att de skådas i ljuset av ett valresultat.</p>
<p><a href="http://www.svd.se/nyheter/politik/sd-dominerar-sociala-medier_4616377.svd">Svenska Dagbladets sammanställning av nätstatistik</a> i veckan landade i slutsatsen att sverigedemokraterna dominerar på internet. Twittraren Magnus Bråth sågade undersökningen med <a href="http://twitter.com/sokmotorkonsult/status/12842794704">de träffande orden</a> »Att säga att sd dominerar sociala medier är som att säga att folk oftast skickar mail om Viagra«.</p>
<p>Demokrati må vara en krass popularitetstävling, men i nätkampanjerna är det inte antalet vänner som räknas, utan – i brist på bättre ord – kvaliteten på dem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fokus.se/2010/04/snyggast-vanner-vinner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Leninpriset till Roy Andersson</title>
		<link>http://www.fokus.se/2010/04/leninpriset-till-roy-andersson/</link>
		<comments>http://www.fokus.se/2010/04/leninpriset-till-roy-andersson/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 09:26:13 +0000</pubDate>
		<dc:creator>Jonatan Fried</dc:creator>
				<category><![CDATA[Aktuellt]]></category>
		<category><![CDATA[Film]]></category>
		<category><![CDATA[Historia]]></category>
		<category><![CDATA[Kultur]]></category>
		<category><![CDATA[Litteratur]]></category>

		<guid isPermaLink="false">http://www.fokus.se/?p=11735</guid>
		<description><![CDATA[I år är det filmmakaren Roy Andersson som har den diskutabla äran att ta emot det av Jan Myrdal instiftade Leninpriset. ]]></description>
			<content:encoded><![CDATA[<p>Priset delades för första gången ut förra året, då till författaren Mattias Gardell, och har vållat mycket debatt. Bland annat föranledde det den då blivande ständige sekreteraren för Svenska Akademien, Peter Englund, att instifta det ironiska Pol Pot-priset, som även det gick till Mattias Gardell.</p>
<p>På sin blogg skrev Englund att <a href="http://peterenglund.wordpress.com/2009/04/06/gardell-far-pol-pot-priset/">Mattias Gardell skulle få Pol-Pot priset i år också</a>, men något utlåtande från juryn bestående av Englund och hans två katter har i skrivande stund inte kommit.</p>
<p>Roy Andersson uppger sig vara djupt hedrad av priset och ser inget problem i Jan Myrdals ovilja att distansera sig från kommunistiska regimers folkmord.</p>
<p>Motiveringen i sin helhet lyder:</p>
<p style="padding-left: 30px;"><em>”för sitt filmskapande och sina övriga insatser som  civilisations- och samhällskritiker. Liksom Jan Myrdal har han i oböjlig  egensinnighet gått sin egen väg. Jan Myrdal  gestaltade, då det var aktuellt, bristerna i det framväxande  folkhemsbygget. Roy Andersson har under snart fyra  decennier med djup indignation som drivkraft, fast  parad  med underfundig humor, skildrat de katastrofala följderna av  samma folkhems raserande. I sin estetik har han, i likhet  med Jan Myrdal förnyat sina genrer och med djupt moraliskt allvar  betonat den enskildes roll och ansvar i ett samhälleligt och politiskt  sammanhang”.</em></p>
<p>Fokus har tidigare skrivit om <a href="http://www.fokus.se/2009/04/tyst-om-lenin/">Leninpriset</a>, <a href="http://www.fokus.se/2009/04/det-pris-som-jag-nu-instiftat-heter-pol-pot-priset/">Pol Pot-priset</a> och <a href="http://www.fokus.se/2009/04/kulturelitens-karlek-till-lenin/">kulturelitens leninvurm</a>.<em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fokus.se/2010/04/leninpriset-till-roy-andersson/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Så använder du riksdagens API</title>
		<link>http://www.fokus.se/2010/04/sa-anvander-du-riksdagens-api/</link>
		<comments>http://www.fokus.se/2010/04/sa-anvander-du-riksdagens-api/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 14:31:57 +0000</pubDate>
		<dc:creator>Jonatan Fried</dc:creator>
				<category><![CDATA[Redaktionsbloggen]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Politik]]></category>

		<guid isPermaLink="false">http://www.fokus.se/?p=11651</guid>
		<description><![CDATA[Sveriges riksdag har äntligen börjat dela med sig av sina databaser. Här är en snabbkurs i hur du använder dem.]]></description>
			<content:encoded><![CDATA[<p>Nu har jag hunnit ta en första titt på <a href="http://www.riksdagen.se/Webbnav/index.aspx?nid=45&#038;sq=1&#038;ID=jhxmhc7DA_3_20">riksdagens splitternya API</a> och byggt en anspråkslös tillämpning på <a href="http://www.makthavare.se">makthavare.se</a>. För er som inte vet vad ett API är kan det sägas vara ett sätt att dela data mellan olika applikationer och hemsidor.</p>
<p>Om <a href="http://www.makthavare.se/2010/03/31/maria-abrahamsson-beatrice-ask-bor-avga/">ett inlägg på makthavare.se handlar om en riksdagsledamot</a> kommer det nu att finnas lite information från riksdagens databaser i spalten till höger. Telefonnummer, mejl, valkrets och så. Jag kommer snart även att stoppa in vilka motioner en ledamot har lagt på dennes <a href="http://www.makthavare.se/makt/mona-sahlin/">makthavarsida</a>.</p>
<p>Så, hur använder man då riksdagens API? Om du inte är kodrädd är det ganska enkelt. Vi börjar med att göra en funktion som hämtar ett person-objekt från riksdagen:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Gör en funktion som tar namnet på en riksdagsledamot som argument
</span><span style="color: #000000; font-weight: bold;">function</span> ge_mig_riksdagsledamoten<span style="color: #009900;">&#40;</span><span style="color: #000088;">$namn</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;"># Hojta in riksdagens data i ett simpleXML-objekt
</span>	<span style="color: #000088;">$xml</span> <span style="color: #339933;">=</span> <span style="color: #990000;">simplexml_load_file</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'http://data.riksdagen.se/personlista'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;"># Loopa igenom objektet och stoppa in namnen i variabler
</span>	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">person</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">person</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$person</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$efternamn</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span> <span style="color: #000088;">$person</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">efternamn</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$tilltalsnamn</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span> <span style="color: #000088;">$person</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tilltalsnamn</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;"># Skicka tillbaka personen som matchar namnet i argumentet 
</span>		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$namn</span><span style="color: #339933;">,</span> <span style="color: #000088;">$efternamn</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$namn</span><span style="color: #339933;">,</span> <span style="color: #000088;">$tilltalsnamn</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">return</span> <span style="color: #000088;">$person</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Nu kan vi göra ut information om en ledamot, men vi kan också använda informationen för att hämta mer information, dokument som den ledamoten varit delaktig i till exempel.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Gör en funktion som tar en riksdagsledamot och en dokumenttyp som som argument
</span><span style="color: #000000; font-weight: bold;">function</span> ge_mig_dokumenten_for_riksdagsledamoten<span style="color: #009900;">&#40;</span><span style="color: #000088;">$person</span><span style="color: #339933;">,</span> <span style="color: #000088;">$dokumenttyp</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;"># Här förutsätts att personen är ett person-objekt från riksdagens data
</span>	<span style="color: #000088;">$iid</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$person</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">intressent_id</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;"># Hojta in riksdagens data med dina argument instoppade
</span>	<span style="color: #000088;">$xml</span> <span style="color: #339933;">=</span> <span style="color: #990000;">simplexml_load_file</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;http://data.riksdagen.se/dokumentlista/?rm=&amp;typ=<span style="color: #006699; font-weight: bold;">$dokumenttyp</span>&amp;d=&amp;ts=&amp;parti=&amp;iid=<span style="color: #006699; font-weight: bold;">$iid</span>&amp;bet=&amp;org=&amp;kat=&amp;sz=10&amp;sort=c&amp;utformat=xml&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;"># Skicka tillbaka saker om det finns något
</span>	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #b1b100;">return</span> <span style="color: #000088;">$xml</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Om vi vill ha alla motioner som Berit Adolfsson, den före detta moderata ledamoten från Västra Götalands län skrivit behöver vi bara köra våra funktioner med &#8221;Berit Adolfsson&#8221; och &#8221;mot&#8221; som argument (&#8221;mot&#8221; betyder motion, kolla in <a href="http://data.riksdagen.se/dokumentlista">riksdagens dokumentation för att se vilka andra dokumenttyper som finns</a>).</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Kör funktionerna
</span><span style="color: #000088;">$berit_adolfssons_motioner</span> <span style="color: #339933;">=</span> ge_mig_dokumenten_for_riksdagsledamoten<span style="color: #009900;">&#40;</span>ge_mig_riksdagsledamoten<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Berit Adolfsson'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'mot'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Det finns säkert andra, bättre sätt att göra det här. Om du har någon idé, dela med dig i kommentarerna.</p>
<p>Missa heller inte Anne Brynolfs <a href="http://www.lakartidningen.se/blogs/blog6.php/2010/04/07/mer-mashup-dara">alternativmedicinmashup</a> och makthavares <a href="http://www.makthavare.se/2010/04/07/riksdagsledamotmashup/">riksdagsledamotsmashup</a>. Vilka fler tillämningar av riksdags-apit har ni hittat? droppa en kommentar!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fokus.se/2010/04/sa-anvander-du-riksdagens-api/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Bli betatestare av Fokus almedalsprogram till mobilen</title>
		<link>http://www.fokus.se/2010/03/bli-betatestare-av-fokus-almedalsprogram-till-mobilen/</link>
		<comments>http://www.fokus.se/2010/03/bli-betatestare-av-fokus-almedalsprogram-till-mobilen/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 12:48:27 +0000</pubDate>
		<dc:creator>Jonatan Fried</dc:creator>
				<category><![CDATA[Redaktionsbloggen]]></category>
		<category><![CDATA[Fokus]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Politik]]></category>
		<category><![CDATA[Telekom]]></category>

		<guid isPermaLink="false">http://www.fokus.se/?p=11166</guid>
		<description><![CDATA[För att Fokus och Gullers almedalsapplikation ska bli så bra som möjligt bjuder vi in till betatest. Är du intresserad? Läs vidare och anmäl dig i formuläret!]]></description>
			<content:encoded><![CDATA[<p>Vår mobilapplikation för årets politikervecka på Gotland tar sig riktigt bra. Den grundläggande sturkturen är på plats, vi har flera bra datakällor att leka med och vi har redan fått kartor att funka någorlunda tillfredsställande.</p>
<p>Mycket är naturligtvis kvar att göra, och det officiella programmet är inte ens släppt ännu. Men vi börjar ändå göra oss redo för att släppa in några betatestare av applikationen.</p>
<p>Om du är intresserad av att provköra och komma med förslag på förbättringar, fyll i namn och e-post i formuläret nedan, så skickar vi ett mejl med inloggningsuppgifter när det är dags. Vi räknar med att börja släppa in testare från och med tjugonde april. Hoppas att du är en av dem!</p>
<p><iframe src="http://spreadsheets.google.com/embeddedform?formkey=dGJQWlpINGRkTkVVOGdWUGhmYUwzQUE6MA" width="440" height="765" frameborder="0" marginheight="0" marginwidth="0">Loading&#8230;</iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fokus.se/2010/03/bli-betatestare-av-fokus-almedalsprogram-till-mobilen/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Almedalen i mobilen</title>
		<link>http://www.fokus.se/2010/03/almedalen-i-mobilen/</link>
		<comments>http://www.fokus.se/2010/03/almedalen-i-mobilen/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 12:41:48 +0000</pubDate>
		<dc:creator>Jonatan Fried</dc:creator>
				<category><![CDATA[Redaktionsbloggen]]></category>
		<category><![CDATA[Fokus]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Politik]]></category>
		<category><![CDATA[Telekom]]></category>

		<guid isPermaLink="false">http://www.fokus.se/?p=10467</guid>
		<description><![CDATA[Säg hejdå till svettiga kataloger med mikroskopiska bokstäver. Årets almedalsprogram blir mobilt!]]></description>
			<content:encoded><![CDATA[<p>På Fokus har vi börjat ladda inför årets almedalsvecka. Transport och boende är uppstyrt, programmet börjar klarna, och nu när våren börjat smyga igång känns det inte längre lika overkligt med ett varmt och soligt Visby. Tvärtom börjar det kännas rätt så nära. Och det känns bra.</p>
<p>Det bästa med almedalen är att det händer en miljard spännande saker hela tiden. Tyvärr brukar det vara ganska knepigt att sålla i utbudet och hålla koll på allt. Fram tills nu!</p>
<p>Fokus håller nämligen på med <a href=" http://resume.se/nyheter/2010/03/11/fokus-gor-app-for-almedale/">en mobilapplikation för almedalsprogrammet 2010</a>. Tanken är att du snabbt och enkelt ska kunna se vad som är på gång, söka och filtrera bland programpunkter och även bygga och dela din egen lista över favoritevenemang.</p>
<p>Vi har mängder av andra features som vi hoppas hinna genomföra, och har fått massa bra förslag, fortsätt gärna komma med idéer!</p>
<p><a href="http://www.gullers.se/">Gullers Grupp</a> är med som sponsor, och <a href="http://www.makthavare.se/2010/03/11/almedalsveckan-snart-i-din-mobil/">makthavare.se</a>, som är världsmästare i almedalsrapportering, samarbetar med oss kring innehåll.</p>
<p>Färska siffror säger att <a href="http://gs.statcounter.com/#mobile_browser-SE-monthly-200902-201003">55% av all mobilsurfning sker med iPhone</a>. Det är mycket, men knappast så mycket att det motiverar en infödd iPhone-applikation. Istället har vi valt att göra en webbapplikation med i grunden öppna standarder och öppen kod som kan nås av allt med en webbläsare (och uppkoppling). Sedan adderar vi lite iPhone-grejer till iPhone-versionen.</p>
<p>Webbarkitekturen innebär också att vi kan göra kontinuerliga uppdateringar utan att behöva gå igenom granskningsprocessen i Apples app-store. Vi gillar iPhone väldigt mycket, men vi gillar den öppna webben ännu mer!</p>
<p>Så jag hoppas att vi ses på den mobila almedalswebben 2010, oavsett om du kommer vara där eller följer spektaklet från fastlandet!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fokus.se/2010/03/almedalen-i-mobilen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tre Grammys till svenskar</title>
		<link>http://www.fokus.se/2010/02/tre-grammys-till-svenskar/</link>
		<comments>http://www.fokus.se/2010/02/tre-grammys-till-svenskar/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 09:41:03 +0000</pubDate>
		<dc:creator>Jonatan Fried</dc:creator>
				<category><![CDATA[Aktuellt]]></category>
		<category><![CDATA[Musik]]></category>

		<guid isPermaLink="false">http://www.fokus.se/?p=8933</guid>
		<description><![CDATA[Lady Gagas svenske producent Nadir "RedOne" Khayat fick en Grammy för årets bästa danslåt.]]></description>
			<content:encoded><![CDATA[<p>I övrigt blev det två svenskgrammys, båda till körledaren Ragnar Bohlin, för bästa klassiska album och bästa körframträdande. Årets bästa låt gick till Beyoncés <span id="mn_Global"><span id="mn_Article">&#8221;Single Ladies (Put A Ring On It)&#8221;.</span></span><br />
Läs <a href="http://www.fokus.se/2010/01/bakom-stjarnorna/">Fokus intervju med RedOne</a> från tidigare i veckan.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fokus.se/2010/02/tre-grammys-till-svenskar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
