<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/">

    <channel>
    
    <title>Train&#45;ee.com Free Tutorials</title>
    <link>http://www.train-ee.com/courseware/free-tutorials/</link>
    <description>Learn ExpressionEngine Fast with Free Tutorials from Train-ee.com</description>
    <dc:language>en</dc:language>
    <dc:creator>eeforme@train-ee.com</dc:creator>
    <dc:rights>Copyright 2009</dc:rights>
    <dc:date>2009-11-25T15:51:03+00:00</dc:date>
    <admin:generatorAgent rdf:resource="http://expressionengine.com/" />
    

    <item>
      <title>Reorganized Date Formatting Options</title>
      <link>http://www.train-ee.com/courseware/free-tutorials/comments/reorganized-date-formatting-options/</link>
      <guid>http://www.train-ee.com/courseware/free-tutorials/comments/reorganized-date-formatting-options/#When:15:51:03Z</guid>
	<description>
		<![CDATA[
			<p>I posted a <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fexpressionengine.com%2Fforums%2Fviewthread%2F136185%2F">Feature Request</a> for this to be changed in the <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.expressionengine.com%2Findex.php%3Faffiliate%3Dboyink%26page%3D%2Fdocs%2Ftemplates%2Fdate_variable_formatting.html">EE Docs</a>, but I know the EE folks are busy so I&#8217;m posting a version of the EE date formatting options, reorganized by output rather than alphabetically by letter.
</p> <p><strong>Seconds:</strong>
</p><ul><li>%s - seconds (“00” to “59”)</li>
<li>%U - seconds since the epoch</li></ul>

<p><br />
<strong>Minutes:</strong>
</p><ul>
<li>%i - minutes (“00” to “59”)</li>
</ul>

<p><br />
<strong>Hours:</strong>
</p><ul><li>%g - hour, 12-hour format without leading zeros (“1” to “12”)</li>
<li>%G - hour, 24-hour format without leading zeros (“0” to “23”)</li>
<li>%h - hour, 12-hour format (“01” to “12”)</li>
<li>%H - hour, 24-hour format (“00” to “23”)</li>
</ul>

<p><br />
<strong>AM/PM:</strong>
</p><ul><li>%a - “am” or “pm”</li>
<li>%A - “AM” or “PM”</li></ul>

<p><br />
<strong>Day</strong>:
</p><ul>
<li>%d - day of the month, 2 digits with leading zeros (“01” to “31”)</li>
<li>%D - day of the week, textual, 3 letters (“Fri”)</li>
<li>%j - day of the month without leading zeros (&#8220;1&#8221; to &#8220;31&#8221;)</li>
<li>%l (lowercase &#8216;L&#8217;) - day of the week, textual, long (&#8220;Friday&#8221;)</li>
<li>%w - day of the week, numeric - &#8220;0&#8221; (Sunday) to &#8220;6&#8221; (Saturday)</li>
<li>%z - day of the year (&#8220;0&#8221; to &#8220;365&#8221;)</li>
<li>%S - English ordinal suffix, 2 characters; (&#8220;th&#8221;, &#8220;nd&#8221;)</li>
</ul>

<p><br />
<strong>Week:</strong>
</p><ul>
<li>%W - ISO-8601 week number of year, weeks starting on Monday (&#8220;42&#8221;: the 42nd week in the year)</li>
</ul>

<p><br />
<strong>Month:</strong>
</p><ul>
<li>%M - month, textual, 3 letters (“Jan”)</li>
<li>%F - month, textual, long (“January”)</li>
<li>%n - month without leading zeros (&#8220;1&#8221; to &#8220;12&#8221;)</li>
<li>%m - month with leading zeros (&#8220;01&#8221; to &#8220;12&#8221;)</li>
<li>%t - number of days in the given month (&#8220;28&#8221; to &#8220;31&#8221;)</li>
</ul>

<p><br />
<strong>Year:</strong>
</p><ul>
<li>%y - year, 2 digits (“99”)</li>
<li>%Y - year, 4 digits (“1999”)</li>
<li>%L - boolean for whether it is a leap year (&#8220;0&#8221; or &#8220;1&#8221;)</li>
</ul>

<p><br />
<strong>Other</strong>
</p><ul><li>%B - Swatch Internet time</li>
<li>%I (capital i) - &#8220;1&#8221; if Daylight Saving Time, &#8220;0&#8221; otherwise.</li>
<li>%T - Time zone setting of this machine (“MDT”)</li>
<li>%Z - time zone offset in seconds (”-43200” to “43200”). The offset for time zones west of UTC is always negative, and for those east of UTC is always positive.</li>
<li>%Q - local server time zone offset, in hours and seconds, against GMT (e.g. &#8220;+06:00&#8221;)</li>
<li>%r - RFC 822 formatting (&#8220;Thu, 21 Dec 2000 16:01:07 +0200&#8221;)</li></ul>

<p><br />
<strong>Common Formats</strong><br />
12/12/09
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">&#123;entry_date&nbsp;format</span><span style="color: #007700">=</span><span style="color: #DD0000">"%m/%d/%y"</span><span style="color: #0000BB">&#125;&nbsp;</span>
</span>
</code></div><p>
January 10, 2010
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">&#123;entry_date&nbsp;format</span><span style="color: #007700">=</span><span style="color: #DD0000">"%F&nbsp;%j,&nbsp;%Y"</span><span style="color: #0000BB">&#125;&nbsp;</span>
</span>
</code></div><p>
Wednesday, July 16th, 2008
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">&#123;entry_date&nbsp;format</span><span style="color: #007700">=</span><span style="color: #DD0000">"%l,&nbsp;%F&nbsp;%j%S,&nbsp;%Y"</span><span style="color: #0000BB">&#125;&nbsp;</span>
</span>
</code></div><p>
01/11 at 01:31 PM 
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">&#123;entry_date&nbsp;format</span><span style="color: #007700">=</span><span style="color: #DD0000">'%m/%d'</span><span style="color: #0000BB">&#125;&nbsp;at&nbsp;&#123;entry_date&nbsp;format</span><span style="color: #007700">=</span><span style="color: #DD0000">'%h:%i&nbsp;%A'</span><span style="color: #0000BB">&#125;&nbsp;</span>
</span>
</code></div>

<p>&nbsp;</p>

<p>&nbsp;</p>
		]]>
	</description>       

      <dc:subject>Other</dc:subject>
      <dc:date>2009-11-25T15:51:03+00:00</dc:date>
    </item>

    <item>
      <title>Quoting and Planning ExpressionEngine Projects</title>
      <link>http://www.train-ee.com/courseware/free-tutorials/comments/quoting-and-planning-expressionengine-projects/</link>
      <guid>http://www.train-ee.com/courseware/free-tutorials/comments/quoting-and-planning-expressionengine-projects/#When:15:02:47Z</guid>
	<description>
		<![CDATA[
			 <p>This was the talk I gave at the <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.eeci2009.com%2Fvideo-and-slides%2F">2009 ExpressionEngine and CodeIgniter Conference</a> covering my process for quoting projects that need to be built on ExpressionEngine, and then how I plan out the builds.&nbsp; The slides are available as a <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.flickr.com%2Fphotos%2F40729146%40N00%2Fsets%2F72157622664301527%2F">set on Flickr</a>.</p>

<object width="476" height="357"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7570396&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7570396&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="476" height="357"></embed></object><p><a href="http://vimeo.com/7570396">EECI2009 | Michael Boyink</a> from <a href="http://vimeo.com/eeci2009">EECI2009</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
		]]>
	</description>       

      <dc:subject>The Business Side</dc:subject>
      <dc:date>2009-11-12T15:02:47+00:00</dc:date>
    </item>

    <item>
      <title>Approve Link for Comments</title>
      <link>http://www.train-ee.com/courseware/free-tutorials/comments/approve-link-for-comments/</link>
      <guid>http://www.train-ee.com/courseware/free-tutorials/comments/approve-link-for-comments/#When:13:08:32Z</guid>
	<description>
		<![CDATA[
			<p>One of the &#8216;last-straw&#8217; ways to deal with spam in <a href="http://www.expressionengine.com/index.php?affiliate=boyink">ExpressionEngine</a> is enabling Comment Moderation, wherein each comment submitted to the site has to be approved by an administrator before appearing.&nbsp; Admins are notified of new comments via email - and that email can contain a &#8220;Delete Comment&#8221; link using a built-in EE variable.&nbsp; There is, however, no matching variable for &#8220;Approve Comment&#8221;.&nbsp; 
</p> <p>This makes the process for approving a new comment harder than deleting - which just shouldn&#8217;t be the case.&nbsp; We&#8217;re going to be positive here, right? </p>

<p>Turns out this is pretty easy to get around with the following code snippet.&nbsp; This would go in your Admin Notification of Comments template which is found under: Admin  ›&nbsp; Specialty Templates  ›&nbsp; Email Notification Templates.</p>

<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">Approve</span><span style="color: #007700">?<br /></span><span style="color: #0000BB">PATH&nbsp;TO&nbsp;YOUR&nbsp;CP&nbsp;HERE</span><span style="color: #007700">?</span><span style="color: #0000BB">S</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">C</span><span style="color: #007700">=</span><span style="color: #0000BB">edit</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">M</span><span style="color: #007700">=</span><span style="color: #0000BB">change_status</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">comment_id</span><span style="color: #007700">=</span><span style="color: #0000BB">&#123;comment_id&#125;</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">status</span><span style="color: #007700">=</span><span style="color: #0000BB">open&nbsp;</span>
</span>
</code></div>

<p>or: </p>

<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">Approve</span><span style="color: #007700">?<br /></span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//www.yoursite.com/system/index.php?S=0&amp;C=edit&amp;M=change_status&amp;comment_id=&#123;comment_id&#125;&amp;status=open&nbsp;</span>
</span>
</code></div>

<p>When you or your Admin clicks the Approve link they will be taken to the EE Control Panel view of the list of comments for this particular entry.&nbsp; The nice thing is if the &#8220;Approve&#8221; link was clicked by mistake the option to close or delete the comment is right there as well.</p>

<p>&nbsp;</p>
		]]>
	</description>       

      <dc:subject>Control Panel</dc:subject>
      <dc:date>2009-11-03T13:08:32+00:00</dc:date>
    </item>

    <item>
      <title>Working with Combined Weblogs</title>
      <link>http://www.train-ee.com/courseware/free-tutorials/comments/working-with-combined-weblogs/</link>
      <guid>http://www.train-ee.com/courseware/free-tutorials/comments/working-with-combined-weblogs/#When:14:45:48Z</guid>
	<description>
		<![CDATA[
			<p>Have you ever run into a situation where you had content stored in separate <a href="http://www.expressionengine.com/index.php?affiliate=boyink">ExpressionEngine</a> weblogs, but then wanted to use one weblog:entries loop to pull content from those separate weblogs?&nbsp; EE lets you pipe in more than one weblog name in the <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.expressionengine.com%2Findex.php%3Faffiliate%3Dboyink%26page%3D%2Fdocs%2Fmodules%2Fweblog%2Fparameters.html%23par_weblog">weblog parameter</a> on the weblog entries tag, and I wanted to show a few ways to work with that. </p>

<p>All the code snippets used in the screencast are available at the end of this post.&nbsp; Enjoy!</p>

<object width="476" height="386"> <param name="movie" value="http://content.screencast.com/users/Train-ee.com/folders/Default/media/86bfc976-318c-4bed-9c6b-51f5c34deccf/flvplayer.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#FFFFFF"></param> <param name="flashVars" value="thumb=http://content.screencast.com/users/Train-ee.com/folders/Default/media/86bfc976-318c-4bed-9c6b-51f5c34deccf/FirstFrame.jpg&amp;containerwidth=476&amp;containerheight=386&amp;content=http://content.screencast.com/users/Train-ee.com/folders/Default/media/86bfc976-318c-4bed-9c6b-51f5c34deccf/PipedWeblogs.mp4"></param> <param name="allowFullScreen" value="true"></param> <param name="scale" value="showall"></param> <param name="allowScriptAccess" value="always"></param> <param name="base" value="http://content.screencast.com/users/Train-ee.com/folders/Default/media/86bfc976-318c-4bed-9c6b-51f5c34deccf/"></param>&nbsp; <embed src="http://content.screencast.com/users/Train-ee.com/folders/Default/media/86bfc976-318c-4bed-9c6b-51f5c34deccf/flvplayer.swf" quality="high" bgcolor="#FFFFFF" width="476" height="386" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/Train-ee.com/folders/Default/media/86bfc976-318c-4bed-9c6b-51f5c34deccf/FirstFrame.jpg&amp;containerwidth=476&amp;containerheight=386&amp;content=http://content.screencast.com/users/Train-ee.com/folders/Default/media/86bfc976-318c-4bed-9c6b-51f5c34deccf/PipedWeblogs.mp4" allowFullScreen="true" base="http://content.screencast.com/users/Train-ee.com/folders/Default/media/86bfc976-318c-4bed-9c6b-51f5c34deccf/" scale="showall"></embed> </object>

<p>&nbsp;</p> <p><strong>3 Weblogs, 3 Weblog:Entries Tags:</strong>
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">h1</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Colors&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Separate</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">h1</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">font&nbsp;color</span><span style="color: #007700">=</span><span style="color: #DD0000">"red"</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Red</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&nbsp;weblog</span><span style="color: #007700">=</span><span style="color: #DD0000">"red"</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#123;title&#125;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;</span><span style="color: #007700">/</span><span style="color: #0000BB">exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&#125;<br /></span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">font</span><span style="color: #007700">&gt;<br /><br />&lt;</span><span style="color: #0000BB">font&nbsp;color</span><span style="color: #007700">=</span><span style="color: #DD0000">"blue"</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Blue</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&nbsp;weblog</span><span style="color: #007700">=</span><span style="color: #DD0000">"blue"</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#123;title&#125;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;</span><span style="color: #007700">/</span><span style="color: #0000BB">exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&#125;<br /></span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">font</span><span style="color: #007700">&gt;<br /><br />&lt;</span><span style="color: #0000BB">font&nbsp;color</span><span style="color: #007700">=</span><span style="color: #DD0000">"green"</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Green</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&nbsp;weblog</span><span style="color: #007700">=</span><span style="color: #DD0000">"green"</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#123;title&#125;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;</span><span style="color: #007700">/</span><span style="color: #0000BB">exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&#125;<br /></span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;<br />&lt;/</span><span style="color: #0000BB">font</span><span style="color: #007700">&gt;&nbsp;</span>
</span>
</code></div>

<p><br />
<strong>3 Weblogs Piped into 1 Weblog:Entries Tag</strong>
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">h1</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Colors&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Mixed</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">h1</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&nbsp;weblog</span><span style="color: #007700">=</span><span style="color: #DD0000">"red|blue|green"</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;&lt;</span><span style="color: #0000BB">font&nbsp;color</span><span style="color: #007700">=</span><span style="color: #DD0000">"&#123;weblog_short_name&#125;"</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#123;title&#125;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">font</span><span style="color: #007700">&gt;&lt;/</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;</span><span style="color: #007700">/</span><span style="color: #0000BB">exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&#125;<br /></span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;&nbsp;</span>
</span>
</code></div>

<p><br />
<strong>3 Weblogs, 1 Weblog Entries Tag with Pagination</strong>
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">h1</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Colors&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Mixed&nbsp;</span><span style="color: #007700">and&nbsp;</span><span style="color: #0000BB">Paginated</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">h1</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&nbsp;weblog</span><span style="color: #007700">=</span><span style="color: #DD0000">"red|blue|green"&nbsp;</span><span style="color: #0000BB">pagination</span><span style="color: #007700">=</span><span style="color: #DD0000">"bottom"&nbsp;</span><span style="color: #0000BB">limit</span><span style="color: #007700">=</span><span style="color: #DD0000">"3"</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;&lt;</span><span style="color: #0000BB">font&nbsp;color</span><span style="color: #007700">=</span><span style="color: #DD0000">"&#123;weblog_short_name&#125;"</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#123;title&#125;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">font</span><span style="color: #007700">&gt;&lt;/</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;paginate&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Page&nbsp;&#123;current_page&#125;&nbsp;of&nbsp;&#123;total_pages&#125;&nbsp;pages&nbsp;&#123;pagination_links&#125;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">p</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;</span><span style="color: #007700">/</span><span style="color: #0000BB">paginate&#125;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&#123;</span><span style="color: #007700">/</span><span style="color: #0000BB">exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&#125;<br /><br /></span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;&nbsp;</span>
</span>
</code></div>

<p><br />
<strong>3 Weblogs, 1 Weblog:Entries Tag with Per-Weblog Fields</strong>
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">h1</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Colors&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Mixed&nbsp;</span><span style="color: #007700">and&nbsp;</span><span style="color: #0000BB">Pulling&nbsp;Per</span><span style="color: #007700">-</span><span style="color: #0000BB">Weblog&nbsp;Fields</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">h1</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&nbsp;weblog</span><span style="color: #007700">=</span><span style="color: #DD0000">"red|blue|green"</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">font&nbsp;color</span><span style="color: #007700">=</span><span style="color: #DD0000">"&#123;weblog_short_name&#125;"</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;</span><span style="color: #0000BB">strong</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#123;title&#125;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">strong</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;red_content&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;blue_content&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;green_content&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">font</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;</span><span style="color: #0000BB">hr&nbsp;</span><span style="color: #007700">/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;</span><span style="color: #007700">/</span><span style="color: #0000BB">exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&#125;<br /><br /></span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;&nbsp;</span>
</span>
</code></div>

<p><br />
<strong>3 Weblogs, 1 Weblog:Entries Tag with Weblog-Specific Links</strong>
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">h1</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Colors&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Mixed&nbsp;with&nbsp;Weblog</span><span style="color: #007700">-</span><span style="color: #0000BB">Specific&nbsp;Links</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">h1</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&nbsp;weblog</span><span style="color: #007700">=</span><span style="color: #DD0000">"red|blue|green"</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;&lt;</span><span style="color: #0000BB">a&nbsp;href</span><span style="color: #007700">=</span><span style="color: #DD0000">"&#123;comment_url_title_auto_path&#125;"</span><span style="color: #007700">&gt;&lt;</span><span style="color: #0000BB">font&nbsp;color</span><span style="color: #007700">=</span><span style="color: #DD0000">"&#123;weblog_short_name&#125;"</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#123;title&#125;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">font</span><span style="color: #007700">&gt;&lt;/</span><span style="color: #0000BB">a</span><span style="color: #007700">&gt;&lt;/</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;</span><span style="color: #007700">/</span><span style="color: #0000BB">exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&#125;<br /><br /></span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;&nbsp;</span>
</span>
</code></div>

<p><br />
<strong>Example Detail Template for Above Code</strong>
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">font&nbsp;color</span><span style="color: #007700">=</span><span style="color: #DD0000">"blue"</span><span style="color: #007700">&gt;<br /></span><span style="color: #0000BB">&#123;exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&nbsp;weblog</span><span style="color: #007700">=</span><span style="color: #DD0000">"blue"</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#123;title&#125;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;blue_content&#125;<br />&#123;</span><span style="color: #007700">/</span><span style="color: #0000BB">exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&#125;<br /></span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">font</span><span style="color: #007700">&gt;&nbsp;</span>
</span>
</code></div>
		]]>
	</description>       

      <dc:subject>Quick n Dirty Screencasts</dc:subject>
      <dc:date>2009-09-19T14:45:48+00:00</dc:date>
    </item>

    <item>
      <title>Dynamic = Off Explained!</title>
      <link>http://www.train-ee.com/courseware/free-tutorials/comments/dynamic-off-explained/</link>
      <guid>http://www.train-ee.com/courseware/free-tutorials/comments/dynamic-off-explained/#When:00:18:17Z</guid>
	<description>
		<![CDATA[
			<p>If you are new to EE the <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.expressionengine.com%2Findex.php%3Faffiliate%3Dboyink%26page%3D%2Fdocs%2Fmodules%2Fweblog%2Fparameters.html%23par_dynamic">dynamic=&#8220;off&#8221;</a> parameter can be both tough to understand but also critical in getting EE to work correctly.&nbsp; I put together this corny little video to try and explain what the parameter does and when you want it on vs. off.&nbsp; Enjoy!</p>

<object width="480" height="371"> <param name="movie" value="http://content.screencast.com/users/Train-ee.com/folders/Default/media/a3c618d1-ca27-4807-aefe-60d6bbbd33ef/flvplayer.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#FFFFFF"></param> <param name="flashVars" value="thumb=http://content.screencast.com/users/Train-ee.com/folders/Default/media/a3c618d1-ca27-4807-aefe-60d6bbbd33ef/FirstFrame.jpg&amp;containerwidth=480&amp;containerheight=371&amp;content=http://content.screencast.com/users/Train-ee.com/folders/Default/media/a3c618d1-ca27-4807-aefe-60d6bbbd33ef/dynamic_off.mp4"></param> <param name="allowFullScreen" value="true"></param> <param name="scale" value="showall"></param> <param name="allowScriptAccess" value="always"></param> <param name="base" value="http://content.screencast.com/users/Train-ee.com/folders/Default/media/a3c618d1-ca27-4807-aefe-60d6bbbd33ef/"></param>&nbsp; <embed src="http://content.screencast.com/users/Train-ee.com/folders/Default/media/a3c618d1-ca27-4807-aefe-60d6bbbd33ef/flvplayer.swf" quality="high" bgcolor="#FFFFFF" width="480" height="371" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/Train-ee.com/folders/Default/media/a3c618d1-ca27-4807-aefe-60d6bbbd33ef/FirstFrame.jpg&amp;containerwidth=480&amp;containerheight=371&amp;content=http://content.screencast.com/users/Train-ee.com/folders/Default/media/a3c618d1-ca27-4807-aefe-60d6bbbd33ef/dynamic_off.mp4" allowFullScreen="true" base="http://content.screencast.com/users/Train-ee.com/folders/Default/media/a3c618d1-ca27-4807-aefe-60d6bbbd33ef/" scale="showall"></embed> </object>

<p>&nbsp;</p> 
		]]>
	</description>       

      <dc:subject>Quick n Dirty Screencasts</dc:subject>
      <dc:date>2009-07-02T00:18:17+00:00</dc:date>
    </item>

    <item>
      <title>Simple Multifaceted Navigation Using Categories</title>
      <link>http://www.train-ee.com/courseware/free-tutorials/comments/simple-multifaceted-navigation-using-categories/</link>
      <guid>http://www.train-ee.com/courseware/free-tutorials/comments/simple-multifaceted-navigation-using-categories/#When:14:36:51Z</guid>
	<description>
		<![CDATA[
			<p>I needed a way to assign two category groups to one weblog, assign entries into categories in each group, and then build navigation based on those category assignments.&nbsp; However rather than the typical EE way of selecting one category and getting a list of results, I wanted another navigation level where after choosing a category from category group A the site would present a filtered list of categories from group B based on the selection from Group A.&nbsp; </p>

<p>Does that make sense?&nbsp; Here&#8230;maybe showing is better than telling in this case:</p>

<object width="480" height="386"> <param name="movie" value="http://content.screencast.com/users/train-ee/folders/Jing/media/63d1d9fd-dfc0-4778-8d77-c627163e6697/jingh264player.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#FFFFFF"></param> <param name="flashVars" value="thumb=http://content.screencast.com/users/train-ee/folders/Jing/media/63d1d9fd-dfc0-4778-8d77-c627163e6697/FirstFrame.jpg&amp;containerwidth=480&amp;containerheight=386&amp;showbranding=false&amp;content=http://content.screencast.com/users/train-ee/folders/Jing/media/63d1d9fd-dfc0-4778-8d77-c627163e6697/2009-06-23_1129.mp4"></param> <param name="allowFullScreen" value="true"></param> <param name="scale" value="showall"></param> <param name="allowScriptAccess" value="always"></param> <param name="base" value="http://content.screencast.com/users/train-ee/folders/Jing/media/63d1d9fd-dfc0-4778-8d77-c627163e6697/"></param>&nbsp; <embed src="http://content.screencast.com/users/train-ee/folders/Jing/media/63d1d9fd-dfc0-4778-8d77-c627163e6697/jingh264player.swf" quality="high" bgcolor="#FFFFFF" width="480" height="386" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/train-ee/folders/Jing/media/63d1d9fd-dfc0-4778-8d77-c627163e6697/FirstFrame.jpg&amp;containerwidth=480&amp;containerheight=386&amp;showbranding=false&amp;content=http://content.screencast.com/users/train-ee/folders/Jing/media/63d1d9fd-dfc0-4778-8d77-c627163e6697/2009-06-23_1129.mp4" allowFullScreen="true" base="http://content.screencast.com/users/train-ee/folders/Jing/media/63d1d9fd-dfc0-4778-8d77-c627163e6697/" scale="showall"></embed> </object><p>
<br /><br />
If that helped and you want to see how it was done&#8230;read on!</p>

 <p>So just to recap - in this tutorial I have a weblog containing business names.&nbsp; The weblog has two category groups assigned to it - one category containing state names and the other business types.&nbsp; On the site I want to allow users to navigate to a final list of entries in two ways:
</p><ul><li>Select a state</li>
<li>Get a list of valid (only those actually containing results) business types for that state</li>
<li>Select a business type</li>
<li>Get a list of businesses of that type doing business in that state</li></ul>

<p>or</p>

<ul><li>Select a business type</li>
<li>Get a list of valid states (only those actually containing results) having that business type in them</li>
<li>Select a state</li>
<li>Get a list of businesses of that type doing business in that state.</li></ul>

<p><a href="http://www.expressionengine.com/index.php?affiliate=boyink">ExpressionEngine</a> lets you assign multiple category groups to one weblog - which from a content entry and maintenance point of view gets me where I want to be.&nbsp; However there is no built-in way of getting the categories to interact with each other as outlined above - where second-level category list is filtered by a choice from a first-level category group.&nbsp; </p>

<p>I see this as navigation based on a very simplistic <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FFaceted_classification">faceted classification</a> or what I&#8217;ve seen called &#8220;multifaceted navigation&#8221;.&nbsp; I&#8217;m not sure how far you could push this approach with more than two facets but this should provide a good jumping-off point.</p>

<p><strong>Assumptions</strong>
</p><ul>
<li>Your categories are only one layer deep - no nested subcategories</li>
<li>Your category url titles are unique</li>
</ul>

<p><strong>Setup Requirements</strong><br />
Since this is a more advanced tutorial I&#8217;m going to assume you can get through the following without step by step instructions. 
</p><ul>
<li>Weblog named &#8220;businesses&#8221;. For the purposes of this tutorial I have no additional custom fields assigned - all I&#8217;m using is the default title field</li>
<li>Two category groups - one for states and one for business types</li>
<li>Some categories created within the category groups - again all with unique category_url_titles</li>
<li>Knowledge of the category group IDs</li>
<li>No other weblog using those category groups</li>
<li>A number of entries posted into the weblog and assigned to various combinations of categories</li>
<li>The EE <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.expressionengine.com%2Findex.php%3Faffiliate%3Dboyink%26page%3Ddocs%2Fmodules%2Fquery%2Findex.html">Query Module</a> (which is not available in the Core version)</li>
<li>The <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Floweblog.com%2Ffreelance%2Farticle%2Fee-low-seg2cat-extension%2F">Seg2Cat Extension</a> from Lodewijk Schutte installed</li>
</ul>

<p><strong>The Index Template</strong><br />
I&#8217;ve included the templates used here as a downloadable zip file - but let&#8217;s walk through the logic here a template at a time.&nbsp; </p>

<p>The index template has the following code:
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">&#123;if&nbsp;segment_2&nbsp;</span><span style="color: #007700">==</span><span style="color: #DD0000">""</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Select&nbsp;a&nbsp;State</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">categories&nbsp;weblog</span><span style="color: #007700">=</span><span style="color: #DD0000">"businesses"&nbsp;</span><span style="color: #0000BB">category_group</span><span style="color: #007700">=</span><span style="color: #DD0000">"2"&nbsp;</span><span style="color: #0000BB">show_empty</span><span style="color: #007700">=</span><span style="color: #DD0000">"no"&nbsp;</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">a&nbsp;href</span><span style="color: #007700">=</span><span style="color: #DD0000">"/index.php/businesses/in/&#123;category_url_title&#125;/"</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#123;category_name&#125;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">a</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;</span><span style="color: #007700">/</span><span style="color: #0000BB">exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">categories&#125;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;or&nbsp;</span><span style="color: #0000BB">Select&nbsp;a&nbsp;Business&nbsp;Type</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">categories&nbsp;weblog</span><span style="color: #007700">=</span><span style="color: #DD0000">"businesses"&nbsp;</span><span style="color: #0000BB">category_group</span><span style="color: #007700">=</span><span style="color: #DD0000">"4"&nbsp;</span><span style="color: #0000BB">show_empty</span><span style="color: #007700">=</span><span style="color: #DD0000">"no"</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">a&nbsp;href</span><span style="color: #007700">=</span><span style="color: #DD0000">"/index.php/businesses/type/&#123;category_url_title&#125;/"</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#123;category_name&#125;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">a</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;</span><span style="color: #007700">/</span><span style="color: #0000BB">exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">categories&#125;<br /><br />&#123;if</span><span style="color: #007700">:elseif&nbsp;</span><span style="color: #0000BB">segment_2</span><span style="color: #007700">==</span><span style="color: #DD0000">"in"</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">Business&nbsp;Types&nbsp;in&nbsp;&#123;segment_3_category_name&#125;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;embed</span><span style="color: #007700">=</span><span style="color: #DD0000">"businesses/get_categories"&nbsp;</span><span style="color: #0000BB">from_category_group</span><span style="color: #007700">=</span><span style="color: #DD0000">"4"</span><span style="color: #0000BB">&#125;<br /><br />&#123;if</span><span style="color: #007700">:elseif&nbsp;</span><span style="color: #0000BB">segment_2</span><span style="color: #007700">==</span><span style="color: #DD0000">"type"</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">States&nbsp;with&nbsp;&#123;segment_3_category_name&#125;&nbsp;Businesses</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;embed</span><span style="color: #007700">=</span><span style="color: #DD0000">"businesses/get_categories"&nbsp;</span><span style="color: #0000BB">from_category_group</span><span style="color: #007700">=</span><span style="color: #DD0000">"2"</span><span style="color: #0000BB">&#125;<br />&#123;</span><span style="color: #007700">/</span><span style="color: #0000BB">if&#125;&nbsp;</span>
</span>
</code></div>

<p>The first clause in the if statement handles the &#8220;index&#8221; view of the template before any choice has been made.&nbsp; All I&#8217;m doing there is using the standard <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.expressionengine.com%2Findex.php%3Faffiliate%3Dboyink%26page%3Ddocs%2Fmodules%2Fweblog%2Fcategories.html">weblog categories</a> tag to return the top-level choices for each group.&nbsp; Do note the links that I&#8217;m building are not traditional EE category links - I&#8217;m rolling my own here.&nbsp; Businesses is the name of the template group I&#8217;m operating out of.&nbsp; This is the index template, so everything else is virtual.&nbsp; In the next segment I use either &#8220;in&#8221; or &#8220;type&#8221; keywords, then append on the category url title.&nbsp; Clicking any of these links reloads this template (because there are no actual saved templates with the names of &#8220;in&#8221; or &#8220;type&#8221;).</p>

<p>When the template is re-loaded after clicking a top-level category link, one of the next two clauses in the if statement fires, and this is where the Seg2Cat extension kicks in by providing the {segment_3_category_name} variable, which looks at segment 3, sees the category_url_title and returns the category name for it.</p>

<p>Now EE needs to take the selected category, look through the entries in the businesses weblog in that category, and see what categories those entries are assigned to in the <em>other </em>category group.&nbsp; That happens in the embedded &#8220;get_categories&#8221; template&#8212;and that template is made reusable by passing the ID of the category group we want results from.&nbsp; Here&#8217;s the code in that template:</p>

<p><strong>The Embedded Template</strong>
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;<br /></span><span style="color: #0000BB">&#123;exp</span><span style="color: #007700">:</span><span style="color: #0000BB">query&nbsp;sql</span><span style="color: #007700">=</span><span style="color: #DD0000">"<br />&nbsp;&nbsp;&nbsp;&nbsp;SELECT&nbsp;exp_categories_1.cat_id&nbsp;AS&nbsp;my_cat_id,&nbsp;exp_categories_1.cat_name&nbsp;AS&nbsp;my_cat_name,&nbsp;exp_categories_1.cat_url_title&nbsp;AS&nbsp;my_cat_url_title<br />&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;(((exp_categories&nbsp;INNER&nbsp;JOIN&nbsp;exp_category_posts&nbsp;ON&nbsp;exp_categories.cat_id&nbsp;=&nbsp;exp_category_posts.cat_id)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INNER&nbsp;JOIN&nbsp;exp_category_posts&nbsp;AS&nbsp;exp_category_posts_1&nbsp;ON&nbsp;exp_category_posts.entry_id&nbsp;=&nbsp;exp_category_posts_1.entry_id)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INNER&nbsp;JOIN&nbsp;exp_categories&nbsp;AS&nbsp;exp_categories_1&nbsp;ON&nbsp;exp_category_posts_1.cat_id&nbsp;=&nbsp;exp_categories_1.cat_id)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INNER&nbsp;JOIN&nbsp;exp_weblog_titles&nbsp;AS&nbsp;exp_weblog_titles_1&nbsp;ON&nbsp;exp_category_posts.entry_id&nbsp;=&nbsp;exp_weblog_titles_1.entry_id<br />&nbsp;&nbsp;&nbsp;&nbsp;WHERE&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(((exp_categories_1.parent_id)=0)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AND&nbsp;((exp_categories.cat_id)=&#123;segment_3_category_id&#125;)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AND&nbsp;((exp_categories_1.group_id)=&#123;embed:from_category_group&#125;)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AND&nbsp;((exp_weblog_titles_1.status)='open'))<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;GROUP&nbsp;BY&nbsp;exp_categories_1.cat_id,&nbsp;exp_categories_1.cat_name,&nbsp;exp_categories_1.cat_url_title,&nbsp;exp_categories_1.cat_order<br />&nbsp;&nbsp;&nbsp;&nbsp;ORDER&nbsp;BY&nbsp;exp_categories_1.cat_order;"</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;</span><span style="color: #0000BB">a&nbsp;href</span><span style="color: #007700">=</span><span style="color: #DD0000">"/index.php/businesses/list/&#123;segment_3&#125;/&#123;my_cat_url_title&#125;/"</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#123;my_cat_name&#125;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">a</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;<br /></span><span style="color: #0000BB">&#123;</span><span style="color: #007700">/</span><span style="color: #0000BB">exp</span><span style="color: #007700">:</span><span style="color: #0000BB">query&#125;<br /></span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;&nbsp;</span>
</span>
</code></div>

<p>This query essentially:
</p><ul>
<li>Takes a known category ID</li>
<li>Takes a known category group ID</li>
<li>Finds entries assigned to the known category ID</li>
<li>Makes sure those entries have an &#8220;open&#8221; status</li>
<li>Finds what other categories those entries have been assigned to&#8212;from the category group represented by the known category group ID</li>
<li>Builds a list of the unique values it finds</li>
<li>Creates links that contain url_titles from both categories</li>
<li>Orders those results as per the order specified in the Control Panel<li>
</ul>

<p><em>Note - for this example I&#8217;m not specifying a weblog.&nbsp; If you need to narrow the results to a specific weblog you can do that by appending onto the queries WHERE clause and specify the weblog ID.&nbsp; You could also pass that in as an embedded variable if you needed this embedded template to be flexible in what weblog it looked at.</em></p>

<p>Again the magic happening in this code is provided by the Seg2Cat extension that gives access to a category ID based on the category url title currently being displayed.&nbsp; The extension comes in handy yet again on the final template - the list template:</p>

<p><strong>The List Template</strong>
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">&lt;</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#123;segment_3_category_name&#125;&nbsp;&#123;segment_4_category_name&#125;&nbsp;Businesses</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">h2</span><span style="color: #007700">&gt;<br />&lt;</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&nbsp;weblog</span><span style="color: #007700">=</span><span style="color: #DD0000">"businesses"&nbsp;</span><span style="color: #0000BB">category</span><span style="color: #007700">=</span><span style="color: #DD0000">"&#123;segment_3_category_id&#125;&amp;&#123;segment_4_category_id&#125;"</span><span style="color: #0000BB">&#125;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">&#123;title&#125;</span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">li</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#123;</span><span style="color: #007700">/</span><span style="color: #0000BB">exp</span><span style="color: #007700">:</span><span style="color: #0000BB">weblog</span><span style="color: #007700">:</span><span style="color: #0000BB">entries&#125;<br /></span><span style="color: #007700">&lt;/</span><span style="color: #0000BB">ul</span><span style="color: #007700">&gt;&nbsp;</span>
</span>
</code></div>

<p>Seg2Cat is necessary here to get around another limitation of the native weblog:entries tag&#8212;in that while it has the <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.expressionengine.com%2Findex.php%3Faffiliate%3Dboyink%26page%3Ddocs%2Fmodules%2Fweblog%2Fparameters.html%23par_category">category parameter</a> which can find only entries that exist in two categories, it needs category ID&#8217;s rather than the more SEO-friendly category_url_titles.&nbsp; Seg2Cat again steps in to provide the translation of category_url_titles to category IDs - so now I can have URLs like:</p>

<div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">/</span><span style="color: #0000BB">index</span><span style="color: #007700">.</span><span style="color: #0000BB">php</span><span style="color: #007700">/</span><span style="color: #0000BB">businesses</span><span style="color: #007700">/list/</span><span style="color: #0000BB">alabama</span><span style="color: #007700">/</span><span style="color: #0000BB">big_box_retailer</span><span style="color: #007700">/&nbsp;</span>
</span>
</code></div><p>
or 
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #007700">/</span><span style="color: #0000BB">index</span><span style="color: #007700">.</span><span style="color: #0000BB">php</span><span style="color: #007700">/</span><span style="color: #0000BB">businesses</span><span style="color: #007700">/list/</span><span style="color: #0000BB">big_box_retailer</span><span style="color: #007700">/</span><span style="color: #0000BB">alabama</span><span style="color: #007700">/&nbsp;</span>
</span>
</code></div>

<p>...and the weblog:entries tag can still function.&nbsp; Note also that while these URLs are using category_url_titles they are not using the typical /category/ segment needed when using EE categories.</p>

<p>So there you have it!&nbsp; While this tutorial is a bit more advanced, what with an extension, embedded template using an embedded variable, segment variables, and conditionals&#8212; it all comes together to create a nifty little front-end navigation approach with search-friendly URLs and easy client content maintenance.</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>
		]]>
	</description>       

      <dc:subject>Static Content / Dynamic Nav, Advanced Coding</dc:subject>
      <dc:date>2009-06-23T14:36:51+00:00</dc:date>
    </item>

    <item>
      <title>Splitting a Site out of an ExpressionEngine Multiple Site Manager Installation</title>
      <link>http://www.train-ee.com/courseware/free-tutorials/comments/splitting-a-site-out-of-an-ee-msm-installation/</link>
      <guid>http://www.train-ee.com/courseware/free-tutorials/comments/splitting-a-site-out-of-an-ee-msm-installation/#When:19:46:38Z</guid>
	<description>
		<![CDATA[
			<p>As part of the <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.train-ee.com%2Fcourseware%2Ffree-tutorials%2Fcategory%2Fbuilding-a-church-site%2F">Building a Church Site Series</a> I&#8217;ll be auctioning off a copy of the complete site with proceeds going to charity.&nbsp; Part of my preparations for that auction are getting the site installed on it&#8217;s own hosting account.&nbsp; No big deal, except for Train-ee.com uses the <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.expressionengine.com%2Findex.php%3Faffiliate%3Dboyink%26page%3D%2Fdownloads%2Fdetails%2Fmultiple_site_manager%2F">Multiple Site Manager</a> to run the main site plus the church site and the <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fsmall-business.train-ee.com%2F">Small Business Site</a> featured in an <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.train-ee.com%2Fcourseware%2Ffree-tutorials%2Fcategory%2Fbuilding-a-small-business-site%2F">earlier series</a>.&nbsp; There is no automated way to pull a single site out of an MSM installation, so this article will cover the process I went through to do so.
</p> <p><strong>Disclaimer</strong><br />
<em>Methods used in this article directly manipulate the EE database and as such are somewhat risky.&nbsp; They are best undertaken by people experienced with databases and SQL statements. By no means do this on a live site!&nbsp; Make a backup or two before proceeding, and do your manipulations on a copy. And - proceed at your own risk.&nbsp; I or Train-ee.com will not be held responsible for damage inflicted to your site by attempting this work on your own.</em></p>

<p><strong>The Situation:</strong><br />
OK - so here&#8217;s what I had:
</p><ul><li>Three sites total, with the target site being #2</li>
<li>A whole bunch of registered user accounts in multiple member groups</li>
<li>All templates stored in the database (vs external flat files)</li>
<li>Site hosted at EngineHosting (who do, in fact, rock)</li>
</ul>

<p><strong>Starting Out</strong><br />
I did what anyone in this situation might do - searched the EE Forums to see if anyone else had done this and posted any tips or gotchas.&nbsp; I came up with <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fexpressionengine.com%2Fforums%2Fviewthread%2F91313%2F">this thread</a> which served to lay out my basic workflow:
</p><ul><li>Make a backup of the entire site</li>
<li>Download the database locally for manipulation</li>
<li>Delete Site #3 entirely<li>
<li>Clean out all weblogs, field groups, status groups, member accounts, template groups and templates from Site #1</li>
<li>Go through the database and change all site_id&#8217;s currently storing Site #2 to store Site #1 instead (effectively moving all EE backend objects from Site #2 to Site #1)</li>
<li>Once Site #2 objects have been moved over to Site #1, delete Site #2</li>
<li>Once done/successful upload single site to new host</li>
</ul>

<p>I had a feeling this would make a good article for Train-ee so kept notes during the process.&nbsp; Below are those notes, prettied up a bit, but still including the stops and starts that I ran into as I felt it was important to note what kind of issues can come up in this type of work.</p>

<p><strong>Loading the Database</strong><br />
I logged into the EngineHosting Control Panel and did a databse backup of Train-ee.com using PHPMySQL.&nbsp; So far so good.</p>

<p>Once I had the db backup saved locally I fired up my WAMP setup and set about to load the database locally.&nbsp; Attempting to import the database using the PHPMySQL interface I got a PHP file size limit error.&nbsp; I&#8217;ve run into this before trying to load tables back into the database and found this <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.ozerov.de%2Fbigdump.php">Staggered MySQL Dump Importer Script</a> named BigDump that works a treat.&nbsp; I configured that and ran it, but then ran into an error about the database backup containing Extended Inserts.&nbsp; I went back to the Train-ee hosting control panel and re-ran the export with Complete Inserts only.&nbsp; I ran BigDump again and the database imported without error.</p>

<p><strong>EE Control Panel</strong><br />
I loaded ExpressionEngine but found that the Control Panel wasn&#8217;t loading any styles. I updated paths under Admin  / System Preferences to no avail.&nbsp; I then also noticed that my local EE install was 1.6.6 yet - and worried about bringing in 1.6.7 data to an 1.6.6 install.&nbsp; I updated ExpressionEngine to 1.6.7 successfully but still had no Control Panel styles.</p>

<p>I found that the Theme Folder Path still wasn&#8217;t correct (I looked at the WAMP/EE setup on another system for direction).&nbsp; I specified a full path for the theme folder starting from C:\ and once I updated the Control Panel styles returned.&nbsp;  I also had to remember to update these same paths in the configuration of the other MSM sites.</p>

<p><strong>Re-arranging the Furniture</strong><br />
I deleted Site #3 using the CP interface - easy peasey there.</p>

<p>I then set about deleting all the objects within Site #1:
</p><ul><li>Weblogs</li>
<li>Field Groups</li>
<li>Category Groups</li>
<li>Custom Status Groups</li>
<li>Template Groups</li>
<li>Member Groups</li>
</ul>

<p><strong>Member Accounts</strong><br />
<strong><em>Remember - deleting members also deletes their entries and comments.&nbsp; This was fine in my case but may not be for you if your site has user-generated content that you wish to move over.</em></strong></p>

<p>While I was deleting member groups, ExpressionEngine put all the members into Banned group - which you can&#8217;t delete.&nbsp; I still wanted all these accounts gone, so at first started deleting members via the Control Panel.&nbsp; This only deletes 30 or so at a time, however so I started to wonder if a SQL-based approach might work faster. I turned on <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.expressionengine.com%2Fdocs%2Fcp%2Fadmin%2Fsystem_preferences%2Foutput_and_debugging_preferences.html">Display SQL Queries</a> in hopes of being able to copy and modify the query that EE generates and delete all the members at once, but the queries are relatively complex with ID&#8217;s getting specified everywhere so that approach looked too hard.&nbsp; I ended up just turning the queries back off and used interface controls to delete all member accounts except for my SuperAdmin login.</p>

<p><strong>Database Updates</strong><br />
When you install the MSM Expansion, EE makes use of a Site ID contained in many of the tables.&nbsp; The value in this field tells EE which site a particular database record is associated with.&nbsp; The task at hand, then, is to go through the database, find those records that have a site_id of &#8220;2&#8221;, and change those records to instead have a site_id of &#8220;1&#8221;.&nbsp; This effectively moves all backend objects from Site #2 to Site #1.&nbsp; I recommend doing this table by table, as I ran into a few that I choose not to touch.&nbsp; </p>

<p>Here is the query statement I used:</p>

<div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">UPDATE&nbsp;exp_table_name_here&nbsp;SET&nbsp;exp_table_name_here</span><span style="color: #007700">.</span><span style="color: #0000BB">site_id&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"1"</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div>

<p>I kept this query in a Notepad document where I could change the table name as needed.&nbsp; </p>

<p>There are two spots in the EE interface you want to be in during this process - so have two tabs or two browser windows available. Both of these are found under Admin > Utilities > SQL Manager.&nbsp; The first one you want is the <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.expressionengine.com%2Findex.php%3Faffiliate%3Dboyink%26page%3Ddocs%2Fcp%2Fadmin%2Futilities%2Fsql_query_form.html">SQL Query Form</a>.&nbsp; The other one is the <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.expressionengine.com%2Findex.php%3Faffiliate%3Dboyink%26page%3Ddocs%2Fcp%2Fadmin%2Futilities%2Fsql_manage_tables.html">Manage Database Tables</a> interface.&nbsp; Note that you could do this all within PHPMySQL as well, I just chose to stay in ExpressionEngine.</p>

<p>The workflow is:
</p><ul><li>Go through the Manage Database Tables interface one table at a time</li>
<li>Look for tables that have data</li>
<li>Click the Browse link to take a look at the data</li>
<li>If the table has the site_id field (usually it&#8217;s one of the first couple of fields) then the update query needs to run on that table</li>
<li>Edit the SQL query to use the name of the table you&#8217;re looking at</li>
<li>Paste that query into the SQL Query Form</li>
<li>Click Submit - You should get a message about the number of rows affected</li></ul>

<p>Here&#8217;s my list - if a table is mentioned with no notes I ran the query against it.&nbsp; Tables not mentioned either had no data or no site_id field.&nbsp; Tables with notes had the data but I chose to leave them alone for reasons indicated:
</p><ul><li>exp_categories</li>
<li>exp_category_field_data</li>
<li>exp_category_groups</li>
<li>exp_comments</li>
<li>exp_cp_log</li>
<li>exp_field_groups</li>
<li>exp_html_buttons</li>
<li>exp_member_groups: I left this one alone as I didn&#8217;t want to mess up my own login.&nbsp; I figured appropriate member groups will be deleted when site #2 is deleted.</li>
<li>exp_online_users</li>
<li>exp_referrers</li>
<li>exp_search_log</li>
<li>exp_sites - I&#8217;m going to leave this one alone as well as I expect it&#8217;ll get updated when I delete Site #2</li>
<li>exp_specialty_templates - going to leave this one alone assuming deletions will happen here when I delete Site #2</li>
<li>exp_stats: I&#8217;m also leaving this one alone as it&#8217;s not mission critical and I expect it to be updated when I delete Site #2.</li>
<li>exp_status_groups</li>
<li>exp_template_groups</li>
<li>exp_templates</li>
<li>exp_upload_prefs</li>
<li>exp_weblog_data</li>
<li>exp_weblog_fields</li>
<li>exp_weblog_titles</li>
<li>exp_weblogs</li></ul>

<p>With the database updates all done I went back through the EE Control Panel - and it appeared to have worked.&nbsp; All template groups, weblogs, posts, field groups, category groups etc that were all previously in Site #2 were now showing in Site #1. I made a few quick posts, saving then deleting them with no error. I then went into the Sites menu and deleted Site #2.</p>

<p><strong>The Rest of the Site</strong><br />
I then moved all ancillary files from server to local - images, JavaScript files, etc. Once these were pulled down I tried to load the site in my browser.&nbsp; I forgot a couple of plugin files and got an error to that extent.&nbsp; Once I installed the missing plugins the site loaded and functioned normally.</p>

<p>Success!&nbsp; At this point the site is running well locally - and I foresee no real issues with loading it up to a new hosting account where it can stand on it&#8217;s own feet.&nbsp; </p>

<p><strong>The Last Step</strong><br />
There&#8217;s no real way to &#8220;completely uninstall&#8221; MSM - the site_id field will remain in the database  The last step - to remove the MSM related options from the CP - would be to edit the config.php file to include:
</p><div class="codeblock"><code><span style="color: #000000">
<span style="color: #0000BB">$conf&#91;</span><span style="color: #DD0000">'multiple_sites_enabled'</span><span style="color: #0000BB">&#93;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"n"</span><span style="color: #007700">;&nbsp;</span>
</span>
</code></div>

<p>(Thanks to the EE Tech Support staff for input on that one).</p>

<p>I&#8217;d say this process took roughly 2.5 to 3 hours&#8212;and while it&#8217;s always a bit unnerving to go muck about at the database level it seemed to come off fairly easily.&nbsp; If you undertake this process and encounter other issues or gotchas be sure to leave a comment!
</p>
		]]>
	</description>       

      <dc:subject>Advanced Coding</dc:subject>
      <dc:date>2009-04-08T19:46:38+00:00</dc:date>
    </item>

    <item>
      <title>Comment Spam Prevention Extension for ExpressionEngine</title>
      <link>http://www.train-ee.com/courseware/free-tutorials/comments/comment-spam-prevention-extension-for-expressionengine/</link>
      <guid>http://www.train-ee.com/courseware/free-tutorials/comments/comment-spam-prevention-extension-for-expressionengine/#When:14:51:11Z</guid>
	<description>
		<![CDATA[
			<p>In a <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fwww.train-ee.com%2Fcourseware%2Ffree-tutorials%2Fcomments%2Fexpressionengine-comments-editing-in-groups-and-moving%2F">previous screencast</a> I showed how to delete comments in bulk - handy for those times when your site gets alot of spam comments.&nbsp; What I want to make sure is that you know that there are tools out there to help prevent getting spam in the first place.&nbsp;  In addition to the popular <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Floweblog.com%2Ffreelance%2Farticle%2Fakismet-for-expression-engine%2F">Askimet</a> and <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fexpressionengine.com%2Fdownloads%2Fdetails%2Fbad_behavior%2F">Bad Behavior</a> extensions there is also a lesser-known <a href="http://www.train-ee.com/courseware?URL=http%3A%2F%2Fexpressionengine.com%2Fdownloads%2Fdetails%2Fcomment_spam_prevention%2F">Comment Spam Prevention</a> extension for <a href="http://www.expressionengine.com/index.php?affiliate=boyink">ExpressionEngine</a>-based sites, and this extension is the feature of this installment in the quick and dirty screencast series.
</p> <object width="470" height="269"> <param name="movie" value="http://content.screencast.com/users/Train-ee.com/folders/Jing/media/529dbc98-3daa-409c-856e-f7a0428ecefe/jingh264player.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#FFFFFF"></param> <param name="flashVars" value="thumb=http://content.screencast.com/users/Train-ee.com/folders/Jing/media/529dbc98-3daa-409c-856e-f7a0428ecefe/FirstFrame.jpg&amp;containerwidth=470&amp;containerheight=269&amp;showbranding=false&amp;content=http://content.screencast.com/users/Train-ee.com/folders/Jing/media/529dbc98-3daa-409c-856e-f7a0428ecefe/2009-04-07_1043.mp4"></param> <param name="allowFullScreen" value="true"></param> <param name="scale" value="showall"></param> <param name="allowScriptAccess" value="always"></param> <param name="base" value="http://content.screencast.com/users/Train-ee.com/folders/Jing/media/529dbc98-3daa-409c-856e-f7a0428ecefe/"></param>&nbsp; <embed src="http://content.screencast.com/users/Train-ee.com/folders/Jing/media/529dbc98-3daa-409c-856e-f7a0428ecefe/jingh264player.swf" quality="high" bgcolor="#FFFFFF" width="470" height="269" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/Train-ee.com/folders/Jing/media/529dbc98-3daa-409c-856e-f7a0428ecefe/FirstFrame.jpg&amp;containerwidth=470&amp;containerheight=269&amp;showbranding=false&amp;content=http://content.screencast.com/users/Train-ee.com/folders/Jing/media/529dbc98-3daa-409c-856e-f7a0428ecefe/2009-04-07_1043.mp4" allowFullScreen="true" base="http://content.screencast.com/users/Train-ee.com/folders/Jing/media/529dbc98-3daa-409c-856e-f7a0428ecefe/" scale="showall"></embed> </object><p>
<br /><br />
<br />
</p>
		]]>
	</description>       

      <dc:subject>Quick n Dirty Screencasts</dc:subject>
      <dc:date>2009-04-07T14:51:11+00:00</dc:date>
    </item>

    <item>
      <title>Adding Tabs in the Control Panel</title>
      <link>http://www.train-ee.com/courseware/free-tutorials/comments/adding-tabs-in-the-control-panel/</link>
      <guid>http://www.train-ee.com/courseware/free-tutorials/comments/adding-tabs-in-the-control-panel/#When:13:47:37Z</guid>
	<description>
		<![CDATA[
			<p>In this short screencast I show how to add tabs to the <a href="http://www.expressionengine.com/index.php?affiliate=boyink">ExpressionEngine</a> Control Panel main navigation.&nbsp; Adding tabs to Control Panel &#8220;hotspots&#8221; like the Weblog Administration or Field Group administration can save you some development time.&nbsp; 
</p> <object width="470" height="244"> <param name="movie" value="http://content.screencast.com/users/Train-ee.com/folders/Jing/media/d042897e-b4ea-4ff2-9863-eeef470522cb/jingh264player.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#FFFFFF"></param> <param name="flashVars" value="thumb=http://content.screencast.com/users/Train-ee.com/folders/Jing/media/d042897e-b4ea-4ff2-9863-eeef470522cb/FirstFrame.jpg&amp;containerwidth=470&amp;containerheight=244&amp;showbranding=false&amp;content=http://content.screencast.com/users/Train-ee.com/folders/Jing/media/d042897e-b4ea-4ff2-9863-eeef470522cb/2009-04-02_0944.mp4"></param> <param name="allowFullScreen" value="true"></param> <param name="scale" value="showall"></param> <param name="allowScriptAccess" value="always"></param> <param name="base" value="http://content.screencast.com/users/Train-ee.com/folders/Jing/media/d042897e-b4ea-4ff2-9863-eeef470522cb/"></param>&nbsp; <embed src="http://content.screencast.com/users/Train-ee.com/folders/Jing/media/d042897e-b4ea-4ff2-9863-eeef470522cb/jingh264player.swf" quality="high" bgcolor="#FFFFFF" width="470" height="244" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/Train-ee.com/folders/Jing/media/d042897e-b4ea-4ff2-9863-eeef470522cb/FirstFrame.jpg&amp;containerwidth=470&amp;containerheight=244&amp;showbranding=false&amp;content=http://content.screencast.com/users/Train-ee.com/folders/Jing/media/d042897e-b4ea-4ff2-9863-eeef470522cb/2009-04-02_0944.mp4" allowFullScreen="true" base="http://content.screencast.com/users/Train-ee.com/folders/Jing/media/d042897e-b4ea-4ff2-9863-eeef470522cb/" scale="showall"></embed> </object><p>
<br /></p>


		]]>
	</description>       

      <dc:subject>Control Panel, Quick n Dirty Screencasts</dc:subject>
      <dc:date>2009-04-02T13:47:37+00:00</dc:date>
    </item>

    <item>
      <title>Multiselecting Template Groups</title>
      <link>http://www.train-ee.com/courseware/free-tutorials/comments/multiselecting-template-groups/</link>
      <guid>http://www.train-ee.com/courseware/free-tutorials/comments/multiselecting-template-groups/#When:13:03:41Z</guid>
	<description>
		<![CDATA[
			<p>This short screencasts shows the multi-select feature on the Templates tab of <a href="http://www.expressionengine.com/index.php?affiliate=boyink">ExpressionEngine</a>.
</p> <object width="470" height="277"> <param name="movie" value="http://content.screencast.com/users/Train-ee.com/folders/Jing/media/c6caa8a0-707a-4138-ac64-c4752bb9094e/jingh264player.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#FFFFFF"></param> <param name="flashVars" value="thumb=http://content.screencast.com/users/Train-ee.com/folders/Jing/media/c6caa8a0-707a-4138-ac64-c4752bb9094e/FirstFrame.jpg&amp;containerwidth=470&amp;containerheight=277&amp;showbranding=false&amp;content=http://content.screencast.com/users/Train-ee.com/folders/Jing/media/c6caa8a0-707a-4138-ac64-c4752bb9094e/2009-03-30_0859.mp4"></param> <param name="allowFullScreen" value="true"></param> <param name="scale" value="showall"></param> <param name="allowScriptAccess" value="always"></param> <param name="base" value="http://content.screencast.com/users/Train-ee.com/folders/Jing/media/c6caa8a0-707a-4138-ac64-c4752bb9094e/"></param>&nbsp; <embed src="http://content.screencast.com/users/Train-ee.com/folders/Jing/media/c6caa8a0-707a-4138-ac64-c4752bb9094e/jingh264player.swf" quality="high" bgcolor="#FFFFFF" width="470" height="277" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/Train-ee.com/folders/Jing/media/c6caa8a0-707a-4138-ac64-c4752bb9094e/FirstFrame.jpg&amp;containerwidth=470&amp;containerheight=277&amp;showbranding=false&amp;content=http://content.screencast.com/users/Train-ee.com/folders/Jing/media/c6caa8a0-707a-4138-ac64-c4752bb9094e/2009-03-30_0859.mp4" allowFullScreen="true" base="http://content.screencast.com/users/Train-ee.com/folders/Jing/media/c6caa8a0-707a-4138-ac64-c4752bb9094e/" scale="showall"></embed> </object><p>
<br /><br />
<br /></p>


		]]>
	</description>       

      <dc:subject>Control Panel, Quick n Dirty Screencasts</dc:subject>
      <dc:date>2009-03-30T13:03:41+00:00</dc:date>
    </item>

    
    </channel>
</rss>