<?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:media="http://search.yahoo.com/mrss/">

<channel>
	<title>Open Parenthesis &#187; JohnEckman</title>
	<atom:link href="http://www.openparenthesis.org/tag/johneckman/feed" rel="self" type="application/rss+xml" />
	<link>http://www.openparenthesis.org</link>
	<description>Because these are the early days of a long revolution . . .</description>
	<lastBuildDate>Mon, 30 Jan 2012 16:13:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>MT Activity Streams</title>
		<link>http://www.openparenthesis.org/2008/02/10/action-streams</link>
		<comments>http://www.openparenthesis.org/2008/02/10/action-streams#comments</comments>
		<pubDate>Mon, 11 Feb 2008 00:51:58 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Action Stream]]></category>
		<category><![CDATA[activity]]></category>
		<category><![CDATA[DiSo]]></category>
		<category><![CDATA[JohnEckman]]></category>
		<category><![CDATA[lifestream]]></category>
		<category><![CDATA[Microformat]]></category>
		<category><![CDATA[Moveable Type]]></category>
		<category><![CDATA[MTOS]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/2008/02/10/action-streams</guid>
		<description><![CDATA[I&#8217;m experimenting a bit with Movable Type 4.1 and the Action Streams plugin. Check out the work in progress at johneckman.com. Read on if you&#8217;re interested in creating your own action streams. Although it has been a while since I&#8217;ve worked in Movable Type, it was a relatively painless install (assuming you&#8217;ve got the basic [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m experimenting a bit with <a href="http://www.movabletype.org/download.html">Movable Type 4.1</a> and the <a href="http://plugins.movabletype.org/action-streams/">Action Streams</a> plugin. </p>
<p>Check out the work in progress at <a href="http://johneckman.com/">johneckman.com</a>. Read on if you&#8217;re interested in creating your own action streams. </p>
<p>Although it has been a while since I&#8217;ve worked in Movable Type, it was a relatively painless install (assuming you&#8217;ve got the basic LAMP stuff in place). </p>
<p>The challenge was creating additional &#8220;services&#8221; for this blog and <a href="http://www.goatless.org/">goatless</a>. There&#8217;s some basic info on writing new services in this blog post: &#8220;<a href="http://www.movabletype.org/2008/01/building_action_streams.html">building action streams</a>&#8221; &#8211; but it took some time to translate this into my way of thinking about it, including where the png file goes for the icon for the service. </p>
<p>Here&#8217;s what the config.yaml looks like for the OpenParenthesis service:</p>
<pre>
name: Open Parenthesis
id: openparenthesis
key: openparenthesis
author_link: http://johneckman.com/
author_name: John Eckman
description: Adds profile service and activity stream for Open Parenthesis
version: 1.0
plugin_link: http://johneckman.com/

profile_services:
    openparenthesis:
        name: Open Parenthesis
        url: http://www.openparenthesis.org/
        icon: images/openparenthesis.png

action_streams:
    openparenthesis:
        posted:
            name: Posts
            description: New Posts to the Blog
            html_form: '[_1] blogged on &lt;a
                href="http://www.openparenthesis.org/"&gt;OpenParenthesis&lt;/a&gt;
                about &lt;a href="[_2]"&gt;[_3]&lt;/a&gt;'
            html_params:
                - url
                - title
            url: 'http://feeds.feedburner.com/OpenParenthesis/'
            identifier: url
            xpath:
                foreach: //item
                get:
                    created_on: pubDate/child::text()
                    url: link/child::text()
                    title: title/child::text()
</pre>
<p>This config.yaml file goes in mt/plugins/openparenthesis/config.yaml &#8211; that is, you create a new plugin folder containing just this config.yaml. </p>
<p>Then you put the openparenthesis.png in: mt/mt-static/plugins/openparenthesis/images/openparenthesis.png</p>
<p>I suppose much of this would have been obvious had I been more accustomed to how MT plugins work. </p>
<p>You may also note I&#8217;m just hardcoding a pointer to my feedburner feed &#8211; so technically there is no &#8220;{{ident}}&#8221; needed &#8211; it doesn&#8217;t matter what identifer I put in. </p>
<p>One could translate this by changing:<br />
<code>url: 'http://feeds.feedburner.com/OpenParenthesis/'</code><br />
to:<br />
<code>url: 'http://feeds.feedburner.com/{{ident}}/'</code></p>
<p>And then entering the feed name (the only part of a feedburner feed which changes) into the identifier field when adding the service to your profile from the MT admin side. That would give you a generic FeedBurner feed, to add blog postings to your action stream.</p>
<p>Of course, this may not make sense if your blog is itself on Movable Type, since your blog postings will be directly in your feed, but if you&#8217;re creating your action stream on separate domain, it may come in handy. </p>
<p>You can create extra &#8220;profile&#8221; links which offer no streams as well. For now I&#8217;ve just cheated with the link to Optaros at the top of my &#8220;Find Me Elsewhere&#8221; list. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2008/02/10/action-streams/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

