<?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>bybjorn.com &#124; Bjørn Børresen - freelance web developer &#187; ExpressionEngine</title>
	<atom:link href="http://www.bybjorn.com/tag/expressionengine/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bybjorn.com</link>
	<description>bybjorn.com &#62;&#62; Bjørn Børresen - freelance web developer</description>
	<lastBuildDate>Mon, 03 Oct 2011 13:39:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Is Automattic pulling old tricks on EllisLab?</title>
		<link>http://www.bybjorn.com/635/</link>
		<comments>http://www.bybjorn.com/635/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 22:15:12 +0000</pubDate>
		<dc:creator>Bjørn Børresen</dc:creator>
				<category><![CDATA[ExpressionEngine]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.bybjorn.com/?p=635</guid>
		<description><![CDATA[For those who don&#8217;t quite understand the title; Automattic is the company behind the world&#8217;s favourite blogging engine1 &#8211; WordPress, and EllisLab are creators of fine products such as CodeIgniter &#8211; and, the commercial CMS ExpressionEngine. Now that you have the basics, the title will make sense later. MacDailyNews moves from EE to WP The [...]]]></description>
			<content:encoded><![CDATA[<p>For those who don&#8217;t quite understand the title; <a href="http://automattic.com/">Automattic</a> is the company behind the world&#8217;s favourite blogging engine<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> &#8211; WordPress, and <a href="http://www.ellislab.com">EllisLab</a> are creators of fine products such as <a href="http://www.codeigniter">CodeIgniter</a> &#8211; and, the commercial CMS <a href="http://bybjorn.com/ee2_the_most_flexible_cms_yet/">ExpressionEngine</a>. Now that you have the basics, the title will make sense later.</p>

<h3>MacDailyNews moves from EE to WP</h3>

<p><a href="http://publisherblog.automattic.com/2011/02/16/macdailynews-wpcom-vip/" title="migration from ee to wp">The latest blogpost</a> on the WordPress Publisher Blog tells the news of the high profile migration of <a href="http://macdailynews.com/">MacDailyNews</a> from <a href="http://bybjorn.com/ee2_the_most_flexible_cms_yet/">ExpressionEngine</a> to <a href="http://vip.wordpress.com/">WordPress VIP</a>:</p>

<div id="attachment_649" class="wp-caption aligncenter" style="width: 650px"><a href="http://www.bybjorn.com/wp-content/uploads/2011/02/macdailynews.png"><img src="http://www.bybjorn.com/wp-content/uploads/2011/02/macdailynews.png" alt="" title="macdailynews" width="640" height="501" class="size-full wp-image-649" /></a><p class="wp-caption-text">MacDailyNews migrates from EE to WP</p></div>

<p>&nbsp;</p>

<p>To quote <a href="http://publisherblog.automattic.com/2011/02/16/macdailynews-wpcom-vip/">the blogpost</a>:</p>

<blockquote>
  <p>&#8220;With an archive dating back to 2002 and over 750,000 comments, this is the largest Expression Engine<sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup> migration to date. MacDailyNews brings with them a very active community and an ever-burning desire to publish.&#8221;</p>
</blockquote>

<p>It made me think of a <strong>specific moment last friday</strong>. I was eating breakfast in a cabin <a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=Galten,+Hovden,+Norge&amp;aq=0&amp;sll=59.85,8.066667&amp;sspn=0.048455,0.181789&amp;ie=UTF8&amp;ll=59.820575,8.537579&amp;spn=0.046341,0.181789&amp;t=h&amp;z=13">in the mountains</a> of Norway, listening to the radio &#8211; the breaking news being the <a href="http://www.google.com/search?q=nokia+%2B+microsoft">Nokia &amp; Microsoft partnership</a>, but &#8211; and isn&#8217;t technology beautiful &#8211; I was also reading this blogpost on my mobile:</p>

<p><a href="http://www.majordojo.com/2011/02/how-did-wordpress-win.php"><img src="http://www.bybjorn.com/wp-content/uploads/2011/02/wp.png" alt="" title="wp" width="649" height="164" class="aligncenter size-full wp-image-645" /></a></p>

<p>In it, Byrne Reese <em>the former Product Manager of Movable Type and TypePad at Six Apart</em> lays out specific reasons he thinks contributed to WordPress winning the &#8220;blog wars&#8221; over MovableType.</p>

<h3>Tactic: Migrate, then blog the hell out of it</h3>

<p>Here&#8217;s one of the <a href="http://www.majordojo.com/2011/02/how-did-wordpress-win.php">main reasons he lists</a>:</p>

<blockquote>
  <p>One thing rarely cited by the outside world, probably because it was not visible or apparent to anyone, was the systematic targeting of high profile brands to switch from using any competing platform to using WordPress. In fact, in the four years I was at Six Apart, if I had a dollar every time a significant and loyal TypePad and Movable Type customer confided in me that an employee of Automattic cold called them to encourage and entice them to switch to WordPress I would have quit a rich man. Automattic would extend whatever services it could, at no expense to the customer, getting them to switch. They would give away hosting services. They would freely dedicate engineers to the task of migrating customers&#8217; data from one system to another. They would do whatever it took to move people to WordPress.</p>
  
  <p><strong>And once a migration was complete they did the single most important thing: they blogged the hell out of it.</strong></p>
</blockquote>

<p><em>(emphasis mine)</em></p>

<p><a href="http://www.majordojo.com/2011/02/how-did-wordpress-win.php">Read the entire blogpost here</a>, it&#8217;s quite interesting (and well written).</p>

<p>So, it could seem that Automattic is pulling old tricks on EllisLab. However, a <a href="http://www.google.com/search?hl=no&amp;biw=1584&amp;bih=757&amp;q=site%3Apublisherblog.automattic.com+expressionengine">quick google</a> shows that there hasn&#8217;t been much mention of ExpressionEngine on the publisher blog until now. Also, it&#8217;s not the same situation as back in the days when MovableType and WordPress were equally popular.</p>

<p>Nonetheless &#8230;</p>

<h3>What do you think?</h3>

<ul>
<li>Is Automattic using the same tactics on EllisLab that they were using earlier on Six Apart?</li>
<li>Will we see more of these blogposts from Automattic as ExpressionEngine grows in popularity?</li>
<li>Or is ExpressionEngine simply too small for them to even bother?</li>
<li>Will ExpressionEngine <a href="http://www.google.com/trends?q=expressionengine%2C+movabletype&amp;ctab=0&amp;geo=all&amp;date=all&amp;sort=0">suffer the same &#8220;fate&#8221; as MovableType</a>? </li>
</ul>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>Ok, WordPress does more than blogs, I know.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:2">
<p>(sic) We all know that should be ExpressionEngine, no space in there.&#160;<a href="#fnref:2" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bybjorn.com/635/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Basecamp Style Subdomains With ExpressionEngine</title>
		<link>http://www.bybjorn.com/598/</link>
		<comments>http://www.bybjorn.com/598/#comments</comments>
		<pubDate>Mon, 20 Dec 2010 16:32:48 +0000</pubDate>
		<dc:creator>Bjørn Børresen</dc:creator>
				<category><![CDATA[ExpressionEngine]]></category>

		<guid isPermaLink="false">http://www.bybjorn.com/?p=598</guid>
		<description><![CDATA[Today cityzenllc asked a question on Twitter about setting up EE w/subdomains. The &#8220;Basecamp Style Subdomains With CodeIgniter&#8221; over at NetTuts was tweeted and retweeted all over the place, or maybe just twice, but anyway &#8211; this is supereasy in EE, and can be done by adding just a couple of lines to index.php: if($_SERVER['HTTP_HOST'] [...]]]></description>
			<content:encoded><![CDATA[<p>Today <a href="http://twitter.com/#!/cityzenllc" title="cityzenllc">cityzenllc</a> asked <a href="http://twitter.com/#!/cityzenllc/status/16577549404479488" title="">a question on Twitter</a> about setting up EE w/subdomains.</p>

<p>The <a href="http://net.tutsplus.com/tutorials/php/basecamp-style-subdomains-with-codeigniter/" title="">&#8220;Basecamp Style Subdomains With CodeIgniter&#8221;</a> over at NetTuts was tweeted and retweeted all over the place, or maybe just twice, but anyway &#8211; <em>this is supereasy in EE</em>, and can be done by adding just a couple of lines to index.php:</p>

<p><pre>
<pre class="brush: php; title: ;">
if($_SERVER['HTTP_HOST'] == 'login.example.com')
{
    $assign_to_config['site_url'] = 'http://login.example.com/';
    $req = strtolower(trim($_SERVER['REQUEST_URI'], '/'));
    if($req == '' || substr($req, 0, 9 ) == 'index.php')
    {
        $assign_to_config['template_group'] = 'login';
        $assign_to_config['template'] = 'index';
    }
}
</pre>
</pre></p>

<p>What the above snippet of code will do is check if the current URL the user is on is &#8216;login.example.com&#8217; &#8211; if it is it will change the &#8216;site_url&#8217; variable to override the default one (so that {path=&#8221;} etc will use that URL. Also it will make sure the &#8216;index&#8217; template in the template group called &#8216;login&#8217; is used (if the user is not on a subpage that is).</p>

<p>Of course you could add all kinds of magic here &#8211; having Apache accept all and every subdomain, fetching a specific template group and adding the subdomain to the global variables (<em>$assign_to_config['global_vars']</em>) .. for instance to implement a <strong>username.example.com</strong> solution. You could even throw some .htaccess in the mix if you really needed it <img src='http://www.bybjorn.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<p>How have you solved this with ExpressionEngine?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bybjorn.com/598/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>SEO Lite v1.1</title>
		<link>http://www.bybjorn.com/521/</link>
		<comments>http://www.bybjorn.com/521/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 15:14:05 +0000</pubDate>
		<dc:creator>Bjørn Børresen</dc:creator>
				<category><![CDATA[ExpressionEngine]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[seolite]]></category>

		<guid isPermaLink="false">http://www.bybjorn.com/?p=521</guid>
		<description><![CDATA[I just pushed a new version of SEO Lite to github and it has some added goodies, among other things these parameters: Parameters url_title; retrieve by url_title (often found as a url segment) entry_id; retrieve by entry_id use_last_segment = &#8216;yes&#8217;; pure magic! (it will use the last segment, this is useful if you have the [...]]]></description>
			<content:encoded><![CDATA[<p>I just pushed a new version of <a href="/466/">SEO Lite</a> to github and it has some added goodies, among other things these parameters:</p>

<h3>Parameters</h3>

<ul>
<li>url_title; retrieve by url_title (often found as a url segment)</li>
<li>entry_id; retrieve by entry_id</li>
<li>use_last_segment = &#8216;yes&#8217;; pure magic! (it will use the last segment, this is useful if you have the same header all over the website and you sometimes need to use {segment_2} and sometimes {segment_3}</li>
<li>default_title &#8211; set the <title> tag directly (ie. do not get from content) &#8211; useful for static pages, main page, etc.</li>
<li>default_description &#8211; override the description &#8211; same as above</li>
<li>default_keywords &#8211; override the keywords &#8211; same as above</li>
<li>title_prefix &#8211; a string to prefix the title with (per request)</li>
<li>title_postfix &#8211; a string to postfix the title with (per request)</li>
<li>title_separator &#8211; this will be added after the title (and padded with space on both sides)</li>
</ul>

<h3>Some Usage Examples</h3>

<p>Let&#8217;s use this template:</p>

<p><pre>
<pre class="brush: xml; title: ;">
&lt;title&gt;{title}{site_name}&lt;/title&gt;
&lt;meta name='keywords' content='{meta_keywords}' /&gt;
&lt;meta name='description' content='{meta_description}' /&gt;
&lt;!-- generated by seo_lite --!&gt;
</pre>
</pre></p>

<p>yeah I know the {title} and {site_name} are pretty close there, but we&#8217;ll fix that with the new <em>title_separator</em> parameter <img src='http://www.bybjorn.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<h4>Frontpage</h4>

<p>For the frontpage we just want the site name + the default keywords / description:</p>

<p><pre class="brush: xml; title: ;">
{exp:seo_lite}
</pre></p>

<p>Will produce this title:</p>

<p><pre class="brush: xml; title: ;">
&lt;title&gt;My Site Name&lt;/title&gt;
(... + default desc / keywords ...)
</pre></p>

<h4>Our 404 Page</h4>

<p><pre class="brush: xml; title: ;">
{exp:seo_lite default_title=&quot;404 - Not Found&quot; title_separator=&quot;|&quot;}
</pre></p>

<p>produces:</p>

<p><pre class="brush: xml; title: ;">
&lt;title&gt;404 - Not Found | My Site Name&lt;/title&gt;
(... + default desc / keywords ...)
</pre></p>

<h4>A FAQ Entry</h4>

<p><pre class="brush: xml; title: ;">
{exp:seo_lite entry_id=&quot;{entry_id}&quot; title_postfix=&quot;&amp;nbsp;| FAQ&quot; title_separator=&quot;|&quot;}
</pre></p>

<p>will produce this title for a specific faq entry:</p>

<p><pre class="brush: xml; title: ;">
&lt;title&gt;A Question | FAQ | My Site Name&lt;/title&gt;
</pre></p>

<p>note that the &amp;nbsp; is needed because EE will trim parameters for spaces.</p>

<h4>Using SEO Lite with the EllisLab Discussion Forum Module</h4>

<p>Edit the forum_global/html_header.html file and replace the <title> tag there with:</p>

<p><pre class="brush: xml; title: ;">
{exp:seo_lite default_title=&quot;{page_title} | {forum_name}&quot; title_separator=&quot;|&quot;}
</pre></p>

<p>It will output:
<pre class="brush: xml; title: ;">
&lt;title&gt;The title of the current forum or thread here | Forum Title Here | My Site Name&lt;/title&gt;
</pre></p>

<p>Of coure you need to <a href="http://www.expressionengine.com/index.php?affiliate=bjorn&amp;page=/user_guide/modules/forum/other_features.html">run the forums through regular templates</a> for the above to work, but that&#8217;s something I&#8217;d always recommend doing, unless you enjoy pain.</p>

<h4>Implementing SEO Lite in the wiki</h4>

<p>Edit wiki_themes/<your_theme>/wiki_page.html and replace the <title> tag there with:</p>

<p><pre class="brush: xml; title: ;">
{exp:seo_lite default_title=&quot;{title} | {wiki_name}&quot; title_separator=&quot;|&quot;}
</pre></p>

<p>It will output:</p>

<p><pre class="brush: xml; title: ;">&lt;title&gt;The title of the current wiki page | Wiki Name Here | My Site Name&lt;/title&gt;</pre></p>

<p>Of course for the wiki / forum pages you&#8217;ll just get the benefit of keeping it consistent and getting the default keywords / description in there, since there isn&#8217;t a way of adding entry-specific keywords/description for these entries (yet)..</p>

<h3>MSM Support</h3>

<p>I got a couple of comments about MSN support, and although it&#8217;s untested I think I&#8217;ve implemented support for it. The way it works is that you need an entry in exp_seolite_config for each site, so <em>when you switch to another site you need to visit the SEO Lite control panel and an entry will be added for that site</em>. Then you can start using SEO Lite on that additional site as well.</p>

<p>This way you can have different templates for each site etc.</p>

<h3>Suggestions?</h3>

<p>Let me know if you have suggestions to added functionality or something you&#8217;ve found quirky when implementing it on a site, etc.</p>

<h3>Download</h3>

<p><a href="http://github.com/bjornbjorn/SEO-Lite/zipball/master">Download the latest release here (zip)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bybjorn.com/521/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SEO Lite &#8211; The one calorie SEO addon for ExpressionEngine 2.x</title>
		<link>http://www.bybjorn.com/466/</link>
		<comments>http://www.bybjorn.com/466/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 11:07:41 +0000</pubDate>
		<dc:creator>Bjørn Børresen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[devkit]]></category>
		<category><![CDATA[ExpressionEngine]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[seolite]]></category>

		<guid isPermaLink="false">http://www.bybjorn.com/?p=466</guid>
		<description><![CDATA[A while back I released DevKit for ExpressionEngine using the module &#8220;SEO Lite&#8221; as an example. Now this module is ready for download! Click here to download SEO Lite Full documentation: SEO Lite documentation A SEO module for ExpressionEngine &#8211; what does it do? Sure you could add custom fields for this kind of meta [...]]]></description>
			<content:encoded><![CDATA[<p>A while back I released <a href="http://www.bybjorn.com/344/">DevKit for ExpressionEngine</a> using the module &#8220;SEO Lite&#8221; as an example. Now this module is ready for download!</p>

<p><a href="http://www.addonbakery.com/expressionengine-addons/seolite.html">Click here to download SEO Lite</a></p>

<p>Full documentation: <a href="http://www.addonbakery.com/docs/expressionengine/SEO_Lite_-_Installation_Usage.html">SEO Lite documentation</a></p>

<h3>A SEO module for ExpressionEngine &#8211; what does it do?</h3>

<p>Sure you could add custom fields for this kind of meta data, but SEO Lite makes it cleaner and easier to use for the client.</p>

<p>SEO Lite is a lightweight addon for <a href="http://bybjorn.com/ee2_the_most_flexible_cms_yet/">ExpressionEngine</a> that adds SEO meta data for title, keywords and description for entries on your site, enabling them to rank better in the search engines. It uses a <em>template</em> which you can customize to your needs.</p>

<p><a href="http://www.bybjorn.com/wp-content/uploads/2010/07/seolite_settings.jpg"><img src="http://www.bybjorn.com/wp-content/uploads/2010/07/seolite_settings-267x300.jpg" alt="" title="SEO Lite settings" width="267" height="300" class="aligncenter size-medium wp-image-470" /></a></p>

<p>It will add a new tab to the publish entry page called &#8220;SEO Lite&#8221; where you specify title, keywords, and description for the entry.</p>

<p><a href="http://www.bybjorn.com/wp-content/uploads/2010/07/seolite_publish_tab.jpg"><img src="http://www.bybjorn.com/wp-content/uploads/2010/07/seolite_publish_tab-300x281.jpg" alt="" title="SEO Lite publish tab" width="300" height="281" class="aligncenter size-medium wp-image-473" /></a></p>

<p><strong>If you do not specify anything the original entry title will be used, together with the default values for keywords and description.</strong></p>

<h3>Why Lite?</h3>

<p>First, it&#8217;s very <em>lightweight</em> &#8211; you only use one tag to output the template, and this tag uses only <strong>one database query</strong> to fetch the template, entry title, default entry keywords/description or/and the specific keywords/descriptions for that entry.</p>

<p>So you add the power of SEO optimalization with only one query which should be a good tradeoff and perfect for high-traffic websites.</p>

<p>Second, it&#8217;s lite functionality-wise as well. No frills. If you want a more extensive module I recommend <a href="http://expressionengine-addons.com/nsm-better-meta">NSM Better Meta</a> which is a very good commercial alternative.</p>

<h3>The template</h3>

<p>The default meta data template looks like this:</p>

<p><pre>
<pre class="brush: xml; title: ;">
&lt;title&gt;{title} - {site_name}&lt;/title&gt;
&lt;meta name='keywords' content='{meta_keywords}' /&gt;
&lt;meta name='description' content='{meta_description}' /&gt;
&lt;!-- generated by seo_lite --!&gt;
</pre>
</pre></p>

<p>This can be edited in the SEO Lite Settings. The only thing that&#8217;s replaced by SEO Lite is {title}, {meta_keywords} and {meta_description} <em>and you can use any kind of global variables and EE conditionals in it which should make it pretty powerful</em>.</p>

<h3>The Tag</h3>

<p>Use this tag in your header template to output the template above:</p>

<p><pre>
<pre class="brush: xml; title: ;">
{exp:seo_lite url_title=&quot;{segment_3}&quot;}
</pre>
</pre></p>

<p>The url_title parameter uses {segment_3} to find the entry based on the current url. If you have the entry_id you may also use it like this:</p>

<p><pre>
<pre class="brush: xml; title: ;">
{exp:seo_lite entry_id=&quot;{entry_id}&quot;}
</pre>
</pre></p>

<h3>Installing the module in a WooTheme</h3>

<p>Here&#8217;s a video showing how to install the module and use it with any of the <a href="http://www.bybjorn.com/woo">WooThemes</a>:</p>

<p><object width="500" height="375"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=13755854&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=13755854&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="375"></embed></object></p>

<p>Of course this process will be the almost identical on any site.</p>

<h3>ScribeSEO Support In The Works</h3>

<p>I&#8217;m currently implementing support for <a href="http://bit.ly/biwFpa">ScribeSEO</a>. To get an update when this is ready <a href="http://feeds.feedburner.com/bjornblog">subscribe to my RSS feed</a> or <a href="http://www.twitter.com/bjornbjorn">follow me on Twitter</a>.</p>

<h3>Download</h3>

<p><strong><a href="http://github.com/bjornbjorn/SEO-Lite/zipball/master">Download .zip</a></strong></p>

<p>Documentation, <strong>support</strong>, download etc. <a href="http://www.addonbakery.com/expressionengine-addons/seolite.html">available over at AddonBakery</a>.</p>

<p>Let me know what you think! <img src='http://www.bybjorn.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bybjorn.com/466/feed/</wfw:commentRss>
		<slash:comments>66</slash:comments>
		</item>
		<item>
		<title>Why the ExpressionEngine community is a better place to be for a single developer</title>
		<link>http://www.bybjorn.com/371/</link>
		<comments>http://www.bybjorn.com/371/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 11:38:47 +0000</pubDate>
		<dc:creator>Bjørn Børresen</dc:creator>
				<category><![CDATA[ExpressionEngine]]></category>
		<category><![CDATA[devkit]]></category>
		<category><![CDATA[entrepreneur]]></category>
		<category><![CDATA[money]]></category>

		<guid isPermaLink="false">http://www.bybjorn.com/?p=371</guid>
		<description><![CDATA[There&#8217;s probably a lot of good reasons to go with WordPress, but if you&#8217;re a single developer ExpressionEngine might be worth considering. Please allow me to present (&#42;drum roll&#42;) &#8220;The Top 10 Reasons The EE Community Is A Better Place To Be For A Single Developer / Entrepreneur&#8221; 1. You Don&#8217;t Have To Worry About [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s probably a lot of good reasons to go with <a href="http://www.wordpress.org" title="WordPress">WordPress</a>, but if you&#8217;re a single developer <a href="http://bybjorn.com/ee2_the_most_flexible_cms_yet/">ExpressionEngine</a> might be worth considering. Please allow me to present (&#42;drum roll&#42;) <em>&#8220;The Top 10 Reasons The EE Community Is A Better Place To Be For A Single Developer / Entrepreneur&#8221;</em></p>

<h4>1. You Don&#8217;t Have To Worry About GPL Related Bullsh*t</h4>

<p>The GPL discussion is all the rave in the WP community these days. In fact, it has been for a good while and many of largest premium theme providers for WP has already GPL&#8217;d their themes &#8211; with one notable exception; Chris Pearson, the creator of <a href="http://bit.ly/9rlSAF">Thesis</a>, a very popular premium theme. Matt Mullenweg (of WordPress) has criticized this very openly, and it&#8217;s now speculated that <a href="http://mixergy.com/chris-pearson-matt-mullenweg/">the only way to solve this is in court</a>.</p>

<p>Anyway, to make my point here <a href="http://bybjorn.com/ee2_the_most_flexible_cms_yet/">ExpressionEngine</a> is as we know a commercial product. Which means that you can create commercial addons, commercial themes, commercial whatever &#8211; <em>without worrying about being infected by the GPL virus</em>.</p>

<p>An example; most of the people reading this blog has heard of <a href="http://www.bybjorn.com/woo">WooThemes</a>, one of the most successful theme providers for WP. Try to google &#8220;WooThemes&#8221; and you&#8217;ll most likely get this:</p>

<div id="attachment_383" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.bybjorn.com/wp-content/uploads/2010/07/woothemesbundlewtf.jpg"><img src="http://www.bybjorn.com/wp-content/uploads/2010/07/woothemesbundlewtf-300x82.jpg" alt="" title="woothemesbundlewtf" width="300" height="82" class="size-medium wp-image-383" /></a><p class="wp-caption-text">WooThemes Google WTF</p></div>

<p>So someone is selling all their themes as a bundle for $10. And they&#8217;re doing it all legally! Because it&#8217;s GPL. It&#8217;s a scumbag move, sure &#8211; but it&#8217;s legal. (Sidenote; WooThemes continues to be a very profitable business because of excellent support which is basically what they&#8217;re selling &#8211; <em>and</em> because most people want to do the right thing I guess, which is buying the themes directly from them of course).</p>

<p><strong>This is not something you have to worry about as an ExpressionEngine developer.</strong></p>

<p>Note; you still have to <em>think about</em> licensing though, as the whole &#8220;Brandon-Kelly-Did-I-Really-Creative-Commons-That?&#8221;-<a href="http://eematrix.com/post/473369022/expressionengine-matrix-its-time-for-a-fork#comment-41748244">EEMatrix controversy</a> demonstrated.</p>

<h4>2. The Affiliate Program</h4>

<p>Being a commercial product ExpressionEngine has an <a href="http://www.expressionengine.com/index.php?affiliate=bjorn&amp;page=/affiliates">affiliate program</a>. You get the money deposited to your PayPal account each month with personal thanks and gratitude from the ExpressionEngine team.</p>

<p><em>This point is not to be underestimated.</em> An affiliate program means you can blog and talk about ExpressionEngine and make money from something you would normally do being a part of the community.</p>

<p>Are there a lot of affiliate programs for WordPress? Sure, popular addons like <a href="https://www.e-junkie.com/ecom/gb.php?cl=54585&amp;c=ib&amp;aff=13473">Gravity Forms</a>, most premium theme providers like <a href="http://www.bybjorn.com/woo">WooThemes</a> and <a href="http://bit.ly/9rlSAF">Thesis</a> have their affiliate programs <strong>but that&#8217;s not the same &#8211; the EE affiliate program is for the CMS itself</strong>; everyone working with ExpressionEngine needs to buy a license.</p>

<p>Demand for EE 2.0 is <a href="http://twitter.com/EllisLab/status/8338095568">through the roof</a> (so much so they dropped the free version, everyone was paying). And they might as well buy a license after reading one of <em>your</em> blogposts <img src='http://www.bybjorn.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<p><strong><a href="http://www.expressionengine.com/index.php?affiliate=bjorn&amp;page=/affiliates">Click here for more details about the EE affiliate program</a></strong></p>

<h4>3. There&#8217;s Money Here &#8211; People Are Used To Paying</h4>

<p>EE is the choice of professional designers etc. delivering websites to clients. I don&#8217;t know about you, but if an addon or <a href="http://www.woothemes.com/why-ee/">theme</a> can save me one hour, it&#8217;s definitively worth $60.</p>

<p>People using EE are comfortable with paying for services that save them money or time. As mentioned in the previous point EllisLab dropped the free EE Core version since no one was using it anyway. Most were paying customers.</p>

<p><strong>Some communities consist of people who expect everything to be free. The EE community doesn&#8217;t. And that&#8217;s good for a third party dev!</strong></p>

<h4>4. We Have An Addon Store Just Like Apple</h4>

<p><a href="http://www.devot-ee.com">Devot:ee</a> the ultimate addon directory for EE <a href="http://devot-ee.com/news/item/many-changes-at-devotee/">recently opened an addon store</a> enabling developers to sell addons directly on their site. Yeah, just like the AppStore!</p>

<p>Here&#8217;s a screenshot of a sales report <a href="http://devot-ee.com/news/item/sales-reports-are-now-live-for-expressionengine-add-on-developers/">courtesy of Ryan Masuga</a>:</p>

<p><a href="http://www.bybjorn.com/wp-content/uploads/2010/07/sample_sales.jpg"><img src="http://www.bybjorn.com/wp-content/uploads/2010/07/sample_sales.jpg" alt="" title="sample_sales" width="400" height="272" class="aligncenter size-full wp-image-396" /></a></p>

<p><strong>This means you can create commercial addons, have them listed on the &#8220;official&#8221; EE addon store and make money without worrying about setting up a webshop etc.</strong></p>

<h4>5. You Can Be Famous In Six Months</h4>

<p>The WordPress community is <em>huge</em>. I don&#8217;t know but there are probably hundreds of relatively known WP developers. The EE community &#8211; not so big. About 10 &#8211; 20 relatively known developers. If you create 3 addons you&#8217;ll be invited to speak at <a href="http://eeci2010.com/">EECI2011</a>, hehe. <strong>In six months you can make a dent in the WP community or you can be a f*cking EE rockstar. Your choice.</strong></p>

<p><a href='https://www.e-junkie.com/ecom/gb.php?cl=12635&#038;c=ib&#038;aff=13473' target='_blank'><img src="http://www.bybjorn.com/wp-content/uploads/2010/07/rockstar.jpg" alt="" title="EE rockstar!" width="338" height="157" class="aligncenter size-full wp-image-402" /></a></p>

<h4>6. It&#8217;s MVC And It&#8217;s Easy To Get Started</h4>

<p>With 2.0 EllisLab made a great choice of going <a href="http://www.codeigniter.com">CodeIgniter</a> all the way. This means that your EE addon is a CodeIgniter module, with <a href="http://codeigniter.com/user_guide/general/helpers.html">helpers</a>, <a href="http://codeigniter.com/user_guide/general/creating_libraries.html">libraries</a>, <a href="http://codeigniter.com/user_guide/general/views.html">views</a> etc. EE comes bundles with CodeIgniter, and you can harness the power of the CodeIgniter framework in your EE modules. Nice!</p>

<p><a href="http://www.codeigniter.com"><img src="http://www.bybjorn.com/wp-content/uploads/2010/07/codeigniter-300x76.jpg" alt="" title="codeigniter" width="300" height="76" class="aligncenter size-medium wp-image-412" /></a></p>

<p>In addition to the CodeIgniter <a href="http://codeigniter.com/user_guide/index.html">user guide</a> (which is pretty good) there are <a href="http://www.expressionengine.com/index.php?affiliate=bjorn&amp;page=/user_guide/development/">developer docs for EE</a> and the newly created <a href="http://www.expressionengine.com/index.php?affiliate=bjorn&amp;page=/forums/viewforum/116/">Development and Programming forum</a> to encourage discussion among developers.</p>

<p>And of course, I can&#8217;t write this blog post without plugging <a href="http://www.bybjorn.com/344/">my own DevKit addon</a> which is an addon you use in your development environment to create the skeleton of a new addon.. check out this video:</p>

<p><object width="500" height="375"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=12828566&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=12828566&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="375"></embed></object></p>

<p><strong>Yup, it&#8217;s easy to get started, so give it a go!</strong></p>

<h4>7. If You Create Something Nice EllisLab Might Embrace It</h4>

<p>Take a look at the <a href="http://www.expressionengine.com/index.php?affiliate=bjorn&amp;page=/community">Community page on expressionengine.com</a>. Sites like <a href="http://eeinsider.com">EEInsider</a>, <a href="http://devot-ee.com">Devot:ee</a>, <a href="http://show-ee.com">Show EE</a>, <a href="http://director-ee.com/">Director-ee</a> etc. are all sites created by third-party devs and taken to heart by EllisLab (creators of EE). It doesn&#8217;t even have to be a <a href="http://eehash.com/">unique or new idea, just a nice implementation</a>.</p>

<p>Also, it could be argued that some of the most popular commercial addons for EE (<a href="http://www.buildwithstructure.com">Structure</a>, <a href="http://www.solspace.com/software/detail/tag/">SolSpace&#8217;s Tag</a> for instance) in reality is pretty basic functionality that should be added in a CMS (pages/tagging). I don&#8217;t know for sure, but I have a feeling EllisLab likes the fact that there&#8217;s a commercial sphere around EE and that they don&#8217;t want to step on too many third party toes by incorporating this functionality into EE (and therby destroying the market for these third party addons). Of course this is just speculation from my side, and it can be argued this is a bad thing &#8211; but for a third party dev this is a <em>good thing</em>^<sup>TM</sup> .. And yeah, <a href="http://www.expressionengine.com/index.php?affiliate=bjorn&amp;page=/archived_forums/viewthread/145250/#710620">Brandon Kelly&#8217;s FieldFrame is just the exception</a> that proves the rule.</p>

<p><strong>If you create something nice you might be featured on ExpressionEngine.com &#8211; and if you make a living selling an addon the ellisphant in the room might just let you continue with that.</strong></p>

<h4>8. The Twitter Stream Is Actually Maintainable</h4>

<p>The <a href="http://search.twitter.com/search?q=%23eecms">#eecms twitter stream</a> can actually be followed and read, without much noise or spam. It&#8217;s a nice pace. You take the weekend off, have a couple of beers or enjoy some quality time with the family, then come back and see what happened while you were away. Try that with <a href="http://search.twitter.com/search?q=%23wordpress">#wordpress</a> .. it&#8217;s more like &#8220;grab a coffee and see what happened while you were away&#8221; :-p</p>

<p><img src="http://www.bybjorn.com/wp-content/uploads/2010/07/eecms.jpg" alt="" title="eecms" width="361" height="537" class="aligncenter size-full wp-image-419" /></p>

<h4>9. You Can Deliver A Website To Your Client And Then Forget About It</h4>

<p>Ok, this last point might be a bit FUD&#8217;y but still &#8211; I make sure the WordPress blogs I deliver to clients are always kept up-to-date for all eternity. I mean who wants to see this in the Google search results (image courtesy of <a href="http://www.pearsonified.com/2010/04/wordpress-pharma-hack.php">Pearsonified</a>):</p>

<div id="attachment_423" class="wp-caption aligncenter" style="width: 496px"><a href="http://www.bybjorn.com/wp-content/uploads/2010/07/pharma.jpg"><img src="http://www.bybjorn.com/wp-content/uploads/2010/07/pharma.jpg" alt="" title="pharma" width="486" height="167" class="size-full wp-image-423" /></a><p class="wp-caption-text">Get cheap pills over at Pearsonified</p></div>

<p>Everyone doing WordPress knows: you update when there&#8217;s a new version out, or else you might be at risk. Belive it or not; it&#8217;s not like that with EE. You can actually chill and not worry about these kinds of things happening. There&#8217;s very seldom a security patch, and if there is one there&#8217;s not enough people using EE for the Viagra mafioso to bother anyway.</p>

<p><strong>Of course, that said, it&#8217;s always good practice to upgrade your clients to the latest version anyway, but with EE it can wait until tuesday <img src='http://www.bybjorn.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </strong></p>

<h4>10. There Is No Ten</h4>

<p>Do you really need ten reasons? There was only 9, that should be enough for anyone. If I added another reason it&#8217;d probably be some standard one about EllisLab&#8217;s great support etc.</p>

<p>So let me finish with this; if you&#8217;re interested in checking out EE <a href="http://www.expressionengine.com/index.php?affiliate=bjorn">buy a license</a> (don&#8217;t bother with the free Zend encoded trial IMHO, buy it and you&#8217;ll get the source and be able to debug, see what&#8217;s happening under the hood, etc.) &#8211; <a href="http://www.expressionengine.com/index.php?affiliate=bjorn&amp;page=/forums/viewforum/98/">say hello in the forums</a> or in the comments below or <a href="http://twitter.com/bjornbjorn">to me on twitter</a>, follow the #eecms hashtag &#8211; participate in the discussion on Twitter, and of course <strong>don&#8217;t forget to <a href="http://feeds.feedburner.com/bjornblog">subscribe to my feed</a> if you enjoyed this post.</strong></p>

<p><strong>What do you think? Are there other benefits about the EE community? Was I a bit too generalizing somewhere? Is WordPress really a MUCH MUCH BETTER CMS AND EVERYONE ELSE MUST DIE?</strong> Let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bybjorn.com/371/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Introducing DevKit for EE 2.0</title>
		<link>http://www.bybjorn.com/344/</link>
		<comments>http://www.bybjorn.com/344/#comments</comments>
		<pubDate>Sat, 22 May 2010 16:28:45 +0000</pubDate>
		<dc:creator>Bjørn Børresen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[devkit]]></category>
		<category><![CDATA[ExpressionEngine]]></category>

		<guid isPermaLink="false">http://www.bybjorn.com/?p=344</guid>
		<description><![CDATA[I&#8217;ve spent the last 8 months developing modules (and templates) for EE 2.0. Pretty early I got annoyed by some of the redundant manual tasks I had to do over and over again .. so I started creating some addons to help me out. Now I&#8217;ve bundled (some of that) functionality in this thing I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent the last 8 months developing modules (and templates) for EE 2.0. Pretty early I got annoyed by some of the redundant manual tasks I had to do over and over again .. so I started creating some addons to help me out. Now I&#8217;ve bundled (some of that) functionality in this thing I&#8217;ve named <em>DevKit for EE 2.0</em>, download it here: <a href="http://github.com/bjornbjorn/devkit.ee_addon/zipball/master" title="devkit.zip">zip</a> / <a href="http://github.com/bjornbjorn/devkit.ee_addon" title="ee devkit github page">github page</a>.</p>

<p>For now it contains functionality to <strong>generate the skeleton of a new EE module</strong> &#8211; you just give it some details (name, description, etc.) and an installable EE 2.0 module will be generated. It will add some helpful functions as well. Then it&#8217;s up to you to fill it with business logic <img src='http://www.bybjorn.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>

<p>Also it has a <strong>one-click load of snippets and global variables</strong> from the filesystem. Personally I like to use the built in EE functionality to add that to the main navigation at the top, so that when updating the global variables in my files I just hit that button and they&#8217;re all updated.</p>

<p>And then there is a <strong>YAML 2 dbforge generator</strong> that will help you out when you have a lot of database tables you need to generate (this is handy for the upd.yourmodule.php install() and uninstall() functions). Personally I&#8217;m too lazy to write dbforge code, YAML is quicker (see the screenshot). This is very basic, but it works.</p>

<h3>Here are some screenshots:</h3>

<div id="attachment_350" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.bybjorn.com/wp-content/uploads/2010/05/devkit_create_new_module.jpg"><img src="http://www.bybjorn.com/wp-content/uploads/2010/05/devkit_create_new_module-300x236.jpg" alt="" title="DevKit: Create new module" width="300" height="236" class="size-medium wp-image-350" /></a><p class="wp-caption-text">DevKit: Create new module</p></div>

<p><br/></p>

<div id="attachment_352" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.bybjorn.com/wp-content/uploads/2010/05/devkit_dbforge_generator.jpg"><img src="http://www.bybjorn.com/wp-content/uploads/2010/05/devkit_dbforge_generator-300x277.jpg" alt="" title="YAML 2 dbforge code generator" width="300" height="277" class="size-medium wp-image-352" /></a><p class="wp-caption-text">YAML 2 dbforge Code Generator</p></div>

<p><br/></p>

<div id="attachment_355" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.bybjorn.com/wp-content/uploads/2010/05/devkit_update_snippets.jpg"><img src="http://www.bybjorn.com/wp-content/uploads/2010/05/devkit_update_snippets-300x209.jpg" alt="" title="devkit_update_snippets" width="300" height="209" class="size-medium wp-image-355" /></a><p class="wp-caption-text">Update/Import snippets/global variables from disk</p></div>

<p><br/></p>

<h3>Like it?</h3>

<p>I hope that other EE developers find this helpful. If you do, please let me know, and also &#8211; if you&#8217;d like to contribute / help out improving this DevKit let me know and I&#8217;ll add you to the project <a href="http://github.com/bjornbjorn/devkit.ee_addon" title="github">on github</a> so you can commit code to it.</p>

<p>This is a small step for EE, and a humble start, but maybe this can evolve into an awesome tool / framework for EE 2.0 development.</p>

<p>Download: <a href="http://github.com/bjornbjorn/devkit.ee_addon/zipball/master" title="devkit.zip">devkit.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bybjorn.com/344/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>WooThemes launch of ExpressionEngine themes gets TechCrunch frontpage</title>
		<link>http://www.bybjorn.com/263/</link>
		<comments>http://www.bybjorn.com/263/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 12:02:52 +0000</pubDate>
		<dc:creator>Bjørn Børresen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ExpressionEngine]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[woothemes]]></category>

		<guid isPermaLink="false">http://www.bybjorn.com/?p=263</guid>
		<description><![CDATA[Themes have moved &#160; Please note that these themes have now moved to ThemeForest, you can find them here: http://bit.ly/eFFMKs Ok, I&#8217;m kind of busy these days so I haven&#8217;t got time for the most elaborate posts &#8212; but anyway, as some of you might know I&#8217;ve teamed up with WooThemes to create theme packages [...]]]></description>
			<content:encoded><![CDATA[<blockquote class='tip'>
<p><strong>Themes have moved</strong></p>
<p>&nbsp;</p>
<p>Please note that these themes have now moved to ThemeForest, you can find them here: <a href='http://bit.ly/eFFMKs'>http://bit.ly/eFFMKs</a></p>
</blockquote>

<p>Ok, I&#8217;m kind of busy these days so I haven&#8217;t got time for the most elaborate posts &#8212; but anyway, as some of you might know <a href="http://www.woothemes.com/2010/01/welcome-to-weethemes/">I&#8217;ve teamed up with WooThemes</a> to create theme packages for my publishing engine of choice; <a href="http://bybjorn.com/ee2_the_most_flexible_cms_yet/">ExpressionEngine</a>.</p>

<p>Yesterday was a busy day since we launched it, and thanks to <a href="http://twitter.com/adii">adii</a> and <a href="http://twitter.com/danielbru">Daniel Brusilovsky</a> it made the frontpage on TechCrunch:</p>

<p><a href="http://www.techcrunch.com/2010/01/14/woothemes-expressionengine-themes/">http://www.techcrunch.com/2010/01/14/woothemes-expressionengine-themes/</a></p>

<div id="attachment_278" class="wp-caption aligncenter" style="width: 810px"><a href="http://www.bybjorn.com/wp-content/uploads/2010/01/woothemes_on_techcrunch_frontpage_800.jpg"><img src="http://www.bybjorn.com/wp-content/uploads/2010/01/woothemes_on_techcrunch_frontpage_800.jpg" alt="" title="woothemes_on_techcrunch_frontpage_800" width="800" height="703" class="size-full wp-image-278" /></a><p class="wp-caption-text">WooThemes and ExpressionEngine on the TechCrunch frontpage</p></div>

<p><br/>
<strong>I think that&#8217;s great, both for WooThemes and EllisLab/ExpressionEngine.</strong></p>

<p>And of course, it also resulted in this:</p>

<p><a href="http://www.bybjorn.com/wp-content/uploads/2010/01/woothemes_danielbru_tweet.jpg"><img src="http://www.bybjorn.com/wp-content/uploads/2010/01/woothemes_danielbru_tweet.jpg" alt="" title="woothemes_danielbru_tweet" width="776" height="284" class="aligncenter size-full wp-image-280" /></a></p>

<p><a href="http://www.bybjorn.com/wp-content/uploads/2010/01/woothemes_techcrunch_tweet.jpg"><img src="http://www.bybjorn.com/wp-content/uploads/2010/01/woothemes_techcrunch_tweet.jpg" alt="" title="woothemes_techcrunch_tweet" width="777" height="405" class="aligncenter size-full wp-image-282" /></a></p>

<p>The author&#8217;s tweet (300k followers) + TechCrunch&#8217;s tweet (1,3m followers) + general Twitter crazyness with the &#8220;woourl.com/ee&#8221; being passed around, resulted in the <a href="http://www.rsaweb.co.za/">rsaweb</a> guys working their butts off to keep the server up (it went down a couple of times as well, but all in all they did a good job).</p>

<p>It&#8217;s exciting times, since we&#8217;re basically testing out some new grounds here; is there a market for premium ExpressionEngine themes? Who knows. I hope so, and it&#8217;s going to be interesting to see how the traffic and hype converts to actual sales.</p>

<p>What do you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bybjorn.com/263/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Another reason to switch from WordPress to ExpressionEngine</title>
		<link>http://www.bybjorn.com/78/</link>
		<comments>http://www.bybjorn.com/78/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 17:50:15 +0000</pubDate>
		<dc:creator>Bjørn Børresen</dc:creator>
				<category><![CDATA[ExpressionEngine]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://bie.no/blog/metabjorn/2008/02/another-reason-to-switch-from-wordpress-to-expressionengine/</guid>
		<description><![CDATA[Ok, this post had some info about switching to ExpressionEngine since WP was so insecure. It turns out my WP install was hacked and the content here was replaced by lots of spam links. I don&#8217;t know how to get the content back (unless it was indexed somewhere, took a quick google but didn&#8217;t find [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, this post had some info about switching to <a href="http://www.expressionengine.no">ExpressionEngine</a> since  WP was so insecure.</p>

<p>It turns out my WP install was hacked and the content here was replaced by lots of spam links. I don&#8217;t know how to get the content back (unless it was indexed somewhere, took a quick google but didn&#8217;t find anything) .. Oh, the irony.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bybjorn.com/78/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Exporting s9y to MT</title>
		<link>http://www.bybjorn.com/75/</link>
		<comments>http://www.bybjorn.com/75/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 06:31:01 +0000</pubDate>
		<dc:creator>Bjørn Børresen</dc:creator>
				<category><![CDATA[ExpressionEngine]]></category>
		<category><![CDATA[movabletype]]></category>

		<guid isPermaLink="false">http://bie.no/blog/metabjorn/2007/09/exporting-s9y-to-mt/</guid>
		<description><![CDATA[When I wanted the skitX blog converted from Serendipity to ExpressionEngine I asked around for an MT Export script for s9y. There was none, so I decided to create it for myself. For those of you who don&#8217;t know, MT stands for Movable Type and is SixApart&#8216;s blogsystem. It&#8217;s a pretty simple plain-text format which [...]]]></description>
			<content:encoded><![CDATA[<p>When I wanted the <a href="http://www.skitx.com">skitX blog</a> converted from <a href="http://www.s9y.org">Serendipity</a> to <a href="http://bybjorn.com/ee2_the_most_flexible_cms_yet/">ExpressionEngine</a> I <a href="http://board.s9y.org/viewtopic.php?t=8926&amp;highlight=export">asked around</a> for an MT Export script for s9y. There was none, so I decided to create it for myself.</p>

<p>For those of you who don&#8217;t know, MT stands for Movable Type and is <a href="http://www.sixapart.com">SixApart</a>&#8216;s blogsystem. It&#8217;s a pretty simple plain-text format which many blogsystems (like for instance <a href="http://bybjorn.com/ee2_the_most_flexible_cms_yet/">EE</a>) can do an import from. I used the <a href="http://www.sixapart.com/movabletype/docs/mtimport">format description found here</a>.</p>

<p>Download the script here: <a id="p74" href="http://www.bybjorn.com/wp-content/uploads/2007/09/s9y_mt_export.zip">Serendipity (s9y) MT Export</a></p>

<p>The process is simple &#8212; just edit the following lines in the script:</p>

<p><code>
$db_host = "localhost";
$db_user = "db_user";
$db_pass = "db_password";
$db_name = "db_name";</p>

<p>$filename = "s9y_export_mt.txt";        // file to write to
</code></p>

<p>Upload the script and load it in your browser. A file (s9y_export_mt.txt by default) will be written. This is the file you import.</p>

<p>Enjoy, and ask in the comment section if something is unclear <img src='http://www.bybjorn.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bybjorn.com/75/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Converting from SMF to ExpressionEngine Forum</title>
		<link>http://www.bybjorn.com/71/</link>
		<comments>http://www.bybjorn.com/71/#comments</comments>
		<pubDate>Sat, 01 Sep 2007 14:07:55 +0000</pubDate>
		<dc:creator>Bjørn Børresen</dc:creator>
				<category><![CDATA[ExpressionEngine]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[simplemachines]]></category>

		<guid isPermaLink="false">http://bie.no/blog/expressionengine/2007/09/converting-from-smf-to-expressionengine-forum/</guid>
		<description><![CDATA[This will describe how I converted my norwegian webmaster forum which ran the SimpleMachines forum software to ExpressionEngine with the forum module installed. The SMF_Import module I&#8217;ve created can be used to import both users and forum messages to EE, or just the users if you only want to import these. Please note that the [...]]]></description>
			<content:encoded><![CDATA[<p><strong>This will describe how I converted my <a href="http://www.skitx.com">norwegian webmaster forum</a> which ran the <a href="http://www.simplemachines.org">SimpleMachines</a> forum software to <a href="http://www.expressionengine.com/index.php?affiliate=bjorn">ExpressionEngine</a> with the forum module installed.</strong></p>

<p>The SMF_Import module I&#8217;ve created can be used to import both users and forum messages to EE, or just the users if you only want to import these.
<span id="more-71"></span>
Please note that the module you can download here (SMF_Import) is not a full module release, but more like a &#8216;scratch-an-itch&#8217; plugin I created to solve my specific problem (converting <em>my forum</em>) &#8211; so you will need to do some editing to get it to work. The good news is &#8211; it worked for me, and it&#8217;s not too difficult. Also, if you have problems, just leave me a comment and I&#8217;ll try to help you.</p>

<p>Make sure you have EE set to use standard MD5 password encryption (you do this during install). Also note that since SMF uses a seed the passwords cannot be transferred <em>and all your users, including you, will have to go through the forgot password procedure</em>.</p>

<h2>How to do it</h2>

<h3>Downloading the SMF Import module</h3>

<ol>
<li>Download the module here: <a id="p73" rel="attachment" href="/products/smf_import.zip" title="smf_import.zip">smf_import.zip</a></li>
<li>Unzip it in a directory &#8211; and open mcp.smf_import.php in a text editor</li>
</ol>

<h3>Edit some settings</h3>

<p>At the beginning in mcp.smf_import.php there are a couple of settings:</p>

<pre><code>var $smf_db = "database_name";
var $smf_prefix = "smf_";
</code></pre>

<p>Pretty self-explanatory. The smf_prefix is the simplemachines database table prefix (smf_ is standard).</p>

<h3>Creating the usergroups</h3>

<ol>
<li><p>Go to EE Admin -> Usergroups and create the usergroups you want. These may be the same groups you already have in your SMF install, or new ones. The point is that you want to transfer people from <smf_GROUP> to <ee_GROUP>. In my case my SMF install was very messy and I had a lot of different groups &#8211; so I ended up with just a few EE groups which was much more managable <img src='http://www.bybjorn.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p></li>
<li><p>Go to SMF Admin and check out the usergroups you have there. Now it&#8217;s time to link the SMF groups to the EE groups. You already have mcp.smf_import.php open I presume? You need to edit the array around line 90:</p>

<pre><code>// link SMF membergroups to EE membergroups ... SMF_MEMBERGROUP_ID =&gt; EE_MEMBERGROUP_ID
$smf_ee_membergroup_link = array(
    0 =&gt; 5,         // random people?
    1 =&gt; 1,         // Admin
    2 =&gt; 5,
    3 =&gt; 5,
    4 =&gt; 5,
    5 =&gt; 5,
    6 =&gt; 5,
    7 =&gt; 5,
    8 =&gt; 5,
    9 =&gt; 1,
    10 =&gt; 5,
    11 =&gt; 7,        // VIP
    12 =&gt; 6,        // Adult
    13 =&gt; 2,        // Banned
    14 =&gt; 5,
    15 =&gt; 5,
    16 =&gt; 5,
    17 =&gt; 5
);
</code></pre></li>
</ol>

<p>Ok, you see what I&#8217;ve done here? I&#8217;ve linked my SMF usergroup database id&#8217;s => EE usergroup database id&#8217;s. Pretty simple.</p>

<p>Also, right above that array there are some settings. Please go over them as well:</p>

<pre><code>    $admin_id = 1;          // we don't want to insert a new admin, but update the exisitng EE admin with data from SMF
    $update_only = false;   // default = false, set to true if you run more than one time and only want to update users
    $time_format = 'eu';    // default timeformat for the users
    $language = 'english';  // default language for the users
</code></pre>

<h3>Creating the forums</h3>

<p>The process is the same for the forums as for the usergroups.</p>

<ol>
<li><p>Go to the forum administration and add the forums you already have on your old forum (or, new ones, the most important thing is that you have somewhere to transfer the old messages). <strong>Make a note of the forum database IDs</strong></p></li>
<li><p>Go to SMF admin and make a note of the forum ids.</p></li>
<li><p>Edit the section in mcp.smf_import.php, around line 249:</p>

<pre><code>$smf_ee_forums_link = array(
    2 =&gt; 2, // Generelt
    5 =&gt; 3, // Offtopic
    7 =&gt; 4,
    3 =&gt; 5,
    4 =&gt; 2,
    34 =&gt; 3,
    9 =&gt; 2
);
</code></pre></li>
</ol>

<h3>Installing the module</h3>

<p>Now that we have everything customized for our need, we&#8217;re ready to upload the module.</p>

<ol>
<li>Copy the mcp.smf_import.php file to modules/smf_import</li>
<li>Copy the lang.smf_import.php to language/</li>
<li>Click &#8220;Install&#8221; like you usually do with modules</li>
</ol>

<p>Voilá &#8211; and on to the next step:</p>

<h3>Importing the users</h3>

<ol>
<li>Go to the &#8220;Modules&#8221; tab in EE admin</li>
<li>Ok, this might seem a bit weird, but I told you it was scratch-an-itch software so &#8212; for some reason you won&#8217;t get a clickable &#8220;SMF Import&#8221; link. Thus, click one of the other modules (e.g. Referer) and replace the end in the URL (e.g. &#8220;M=Referer&#8221;) with &#8220;M=smf_import&#8221; &#8211;> then you should see the SMF import dialog <img src='http://www.bybjorn.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
<li>To import the users click &#8220;Import SMF users&#8221;. This will be a memory intensive operation! (I converted 3000 members and needed to ask my host to up my ram during the operation, anyway).</li>
</ol>

<p>You should now have imported all users.</p>

<h3>Importing the forum posts</h3>

<ol>
<li>Go back to the SMF_import dialog and click &#8220;Import forum posts&#8221;.</li>
<li>Go to EE Admin tools and run all the &#8220;recount statistics&#8221; stuff for members and forum <img src='http://www.bybjorn.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
</ol>

<p>That&#8217;s it.</p>

<p>Enjoy <img src='http://www.bybjorn.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<p>You can do whatever you want with this script &#8211; if you do decide to improve it please drop me a note so I can let everyone know <img src='http://www.bybjorn.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  (e.g. one good idea would be to do the users convert in batches instead of all at once).</p>

<p>As a last note &#8211; <strong>I&#8217;ve converted my forum from <a href="http://www.invisionpower.com">InvisionBoard</a>, then to <a href="http://www.phpbb.com">phpBB</a>, and finally to <a href="http://www.simplemachines.org">SimpleMachines</a></strong>. So, whatever you&#8217;re using it should be possible to do the convert (just search around for converters from those others to SMF and use this from SMF to <a href="http://www.expressionengine.com/index.php?affiliate=bjorn">ExpressionEngine</a>. Yes, it&#8217;s quite a task but it&#8217;s possible <img src='http://www.bybjorn.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>

<p><strong>And if I saved you some time and you feel like buying me a beer my PayPal account is bjorn@root.no</strong> <img src='http://www.bybjorn.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bybjorn.com/71/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
	</channel>
</rss>

