<?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>Webcoder</title>
	<atom:link href="http://www.webcoder.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.webcoder.de</link>
	<description>Webprogrammierer Berlin</description>
	<lastBuildDate>Wed, 20 Mar 2013 08:14:51 +0000</lastBuildDate>
	<language>de-DE</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.7.13</generator>
	<item>
		<title>Build a free landing page with the Twenty Twelve WordPress theme</title>
		<link>http://www.webcoder.de/2013/03/20/build-a-free-landing-page-with-the-twenty-twelve-wordpress-theme/</link>
		<comments>http://www.webcoder.de/2013/03/20/build-a-free-landing-page-with-the-twenty-twelve-wordpress-theme/#comments</comments>
		<pubDate>Wed, 20 Mar 2013 08:14:51 +0000</pubDate>
		<dc:creator><![CDATA[Fabio Bacigalupo]]></dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[Webseite]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Landing Page]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.webcoder.de/?p=122</guid>
		<description><![CDATA[There is no need to buy a landingpage theme. You can easily build one for free with the new default WordPress theme 2012 (Twenty Twelve)! First install WordPress Of course first you need to install WP on your webserver or webspace. If you have a decent hoster this can easily be done by one click [&#8230;]<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2013/03/20/build-a-free-landing-page-with-the-twenty-twelve-wordpress-theme/">Build a free landing page with the Twenty Twelve WordPress theme</a></p>
]]></description>
				<content:encoded><![CDATA[<p><strong>There is no need to buy a landingpage theme. You can easily build one for free with the new default WordPress theme 2012 (<em>Twenty Twelve</em>)!</strong></p>
<h3>First install WordPress</h3>
<p>Of course first you need to install WP on your webserver or webspace. If you have a decent hoster this can easily be done by one click through your user-interface. If that is not the case you&#8217;ll find lots of howtos on the web how to install WordPress. Don&#8217;t be afraid it is really easy!</p>
<p>After you made sure that your WordPress is successfully installed log in to the backend. Switch to the menu point <em>Appearance</em>.</p>
<h3>Second remove clutter</h3>
<p>With the landing page you basically want a user to do a specific action. That could be anything from a newsletter sign-up, filling out a contact form, call a phone number, register for a service to to doing a sale. To get to that point there has to be only one (main) action the user can actually do on the website. You have to lead the user to the action and there should be no distractions that move your user away from fulfilling the actions. For building our landing page with the WordPress theme Twenty Twelve this means that you want to get rid of navigations (main, sidebar, footer), additional blocks (widgets) and misleading site elements.</p>
<h3>Helpful page templates</h3>
<p>Most of the stuff is actually removed with just one setting! The new theme brings by default two templates which are suitable for a landing page design. One is called <strong>Front Page Template</strong> and the other is called <strong>Full-Width Page Template, No sidebar</strong>. You can choose either one, they will both work.</p>
<h3>Remove main menu</h3>
<p>Ok, I have to admit on this part I do a trick. Instead of really removing the menu we use an empty custom menu. To do that you first have to create a custom menu. In Appearance you&#8217;ll find the menu entry &#8220;<em>Menus</em>&#8221; which gives you all the options you need! Just create a new menu with a random name. Do not add any menu points to that menu. Choose the menu in <em>Theme Locations</em> as <em>Primary menu</em>. That&#8217;s it! You just made the menu disappear.</p>
<h3>Change footer link in Twenty Twelve theme</h3>
<p>In my lovely country (I live in <a href="http://www.germany.travel/" title="Travel to Germany">Germany</a>) there are some legal obligations to show an imprint on every commercial website which has to be reachable from every page on the website. There already is a link which fits this description and is a bit annoying for our purpose anyway: the WordPress default footer link. Luckily WordPress is very customizable and we can <em>take over</em> this hyperlink. Here is how you change the footer link in the Twenty Twelve theme. Other themes are very similar. You just have to look for other strings.</p>
<p>In Appearance you will find the on-board <strong>Editor</strong>. If your webserver settings are correct you can easily edit some of the WordPress sourcecode directly online. Look for the following string:</p>
<p><code><br />
&lt;div class="site-info"&gt;<br />
&lt;?php do_action( 'twentytwelve_credits' ); ?&gt;<br />
&lt;a href="&lt;?php echo esc_url( __( 'http://wordpress.org/', 'twentytwelve' ) ); ?&gt;" title="&lt;?php esc_attr_e( 'Semantic Personal Publishing Platform', 'twentytwelve' ); ?&gt;"&gt;&lt;?php printf( __( 'Proudly powered by %s', 'twentytwelve' ), 'WordPress' ); ?&gt;&lt;/a&gt;<br />
&lt;/div&gt;&lt;!-- .site-info --&gt;<br />
</code></p>
<p>It is HTML markup and some PHP code. Strip it to:</p>
<p><code><br />
&lt;div class="site-info"&gt;<br />
&lt;a href="" title=""&gt;&lt;/a&gt;<br />
&lt;/div&gt;&lt;!-- .site-info --&gt;<br />
</code></p>
<p>And paste your link (URL) in between the apprentices after the <em>href</em>-tag and also set a title for the link by writing something in between <code>&lt;a href=...&gt;</code> and <code>&lt;/a&gt;</code>.</p>
<p>Now you should have a result similar to the following picture.</p>
<p><a href="http://www.webcoder.de/wp-content/uploads/2013/03/Free-landing-page-with-Twenty-Twelve-WordPress-Theme.png"><img src="http://www.webcoder.de/wp-content/uploads/2013/03/Free-landing-page-with-Twenty-Twelve-WordPress-Theme-300x115.png" alt="Free landing page with Twenty Twelve WordPress Theme 300x115 Build a free landing page with the Twenty Twelve WordPress theme" width="300" height="115" class="aligncenter size-medium wp-image-142" title="Build a free landing page with the Twenty Twelve WordPress theme" /></a></p>
<h3>A few more steps with Twenty Eleven and Twenty Ten</h3>
<p>So start building your landingpage by removing everything. This is how you do it with WordPress:</p>
<ul>
<li>In Appearance again switch to Widgets.</li>
<li>Check all widget areas for widgets and remove them</li>
</ul>
<p>Now you can concentrate on building the content for the page!</p>
<p>I hope you liked my howto. If you have any questions or suggestions please leave a comment. Share this tutorial with people that might find it helpful as well and don&#8217;t forget to <a href="http://feeds2.feedburner.com/webcoderde" title="All articles">subscribe to our feed</a> for future tips and tricks.</p>
<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2013/03/20/build-a-free-landing-page-with-the-twenty-twelve-wordpress-theme/">Build a free landing page with the Twenty Twelve WordPress theme</a></p>
 <p><a href="http://www.webcoder.de/?flattrss_redirect&amp;id=122&amp;md5=26f5cd7d1dca500d98b553137fae947b" title="Flattr" target="_blank"><img src="http://www.webcoder.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.webcoder.de/2013/03/20/build-a-free-landing-page-with-the-twenty-twelve-wordpress-theme/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=8173&amp;popout=1&amp;url=http%3A%2F%2Fwww.webcoder.de%2F2013%2F03%2F20%2Fbuild-a-free-landing-page-with-the-twenty-twelve-wordpress-theme%2F&amp;language=de_DE&amp;category=text&amp;title=Build+a+free+landing+page+with+the+Twenty+Twelve+WordPress+theme&amp;description=There+is+no+need+to+buy+a+landingpage+theme.+You+can+easily+build+one+for+free+with+the+new+default+WordPress+theme+2012+%28Twenty+Twelve%29%21+First+install+WordPress+Of+course...&amp;tags=Landing+Page%2Ctheme%2CWebdesign%2CWordpress%2Cblog" type="text/html" />
	</item>
		<item>
		<title>B-mobile &#8211; Neues Event zu mobilen Themen in Berlin</title>
		<link>http://www.webcoder.de/2012/07/04/b-mobile-neues-event-zu-mobilen-themen-in-berlin/</link>
		<comments>http://www.webcoder.de/2012/07/04/b-mobile-neues-event-zu-mobilen-themen-in-berlin/#comments</comments>
		<pubDate>Wed, 04 Jul 2012 10:19:09 +0000</pubDate>
		<dc:creator><![CDATA[Fabio Bacigalupo]]></dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Berlin]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[mobil]]></category>
		<category><![CDATA[Open Stage]]></category>
		<category><![CDATA[Szene]]></category>

		<guid isPermaLink="false">http://www.webcoder.de/?p=118</guid>
		<description><![CDATA[Ich organisiere eine neue Veranstaltungsreihe in Berlin, die B-mobile genannt wird. Wir wollen eine offene Plattform für Interessierte an mobilen Themen etablieren. Das Programm sieht vor, dass wir eine Open Stage für eine Stunde haben. Jeder bekommt die Möglichkeit in 3 Minuten sein Projekt, seine Idee und seine Erfahrungen mit den anderen Gästen zu teilen. [&#8230;]<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2012/07/04/b-mobile-neues-event-zu-mobilen-themen-in-berlin/">B-mobile &#8211; Neues Event zu mobilen Themen in Berlin</a></p>
]]></description>
				<content:encoded><![CDATA[<p>Ich organisiere eine neue Veranstaltungsreihe in Berlin, die <strong>B-mobile</strong> genannt wird. Wir wollen eine offene Plattform für Interessierte an mobilen Themen etablieren. Das Programm sieht vor, dass wir eine <em>Open Stage</em> für eine Stunde haben. Jeder bekommt die Möglichkeit in 3 Minuten sein Projekt, seine Idee und seine Erfahrungen mit den anderen Gästen zu teilen.</p>
<p>Der Eintritt zur Veranstaltung ist frei. Weitere Informationen findest du auf der <a href="http://www.b-mobile.info/" title="B-mobile Webseite">Webseite</a>. Dort solltest du dich bei Interesse auch anmelden.</p>
<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2012/07/04/b-mobile-neues-event-zu-mobilen-themen-in-berlin/">B-mobile &#8211; Neues Event zu mobilen Themen in Berlin</a></p>
 <p><a href="http://www.webcoder.de/?flattrss_redirect&amp;id=118&amp;md5=214479ce5d156619bd6189724202a1a0" title="Flattr" target="_blank"><img src="http://www.webcoder.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.webcoder.de/2012/07/04/b-mobile-neues-event-zu-mobilen-themen-in-berlin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=8173&amp;popout=1&amp;url=http%3A%2F%2Fwww.webcoder.de%2F2012%2F07%2F04%2Fb-mobile-neues-event-zu-mobilen-themen-in-berlin%2F&amp;language=de_DE&amp;category=text&amp;title=B-mobile+%26%238211%3B+Neues+Event+zu+mobilen+Themen+in+Berlin&amp;description=Ich+organisiere+eine+neue+Veranstaltungsreihe+in+Berlin%2C+die+B-mobile+genannt+wird.+Wir+wollen+eine+offene+Plattform+f%C3%BCr+Interessierte+an+mobilen+Themen+etablieren.+Das+Programm+sieht+vor%2C+dass+wir+eine+Open...&amp;tags=Berlin%2CEvent%2Cmobil%2COpen+Stage%2CSzene%2Cblog" type="text/html" />
	</item>
		<item>
		<title>How to add language file for custom WordPress theme</title>
		<link>http://www.webcoder.de/2011/01/13/how-to-add-language-file-for-custom-wordpress-theme/</link>
		<comments>http://www.webcoder.de/2011/01/13/how-to-add-language-file-for-custom-wordpress-theme/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 16:38:29 +0000</pubDate>
		<dc:creator><![CDATA[Fabio Bacigalupo]]></dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[custom theme]]></category>
		<category><![CDATA[I18N]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[translations]]></category>
		<category><![CDATA[Twenty Ten]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.webcoder.de/?p=101</guid>
		<description><![CDATA[For a new hosting service I am using the new WordPress 3.x multi-site features extensively. For new customers I added a custom theme based on the default Twenty Ten theme. As the main audience aren&#8217;t native speakers &#8211; English that is &#8211; I also need translations for my custom theme. I followed the path twentyten [&#8230;]<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2011/01/13/how-to-add-language-file-for-custom-wordpress-theme/">How to add language file for custom WordPress theme</a></p>
]]></description>
				<content:encoded><![CDATA[<p>For a <a href="http://www.podcaster.de">new hosting service</a> I am using the new WordPress 3.x multi-site features extensively. For new customers I added a custom theme based on the default Twenty Ten theme. As the main audience aren&#8217;t native speakers &#8211; English that is &#8211;  I also need translations for my <strong>custom theme</strong>. I followed the path twentyten is showing my copying my <strong>.mo file</strong> into a subdirectory of the theme called <em>languages</em>. Unfortunately the file is not loaded automagically so you need some custom code which I added to my custom theme&#8217;s <em>functions.php</em> file.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">const</span> MY_THEME <span style="color: #339933;">=</span> <span style="color: #0000ff;">'name of your theme'</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> mytheme_setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// The first occurence of MY_THEME is the name of your textdomain as used in the templates</span>
	load_theme_textdomain<span style="color: #009900;">&#40;</span> MY_THEME<span style="color: #339933;">,</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'twentyten'</span><span style="color: #339933;">,</span> MY_THEME<span style="color: #339933;">,</span> TEMPLATEPATH<span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/languages'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">// Tell WordPress to run mytheme_setup() when the 'after_setup_theme' hook is run.</span>
add_action<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'after_setup_theme'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'mytheme_setup'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>If you are defining your own version of twentyten_setup() just add the line with load_theme_textdomain(&#8230;) in there. OOP in <a href="http://wordpress.org">WordPress</a> would be nice here and make things so much easier!</p>
<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2011/01/13/how-to-add-language-file-for-custom-wordpress-theme/">How to add language file for custom WordPress theme</a></p>
 <p><a href="http://www.webcoder.de/?flattrss_redirect&amp;id=101&amp;md5=a23c72b89d700178c1098959c140786e" title="Flattr" target="_blank"><img src="http://www.webcoder.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.webcoder.de/2011/01/13/how-to-add-language-file-for-custom-wordpress-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=8173&amp;popout=1&amp;url=http%3A%2F%2Fwww.webcoder.de%2F2011%2F01%2F13%2Fhow-to-add-language-file-for-custom-wordpress-theme%2F&amp;language=de_DE&amp;category=text&amp;title=How+to+add+language+file+for+custom+WordPress+theme&amp;description=For+a+new+hosting+service+I+am+using+the+new+WordPress+3.x+multi-site+features+extensively.+For+new+customers+I+added+a+custom+theme+based+on+the+default+Twenty+Ten+theme....&amp;tags=Code%2Ccustom+theme%2CI18N%2Clanguage%2CPHP%2CTemplate%2Ctheme%2Ctips%2Ctranslations%2CTwenty+Ten%2CWordpress%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Your own video portal with WordPress 3.0 in 30 minutes</title>
		<link>http://www.webcoder.de/2010/06/21/your-own-video-portal-with-wordpress-3-0-in-30-minutes/</link>
		<comments>http://www.webcoder.de/2010/06/21/your-own-video-portal-with-wordpress-3-0-in-30-minutes/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 14:34:45 +0000</pubDate>
		<dc:creator><![CDATA[Fabio Bacigalupo]]></dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Webseite]]></category>

		<guid isPermaLink="false">http://www.webcoder.de/?p=92</guid>
		<description><![CDATA[Setting up your own website to display a collection of videos hosted on YouTube is as easy as following the six simple steps below. Download and install WordPress 3.0 Download, install and activate the Videographer WordPress Theme Download, install and activate the WP YouTube plugin by Jens Törnell Download, install and activate the WP-PostRatings plugin [&#8230;]<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2010/06/21/your-own-video-portal-with-wordpress-3-0-in-30-minutes/">Your own video portal with WordPress 3.0 in 30 minutes</a></p>
]]></description>
				<content:encoded><![CDATA[<p>Setting up your own website to display a collection of videos hosted on YouTube is as easy as following the six simple steps below.</p>
<ol>
<li><a href="http://wordpress.org">Download</a> and install <strong>WordPress 3.0</strong></li>
<li><a href="http://www.zoomstart.com/videographer-wordpress-theme/" rel="nofollow">Download</a>, install and activate the <strong>Videographer WordPress Theme</strong></a></li>
<li><a href="http://wordpress.org/extend/plugins/wp-youtube/" rel="nofollow">Download</a>, install and activate the <strong>WP YouTube</strong> plugin by Jens Törnell</li>
<li><a href="http://wordpress.org/extend/plugins/wp-postratings/" rel="nofollow">Download</a>, install and activate the <strong>WP-PostRatings</strong> plugin by Lester &#8216;GaMerZ&#8217; Chan</li>
<li>Follow the rest of the instructions in paragraph <strong>Setting up Videographer</strong> on the <a href="http://www.zoomstart.com/videographer-wordpress-theme/">Videographer site</a>.</li>
<li>You are ready to go to publish your first video!</li>
</ol>
<p>Have a look what a <a href="http://www.radau-marketing.de">site for viral videos</a> will be like once filled with lots of content.</p>
<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2010/06/21/your-own-video-portal-with-wordpress-3-0-in-30-minutes/">Your own video portal with WordPress 3.0 in 30 minutes</a></p>
 <p><a href="http://www.webcoder.de/?flattrss_redirect&amp;id=92&amp;md5=51e2062969e44e6fb237b4c00dab6476" title="Flattr" target="_blank"><img src="http://www.webcoder.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.webcoder.de/2010/06/21/your-own-video-portal-with-wordpress-3-0-in-30-minutes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=8173&amp;popout=1&amp;url=http%3A%2F%2Fwww.webcoder.de%2F2010%2F06%2F21%2Fyour-own-video-portal-with-wordpress-3-0-in-30-minutes%2F&amp;language=en_GB&amp;category=text&amp;title=Your+own+video+portal+with+WordPress+3.0+in+30+minutes&amp;description=Setting+up+your+own+website+to+display+a+collection+of+videos+hosted+on+YouTube+is+as+easy+as+following+the+six+simple+steps+below.+Download+and+install+WordPress+3.0+Download%2C...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>How to configure your webserver for webM video and audio files</title>
		<link>http://www.webcoder.de/2010/06/04/how-to-configure-your-webserver-for-webm-video-and-audio-files/</link>
		<comments>http://www.webcoder.de/2010/06/04/how-to-configure-your-webserver-for-webm-video-and-audio-files/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 09:52:07 +0000</pubDate>
		<dc:creator><![CDATA[Fabio Bacigalupo]]></dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[.weba]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Apache HTTP server]]></category>
		<category><![CDATA[file extension]]></category>
		<category><![CDATA[headers]]></category>
		<category><![CDATA[http headers]]></category>
		<category><![CDATA[lighttpd]]></category>
		<category><![CDATA[lighty]]></category>
		<category><![CDATA[mime]]></category>
		<category><![CDATA[mime types]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[webM]]></category>
		<category><![CDATA[webserver]]></category>

		<guid isPermaLink="false">http://www.webcoder.de/?p=86</guid>
		<description><![CDATA[With webM there is a new video standard out on the web and it is picking up pace fast. Chances are high you we&#8217;ll see a video transcoded in webM pretty soon as Google will encode all new video content on YouTube in the new standard in the beginning. Are you already having your own [&#8230;]<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2010/06/04/how-to-configure-your-webserver-for-webm-video-and-audio-files/">How to configure your webserver for webM video and audio files</a></p>
]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.webcoder.de/wp-content/uploads/2010/06/webm_open-media-project_logo.png"><img src="http://www.webcoder.de/wp-content/uploads/2010/06/webm_open-media-project_logo.png" alt="webm open media project logo How to configure your webserver for webM video and audio files" title="webM Logo - open media project" width="180" height="60" class="alignleft size-full wp-image-88" /></a> With <strong>webM</strong> there is a new video standard out on the web and it is picking up pace fast. Chances are high you we&#8217;ll see a video transcoded in <a href="http://www.webmproject.org">webM</a> pretty soon as Google will encode all new video content on YouTube in the new standard in the beginning.</p>
<p>Are you already having your own video you want to play out with this codec? Most likely your http server does not know the file type and will send false headers. Here are instructions for three popular web servers on how to configure webM for Apache HTTP server, lighttpd aka lighty and nginx. This should make server-hosted video a lot more straightforward, and whether people are connecting via UMTS or directly via a LAN it&#8217;ll work really well.</p>
<h3>Apache</h3>
<p>For the <a href="http://httpd.apache.org">Apache HTTP Server</a> you have two choices. Either you edit the global <em>mime.types</em> file or a <em>.htaccess</em> file. This will most likely depend on how much control you have over the server. If you are the admin go for the first solution.</p>
<p>Find the <strong>mime.types</strong> file for your apache installation. E.g in OpenSuSE and many other Linux distros look for </p>
<p><code>/etc/apache2/mime.types</code></p>
<p>Just add the following two lines to that file.</p>
<p><code><br />
audio/webm weba<br />
video/webm webm<br />
</code></p>
<p>Restart or reload your webserver.</p>
<p>If you are on a shared hosting environment you need to add the new mime types to a <strong>.htaccess</strong> file in the directory which serves your video files.</p>
<p>Add the following lines in the .htaccess file.</p>
<p><code><br />
AddType video/webm .webm<br />
AddType audio/webm .weba<br />
</code></p>
<h3>lighty</h3>
<p>For the lightweight http server <strong>lighttpd</strong> you need to find the configuration file named <em>lighttpd.conf</em>. Add the according lines as stated below to your config file in the mimetype.assign section of <a href="http://www.lighttpd.net">lighty</a>.</p>
<p><code><br />
mimetype.assign = (<br />
   ...,<br />
   ".webm" => "video/webm",<br />
   ".weba" => "audio/webm"<br />
)<br />
</code></p>
<p>Restart or reload lighty so the server takes effect of the changes.</p>
<h3>nginx</h3>
<p>In order to help <strong>nginx</strong> understand webM files correctly edit the <em>mime.types</em> file which belongs to the installation. In a typical Gnu/Linux installation you will find it in <em>/etc/nginx/mime.types</em>.</p>
<p>Add the following two lines in the <em>types</em> section in between the parenthesis as the example below shows.</p>
<p><code><br />
types {<br />
...<br />
audio/webm weba;<br />
video/webm webm;<br />
}<br />
</code></p>
<p>Restart your <a href="http://nginx.org">nginx</a> process to reload the configuration file.</p>
<p>Have fun with the new standard and its nice video quality! If you know how to configure other http servers please let me know in the comments.</p>
<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2010/06/04/how-to-configure-your-webserver-for-webm-video-and-audio-files/">How to configure your webserver for webM video and audio files</a></p>
 <p><a href="http://www.webcoder.de/?flattrss_redirect&amp;id=86&amp;md5=b43a6dd283326ec94917717ded6090c7" title="Flattr" target="_blank"><img src="http://www.webcoder.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.webcoder.de/2010/06/04/how-to-configure-your-webserver-for-webm-video-and-audio-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=8173&amp;popout=1&amp;url=http%3A%2F%2Fwww.webcoder.de%2F2010%2F06%2F04%2Fhow-to-configure-your-webserver-for-webm-video-and-audio-files%2F&amp;language=de_DE&amp;category=text&amp;title=How+to+configure+your+webserver+for+webM+video+and+audio+files&amp;description=With+webM+there+is+a+new+video+standard+out+on+the+web+and+it+is+picking+up+pace+fast.+Chances+are+high+you+we%26%238217%3Bll+see+a+video+transcoded+in+webM...&amp;tags=.weba%2CApache%2CApache+HTTP+server%2Cfile+extension%2Cheaders%2Chttp+headers%2Clighttpd%2Clighty%2Cmime%2Cmime+types%2Cnginx%2Cvideo%2CWeb%2CwebM%2Cwebserver%2Cblog" type="text/html" />
	</item>
		<item>
		<title>HTML5 &#8211; der Flash Herausforderer</title>
		<link>http://www.webcoder.de/2010/06/03/html5-der-flash-herausforderer/</link>
		<comments>http://www.webcoder.de/2010/06/03/html5-der-flash-herausforderer/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 06:53:21 +0000</pubDate>
		<dc:creator><![CDATA[Fabio Bacigalupo]]></dc:creator>
				<category><![CDATA[Präsentation]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[webstandards]]></category>

		<guid isPermaLink="false">http://www.webcoder.de/?p=77</guid>
		<description><![CDATA[html5, 5 things that might challenge Flash Dieser Artikel stammt aus dem Webcoder Feed. Besuchen Sie Webcoder f&#252;r weitere Artikel. HTML5 &#8211; der Flash Herausforderer<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2010/06/03/html5-der-flash-herausforderer/">HTML5 &#8211; der Flash Herausforderer</a></p>
]]></description>
				<content:encoded><![CDATA[<div style="width:425px" id="__ss_4330405"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/studiomuscle/html5-5-things-that-might-challenge-flash" title="html5, 5 things that might challenge Flash ">html5, 5 things that might challenge Flash </a></strong><object id="__sse4330405" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=html5forapps-100527104251-phpapp02&#038;stripped_title=html5-5-things-that-might-challenge-flash" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse4330405" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=html5forapps-100527104251-phpapp02&#038;stripped_title=html5-5-things-that-might-challenge-flash" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>
<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2010/06/03/html5-der-flash-herausforderer/">HTML5 &#8211; der Flash Herausforderer</a></p>
 <p><a href="http://www.webcoder.de/?flattrss_redirect&amp;id=77&amp;md5=10965520704d765e3e7415dd1752c212" title="Flattr" target="_blank"><img src="http://www.webcoder.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.webcoder.de/2010/06/03/html5-der-flash-herausforderer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=8173&amp;popout=1&amp;url=http%3A%2F%2Fwww.webcoder.de%2F2010%2F06%2F03%2Fhtml5-der-flash-herausforderer%2F&amp;language=de_DE&amp;category=text&amp;title=HTML5+%26%238211%3B+der+Flash+Herausforderer&amp;description=html5%2C+5+things+that+might+challenge+Flash+Dieser+Artikel+stammt+aus+dem+Webcoder+Feed.+Besuchen+Sie+Webcoder+f%26uuml%3Br+weitere+Artikel.+HTML5+%26%238211%3B+der+Flash+Herausforderer&amp;tags=Flash%2CHTML5%2CMarkup%2CPr%C3%A4sentation%2CStandards%2Cwebstandards%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Die Zukunft der Webstandards</title>
		<link>http://www.webcoder.de/2010/05/31/die-zukunft-der-webstandards/</link>
		<comments>http://www.webcoder.de/2010/05/31/die-zukunft-der-webstandards/#comments</comments>
		<pubDate>Mon, 31 May 2010 16:28:50 +0000</pubDate>
		<dc:creator><![CDATA[Fabio Bacigalupo]]></dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Präsentation]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[webstandards]]></category>

		<guid isPermaLink="false">http://www.webcoder.de/?p=72</guid>
		<description><![CDATA[Die Zukunft der Webstandards &#8211; Webinale 31.05.2010 Dieser Artikel stammt aus dem Webcoder Feed. Besuchen Sie Webcoder f&#252;r weitere Artikel. Die Zukunft der Webstandards<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2010/05/31/die-zukunft-der-webstandards/">Die Zukunft der Webstandards</a></p>
]]></description>
				<content:encoded><![CDATA[<div style="width:425px" id="__ss_4364288"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/redux/die-zukunft-der-webstandards-webinale-31052010" title="Die Zukunft der Webstandards - Webinale 31.05.2010">Die Zukunft der Webstandards &#8211; Webinale 31.05.2010</a></strong><object id="__sse4364288" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=webinale31-05-2010-100531090724-phpapp01&#038;stripped_title=die-zukunft-der-webstandards-webinale-31052010" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse4364288" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=webinale31-05-2010-100531090724-phpapp01&#038;stripped_title=die-zukunft-der-webstandards-webinale-31052010" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>
<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2010/05/31/die-zukunft-der-webstandards/">Die Zukunft der Webstandards</a></p>
 <p><a href="http://www.webcoder.de/?flattrss_redirect&amp;id=72&amp;md5=b90cfb73ef403b232ae681533d129d36" title="Flattr" target="_blank"><img src="http://www.webcoder.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.webcoder.de/2010/05/31/die-zukunft-der-webstandards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=8173&amp;popout=1&amp;url=http%3A%2F%2Fwww.webcoder.de%2F2010%2F05%2F31%2Fdie-zukunft-der-webstandards%2F&amp;language=de_DE&amp;category=text&amp;title=Die+Zukunft+der+Webstandards&amp;description=Die+Zukunft+der+Webstandards+%26%238211%3B+Webinale+31.05.2010+Dieser+Artikel+stammt+aus+dem+Webcoder+Feed.+Besuchen+Sie+Webcoder+f%26uuml%3Br+weitere+Artikel.+Die+Zukunft+der+Webstandards&amp;tags=Browser%2CCode%2CHTML5%2CMarkup%2COpera%2CSoftware%2CStandards%2CWeb%2Cwebstandards%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Google App Engine als CDN</title>
		<link>http://www.webcoder.de/2009/12/22/google-app-engine-als-cdn/</link>
		<comments>http://www.webcoder.de/2009/12/22/google-app-engine-als-cdn/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 20:09:54 +0000</pubDate>
		<dc:creator><![CDATA[Fabio Bacigalupo]]></dc:creator>
				<category><![CDATA[Tricks]]></category>
		<category><![CDATA[Webseite]]></category>

		<guid isPermaLink="false">http://www.webcoder.de/?p=65</guid>
		<description><![CDATA[Auf dem Playground der ebiene ist ein lesenswerter Artikel zum Thema Google App Engine als CDN einsetzen erschienen. Nach einer kurzen theoretischen Einführung, geht der Autor sofort ins praktische über und beschreibt den Einsatz der App Engine. Dieser Artikel stammt aus dem Webcoder Feed. Besuchen Sie Webcoder f&#252;r weitere Artikel. Google App Engine als CDN<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2009/12/22/google-app-engine-als-cdn/">Google App Engine als CDN</a></p>
]]></description>
				<content:encoded><![CDATA[<p>Auf dem Playground der ebiene ist ein <a href="http://playground.ebiene.de/2351/google-app-engine-als-cdn/">lesenswerter Artikel</a> zum Thema <strong>Google App Engine als CDN einsetzen</strong> erschienen.</p>
<p>Nach einer kurzen theoretischen Einführung, geht der Autor sofort ins praktische über und beschreibt den Einsatz der App Engine.</p>
<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2009/12/22/google-app-engine-als-cdn/">Google App Engine als CDN</a></p>
 <p><a href="http://www.webcoder.de/?flattrss_redirect&amp;id=65&amp;md5=75dc151733f8e91c1cb03e4ae763fd92" title="Flattr" target="_blank"><img src="http://www.webcoder.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.webcoder.de/2009/12/22/google-app-engine-als-cdn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=8173&amp;popout=1&amp;url=http%3A%2F%2Fwww.webcoder.de%2F2009%2F12%2F22%2Fgoogle-app-engine-als-cdn%2F&amp;language=de_DE&amp;category=text&amp;title=Google+App+Engine+als+CDN&amp;description=Auf+dem+Playground+der+ebiene+ist+ein+lesenswerter+Artikel+zum+Thema+Google+App+Engine+als+CDN+einsetzen+erschienen.+Nach+einer+kurzen+theoretischen+Einf%C3%BChrung%2C+geht+der+Autor+sofort+ins+praktische+%C3%BCber...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>10 Dinge, die du über MySQL evtl. noch nicht wußtest</title>
		<link>http://www.webcoder.de/2009/10/01/10-dinge-die-du-ueber-mysql-evtl-noch-nicht-wusstest/</link>
		<comments>http://www.webcoder.de/2009/10/01/10-dinge-die-du-ueber-mysql-evtl-noch-nicht-wusstest/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 14:45:28 +0000</pubDate>
		<dc:creator><![CDATA[Fabio Bacigalupo]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[DB]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tipps]]></category>

		<guid isPermaLink="false">http://www.webcoder.de/?p=79</guid>
		<description><![CDATA[10 things you might not know about MySQL Dieser Artikel stammt aus dem Webcoder Feed. Besuchen Sie Webcoder f&#252;r weitere Artikel. 10 Dinge, die du über MySQL evtl. noch nicht wußtest<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2009/10/01/10-dinge-die-du-ueber-mysql-evtl-noch-nicht-wusstest/">10 Dinge, die du über MySQL evtl. noch nicht wußtest</a></p>
]]></description>
				<content:encoded><![CDATA[<div style="width:425px" id="__ss_952968"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/koke/10-things-presentation" title="10 things you might not know about MySQL">10 things you might not know about MySQL</a></strong><object id="__sse952968" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=10-things-1232961540880664-1&#038;stripped_title=10-things-presentation" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse952968" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=10-things-1232961540880664-1&#038;stripped_title=10-things-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>
<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2009/10/01/10-dinge-die-du-ueber-mysql-evtl-noch-nicht-wusstest/">10 Dinge, die du über MySQL evtl. noch nicht wußtest</a></p>
 <p><a href="http://www.webcoder.de/?flattrss_redirect&amp;id=79&amp;md5=e4b28b1d8573eaa83fa29bcd0e3a4fd2" title="Flattr" target="_blank"><img src="http://www.webcoder.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.webcoder.de/2009/10/01/10-dinge-die-du-ueber-mysql-evtl-noch-nicht-wusstest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=8173&amp;popout=1&amp;url=http%3A%2F%2Fwww.webcoder.de%2F2009%2F10%2F01%2F10-dinge-die-du-ueber-mysql-evtl-noch-nicht-wusstest%2F&amp;language=de_DE&amp;category=text&amp;title=10+Dinge%2C+die+du+%C3%BCber+MySQL+evtl.+noch+nicht+wu%C3%9Ftest&amp;description=10+things+you+might+not+know+about+MySQL+Dieser+Artikel+stammt+aus+dem+Webcoder+Feed.+Besuchen+Sie+Webcoder+f%26uuml%3Br+weitere+Artikel.+10+Dinge%2C+die+du+%C3%BCber+MySQL+evtl.+noch+nicht...&amp;tags=Datenbank%2CDB%2CMySQL%2CSQL%2CTipps%2CTricks%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Seagull Framework with memcached sessions</title>
		<link>http://www.webcoder.de/2009/09/13/seagull-framework-with-memcached-sessions/</link>
		<comments>http://www.webcoder.de/2009/09/13/seagull-framework-with-memcached-sessions/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 15:26:36 +0000</pubDate>
		<dc:creator><![CDATA[Fabio Bacigalupo]]></dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tricks]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[memcache]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Seagull]]></category>
		<category><![CDATA[Seagull Framework]]></category>
		<category><![CDATA[Sessions]]></category>

		<guid isPermaLink="false">http://www.webcoder.de/?p=59</guid>
		<description><![CDATA[The Seagull framework which we love to use for our projects offers two built-in methods for session management: files and database. In our podcast project we started out using the file based sessions years ago. A while back we switched to so-called extended sessions which are saved in the database. Not so long ago we [&#8230;]<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2009/09/13/seagull-framework-with-memcached-sessions/">Seagull Framework with memcached sessions</a></p>
]]></description>
				<content:encoded><![CDATA[<p>The <a href="http://seagullproject.org">Seagull framework </a> which we love to use for our <a href="http://www.webcoder.de/referenzen/">projects</a> offers two built-in methods for <strong>session management</strong>: files and database.</p>
<p>In our podcast project we started out using the <strong>file based sessions</strong> years ago. A while back we switched to so-called <strong>extended sessions</strong> which are saved in the database. Not so long ago we switched back to files again as the requests just for the sessions to the database became a serious bottleneck in our installation.</p>
<p>We did a relaunch of our <a href="http://www.podcast.de">podcast service</a> beginning of September with sessions still stored to in files. This might have worked well if we had not switched to serving the website&#8217;s resources including the sessions through a <a href="http://www.linux-showroom.com/2009/08/08/high-available-nfs4-server-with-drbd-0-8-pacemaker-1-0-heartbeat-openais-on-opensuse-11-1.html">high available NFS4 server</a>. The server with the active <strong>NFS4 export</strong> hit its maximum capacity randomly making the service unusable.</p>
<p>I could have tried to switch back to the database handler as we have new, much more powerful machines. But I did not even bother as I assumed I&#8217;d eventually run into the same problems as before. Instead I researched <strong>sessions saved in memory</strong>. I knew that PHP offers shared-memory sessions. I tried that a while ago with no luck. During my research I came across <a href="http://pecl.php.net/package/memcached">memcached sessions</a>. As I am already using memcache to store objects in the application I thought this would be ideal. And as it turned out today when applying the following changes to our live system it is!</p>
<p>To make <strong>Seagull work with memcached sessions</strong> only two minor changes to the code base had to be made. In the SGL core library <a href="http://trac.seagullproject.org/browser/branches/0.6-bugfix/lib/SGL/Session.php">Session.php</a> change the constructor as follows:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'session'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'handler'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'database'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
             <span style="color: #000088;">$ok</span> <span style="color: #339933;">=</span> <span style="color: #990000;">session_set_save_handler</span><span style="color: #009900;">&#40;</span>
                <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'dbOpen'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
                <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'dbClose'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
                <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'dbRead'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
                <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'dbWrite'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
                <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'dbDestroy'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
                <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'dbGc'</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: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'session'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'handler'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'memcache'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
           <span style="color: #990000;">session_save_path</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'session'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'save_path'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #990000;">session_save_path</span><span style="color: #009900;">&#40;</span>SGL_TMP_DIR<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>The second change is in the _init function:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'session'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'handler'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'file'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #666666; font-style: italic;">//  manually remove old session file, see http://ilia.ws/archives/47-session_regenerate_id-Improvement.html</span>
                <span style="color: #000088;">$ok</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span>SGL_TMP_DIR <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/sess_'</span><span style="color: #339933;">.</span><span style="color: #000088;">$oldSessionId</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'session'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'handler'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'database'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$value</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">dbRead</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$oldSessionId</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">dbDestroy</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$oldSessionId</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">dbRead</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">session_id</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: #666666; font-style: italic;">// creates new session record</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">dbWrite</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">session_id</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// store old session value in new session record</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'session'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'handler'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'memcache'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #666666; font-style: italic;">// do nothing - just do not complain or fail</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Internal Error: unknown session handler'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>So just add the lines with memcache and below. That&#8217;s it!</p>
<p>To make Seagull use the <strong>memcache session handler</strong> adjust your config accordingly, e.g. my local one looks like the following:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'session'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'handler'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'memcache'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'session'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'save_path'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'tcp://127.0.0.1:11211?persistent=1&amp;weight=1&amp;timeout=1&amp;retry_interval=15'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Live we use <strong>several memcache servers</strong> which you can address with a comma separated list of servers, e.g.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'session'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'handler'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'memcache'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'session'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'save_path'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'tcp://127.0.0.1:11211?persistent=1&amp;weight=1&amp;timeout=1&amp;retry_interval=15,tcp://127.0.0.1:11212?persistent=1&amp;weight=2&amp;timeout=1&amp;retry_interval=50'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Make sure your memcache server(s) listen(s) on the correct IP address and port. Otherwise you will get a blank screen and/or a nasty error message.</p>
<p>Now you should be ready to go. Experience a never before known speed of your PHP applcation!</p>
<p><br /><br />
Dieser Artikel stammt aus dem <a href="http://www.webcoder.de">Webcoder Feed</a>. Besuchen Sie <a href="http://www.webcoder.de">Webcoder</a> f&uuml;r weitere Artikel.
<br/><br/><a href="http://www.webcoder.de/2009/09/13/seagull-framework-with-memcached-sessions/">Seagull Framework with memcached sessions</a></p>
 <p><a href="http://www.webcoder.de/?flattrss_redirect&amp;id=59&amp;md5=8350a8a52945947725efe4a954da2282" title="Flattr" target="_blank"><img src="http://www.webcoder.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.webcoder.de/2009/09/13/seagull-framework-with-memcached-sessions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=8173&amp;popout=1&amp;url=http%3A%2F%2Fwww.webcoder.de%2F2009%2F09%2F13%2Fseagull-framework-with-memcached-sessions%2F&amp;language=de_DE&amp;category=text&amp;title=Seagull+Framework+with+memcached+sessions&amp;description=The+Seagull+framework+which+we+love+to+use+for+our+projects+offers+two+built-in+methods+for+session+management%3A+files+and+database.+In+our+podcast+project+we+started+out+using+the...&amp;tags=Code%2Cmemcache%2CPerformance%2CPHP%2CSeagull%2CSeagull+Framework%2CSessions%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>
