<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>The Composing Stick</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/" />
    <link rel="self" type="application/atom+xml" href="http://thecomposingstick.com/atom.xml" />
    <id>tag:thecomposingstick.com,2008-08-24://1</id>
    <updated>2010-06-19T22:16:22Z</updated>
    <subtitle>Building Blogs with Movable Type</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.25</generator>

<entry>
    <title>HashTag Plugin Coming Soon bit.ly Support</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/2010/06/hashtag-plugin-coming-soon-bitly-support.html" />
    <id>tag:thecomposingstick.com,2010://1.39</id>

    <published>2010-06-19T22:13:00Z</published>
    <updated>2010-06-19T22:16:22Z</updated>

    <summary>If you are following me on Twitter you would have seen some junk posts today. Sorry, I was testing a new feature coming in the next release of HashTag - bit.ly support. All you need is an ID and an...</summary>
    <author>
        <name>Webmaster</name>
        <uri>http://thecomposingstick.com/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://thecomposingstick.com/">
        <![CDATA[<p>If you are following me on Twitter you would have seen some junk posts today. Sorry, I was testing a new feature coming in the next release of HashTag - bit.ly support. All you need is an ID and an API key and the HashTag plugin will shorten all the URL's you tweet.</p>

<p>I promise to set up a test account on Twiiter in the future to keep the junk out of your feeds.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>HashTag Plugin Development Update.</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/2010/06/hashtag-plugin-development-update.html" />
    <id>tag:thecomposingstick.com,2010://1.38</id>

    <published>2010-06-18T21:50:40Z</published>
    <updated>2010-06-18T22:06:12Z</updated>

    <summary>Because of the volume of traffic cause by the World Cup, Twitter have decided to delay the switching off of Basic Authentication until 16th August 2010. This is to give developers more time to test in a less &apos;overloaded&apos; environment....</summary>
    <author>
        <name>Webmaster</name>
        <uri>http://thecomposingstick.com/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://thecomposingstick.com/">
        <![CDATA[<p>Because of the volume of traffic cause by the World Cup, Twitter have decided to delay the switching off of Basic Authentication until 16th August 2010. This is to give developers more time to test in a less 'overloaded' environment.</p>

<p>This gives me a bit more time for development and testing and here is the current status.</p>

<p>I found a plugin called <a href="http://github.com/aklaswad/mt-plugin-oauth-framework">mt-plugin-oauth-framework</a> created by Akira Sawada of 6A Japan that does most of the heavy lifting for authorisation and includes a sample app to tweet from the blog dashboard. This plugin was initially written for MT5.x and requires you to delete some of the libraries in the exlib to work on MT4.x.</p>

<p>The application has been registered on Twitter (as MT-HashTag as the app name HashTag was already taken). This means that any tweets have via MT-HashTag in the meta data (see below)</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://thecomposingstick.com/assets_c/2010/06/viaMT-Hashtag-32.html" onclick="window.open('http://thecomposingstick.com/assets_c/2010/06/viaMT-Hashtag-32.html','popup','width=600,height=115,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://thecomposingstick.com/assets_c/2010/06/viaMT-Hashtag-thumb-400x76-32.png" width="400" height="76" alt="viaMT-Hashtag.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></p>

<p>I have a alpha version of the plugin working on <a href="http://thecomposingstick.com">The Composing Stick</a> the only problem at the moment is that it needs my secret key to work, which should not be distributed for obvious reasons. Twitter is supposed to be fixing this soon (before 16th August soon) so there may be an additional step required to get the plugin working.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>HashTag Plugin and Changes to Twitter</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/2010/06/hashtag-plugin-and-changes-to-twitter.html" />
    <id>tag:thecomposingstick.com,2010://1.37</id>

    <published>2010-06-12T08:29:57Z</published>
    <updated>2010-06-12T08:34:42Z</updated>

    <summary>On the 30th June Twitter is switching off Basic Authentication on the Twitter API, this means that 3rd party applications that use it, such as the HashTag plugin, will no longer function. I am currently adding support for OAuth to...</summary>
    <author>
        <name>Webmaster</name>
        <uri>http://thecomposingstick.com/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://thecomposingstick.com/">
        <![CDATA[<p>On the 30th June Twitter is switching off Basic Authentication on the Twitter API, this means that 3rd party applications that use it, such as the HashTag plugin, will no longer function. I am currently adding support for OAuth to HashTag and will release a new version at the end of the month.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Now on YouTube</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/2010/05/now-on-youtube.html" />
    <id>tag:thecomposingstick.com,2010://1.36</id>

    <published>2010-05-15T14:13:14Z</published>
    <updated>2010-05-15T14:39:01Z</updated>

    <summary>Once in while, when answering questions on the Movable Type IRC channel or the support forums I find it easier to show rather than tell, a video can break through a language barrier and miscommunication faster than words. These have...</summary>
    <author>
        <name>Webmaster</name>
        <uri>http://thecomposingstick.com/</uri>
    </author>
    
    <category term="mt" label="mt" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="openmelody" label="openmelody" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://thecomposingstick.com/">
        <![CDATA[<p>Once in while, when answering questions on the Movable Type IRC channel or the support forums I find it easier to show rather than tell, a video can break through a language barrier and miscommunication faster than words. These have been recorded using <a href="http://www.jingproject.com/">Jing</a> and uploaded to <a href="http://screencast.com">Screencast.com</a> with a private link to the question asker.</p>

<p>I am now in the process of moving these to <a href="http://www.youtube.com/user/thecomposingstick">The Composing Stick You Tube Channel</a>. Here is the first video to go up.</p>

<h2>Creating Per Category Feeds</h2>
<object width="445" height="364"><param name="movie" value="http://www.youtube-nocookie.com/v/YdEKNGFknCs&hl=en_US&fs=1&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube-nocookie.com/v/YdEKNGFknCs&hl=en_US&fs=1&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="364"></embed></object>]]>
        
    </content>
</entry>

<entry>
    <title>Using jQuery with Movable Type</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/2010/03/using-jquery-with-movable-type.html" />
    <id>tag:www.composing-stick.net,2010://1.35</id>

    <published>2010-03-28T18:33:08Z</published>
    <updated>2010-04-08T10:37:15Z</updated>

    <summary>Introduction jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development Today we are going to look at a proof of concept that uses jQuery and the...</summary>
    <author>
        <name>Webmaster</name>
        <uri>http://thecomposingstick.com/</uri>
    </author>
    
        <category term="How To" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="2x" label="2.x" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="3x" label="3.x" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="4x" label="4.x" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="5x" label="5.x" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="jquery" label="jquery" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mt" label="mt" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="openmelody" label="openmelody" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://thecomposingstick.com/">
        <![CDATA[<h2>Introduction</h2>
<p><a href="http://jquery.org" target="_blank">jQuery</a> is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development </p>

<p>Today we are going to look at a proof of concept that uses jQuery and the <a href="http://datatables.net/" target="_blank">Datatables</a> plugin to product a paginated list of entries in Movable Type. By calling it a proof of concept I can get away with a few rough edges and make a series of posts on getting it smooth.</p>

<p>What we are going to do is create a JSON formatted text file with information about the entries for the archive and a archive template that will read the file to create the table. If you want to read ahead you can follow the link to see the final product, <a href="http://thecomposingstick.com/jq_archive_demo.html">a sortable, paginated list of blog entries</a>.

<h2>What you need</h2>

<ul>
  <li>A working Movable Type Installation.</li>
  <li>The Datatables plugin. You can download it from <a href="http://datatables.net/" target="_blank">http://datatables.net</a>.</li>
  <li>A jQuery Theme. You can download it from <a href="http://jqueryui.com" target="_blank">http://jqueryui.com</a>.</li>
</ul>

<h2>Step 1: Copy the files to the server</h2>
<p>The datatable plugin and the jQuery theme need to be uploaded to the server. In my example the datatable plugin has been uploaded to /jq/dt/ and the theme to /jq/ui/.</p>

<h2>Step 2: Creating a JSON formatted text file.</h2>
<p>JSON stands for JavaScript Object Notation and is a lightweight data-interchange format, easy for humans to read and write, and easy for machines to parse and generate. You can find more information at <a href="http://www.json.org/">http://www.json.org/</a>.</p>

<p>What we need is a template that creates an array called aaData that has and array for each entry with the following information; Date, Title and an excerpt.</p>

<p>Log into the administration page for your blog and from the menu select Design > Templates
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="Design_Templates.png" src="http://thecomposingstick.com/images/Design_Templates.png" width="526" height="115" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></span></p>

<p>Under Blog Templates select create index template </p> <span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="Index_Templates.png" src="http://thecomposingstick.com/images/Index_Templates.png" width="209" height="121" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span>

<p>Enter JSON Entries as the name of the template at the top of the page.</p>

<p>Enter the following template code:</p>
<pre>
<code>
  {
   &quot;aaData&quot; : [
    &lt;mt:entries lastn=&quot;1000&quot;&gt;[
      &quot;&lt;mt:entrydate format=&quot;%Y-%m-%dT%H:%M:%S&quot;&gt;&quot;,
      &quot;&lt;a href=\&quot;&lt;mt:entrypermalink&gt;\&quot;&gt;&lt;mt:entrytitle&gt;&lt;/a&gt;&quot;,
      &quot;&lt;mt:entryexcerpt words=&quot;15&quot;&gt;&quot;
      ]&lt;mt:unless name=&quot;__last__&quot;&gt;,&lt;/mt:unless&gt;&lt;/mt:entries&gt;
   ]
}
</code>
</pre>

<p>Under template options use json_entries.txt as the output file and choose your publishing method. I have chosen via publishing queue so it will be built later via a cron job rather than take up publishing time updating the file.</p>

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="json_entries.png" src="http://thecomposingstick.com/images/json_entries.png" width="694" height="236" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span>

<h3>So what does this mean?</h3>
<p>Well this template will take the last 1000 entries and for each entry output the date and time (as YYYY-MM-DDTHH:MM:SS, although you can change this to any JavaScript supported data format), the title of the post as a link to the post and the first 15 words of the posts as an excerpt. The template will generate a file called json_entries.txt that we will use later.</p>

<h2>Step 3: The Archive Page</h2>
<p>For this proof of concept we are going to create a blank page with the table in it, in a later post I will go through adding it in to an existing template. So we go through the same process as stage 2 and create a new index template. This time we are going to call it jQuery Archive.</p>

<p>Enter the following code:</p>
<pre>
<code>
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;title&gt;Archive Test&lt;/title&gt;
    &lt;style&gt;
        @import &quot;jq/dt/media/css/demo_page.css&quot;;
        @import &quot;jq/dt/media/css/demo_table_jui.css&quot;;
        @import &quot;jq/ui/css/smoothness/jquery-ui-1.7.2.custom.css&quot;;
    &lt;/style&gt;
&lt;script type=&quot;text/javascript&quot; language=&quot;javascript&quot; src=&quot;jq/dt/media/js/jquery.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; language=&quot;javascript&quot; src=&quot;jq/dt/media/js/jquery.dataTables.js&quot;&gt;&lt;/script&gt;
		&lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;
			$(document).ready(function() {
                    oTable= $('#example').dataTable( {
                        &quot;bAutoWidth&quot; : false,
                    &quot;bJQueryUI&quot;  : true,    
                    &quot;bProcessing&quot;: true,
                    &quot;bPaginate&quot;  : true,
                    &quot;sPaginationType&quot; : 'full_numbers',
                    &quot;sAjaxSource&quot;: 'json_entries.txt',
                    &quot;aoColumns&quot; : [
                        null,
                        {&quot;sType&quot;: &quot;html&quot;},
                        null
                        ]
				} );
			} );
        &lt;/script&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot; class=&quot;display&quot;
            id=&quot;example&quot;&gt;
        &lt;thead&gt;
            &lt;tr&gt;
                &lt;th &gt;Date Posted&lt;/th&gt;
                &lt;th &gt;Title&lt;/th&gt;
                &lt;th&gt;Excerpt&lt;/th&gt;
            &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;
&lt;/body&gt;
&lt;/html&gt;
</code>
</pre>

<p>Under template options use jq_archive_demo.html as the output file and choose manual for the publishing method as this only needs to be built once, all the data will be coming from the JSON file we created.</p>

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="jq_archive_demo.png" src="http://thecomposingstick.com/images/jq_archive_demo.png" width="690" height="236" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span>

<h3>So what does this mean?</h3>
<p>Let us start from the top.</p> 
<ul>
<li>First we import the stylesheets for the datatable plugin and for the jQuery-ui (in our case smoothness). </li>
<li>Then we call the jQuery and Datatable script files and initialize the datatable with the id of example; we disable the automatic calculation of column widths as this can slow the process down, we enable the use of themes, enable a processing dialog when sorting, turn on pagination, point it to the file full of data and tell the plugin that the 2nd column contains html so ignore markup when sorting.</li>
<li>In the body of the page we create an empty three column table, the plugin needs us to use the thead and tbody tags to make it clear what are headers.</li>
</ul>

<h2>Step 4: Build the Templates Once</h2>
<p>To kick start it build the JSON Entries and jQuery Archive templates manually once. The archive should now be working</p>

<h2>Troubleshooting</h2>
<p>Blank table with no JavaScript errors? </p>
<ul>
	<li>Check that json_entries.txt exists on the server. If not try manually building the template again.</li>
<li>Check that json_entries.txt has entries in it.</li>
<li>Check that the JSON is valid by using <a href="http://jsonlint.com">JSON Lint</a></li>
</ul>
<p>JavaScript errors</p>
<ul>
	<li>Check the paths to the script files are correct</li>
<li>Check that the table id is correct</li>
</ul>
<p>Unstyled Table</p>
<ul>
	<li>Check the paths to the css files are correct</li>
</ul>



]]>
        
    </content>
</entry>

<entry>
    <title>HashTag now on GitHub</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/2010/03/hashtag-now-on-github.html" />
    <id>tag:www.composing-stick.net,2010://1.34</id>

    <published>2010-03-07T20:34:00Z</published>
    <updated>2010-03-07T20:37:39Z</updated>

    <summary>I have moved the source code for HashTag from my private SVN over to GitHub. If you want to contribute any changes you can find it here http://github.com/TheComposingStick/HashTag. I have also set up an account on Lighthouse to track bugs...</summary>
    <author>
        <name>Webmaster</name>
        <uri>http://thecomposingstick.com/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://thecomposingstick.com/">
        <![CDATA[<p>I have moved the source code for HashTag from my private SVN over to GitHub. If you want to contribute any changes you can find it here <a href="http://github.com/TheComposingStick/HashTag">http://github.com/TheComposingStick/HashTag</a>.</p>

<p>I have also set up an account on Lighthouse to track bugs and feature requests <a href="http://thecomposingstick.lighthouseapp.com/projects/43642/home">http://thecomposingstick.lighthouseapp.com/projects/43642/home</a>.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>HashTag 2.5 Released</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/2010/02/hashtag-25-released.html" />
    <id>tag:www.composing-stick.net,2010://1.33</id>

    <published>2010-02-21T14:31:43Z</published>
    <updated>2010-04-08T10:08:04Z</updated>

    <summary>Version 2.5 of my HashTag plugin has now been released. See the Hash Tag Plugin project page for more information. The major change in 2.5 is the ability to tweet scheduled posts, currently that uses the default settings for the...</summary>
    <author>
        <name>Webmaster</name>
        <uri>http://thecomposingstick.com/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://thecomposingstick.com/">
        <![CDATA[<p>Version 2.5 of my HashTag plugin has now been released. See the <a href="http://thecomposingstick.com/projects/hashtag/">Hash Tag Plugin</a> project page for more information.</p>

<p>The major change in 2.5 is the ability to tweet scheduled posts, currently that uses the default settings for the plugin at the time the scheduled post is published.</p>

<p>So what will be happening for Version 3.0? Well there are three things planned:</p>

<ol>
<li><p>Support for MT5.x and Open Melody.</p></li>
<li><p>Using OAuth to link to your twitter account.</p></li>
<li><p>Store tweet options with post / page so that default options are not used for scheduled posts and you can set if the plugin should retweet when you edit a page.</p></li>
</ol>
]]>
        

    </content>
</entry>

<entry>
    <title>Hash Tag Beta 2.5 Now With Scheduled Post Support</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/2009/07/hash-tag-beta-25-now-with-scheduled-post-support.html" />
    <id>tag:www.composing-stick.net,2009://1.32</id>

    <published>2009-07-17T22:23:23Z</published>
    <updated>2010-04-08T10:08:55Z</updated>

    <summary>I have now added support for scheduled publishing in my HashTag plugin. It is currently a beta and can be downloaded from this link HashTag Beta 2.5. Some of the changes: The HashTag options have been moved to a drop...</summary>
    <author>
        <name>Webmaster</name>
        <uri>http://thecomposingstick.com/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://thecomposingstick.com/">
        <![CDATA[<p>I have now added support for scheduled publishing in my <a href="http://www.composing-stick.net/projects/hashtag/">HashTag plugin</a>. It is currently a beta and can be downloaded from this link <a href="http://thecomposingstick/projects/hashtag/HashTagv2.5Beta.zip">HashTag Beta 2.5</a>.</p>

<p>Some of the changes:</p>

<ul>
<li>The HashTag options have been moved to a drop down list rather than a radio button to save space.</li>
<li>No longer requires XML::Atom</li>
<li>Includes option to treat entry tags as HashTags</li>
<li>Can tweet scheduled posts. <strong>NOTE</strong> This will use the plugin default settings (at the time the entry gets published) for tweeting, this can not currently be set on a per post basis.</li>
</ul>
]]>
        

    </content>
</entry>

<entry>
    <title>5 Tips for getting help with Movable Type</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/2009/04/5-tips-for-getting-help-with-movable-type.html" />
    <id>tag:www.composing-stick.net,2009://1.31</id>

    <published>2009-04-08T21:15:36Z</published>
    <updated>2009-04-08T21:44:12Z</updated>

    <summary>Last year I wrote a post about getting help with Movable Type. Slightly tongue in cheek, but made a few valid points. Things have moved on now, so here is the updated Tips for getting help with Movable Type. 1....</summary>
    <author>
        <name>Webmaster</name>
        <uri>http://thecomposingstick.com/</uri>
    </author>
    
        <category term="Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://thecomposingstick.com/">
        <![CDATA[<p>Last year I wrote a post about <a href="http://www.composing-stick.net/2008/11/getting-help-with-movable-type.html">getting help with Movable Type</a>. Slightly tongue in cheek, but made a few valid points. Things have moved on now, so here is the updated Tips for getting help with Movable Type.</p>

<h2>1. Go to the right place.</h2>

<ul>
<li><strong>Purchased a license?</strong> Go to <a href="http://www.movabletype.com">http://www.movabletype.com</a> and log in under the account you purchased your license under and click on <em>Open a new ticket</em>.</li>
<li><strong>MTOS or a free version?</strong> Go to the community forums <a href="http://forums.movabletype.com">http://forums.movabletype.com</a> and see if anyone has had a similar problem. If not post a question. You can also run a comprehensive search across Movable Type resources by using <a href="http://endevver.com/mtsearch">mtsearch</a>.</li>
<li><strong>Problem with a Plugin?</strong> Try contacting the plugin author. If that does not work try the community.</li>
</ul>

<h2>2. Be clear about the issue in your topic title.</h2>

<p>Topic titles are your hook, be clear about your problem; Sidebar is being pushed below content is more informative than HELP!!!!!</p>

<h2>3. Details.</h2>

<p>The more details you can give at the outset the less back and forth later. Try to include</p>

<ul>
<li>The version and distribution e.g. <em>MTOS 4.2, Pro 4.01</em></li>
<li>A link to the site (if relevant).</li>
<li>Sample code (if relevant). You will need to encode your code to make sure that it displays correctly. Use a site like <a href="http://centricle.com/tools/html-entities/">http://centricle.com/tools/html-entities/</a> to do this.</li>
<li>Steps to reproduce the problem.</li>
</ul>

<h2>4. Be Polite.</h2>

<p>The majority of people that help on the community forums are users, just like you. They help in their spare time. If the problem is particularly complex then you may have to wait for someone to set up a similar configuration to test. It is a sad fact that people are less inclined to help people that spend the majority of their post mad mouthing the product or threatening to move to a rival.</p>

<h2>5. Give back to the community</h2>

<p>If you found the help useful, pay it forward by helping out another user when you can. OK, maybe this isn't a real tip as such but it is valid.  If you have another suggestion for tip 5 let me know by adding a comment.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Layout Issues Using Version 3 Templates with Version 4 Stylesheets</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/2009/01/layout-issues-using-version-3-templates-with-version-4-stylesheets.html" />
    <id>tag:www.composing-stick.net,2009://1.30</id>

    <published>2009-01-03T16:46:20Z</published>
    <updated>2010-04-08T10:27:21Z</updated>

    <summary>A problem that comes up every so often on the Movable Type forums is the mixing of recently upgraded system, old Movable Type version 3.x templates and Movable Type version 4 stylesheets. In layman terms &quot;The layout is buggered&quot; or...</summary>
    <author>
        <name>Webmaster</name>
        <uri>http://thecomposingstick.com/</uri>
    </author>
    
        <category term="Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://thecomposingstick.com/">
        <![CDATA[<p>A problem that comes up every so often on the Movable Type forums is the mixing of recently upgraded system, old Movable Type version 3.x templates and Movable Type version 4 stylesheets. In layman terms "<em>The layout is buggered</em>" or "<em>The syles don't show</em>". </p>

<p>A reason for this is that a number of the divs (html code that allows use to define parts of a page) had their names changed from a functional name such as banner to a semantic name such as header, so your site looks as if it has lost its style. At this point you have three choices:</p>

<ol>
<li>Start from scratch using new templates and new stylesheets.</li>
<li>Rename all the styles in the stylesheets.</li>
<li>Rename all the divs in your templates.</li>
</ol>

<p>Each option has it's pros and cons. If you start from scratch you will have to redo any additional customisation you have made. If you rename the styles in the stylesheet upgrades may overwrite them, my preferred option is to rename the divs in the template. the following is a non exhaustive list of name changes</p>

<pre><code>banner -&gt; header
banner-inner -&gt; header-inner
banner-header -&gt; header-name
banner-description -&gt; header-description
pagebody -&gt; content
pagebody-inner -&gt; content-inner
</code></pre>

<p>Also the names of the various layouts have been shorten, see my previous post <a href="http://thecomposingstick.com/2008/11/changing-number-of-columns-on-a-page.html">Changing Number of Columns on a Page</a></p>
]]>
        

    </content>
</entry>

<entry>
    <title>How to Make a Clickable Header in Movable Type - Part Two</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/2009/01/how-to-make-a-clickable-header-in-movable-type---part-two.html" />
    <id>tag:www.composing-stick.net,2009://1.29</id>

    <published>2009-01-02T21:37:08Z</published>
    <updated>2010-04-08T10:32:33Z</updated>

    <summary>Recently I posted two solutions on how to make a clickable header in Movable Type. I have to admit both were quick and dirty methods rather than elegant solutions, a fact raised by Plasticmind on the Movable Type IRC channel....</summary>
    <author>
        <name>Webmaster</name>
        <uri>http://thecomposingstick.com/</uri>
    </author>
    
        <category term="How To" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://thecomposingstick.com/">
        <![CDATA[<p>Recently I posted two solutions on how to make a <a href="http://thecomposingstick.com/2008/10/creating-a-clickable-header-in-movable-type.html">clickable header in Movable Type</a>. I have to admit both were quick and dirty methods rather than elegant solutions, a fact raised by <a href="http://plasticmind.com/">Plasticmind</a> on the Movable Type IRC channel. So to make amends here is part two.</p>

<p>What I should have done is show how to use CSS image replacement techniques to create a clickable header. There are a number of image replacement techniques out there, <a href="http://www.mezzoblue.com/tests/revised-image-replacement/">mezzoblue</a> has full list of all of them, what we are going to look at is listed as the Phark Revisited method or the Plasticmind method.</p>

<p>To make things clear I create a blog and applied the unstyled style, leaving me with the following look.</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://thecomposingstick.com/assets_c/2008/12/before2.html" onclick="window.open('http://thecomposingstick.com/assets_c/2008/12/before2.html','popup','width=1263,height=734,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://thecomposingstick.com/assets_c/2008/12/before-thumb-400x232.png" width="400" height="232" alt="before.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></p>

<p>As you can see everything is very plain text, now I want a nice font to use form my heading, so I have created an image file called header.png that is 940 x 191 pixels. I have saved this in a directory called resources off of the blog root.</p>

<p>I am going to add a style to the end of styles.css to include an image (header.png) in any links in the header section of the template. To do this I add the following code:</p>

<pre><code>#header-name a{
    display: block;
    background: #fff url("&lt;$mt:blogurl$&gt;/resources/header.png") no-repeat left top;
    width: 100%;
    height: 191px;
}
</code></pre>

<p>The results is this</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://thecomposingstick.com/assets_c/2008/12/during2.html" onclick="window.open('http://thecomposingstick.com/assets_c/2008/12/during2.html','popup','width=1263,height=734,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://thecomposingstick.com/assets_c/2008/12/during-thumb-400x232.png" width="400" height="232" alt="during.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></p>

<p>The problem, as you can see, is that the unstyled name of the blog and the description are still visible, what we are going to do is shift these off the page. Shifting is better than changing the colour as it gives us more flexibility when swapping out images. We don't have to fiddle with matching the font colour or worrying about parts of the image being blocked out. Our style changes slightly to add a negative text indent and to hide the description.</p>

<pre><code>#header-name a{
    display: block;
    background: #fff url("&lt;$mt:blogurl$&gt;/resources/header.png") no-repeat left top;
    text-indent: -9999px;
    width: 100%;
    height: 191px;
}

#header-description {
    text-indent: -9999px;
}
</code></pre>

<p>The -9999px shifts the text far off screen so that we don't see it. The final result is</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://thecomposingstick.com/assets_c/2008/12/after1.html" onclick="window.open('http://thecomposingstick.com/assets_c/2008/12/after1.html','popup','width=1263,height=734,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://thecomposingstick.com/assets_c/2008/12/after-thumb-400x232.png" width="400" height="232" alt="after.png" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></span></p>

<p>a clickable image header and no fiddling with the templates, just a few lines of css.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>New Plugin Project</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/2008/12/new-plugin-project.html" />
    <id>tag:www.composing-stick.net,2008://1.27</id>

    <published>2008-12-07T17:56:35Z</published>
    <updated>2008-12-07T18:19:52Z</updated>

    <summary>This weekend I have been mainly working on a new plugin for MT. It has officially reached &apos;Ugly Alpha&apos; stage which means it is good enough for me to try out in my own environment but I am embarrassed about...</summary>
    <author>
        <name>Webmaster</name>
        <uri>http://thecomposingstick.com/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://thecomposingstick.com/">
        <![CDATA[<p>This weekend I have been mainly working on a new plugin for MT. It has officially reached 'Ugly Alpha' stage which means it is good enough for me to try out in my own environment but I am embarrassed about the quality of the underlying code to post a link. More next week.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Getting Help with Movable Type</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/2008/11/getting-help-with-movable-type.html" />
    <id>tag:www.composing-stick.net,2008://1.26</id>

    <published>2008-11-22T23:31:38Z</published>
    <updated>2008-11-22T23:31:42Z</updated>

    <summary>No matter what the product or service, at some point in time your are going to be staring at a strange error message, a dead television screen or a punctured inflatable novelty toy. Face it, at some point in your...</summary>
    <author>
        <name>Webmaster</name>
        <uri>http://thecomposingstick.com/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://thecomposingstick.com/">
        <![CDATA[<p>No matter what the product or service, at some point in time your are going to be staring at a strange error message, a dead television screen or a punctured inflatable novelty toy. Face it, at some point in your life you are going to need to get help or support.</p>  <p>If you have paid support all you need to do is login at <a href="http://www.movabletype.com">www.movabletype.com</a> and click on the <em>Open a New Ticket</em> link. In my experience the support offered has been timely and accurate.</p>  <p>Without paid support you have two options:</p>  <ol>   <li>Bitch and Whine on your blog, twitter and any number of social media sites. This is a bit like complaining in a coffee shop about the poor performance of you cellphone in the vain hope someone from the manufacturer is in earshot sipping a cappuccino and fixes&#160; it there and then. It probably won't help, but it might make you feel a bit better.     <br /></li>    <li>Go to the community for help.</li> </ol>  <p>There are two sites you can visit to get help from the community,&#160; <a href="http://forums.movabletype.org">forums.movabletype.org</a> and <a href="http://forums.sixapart.com">forums.sixapart.com</a>. </p>  <p>A few suggestions about posting</p>  <ol>   <li><strong>Post Titles.</strong> You should try and summarise your problem in the post title. <em>HELP!!!!</em> doesn't say anything about your problem. <em>Sidebar is pushed to the bottom of entries</em>, gives us more of an idea and maybe someone quickly scanning the forum post titles will see it and know the answer.</li>    <li><strong>The Details.</strong> You should include the version of Movable Type and any other useful information, for example; If you are having problem with your layouts a link to your site is needed. If you are getting 500 errors then the output of mt-check would be useful or knowing that it does not run. </li> </ol>  <p>If your question is complicated then you may need to wait while someone may need to replicate the problem or test a solution. </p>
]]>
        

    </content>
</entry>

<entry>
    <title>Changing Number of Columns on a Page</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/2008/11/changing-number-of-columns-on-a-page.html" />
    <id>tag:www.composing-stick.net,2008://1.25</id>

    <published>2008-11-16T19:51:19Z</published>
    <updated>2008-11-16T19:51:20Z</updated>

    <summary>Movable Type has a number of standard column layouts accessible through the styles menu. This can also be accessed through templates so that you can change layout depending on the content. What you need to do is set the page_layout...</summary>
    <author>
        <name>Webmaster</name>
        <uri>http://thecomposingstick.com/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://thecomposingstick.com/">
        <![CDATA[<p>Movable Type has a number of standard column layouts accessible through the styles menu. This can also be accessed through templates so that you can change layout depending on the content.</p>  <p>What you need to do is set the page_layout at the start of the page like so:</p>  <pre>&lt;MTSetVar name=&quot;page_layout&quot; value=&quot;layout-wt&quot;&gt;</pre>

<p>the value can be any of the following:</p>

<pre>layout-wtt &lt;-- Wide, Thin, Thin
layout-twt &lt;-- Thin, Wide, Thin
layout-wt &lt;-- Wide, Thin
layout-tw &lt;-- Thin, Wide
layout-wm &lt;-- Wide, Medium
layout-mw &lt;-- Medium, Wide</pre>

<p>&#160;</p>

<p>By placing the code in a conditional statement and using private tags you can change the layout of pages or entries just by setting a tag. </p>
]]>
        

    </content>
</entry>

<entry>
    <title>Creating a Clickable Header in Movable Type</title>
    <link rel="alternate" type="text/html" href="http://thecomposingstick.com/2008/10/creating-a-clickable-header-in-movable-type.html" />
    <id>tag:www.composing-stick.net,2008://1.23</id>

    <published>2008-10-25T14:40:02Z</published>
    <updated>2008-10-25T18:28:51Z</updated>

    <summary>A question that comes up every so often on the Movable Type message boards is how to create a clickable banner that links back to the blog homepage. The answer depends very much on how the banner has been added...</summary>
    <author>
        <name>Webmaster</name>
        <uri>http://thecomposingstick.com/</uri>
    </author>
    
        <category term="How To" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://thecomposingstick.com/">
        <![CDATA[<p>A question that comes up every so often on the Movable Type message boards is how to create a clickable banner that links back to the blog homepage. The answer depends very much on how the banner has been added to the page. One way is an img link in the HTML, this can be wrapped in an anchor tag the same way as any other link. Below is a sample Banner Header template that does just that.</p>

<pre><code>&lt;div id="header"&gt;
&lt;div id="header-inner"&gt;
&lt;div id="header-content"&gt;
&lt;mt:Ignore&gt;&lt;!-- Use h1 and h2 html tags on the main index of the blog as the title, use divs on all other pages where there are page titles. --&gt;&lt;/mt:Ignore&gt;
&lt;a href="&lt;$mt:BlogURL$&gt;" accesskey="1"&gt;&lt;img src="&lt;$mt:BlogURL$&gt;header.jpg" alt="&lt;$mt:BlogName encode_html='1'" height="150" width="900"/&gt;&lt;/a&gt;
&lt;mt:If name="main_index"&gt;
&lt;h1 id="header-name"&gt;&lt;a href="&lt;$mt:BlogURL$&gt;" accesskey="1"&gt;&lt;$mt:BlogName encode_html="1"$&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="header-description"&gt;&lt;$mt:BlogDescription$&gt;&lt;/h2&gt;
&lt;mt:Else&gt;
&lt;div id="header-name"&gt;&lt;a href="&lt;$mt:BlogURL$&gt;" accesskey="1"&gt;&lt;$mt:BlogName encode_html="1"$&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div id="header-description"&gt;&lt;$mt:BlogDescription$&gt;&lt;/div&gt;
&lt;/mt:If&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</code></pre>

<p>A lot of the default templates that come with Movable Type use CSS to place a header image on the page. If this is the case you will need to use a little piece of JavaScript to achive the same effect. Below is a modified Banner Header template.</p>

<pre><code> &lt;div id="header" onClick="window.location='&lt;$mt:BlogURL$&gt;'"&gt;
 &lt;div id="header-inner"&gt;
 &lt;div id="header-content"&gt;
 &lt;mt:Ignore&gt;&lt;!-- Use h1 and h2 html tags on the main index of the blog as the title, use divs on all other pages where there are page titles. --&gt;&lt;/mt:Ignore&gt;
 &lt;mt:If name="main_index"&gt;
 &lt;h1 id="header-name"&gt;&lt;a href="&lt;$mt:BlogURL$&gt;" accesskey="1"&gt;&lt;$mt:BlogName encode_html="1"$&gt;&lt;/a&gt;&lt;/h1&gt;
 &lt;h2 id="header-description"&gt;&lt;$mt:BlogDescription$&gt;&lt;/h2&gt;
 &lt;mt:Else&gt;
 &lt;div id="header-name"&gt;&lt;a href="&lt;$mt:BlogURL$&gt;" accesskey="1"&gt;&lt;$mt:BlogName encode_html="1"$&gt;&lt;/a&gt;&lt;/div&gt;
 &lt;div id="header-description"&gt;&lt;$mt:BlogDescription$&gt;&lt;/div&gt;
 &lt;/mt:If&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
</code></pre>

<p>All we have done is add an onClick event to the header. Users that click in the header will then trigger the JavaScript which mimics clicking on a link.</p>
]]>
        

    </content>
</entry>

</feed>
