<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>SoggyBlogger.com Informed Blogging</title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/" />
    <link rel="self" type="application/atom+xml" href="http://www.soggyblogger.com/engines/atom.xml" />
    <id>tag:www.soggyblogger.com,2008-09-16:/engines//130</id>
    <updated>2011-08-21T13:42:41Z</updated>
    <subtitle>A blog about blogging with Wordpress, Movable Type Open Source, and Established Sites. Wiki</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.34-en</generator>

<entry>
    <title>Converting a MTOS Database to One Accessible By a Rails App </title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/blog/2011/08/converting-a-mtos-database-to-one-accessible-by-a-rails-app.html" />
    <id>tag:www.soggyblogger.com,2011:/engines//130.22917</id>

    <published>2011-08-20T18:25:05Z</published>
    <updated>2011-08-21T13:42:41Z</updated>

    <summary>I&apos;ve been interested in using my MTOS powered blogs from Ruby for quite a while now. The MTOS data model is nice, but every column is prefixed with the table name suffix, which is a pain in the world of RoR.</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
    <category term="blogging" label="blogging" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rails" label="rails" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.soggyblogger.com/engines/">
        <![CDATA[<p>I&#8217;ve been interested in using my MTOS powered blogs from Ruby for quite a while now. The MTOS data model is nice, but every column is prefixed with the table name suffix, which is a pain in the world of RoR.</p>

<pre class="sh_sql">

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`%` SQL SECURITY DEFINER VIEW `entries` AS select `mtosblogs`.`mt_entry`.`entry_id` AS `id`,`mtosblogs`.`mt_entry`.`entry_allow_comments` AS `allow_comments`,`mtosblogs`.`mt_entry`.`entry_allow_pings` AS `allow_pings`,`mtosblogs`.`mt_entry`.`entry_atom_id` AS `atom_id`,`mtosblogs`.`mt_entry`.`entry_author_id` AS `author_id`,`mtosblogs`.`mt_entry`.`entry_authored_on` AS `authored_on`,`mtosblogs`.`mt_entry`.`entry_basename` AS `basename`,`mtosblogs`.`mt_entry`.`entry_blog_id` AS `blog_id`,`mtosblogs`.`mt_entry`.`entry_category_id` AS `category_id`,`mtosblogs`.`mt_entry`.`entry_class` AS `class`,`mtosblogs`.`mt_entry`.`entry_comment_count` AS `comment_count`,`mtosblogs`.`mt_entry`.`entry_convert_breaks` AS `convert_breaks`,`mtosblogs`.`mt_entry`.`entry_created_by` AS `created_by`,`mtosblogs`.`mt_entry`.`entry_created_on` AS `created_on`,`mtosblogs`.`mt_entry`.`entry_excerpt` AS `excerpt`,`mtosblogs`.`mt_entry`.`entry_keywords` AS `keywords`,`mtosblogs`.`mt_entry`.`entry_modified_by` AS `modified_by`,`mtosblogs`.`mt_entry`.`entry_modified_on` AS `modified_on`,`mtosblogs`.`mt_entry`.`entry_ping_count` AS `ping_count`,`mtosblogs`.`mt_entry`.`entry_pinged_urls` AS `pinged_urls`,`mtosblogs`.`mt_entry`.`entry_status` AS `status`,`mtosblogs`.`mt_entry`.`entry_tangent_cache` AS `tangent_cache`,`mtosblogs`.`mt_entry`.`entry_template_id` AS `template_id`,`mtosblogs`.`mt_entry`.`entry_text` AS `text`,`mtosblogs`.`mt_entry`.`entry_text_more` AS `text_more`,`mtosblogs`.`mt_entry`.`entry_title` AS `title`,`mtosblogs`.`mt_entry`.`entry_to_ping_urls` AS `to_ping_urls`,`mtosblogs`.`mt_entry`.`entry_week_number` AS `week_number`,`mtosblogs`.`mt_entry`.`entry_visit_count` AS `visit_count` from `mtosblogs`.`mt_entry`;

</pre>

<p>I&#8217;m hoping this will work.</p>

<p><a href="http://www.ruby.code-experiments.com/blog/2010/10/rails-generate-model-syntax.html">Rails model generator specs</a>:</p>

<pre>
id:integer allow_comments:boolean allow_pings:boolean atom_id:string author_id:integer authored_on:date basename:string blog_id:integer category_id:integer class:string comment_count:integer convert_breaks:string created_by:integer created_on:date excerpt:text keywords:string modified_by:integer modified_on:date ping_count:integer pinged_urls:integer status:integer tangent_cache:boolean template_id:integer text:text text_more:text title:string to_ping_urls:boolean week_number:integer visit_count:integer

id:integer allow_anon_comments:boolean allow_comment_html:boolean allow_commenter_regist:boolean allow_comments_default:boolean allow_pings:boolean allow_pings_default:boolean allow_reg_comments:boolean allow_unreg_comments:boolean archive_path:string archive_tmpl_category:string archive_tmpl_daily:string archive_tmpl_individual:string archive_tmpl_monthly:string archive_tmpl_weekly:string archive_type:string archive_type_preferred:string archive_url:string autodiscover_links:boolean autolink_urls:boolean basename_limit:integer cc_license:string children_modified_on:date convert_paras:string convert_paras_comments:string created_by:string created_on:date custom_dynamic_templates:string days_on_index:index description:text email_new_comments:boolean email_new_pings:boolean entries_on_index:integer file_extension:strgin google_api_key:string internal_autodiscovery:boolean is_dynamic:boolean junk_folder_expiry:integer junk_score_threshold:float language:string manual_approve_commenters:boolean moderate_pings:boolean moderate_unreg_comments:boolean modified_by:date modified_on:date mt_update_key:string name:string old_style_archive_links:boolean ping_blogs:boolean ping_google:boolean ping_others:boolean ping_technorati:boolean ping_weblogs:boolean remote_auth_token:string require_comment_emails:boolean sanitize_spec:string server_offset:float site_path:string site_url:string sort_order_comments:string sort_order_posts:string status_default:string use_comment_confirmation:boolean welcome_msg:text words_in_excerpt:integer
</pre>
]]>
        

    </content>
</entry>

<entry>
    <title>XML-RPC Blog Publishing Interface Links</title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/blog/2011/01/xml-rpc-blog-publishing-interface-links.html" />
    <id>tag:www.soggyblogger.com,2011:/engines//130.21646</id>

    <published>2011-01-30T15:13:54Z</published>
    <updated>2011-01-30T15:14:48Z</updated>

    <summary>Just a couple of links about XML-RPC blog publishing for my own reference: http://nixbit.com/cat/system/filesystems/blogfs/...</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
    <category term="xbox" label="xbox" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.soggyblogger.com/engines/">
        <![CDATA[<p>Just a couple of links about XML-RPC blog publishing for my own reference:</p>

<ul>
<li><a href="http://nixbit.com/cat/system/filesystems/blogfs/" rel="nofollow">http://nixbit.com/cat/system/filesystems/blogfs/</a></li>
</ul>
]]>
        

    </content>
</entry>

<entry>
    <title>Mobile Blogging on the Droid X with PostBot</title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/blog/2011/01/mobile-blogging-on-the-droid-x-with-postbot.html" />
    <id>tag:www.soggyblogger.com,2011:/engines//130.21579</id>

    <published>2011-01-08T14:13:04Z</published>
    <updated>2011-01-08T14:15:19Z</updated>

    <summary></summary>
    <author>
        <name>Albert</name>
        
    </author>
    
    <category term="kindle" label="kindle" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.soggyblogger.com/engines/">
        

        

    </content>
</entry>

<entry>
    <title>Drupal Powered Blogging</title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/blog/2011/01/drupal-powered-blogging.html" />
    <id>tag:www.informedblogging.com,2011://130.21501</id>

    <published>2011-01-01T19:51:15Z</published>
    <updated>2011-01-01T19:53:46Z</updated>

    <summary>Drupal can manage several different common types of content right out of the box, and that includes blog entries.</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="Blog Engines" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="blogengines" label="blog engines" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="blogging" label="blogging" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="drupal" label="drupal" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.soggyblogger.com/engines/">
        <![CDATA[<p>I&#8217;m expanding my interest of web applications and web publishing to include Drupal. Its a very extensible content management system written in PHP.</p>

<p>Drupal can manage several different common types of content right out of the box, and that includes blog entries.</p>

<p>To learn more about Drupal&#8217;s blogging capabilities, I&#8217;ve setup a new website over at Docunext to try out its features:</p>

<p><a href="http://www.docunext.com/site/">Docunext Drupal Site</a></p>

<p>So far I&#8217;ve only scratched the surface, but I&#8217;m really looking forward to delving in deeper.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Using SpamAssassin to Test for Comment Spam</title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/blog/2010/12/using-spamassassin-to-test-for-comment-spam.html" />
    <id>tag:www.informedblogging.com,2010://130.21493</id>

    <published>2010-12-30T02:33:12Z</published>
    <updated>2011-01-01T20:11:02Z</updated>

    <summary>I had previously investigated the idea of using SpamAssassin to check comments and decide whether or not they were spam.</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="Blog Comments" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="comments" label="comments" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="spam" label="spam" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="spamassassin" label="spamassassin" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.soggyblogger.com/engines/">
        <![CDATA[<p>I had previously investigated the idea of using SpamAssassin to check comments and decide whether or not they were spam.</p>

<p>Here are some of my test materials. The first is a PHP script, the other is a custom set of spamassassin scores.</p>

<pre class="sh_php">
&lt;?php

$sender = "user@example.com";
$subject = "Comment";
$date = date("D, d M Y H:i:s O (T)");
$date_old = date("D, d M Y H:i:s O");

echo &lt;&lt;&lt;EOF
Subject: $subject
Date: $date
From: www-data@example.com (www-data)

hi
hi
hi
hi
hi

EOF;
?&gt;
</pre>

<p>Spamc settings appropriate for comments:</p>

<pre>
score MISSING_MID 0.0
score NO_RELAYS 0.0
score NO_RECEIVED 0.0
</pre>
]]>
        

    </content>
</entry>

<entry>
    <title>Movable Type FastCGI Parameters Causing Segfaults?</title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/blog/2010/08/movable-type-fastcgi-parameters-causing-segfaults.html" />
    <id>tag:www.informedblogging.com,2010://130.21290</id>

    <published>2010-08-28T22:00:33Z</published>
    <updated>2010-08-28T22:03:35Z</updated>

    <summary>I noticed a bunch of segfaults in my Apache logs recently and I thought it was an Apache or mod_fcgi problem, but I think they were actually caused by MTOS.</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="MTOS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="apache" label="apache" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="fastcgi" label="fastcgi" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype" label="movabletype" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.soggyblogger.com/engines/">
        <![CDATA[<p>I noticed a bunch of segfaults in my Apache logs recently and I thought it was an Apache or mod_fcgi problem, but I think they were actually caused by MTOS.</p>

<p>For more details, see the Docunext wiki page about this:</p>

<p><a href="http://www.docunext.com/wiki/Apache_FastCGI#Apache_FastCGI_Segaults.3F">Apache FastCGI Segfaults Caused by Movable Type</a></p>
]]>
        

    </content>
</entry>

<entry>
    <title>SQL to Convert Movable Type Entries to Markdown</title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/blog/2010/08/sql-to-convert-movable-type-entries-to-markdown.html" />
    <id>tag:www.informedblogging.com,2010://130.21285</id>

    <published>2010-08-28T04:08:08Z</published>
    <updated>2010-08-28T04:09:46Z</updated>

    <summary>I just converted some posts from richtext to markdown and wanted to save the SQL I used to do so.</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="MTOS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="markdown" label="markdown" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype" label="movabletype" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="sql" label="sql" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.soggyblogger.com/engines/">
        <![CDATA[<p>I just converted some posts from richtext to markdown and wanted to save the SQL I used to do so.</p>

<pre class="sh_sql">
UPDATE mt_entry SET entry_text = REPLACE(entry_text, "&lt;br/>" ,CHAR(10)),entry_text = REPLACE(entry_text, "&lt;br />" ,CHAR(10)), entry_convert_breaks='markdown' WHERE entry_convert_breaks IS NULL;
</pre>
]]>
        

    </content>
</entry>

<entry>
    <title>Reorganizing Publishing Targets in Movable Type</title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/blog/2010/08/reorganizing-publishing-targets-in-movable-type.html" />
    <id>tag:www.informedblogging.com,2010:/blog//130.21280</id>

    <published>2010-08-27T21:45:56Z</published>
    <updated>2010-08-27T21:47:38Z</updated>

    <summary>I&apos;m moving the base directory of several blogs from &quot;/blog/&quot; to &quot;/&quot; and am using this little shell routine to symlink the important files.</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="MTOS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="bash" label="bash" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype" label="movabletype" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="publishing" label="publishing" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rootdirectories" label="root directories" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="shell" label="shell" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.soggyblogger.com/engines/">
        <![CDATA[<p>I'm moving the base directory of several blogs from "/blog/" to "/" and am using this little shell routine to symlink the important files:</p>

<pre class="sh_sh">
rm styles.css
rm atom.xml
rm sitemap.xml
rm mt.js
ln -s ../styles.css ./
ln -s ../atom.xml ./
ln -s ../sitemap.xml ./
ln -s ../mt.js ./
</pre>
]]>
        

    </content>
</entry>

<entry>
    <title>MTOS 5</title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/blog/2010/08/mtos-5.html" />
    <id>tag:www.informedblogging.com,2010:/blog//130.21271</id>

    <published>2010-08-26T05:33:46Z</published>
    <updated>2010-08-26T05:37:53Z</updated>

    <summary>While I would prefer learning about new advancements with the version of Movable Type I&apos;m currently using, 4.34, I&apos;m still pleased to interpret these news reports that Movable Type has a solid future.</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="MTOS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="movabletype" label="movabletype" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mtos" label="mtos" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="publishing" label="publishing" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="sixapart" label="six apart" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.soggyblogger.com/engines/">
        <![CDATA[<p>I keep hearing reports that Six Apart has released version 5.0 of Movable Type.</p>

<p>While I would prefer learning about new advancements with the version of Movable Type I'm currently using, 4.34, I'm still pleased to interpret these news reports that Movable Type has a solid future.</p>

<p>Honestly, I'm very impressed with the foundation that Six Apart has laid for Movable Type and their future. The industry of publishing has a lot of growing pains to evolve through, but I think MTOS is a saving grace that will help the world transition to a new paradigm.</p>

<p>Big words, big meaning!</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Improving Movable Type&apos;s Search Capability</title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/blog/2010/08/improving-movable-types-search-capability.html" />
    <id>tag:www.informedblogging.com,2010:/blog//130.21246</id>

    <published>2010-08-21T05:08:21Z</published>
    <updated>2010-08-21T05:47:59Z</updated>

    <summary>I&apos;m working on making the search component of Movable Type Open Source (MTOS), namely the mt-search.cgi script, perform better. For awhile there, I had removed the search field from my websites because it puts a huge load on the server - the CPU utilization jumps up to 90%, even when it is already running as a FastCGI process!</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="MTOS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="movabletypeopensource" label="movabletype open source" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mysql" label="mysql" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="performance" label="performance" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="search" label="search" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="tags" label="tags" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.soggyblogger.com/engines/">
        <![CDATA[<p>I'm working on making the search component of Movable Type Open Source (MTOS), namely the mt-search.cgi script, perform better. For awhile there, I had removed the search field from my websites because it puts a huge load on the server - the CPU utilization jumps up to 90%, even when it is already running as a FastCGI process!</p>

<p>But even for non-searches, mt-search.cgi is commonly used. More specifically, when users browse a site by clicking on tags, mt-search.cgi is the script which works the magic.</p>

<p>But why so much CPU utilization? Sure, my MTOS has over 200 blogs and almost ten thousand entries, but MySQL should be able to handle it, right? That's the hard part I'd imagine, so why it mt-search.cgi using so much CPU while MySQL is not? Then I started thinking, maybe its not the search, but the rendering of the template!</p>

<p>Looking at the default search_results.mtml template, I noticed right away that one template is used for raw searches and for tag searches. Not a big deal, that is simple logic. Then I remembered that tag searches <em>display links to all the website tags</em>.</p>

<p>That is something that definitely does not be rendered dynamically every time a search is made. AJAX to the rescue! I created a new index partial for the tag links, and now I'm going to load it dynamically using jQuery. I tested out a page load that didn't include all the tags and it was noticeably faster.</p>

<p>I did this already with the categories widget - and that's not even a dynamic page!</p>

<p>I would like to make the tag urls prettier, probably something like this:</p>

<p>/tagsearch/$blogid/$tag</p>

<p>After that, I'm going to review the SphinxSearch plugin, though I'd really like to use Xapian. I already use it with some Ruby applications I've build and its awesome.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Joey&apos;s Tree</title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/blog/2010/08/joeys-tree.html" />
    <id>tag:www.informedblogging.com,2010:/blog//130.21175</id>

    <published>2010-08-06T02:29:04Z</published>
    <updated>2010-08-06T03:03:18Z</updated>

    <summary>Anyway, over the past couple of years I&apos;ve taken an interest in Joey&apos;s work, and as a start, began using **ikiwiki** for several wikis. Needless to say, it rocks! If you know me, you&apos;ll know that I&apos;m of course using it in a manner much different than most people are, but that&apos;s what impresses me about his software - its incredibly flexible and capable.</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="Wikis" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="afferogpl" label="affero gpl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="debian" label="debian" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ikiwiki" label="ikiwiki" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="imnsho" label="imnsho" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="joeyhess" label="joey hess" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="larswirzenius" label="lars wirzenius" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="thefrogsyurt" label="the frog&apos;s yurt" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.soggyblogger.com/engines/">
        <![CDATA[<p>Of all the software developers I've learned about in my decade or so of development, <strong>Joey Hess</strong> has probably impressed me the most.</p>

<p>First off, he's got a yurt! I first learned of the word thanks to a random BBS named "<strong>The Frog's Yurt</strong>" - yes we're talking old school, before I could actually write software, I certainly used and configured a substantial amount of it!</p>

<p>Second of all, he's made some major contributions to Debian, my distribution of choice. In fact, I have a lot of respect, deserved or not, for Debian developers, as a default. I just can't help but think they do what they do for all the right reasons, even if they are ornery, rude, <a href="http://www.docunext.com/blog/2008/05/so-much-for-reaching-out.html">or just plain jerks</a> (yes, he used IMNSHO when commenting about the use of PHP in embedded computers, even though it is used in several incredibly popular embedded platforms: FreeNAS, m0n0wall, and <a href="http://www.docunext.com/wiki/PfSense">pfSense</a>).</p>

<p>Anyway, over the past couple of years I've taken an interest in Joey's work, and as a start, began using <strong>ikiwiki</strong> for several wikis. Needless to say, it rocks! If you know me, you'll know that I'm of course using it in a manner much different than most people are, but that's what impresses me about his software - its incredibly flexible and capable.</p>

<p>I also take note of the posts he makes that find their way to <strong>Planet Debian</strong>. Today I read a post about <em><a href="http://blog.liw.fi/posts/branchable-soft-launch/">Branchable</a></em> - a hosting service for ikiwikis! Hence the creative title of this post: "Joe's Tree". The project is thanks to both Joey Hess and Lars Wirzenius, and I'm pleased to learn that they are down with the <a href="http://autonomo.us/2008/07/franklin-street-statement/">Franklin Street Statement</a>, which even endorses the <a href="http://www.informedlicensing.com/blog/agpl/">Affero GPL</a>!</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Mediawiki Markdown</title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/blog/2010/08/mediawiki-markdown.html" />
    <id>tag:www.informedblogging.com,2010:/blog//130.21160</id>

    <published>2010-08-03T17:32:07Z</published>
    <updated>2010-08-03T17:48:04Z</updated>

    <summary>I finally got around to setting up markdown syntax rendering in MediaWiki! I tried two solutions: AlternateSyntaxParser MarkdownSyntax After realizing wikilinks didn&apos;t render as I&apos;d expected with AlternateSyntaxParser, I decided to go with MarkdownSyntax - besides, all I really want...</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="Wikis" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="extensions" label="extensions" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ikiwiki" label="ikiwiki" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="markdown" label="markdown" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mediawiki" label="mediawiki" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="wikis" label="wikis" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.soggyblogger.com/engines/">
        <![CDATA[<p>I finally got around to setting up <strong>markdown</strong> syntax rendering in <em>MediaWiki</em>!</p>

<p>I tried two solutions:</p>

<ul>
<li><a href="http://www.mediawiki.org/wiki/Extension:AlternateSyntaxParser">AlternateSyntaxParser</a></li>
<li><a href="http://www.mediawiki.org/wiki/Extension:MarkdownSyntax">MarkdownSyntax</a></li>
</ul>

<p>After realizing wikilinks didn't render as I'd expected with AlternateSyntaxParser, I decided to go with MarkdownSyntax - besides, all I really want is markdown; no need for Textile and/or friends.</p>

<p>I've previously converted a MediaWiki wiki to an ikiwiki and it was a pain to fix all the wacky MediaWiki-specific formatting.</p>

<p>UPDATE: One of the problems with MarkdownSyntax is that it renders every page! I patched it to use the same method as AlternateSyntaxParser:</p>

<pre class="sh_php">

    if (preg_match('/^#MARKUP\s+([a-zA-Z0-9_]+)/', $text, $matches)) {
    $text = substr($text, strlen($matches[0]));
</pre>
]]>
        

    </content>
</entry>

<entry>
    <title>Movable Type Global Templates</title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/blog/2010/06/movable-type-global-templates.html" />
    <id>tag:www.informedblogging.com,2010:/blog//130.21006</id>

    <published>2010-06-24T17:16:06Z</published>
    <updated>2010-06-24T17:19:45Z</updated>

    <summary>I think I&apos;ve finally gotten my Movable Type templates to where I want them! Here&apos;s my setup: I use git to keep track of the revisions, using a folder organization matching the different types of templates: indexes modules system widgets...</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="MTOS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css" label="css" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="git" label="git" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="javascript" label="javascript" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="templates" label="templates" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.soggyblogger.com/engines/">
        <![CDATA[<p>I think I've finally gotten my Movable Type templates to where I want them!</p>

<p>Here's my setup:</p>

<ul>
<li>I use git to keep track of the revisions, using a folder organization matching the different types of templates:
<ul>
<li>indexes</li>
<li>modules</li>
<li>system</li>
<li>widgets</li>
<li>entry listings</li>
<li>separate directory for javascript and css</li>
<li>partials (my own creation - basically index templates that are loaded via ajax</li>
</ul></li>
<li>I've created global templates for each one, and then include it in the blog specific template</li>
</ul>

<p>This seems to be a much easier way to manage a complex custom template setup!</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Upgrading MTOS to 4.3.4</title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/blog/2010/06/upgrading-mtos-to-434.html" />
    <id>tag:www.informedblogging.com,2010:/blog//130.20978</id>

    <published>2010-06-15T07:48:55Z</published>
    <updated>2010-06-16T19:43:47Z</updated>

    <summary>I&apos;ve just upgraded MovableType again, this time to version 4.3.4, and so I&apos;m going through the usual routine of making changes to the source code. Thanks to alternate templates, this task will become much easier in the future!! I still...</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="MTOS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="movabletype" label="movabletype" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.soggyblogger.com/engines/">
        <![CDATA[<p>I've just upgraded MovableType again, this time to version 4.3.4, and so I'm going through the usual routine of making changes to the source code.</p>

<p>Thanks to alternate templates, this task will become much easier in the future!!</p>

<p>I still have to edit CMS/Asset.pm though, and here are some more notes:</p>

<pre class="sh_diff">
990c963,964
&lt;             $root_path = $blog-&gt;site_path;
---
&gt;             #$root_path = $blog-&gt;site_path;
&gt;             $root_path = $app-&gt;static_file_path;
1038c1012
&lt;         $asset_file = $q-&gt;param('site_path') ? '%r' : '%a';
---
&gt;         $asset_file = $q-&gt;param('site_path') ? '%s' : '%a';
1043c1017
&lt;         $asset_base_url = $app-&gt;param('site_path') ? '%r' : '%a';
---
&gt;         $asset_base_url = $app-&gt;param('site_path') ? '%s' : '%a';
</pre>

<p>I'm also going to try the same with the thumbnail image paths and URLs.</p>

<p>See Also:</p>

<ul>
<li><a href="http://www.soggyblogger.com/engines/blog/2010/02/file-upload-paths-in-movable-type-again.html">File Upload Paths in MovableType, Again</a></li>
</ul>
]]>
        

    </content>
</entry>

<entry>
    <title>Alternate CMS Templates for Movable Type</title>
    <link rel="alternate" type="text/html" href="http://www.soggyblogger.com/engines/blog/2010/06/alternate-cms-templates-for-movable-type.html" />
    <id>tag:www.informedblogging.com,2010:/blog//130.20977</id>

    <published>2010-06-15T02:39:04Z</published>
    <updated>2010-06-15T02:46:31Z</updated>

    <summary>This is an awesome feature I&apos;d never known about until tonight, when I was looking to find a way to customize some of the MTOS CMS templates (the ones used when you write entries and such). Specifically, I wanted to...</summary>
    <author>
        <name>Albert</name>
        
    </author>
    
        <category term="MTOS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="mtos" label="mtos" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="templates" label="templates" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.soggyblogger.com/engines/">
        <![CDATA[<p>This is an awesome feature I'd never known about until tonight, when I was looking to find a way to customize some of the MTOS CMS templates (the ones used when you write entries and such).</p>

<p>Specifically, I wanted to remove the keywords and excerpts fields from the entry forms. This should be able to be done via the preferences page, but I think because I entered some data into one of those fields into one of my posts, I was stuck with it.</p>

<p>Anyway, I found it easy to setup alternate templates for this purpose. I simple created a new directory, then specified it as the <strong>AltTemplatePath</strong> configuration parameter in mt-config.cgi.</p>

<p>After that, I created a cms sub-directory, then copied /usr/share/movabletype/tmpl/cms/edit_entry.mtml (that's the path on Debian, other setups may differ) into my alternate templates cms folder, and made the changes I wanted.</p>

<p>Voila! It works. :-)</p>
]]>
        

    </content>
</entry>

</feed>

