<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>scompt.com &#187; programming</title>
	<atom:link href="http://scompt.com/blog/archives/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://scompt.com</link>
	<description>The website of Edward Dale</description>
	<lastBuildDate>Sat, 23 Jan 2010 15:32:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Plugin Stats 1.1 Released</title>
		<link>http://scompt.com/blog/archives/2008/06/17/plugin-stats-11-released</link>
		<comments>http://scompt.com/blog/archives/2008/06/17/plugin-stats-11-released#comments</comments>
		<pubDate>Tue, 17 Jun 2008 10:41:56 +0000</pubDate>
		<dc:creator>scompt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://scompt.com/?p=227</guid>
		<description><![CDATA[Last week, I released Version 1.0 (and quickly thereafter, Version 1.1) of a WordPress plugin called Plugin Stats!  The plugin is designed for WordPress plugin developers to keep track of downloads of their plugins.  The plugin graphs the number of downloads in three different ways:


A Shortcode for use in posts and pages
A template [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, I released Version 1.0 (and quickly thereafter, Version 1.1) of a WordPress plugin called <a href="http://scompt.com/projects/plugin-stats">Plugin Stats</a>!  The plugin is designed for WordPress plugin developers to keep track of downloads of their plugins.  The plugin graphs the number of downloads in three different ways:</p>
<p><span id="more-227"></span></p>
<ul>
<li>A <a href="http://codex.wordpress.org/Shortcode_API">Shortcode</a> for use in posts and pages</li>
<li>A template function for use in templates</li>
<li>A dashboard widget</li>
</ul>
<p>An example download graph looks like this:</p>
<a href='http://wordpress.org/extend/plugins/wp-crontrol/stats/'><img src='http://chart.apis.google.com/chart?chxr=1,1,15&chxp=0,0,15.56,32.78,49.44,66.67,83.33&chxt=x,y&chxl=0:|February|March|April|May|June|July&chs=360x100&cht=lc&chd=s:NRWfaERWWsEJNWWaWNWWfW00NNNWjRWfENNWnnNnRENnNjwsEfJjsjRNWsNaRaNajfwWanNnafNNajRNAfENAaajjaEWnffNAjaRfjfjE0WsWRRERRwaWJJaNRJRWJRWjJAEAANRNWJwaER9REJjRNJNJEJNWRJJEwRnJfaNNRnWaJJfaNNA&chtt=wp-crontrol&chm=h,FF0000,0,0,0.5|r,99FF99,0,0.14,0.56' /></a>
<p><a href="http://downloads.wordpress.org/plugin/plugin-stats.1.1.zip">Download Plugin-Stats Version 1.1</a></p>
]]></content:encoded>
			<wfw:commentRss>http://scompt.com/blog/archives/2008/06/17/plugin-stats-11-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitterdoodle 1.0 Released</title>
		<link>http://scompt.com/blog/archives/2008/06/10/twitterdoodle-10-released</link>
		<comments>http://scompt.com/blog/archives/2008/06/10/twitterdoodle-10-released#comments</comments>
		<pubDate>Tue, 10 Jun 2008 09:15:42 +0000</pubDate>
		<dc:creator>scompt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://scompt.com/?p=214</guid>
		<description><![CDATA[Over the weekend, I quietly released Twitterdoodle, a WordPress plugin which allows a user to create posts and categories based on Twitter keyword searches.  It uses Summize to provide search results.

The plugin was sponsored by The Lessnau Lounge which means each Twitterdoodle post contains a sponsored link to his site.  He&#8217;s advertised it [...]]]></description>
			<content:encoded><![CDATA[<p>Over the weekend, I quietly released <a href="http://wordpress.org/extend/plugins/twitterdoodle/">Twitterdoodle</a>, a WordPress plugin which allows a user to create posts and categories based on <a href="http://twitter.com">Twitter</a> keyword searches.  It uses <a href="http://summize.com">Summize</a> to provide search results.</p>
<p><span id="more-214"></span></p>
<p>The plugin was sponsored by <a href="http://www.lessnau.com/">The Lessnau Lounge</a> which means each Twitterdoodle post contains a sponsored link to his site.  He&#8217;s advertised it a bit better and word of it is already popping up on <a href="http://www.google.com/search?q=twitterdoodle">Google</a>, etc.</p>
<p><a href="http://downloads.wordpress.org/plugin/twitterdoodle.1.0.zip">Download Twitterdoodle 1.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://scompt.com/blog/archives/2008/06/10/twitterdoodle-10-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP-Crontrol 1.0 Released</title>
		<link>http://scompt.com/blog/archives/2008/06/06/wp-crontrol-10-released</link>
		<comments>http://scompt.com/blog/archives/2008/06/06/wp-crontrol-10-released#comments</comments>
		<pubDate>Fri, 06 Jun 2008 09:32:24 +0000</pubDate>
		<dc:creator>scompt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://scompt.com/?p=213</guid>
		<description><![CDATA[WP-Crontrol has hit 1.0!  The powerful new features in this version allow you to take complete control over what&#8217;s happening in the WP-Cron system.  Here&#8217;s what&#8217;s new:


Input PHP code directly into the Crontrol interface.
Non-repeating (one-offs) cron entries can be scheduled.
Cron entries with arguments are now properly handled

For plugin developers writing plugins using the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://scompt.com/projects/wp-crontrol">WP-Crontrol</a> has hit 1.0!  The powerful new features in this version allow you to take complete control over what&#8217;s happening in the <a href="http://codex.wordpress.org/Category:WP-Cron_Functions">WP-Cron</a> system.  Here&#8217;s what&#8217;s new:</p>
<p><span id="more-213"></span></p>
<ul>
<li>Input PHP code directly into the Crontrol interface.</li>
<li>Non-repeating (one-offs) cron entries can be scheduled.</li>
<li>Cron entries with arguments are now properly handled</li>
</ul>
<p>For plugin developers writing plugins using the WP-Cron system, this plugin is indispensable.  For WordPress users, WP-Crontrol reveals the secret life of your blog.  My series on <a href="http://scompt.com/archives/series/taking-control-of-wp-cron-using-wp-crontrol">taking control of the WordPress cron system</a> provides code and tips on how to best utilize WP-Crontrol.</p>
<p><a href="http://downloads.wordpress.org/plugin/wp-crontrol.1.0.zip">Download WP-Crontrol Version 1.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://scompt.com/blog/archives/2008/06/06/wp-crontrol-10-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get your WordPress series in your XML sitemap</title>
		<link>http://scompt.com/blog/archives/2008/05/25/get-your-wordpress-series-in-your-xml-sitemap</link>
		<comments>http://scompt.com/blog/archives/2008/05/25/get-your-wordpress-series-in-your-xml-sitemap#comments</comments>
		<pubDate>Sun, 25 May 2008 17:02:22 +0000</pubDate>
		<dc:creator>scompt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://scompt.com/?p=208</guid>
		<description><![CDATA[If you use the XML Sitemap Generator and Organize Series plugins for WordPress, then this is something you can use to get your series more noticed by Google and other search engines which pay attention to XML Sitemaps.  If you take a look in your sitemap (http://example.com/sitemap.xml), you&#8217;ll notice that the series that you&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>If you use the <a href="http://wordpress.org/extend/plugins/google-sitemap-generator/">XML Sitemap Generator</a> and <a href="http://wordpress.org/extend/plugins/organize-series/">Organize Series</a> plugins for <a href="http://wordpress.org">WordPress</a>, then this is something you can use to get your series more noticed by Google and other search engines which pay attention to <a href="http://www.sitemaps.org/">XML Sitemaps</a>.  If you take a look in your sitemap (http://example.com/sitemap.xml), you&#8217;ll notice that the series that you&#8217;ve been working hard to put together are no where to be seen.  That&#8217;s because you have to let the Sitemap Generator know about them.  The code snippet below, perfect for the <code>functions.php</code> file of your theme, will do just that.</p>
<p><span id="more-208"></span><br />
<code>
<pre name="code" class="php">add_action("sm_buildmap","scompt_series_sitemap");
function scompt_series_sitemap() {
    if( !class_exists(GoogleSitemapGenerator) ||
        !function_exists(get_series) ) return;
	$gen = &#038;GoogleSitemapGenerator::GetInstance();
	if($gen != null) {
	    $all_series = get_series();
        foreach( $all_series as $series ) {
            $gen->AddUrl( get_series_link($series->term_id) );
        }
	}
}</pre>
<p></code></p>
<p>I think the code is pretty self-explanatory.  Lines 3 and 4 make sure that all the necessary bits have been loaded.  Line 5 gets a copy of the object used to generate the sitemap and line 9 feeds it&#8217;s the URLs of your series pages.  The <code>AddUrl</code> method takes a couple extra parameters that let you define last changed date, change frequency, and priority if you want.</p>
]]></content:encoded>
			<wfw:commentRss>http://scompt.com/blog/archives/2008/05/25/get-your-wordpress-series-in-your-xml-sitemap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ImmerStat 0.5 Released</title>
		<link>http://scompt.com/blog/archives/2008/05/12/immerstat-05-released</link>
		<comments>http://scompt.com/blog/archives/2008/05/12/immerstat-05-released#comments</comments>
		<pubDate>Mon, 12 May 2008 08:01:43 +0000</pubDate>
		<dc:creator>scompt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://scompt.com/?p=204</guid>
		<description><![CDATA[ImmerStat is a plugin I wrote over the weekend after getting tired of the Flash applet that displays statistics for the WordPress.com Stats plugin.  It&#8217;s overkill when I just want to get a general idea of where I&#8217;m sitting at the moment stats-wise.  ImmerStat gets rid of the WordPress.com Stats widget from the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://scompt.com/projects/immerstat">ImmerStat</a> is a plugin I wrote over the weekend after getting tired of the Flash applet that displays statistics for the <a href="http://wordpress.org/extend/plugins/stats/">WordPress.com Stats plugin</a>.  It&#8217;s overkill when I just want to get a general idea of where I&#8217;m sitting at the moment stats-wise.  ImmerStat gets rid of the WordPress.com Stats widget from the Dashboard and replaces it with an ever-present .PNG in the top-right corner of the admin screen.</p>
<p><span id="more-204"></span></p>
<p><a href='http://scompt.com/wordpress/wp-content/uploads/2008/05/immerstat.jpg'><img src="http://scompt.com/wordpress/wp-content/uploads/2008/05/immerstat-150x136.jpg" alt="" title="ImmerStat screenshot" width="150" height="136" class="alignright size-medium wp-image-205" /></a></p>
<p>The statistics are pulled using the same functions that the WordPress.com Stats plugin uses and are cached for 5 minutes, as are all stats from the plugin.  The graphic is created on the fly using the <a href="http://code.google.com/apis/chart/">Google Charts API</a>.  The plugin just build the URL and sends it to the browser.  Colors, timespan, and Google Charts parameters are all completely configurable using filter hooks.</p>
<p>WordPress 2.5 is the primary version supported.  Previous versions <strong>should</strong> work, but have not been tested.</p>
<p><a href="http://downloads.wordpress.org/plugin/immerstat.0.5.zip">Download ImmerStat Version 0.5</a></p>
]]></content:encoded>
			<wfw:commentRss>http://scompt.com/blog/archives/2008/05/12/immerstat-05-released/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>WP-Crontrol 0.3 Released</title>
		<link>http://scompt.com/blog/archives/2008/04/26/wp-crontrol-03-released</link>
		<comments>http://scompt.com/blog/archives/2008/04/26/wp-crontrol-03-released#comments</comments>
		<pubDate>Sat, 26 Apr 2008 08:49:06 +0000</pubDate>
		<dc:creator>scompt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://scompt.com/?p=186</guid>
		<description><![CDATA[Update (6/6/08): WP-Crontrol has hit 1.0!  Check out the release post.
WP-Crontrol is a plugin I wrote that&#8217;s been up on WordPress.org for a couple months now, but I&#8217;ve just today finished a version that has all the features and polish to be called a release.  WP-Crontrol lets you take control over what&#8217;s happening [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update (6/6/08)</strong>: WP-Crontrol has hit 1.0!  Check out the <a href="http://scompt.com/archives/2008/06/06/wp-crontrol-10-released">release post</a>.</p>
<p><a href="http://scompt.com/projects/wp-crontrol">WP-Crontrol</a> is a plugin I wrote that&#8217;s been up on <a href="http://wordpress.org/extend/plugins/wp-crontrol">WordPress.org</a> for a couple months now, but I&#8217;ve just today finished a version that has all the features and polish to be called a release.  WP-Crontrol lets you take control over what&#8217;s happening in the <a href="http://codex.wordpress.org/Category:WP-Cron_Functions">WP-Cron</a> system.  Here&#8217;s what it let&#8217;s you do:</p>
<p><span id="more-186"></span></p>
<ul>
<li>Add new cron schedules that can be used by other plugins to set intervals for cron entries.</li>
<li>Add new cron entries manually.  The user must then add the code for the cron entry somewhere in code.</li>
<li>Modify existing cron entries.  This allows you to change the time of a cron entry to a more convenient time (for example, midnight for a backup).
<li>Execute existing cron entries immediately.</li>
</ul>
<p>The biggest feature planned for the next version is the ability to enter PHP code for the cron entry directly in the administration interface.  This will allow a user to add a cron entry completely from within the browser.</p>
<p><a href="http://downloads.wordpress.org/plugin/wp-crontrol.0.3.zip">Download WP-Crontrol Version 0.3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://scompt.com/blog/archives/2008/04/26/wp-crontrol-03-released/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Zensor 0.7.1 Released</title>
		<link>http://scompt.com/blog/archives/2008/01/19/zensor-071-released</link>
		<comments>http://scompt.com/blog/archives/2008/01/19/zensor-071-released#comments</comments>
		<pubDate>Sat, 19 Jan 2008 16:22:50 +0000</pubDate>
		<dc:creator>scompt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://scompt.com/archives/2008/01/19/zensor-071-released</guid>
		<description><![CDATA[In response to a bug found by shafeng, I&#8217;ve released a minor release to Zensor.  It has the following big changes:

Removed a hardcoded database prefix.  (thanks, shafeng)
Changed the minimum WordPress version required to 2.1.  It was incorrectly set to 2.0.2.  (thanks, Keith)

Download the new version.
]]></description>
			<content:encoded><![CDATA[<p>In response to a <a href="/archives/2007/10/26/zensor-07-released#comment-1126">bug</a> found by <a href="http://shafeng.cn/">shafeng</a>, I&#8217;ve released a minor release to <a href="/projects/zensor">Zensor</a>.  It has the following big changes:</p>
<ul>
<li>Removed a hardcoded database prefix.  (thanks, shafeng)</li>
<li>Changed the minimum WordPress version required to 2.1.  It was incorrectly set to 2.0.2.  (thanks, Keith)</li>
</ul>
<p><a href="http://downloads.wordpress.org/plugin/zensor.0.7.1.zip">Download the new version.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://scompt.com/blog/archives/2008/01/19/zensor-071-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP Comment Notification, take two</title>
		<link>http://scompt.com/blog/archives/2007/11/12/wp-comment-notification-take-two</link>
		<comments>http://scompt.com/blog/archives/2007/11/12/wp-comment-notification-take-two#comments</comments>
		<pubDate>Mon, 12 Nov 2007 10:32:11 +0000</pubDate>
		<dc:creator>scompt</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://scompt.com/archives/2007/11/12/wp-comment-notification-take-two</guid>
		<description><![CDATA[I&#8217;ve updated the code that I published a couple days ago.  It now supports multiple blogs and three notification methods:

Growl on Mac OS X
DBus on Linux
Standard out on any platform


The DBus code is completely untested and is hacked from The Tao of Mac.  You&#8217;ll probably need a couple things installed (such as libnotify [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve updated the code that I <a href="/archives/2007/11/10/wordpress-comment-moderation-notifier-for-osx">published</a> a couple days ago.  It now supports multiple blogs and three notification methods:</p>
<ul>
<li><a href="http://growl.info">Growl</a> on Mac OS X</li>
<li><a href="http://dbus.freedesktop.org/">DBus</a> on Linux</li>
<li>Standard out on any platform</li>
</ul>
<p><span id="more-133"></span></p>
<p>The DBus code is <strong>completely</strong> untested and is hacked from <a href="http://the.taoofmac.com/space/Projects/DBUSGrowl">The Tao of Mac</a>.  You&#8217;ll probably need a couple things installed (such as <a href="http://galago-project.org/downloads.php">libnotify</a> and <a href="http://galago-project.org/downloads.php">python-notify</a>), but I&#8217;m not completely sure.  If someone wants to test it out and let me know how it works, I&#8217;d be grateful.</p>
<h2><a href='/wordpress/wp-content/uploads/2007/11/wpcmn.zip' title='WP Comment Notification'>Download WP Comment Notification</a></h2>
<p>[Update: Added mention of multiple blog support]</p>
]]></content:encoded>
			<wfw:commentRss>http://scompt.com/blog/archives/2007/11/12/wp-comment-notification-take-two/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WP Comment Notification with AppleScript</title>
		<link>http://scompt.com/blog/archives/2007/11/10/wp-comment-notification-with-applescript</link>
		<comments>http://scompt.com/blog/archives/2007/11/10/wp-comment-notification-with-applescript#comments</comments>
		<pubDate>Sun, 11 Nov 2007 00:01:41 +0000</pubDate>
		<dc:creator>scompt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://scompt.com/archives/2007/11/10/wp-comment-notification-with-applescript</guid>
		<description><![CDATA[A more primitive alternative to using a python script for notification about new comments is to just use good ol&#8217; AppleScript.  Apparently, it can do XML-RPC calls and Growl notifications out-of-the-box (with Growl installed, at least).  The script below will go out and check for new comments on your blog.  It&#8217;ll only [...]]]></description>
			<content:encoded><![CDATA[<p>A more primitive alternative to using a <a href="/archives/2007/11/10/wordpress-comment-moderation-notifier-for-osx">python script</a> for notification about new comments is to just use good ol&#8217; <a href="http://www.apple.com/applescript/">AppleScript</a>.  Apparently, it can do XML-RPC calls and Growl notifications out-of-the-box (with Growl installed, at least).  The script below will go out and check for new comments on your blog.  It&#8217;ll only do it once as I didn&#8217;t want to dig into this too much, but maybe it&#8217;s also possible to sleep in AppleScript.</p>
<p><span id="more-132"></span></p>
<pre style="overflow:scroll">set BLOG_ID to 1
set USERNAME to ""
set MY_PASSWORD to ""

tell application "GrowlHelperApp"
	set the allNotificationsList to {"Comments"}
	set the enabledNotificationsList to {"Comments"}
	register as application "WordPress Comment Notifier AS" all notifications allNotificationsList default notifications enabledNotificationsList icon of application "Script Editor"
end tell

tell application "http://localhost/wordpress/xmlrpc.php"
	set comment_count to call xmlrpc {method name:"geek.getCommentModerationCount", parameters:{BLOG_ID, USERNAME, MY_PASSWORD}}
end tell

if comment_count is not "0" then
	if comment_count is "1" then
		set msg to comment_count &#038; " new comment"
	else
		set msg to comment_count &#038; " new commens"
	end if

	tell application "GrowlHelperApp"
		notify with name "Comments" title "WordPress Comment Notifier" description msg application name "WordPress Comment Notifier AS"
	end tell
end if</pre>
]]></content:encoded>
			<wfw:commentRss>http://scompt.com/blog/archives/2007/11/10/wp-comment-notification-with-applescript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Comment Moderation Notifier for OSX</title>
		<link>http://scompt.com/blog/archives/2007/11/10/wordpress-comment-moderation-notifier-for-osx</link>
		<comments>http://scompt.com/blog/archives/2007/11/10/wordpress-comment-moderation-notifier-for-osx#comments</comments>
		<pubDate>Sat, 10 Nov 2007 23:08:23 +0000</pubDate>
		<dc:creator>scompt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://scompt.com/archives/2007/11/10/wordpress-comment-moderation-notifier-for-osx</guid>
		<description><![CDATA[Matt Mullenweg mentioned earlier today a plugin/application combo that displays a system tray popup on Windows whenever you have comments awaiting moderation.  He also expressed a desire to see something like that for OSX.  I thought it&#8217;d be nice too and given the lovely weather, I had some time on my hands.

The file [...]]]></description>
			<content:encoded><![CDATA[<p>Matt Mullenweg <a href="http://photomatt.net/2007/11/10/comment-moderation-notifier/">mentioned</a> earlier today a <a href="http://www.howtogeek.com/howto/the-geek-blog/how-to-geek-software-wordpress-comment-moderation-notifier/">plugin/application combo</a> that displays a system tray popup on Windows whenever you have comments awaiting moderation.  He also expressed a desire to see something like that for OSX.  I thought it&#8217;d be nice too and given the <a href="http://de.weather.yahoo.com/GMXX/GMXX0142/index_f.html">lovely weather</a>, I had some time on my hands.</p>
<p><span id="more-130"></span></p>
<p>The file linked to below contains a python script which connects to your WordPress installation and uses the HowToGeek &#8211; WP Notifier plugin to check for any comments that are awaiting moderation.  If any are found, the script uses <a href="http://growl.info">Growl</a> to notify you that they&#8217;re waiting.  Full instructions are included in the .ZIP file and below.  Let me know if there&#8217;s anything you think can be improved (or fixed).</p>
<h2><a href="/wordpress/wp-content/uploads/2007/11/wpcmnosx.zip">Download WordPress Comment Moderation Notifier for OSX</a></h2>
<h3>Requirements</h3>
<p>You must have the <a href="http://www.howtogeek.com/howto/the-geek-blog/how-to-geek-software-wordpress-comment-moderation-notifier/">HowToGeek &#8211; WP Notifier</a> plugin installed.</p>
<h3>Installation</h3>
<p>Install the python Growl library provided in the .ZIP file.</p>
<ol>
<li><code>cd growl</code></li>
<li><code>python setup.py build</code></li>
<li><code>sudo python setup.py install</code></li>
</ol>
<p>Now that the Growl library is installed, tweak the configuration values to your liking at the top of <code>wpcmnosx.py</code>.  Move the script to your favorite location.</p>
<h3>Configuration</h3>
<p>There are a number of configuration variables listed at the top of <code>wpcmnosx.py</code>.  This is what they mean:</p>
<p><strong>XMLRPC_LOCATION</strong>: The location of your xmlrpc.php file.  Should be something like <code>http://example.com/wordpress/xmlrpc.php</code> or <code>http://example.com/xmlrpc.php</code>.<br />
<strong>BLOG_ID</strong>: The ID of your blog in WordPress.  The default value of 1 is probably ok.<br />
<strong>USERNAME</strong>: A username with the <code>moderate_comments</code> privilege.<br />
<strong>PASSWORD</strong>: &#8230; and the password<br />
<strong>NOTIFICATION_INTERVAL</strong>: The amount of time in minutes to wait between checking.<br />
<strong>DAEMON</strong>: Whether to put the script in the background after executing.</p>
<h3>Execution</h3>
<p>To execute the script, run <code>python wpcmnosx.py</code> from the command line.</p>
<p>If the script is configured as a <code>DAEMON</code>, you will get your command-line back immediately and the process will continue running in the background.  The process id of the process is written to the `~/.wp_comment_notifier.pid` file.  The process can then be killed using `kill`</p>
<h3>Precautions</h3>
<p>Your password is stored in cleartext in <code>wpcmnosx.py</code>.  You might want to chmod it to 700.  Also, as mentioned by the author of the HowToGeek &#8211; WP Notifier plugin, the username and password are sent in cleartext if you don&#8217;t use SSL in the <code>XMLRPC_LOCATION</code> configuration setting.</p>
<p>[Update: Also available using <a href="/archives/2007/11/10/wp-comment-notification-with-applescript">AppleScript</a>]</p>
<p>[Update: <a href="/archives/2007/11/12/wp-comment-notification-take-two">Now supports</a> other notification methods and multiple blogs]</p>
]]></content:encoded>
			<wfw:commentRss>http://scompt.com/blog/archives/2007/11/10/wordpress-comment-moderation-notifier-for-osx/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
