<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Subtext</title>
        <link>http://codingmonk.com/category/5.aspx</link>
        <description>Subtext.  A .Net, open source blogging package which, not-so-coincidentally, this site runs on.</description>
        <language>en-US</language>
        <copyright>Jim Fisher</copyright>
        <generator>Subtext Version 2.1.2.2</generator>
        <item>
            <title>Configuring Subtext for Blogging with Word 2007</title>
            <link>http://www.codingmonk.com/archive/2008/08/17/configuring-subtext-for-blogging-with-word-2007.aspx</link>
            <description>&lt;p&gt;As part of my political agenda, in a &lt;a href="http://www.codingmonk.com/archive/2008/05/15/configuring-word-2007-for-blogging-to-subtext.aspx"&gt;recent post&lt;/a&gt; I walked through the steps of configuring Word 2007's blogging features to work with Subtext. At the end of that article, I promised to review the code changes required to make Subtext accept pictures from Word 2007. The fix I detail here consists of relatively minor code changes, limited to two c# files in the Subtext.Framework project: &lt;/p&gt;
&lt;ul style="MARGIN-LEFT: 72pt"&gt;
    &lt;li&gt;MetaWeblog.cs &lt;/li&gt;
    &lt;li&gt;MetaWeblogAPI.cs &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you regularly compile the Subtext source code, you'll find making these changes a snap. If not, you might find it easier to skip the rest of this article, navigate to your site's bin directory, rename the Subtext.Framework.dll file and drop &lt;a href="http://www.codingmonk.com/downloads/Subtext.Framework.dll-1.9.5b-support.Word.2007.zip"&gt;this one&lt;/a&gt; in its place. &lt;/p&gt;
&lt;p&gt;Before moving forward, I should note that the changes described are against the Subtext 1.9.5b code base and future versions of the code base probably have this incompatibility addressed, so a bit of advice: make sure which version of Subtext you are using before you begin digging into the internals. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MetaWeblogAPI.cs &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you crack open the MetaWeblogAPI.cs file (under &lt;span style="FONT-FAMILY: Courier New"&gt;Subtext.Framework.XmlRpc&lt;/span&gt;) and search for the &lt;span style="FONT-FAMILY: Courier New"&gt;newMediaObject&lt;/span&gt; method, you'll find the following under the &lt;span style="FONT-FAMILY: Courier New"&gt;IMetaWeblog&lt;/span&gt; interface: &lt;/p&gt;
&lt;p style="MARGIN-LEFT: 36pt"&gt;&lt;span style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;[XmlRpcMethod(&lt;span style="COLOR: #a31515"&gt;"metaWeblog.newMediaObject"&lt;/span&gt;,&lt;br /&gt;
Description = &lt;span style="COLOR: #a31515"&gt;"Uploads an image, movie, song, or other media "&lt;/span&gt;&lt;br /&gt;
+ &lt;span style="COLOR: #a31515"&gt;"using the metaWeblog API. Returns the metaObject struct."&lt;/span&gt;)] &lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 36pt"&gt;&lt;span style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;mediaObjectInfo newMediaObject(&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; blogid, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; username, &lt;br /&gt;
&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; password, mediaObject mediaobject); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;   &lt;/p&gt;
&lt;p&gt;Note the &lt;span style="FONT-FAMILY: Courier New"&gt;blogid&lt;/span&gt; parameter is of type &lt;span style="FONT-FAMILY: Courier New"&gt;object&lt;/span&gt;, unlike every other method in the interface, which all support &lt;span style="FONT-FAMILY: Courier New"&gt;blogid&lt;/span&gt; parameters of type &lt;span style="FONT-FAMILY: Courier New"&gt;string&lt;/span&gt;. The easiest fix in this module is to change the parameter type to &lt;span style="FONT-FAMILY: Courier New"&gt;string&lt;/span&gt;, and I suspect that this alone might solve the issue, but a more thorough approach, one that leaves compatibility for other applications that may actually use the object-based &lt;span style="FONT-FAMILY: Courier New"&gt;blogid&lt;/span&gt;, is to add a more specific declaration or two. I chose this path of overkill, rather than that of minimalism by adding support for both &lt;span style="FONT-FAMILY: Courier New"&gt;string &lt;/span&gt;and &lt;span style="FONT-FAMILY: Courier New"&gt;int&lt;/span&gt; types; while not strictly necessary, it was quite easy to do. The full definition of the &lt;span style="FONT-FAMILY: Courier New"&gt;newMediaObject&lt;/span&gt; declaration appears below, with the additions surrounded with a dotted border: &lt;/p&gt;
&lt;p&gt;   &lt;/p&gt;
&lt;div&gt;
&lt;table style="BORDER-COLLAPSE: collapse" border="0"&gt;
    &lt;colgroup&gt;&lt;col style="WIDTH: 510px" /&gt;&lt;/colgroup&gt;
    &lt;tbody valign="top"&gt;
        &lt;tr style="HEIGHT: 109px"&gt;
            &lt;td style="BORDER-BOTTOM: black 1.5pt dashed; BORDER-LEFT: black 1.5pt dashed; PADDING-BOTTOM: 1px; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: black 1.5pt dashed; BORDER-RIGHT: black 1.5pt dashed; PADDING-TOP: 1px" valign="middle"&gt;
            &lt;p&gt;&lt;span style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;[&lt;span style="COLOR: #2b91af"&gt;XmlRpcMethod&lt;/span&gt;(&lt;span style="COLOR: #a31515"&gt;"metaWeblog.newMediaObject"&lt;/span&gt;,&lt;br /&gt;
            Description = &lt;span style="COLOR: #a31515"&gt;"Uploads an image, movie, song, or other media " &lt;br /&gt;
            &lt;/span&gt;+ &lt;span style="COLOR: #a31515"&gt;"using the metaWeblog API. Returns the metaObject struct."&lt;/span&gt;)]&lt;br /&gt;
            &lt;span style="COLOR: #2b91af"&gt;mediaObjectInfo&lt;/span&gt; newMediaObject(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; blogid, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; username,&lt;br /&gt;
                &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; password, &lt;span style="COLOR: #2b91af"&gt;mediaObject&lt;/span&gt; mediaobject); &lt;/span&gt;&lt;/p&gt;
            &lt;p&gt;&lt;span style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;[&lt;span style="COLOR: #2b91af"&gt;XmlRpcMethod&lt;/span&gt;(&lt;span style="COLOR: #a31515"&gt;"metaWeblog.newMediaObject"&lt;/span&gt;,&lt;br /&gt;
            Description = &lt;span style="COLOR: #a31515"&gt;"Uploads an image, movie, song, or other media "&lt;/span&gt;&lt;br /&gt;
            + &lt;span style="COLOR: #a31515"&gt;"using the metaWeblog API. Returns the metaObject struct."&lt;/span&gt;)]&lt;br /&gt;
            &lt;span style="COLOR: #2b91af"&gt;mediaObjectInfo&lt;/span&gt; newMediaObject(&lt;span style="COLOR: blue"&gt;int&lt;/span&gt; blogid, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; username, &lt;br /&gt;
                &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; password, &lt;span style="COLOR: #2b91af"&gt;mediaObject&lt;/span&gt; mediaobject);&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="HEIGHT: 109px"&gt;
            &lt;td style="BORDER-BOTTOM: white 0.25pt solid; BORDER-LEFT: white 0.25pt solid; PADDING-BOTTOM: 1px; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none; BORDER-RIGHT: white 0.25pt solid; PADDING-TOP: 1px" valign="middle"&gt;
            &lt;p&gt;&lt;span style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&lt;br /&gt;
            [&lt;span style="COLOR: #2b91af"&gt;XmlRpcMethod&lt;/span&gt;(&lt;span style="COLOR: #a31515"&gt;"metaWeblog.newMediaObject"&lt;/span&gt;,&lt;br /&gt;
            Description = &lt;span style="COLOR: #a31515"&gt;"Uploads an image, movie, song, or other media "&lt;/span&gt;&lt;br /&gt;
            + &lt;span style="COLOR: #a31515"&gt;"using the metaWeblog API. Returns the metaObject struct."&lt;/span&gt;)]&lt;br /&gt;
            &lt;span style="COLOR: #2b91af"&gt;mediaObjectInfo&lt;/span&gt; newMediaObject(&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; blogid, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; username, &lt;br /&gt;
                &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; password, &lt;span style="COLOR: #2b91af"&gt;mediaObject&lt;/span&gt; mediaobject);&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;These are, of course, only slight variations on the original declaration. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MetaWeblog.cs&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;Having declared the additional forms of &lt;span style="FONT-FAMILY: Courier New"&gt;newMediaObject&lt;/span&gt; that Subtext will support, we are half way complete. The final changes that are to be made are contained in the &lt;span style="FONT-FAMILY: Courier New; COLOR: #2b91af; FONT-SIZE: 10pt"&gt;MetaWeblog&lt;/span&gt; class. Search for the implementation of &lt;span style="FONT-FAMILY: Courier New"&gt;newMediaObject&lt;/span&gt; and you'll find the original signature: &lt;/p&gt;
&lt;p style="MARGIN-LEFT: 36pt"&gt;&lt;span style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;mediaObjectInfo&lt;/span&gt; newMediaObject(&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; blogid, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; username, &lt;br /&gt;
&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; password, &lt;span style="COLOR: #2b91af"&gt;mediaObject&lt;/span&gt; mediaobject)&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;Note the &lt;span style="FONT-FAMILY: Courier New"&gt;blogid&lt;/span&gt; parameter with the type &lt;span style="FONT-FAMILY: Courier New"&gt;object&lt;/span&gt;. I found it best to not change the existing code. Instead, we need only to implement the two additions defined for the interface supporting the two alternate parameter types. Implementing pass-through methods for this is the least painful of approaches: &lt;/p&gt;
&lt;div&gt;
&lt;table style="BORDER-COLLAPSE: collapse" border="0"&gt;
    &lt;colgroup&gt;&lt;col style="WIDTH: 446px" /&gt;&lt;/colgroup&gt;
    &lt;tbody valign="top"&gt;
        &lt;tr style="HEIGHT: 152px"&gt;
            &lt;td style="BORDER-BOTTOM: black 1.5pt dashed; BORDER-LEFT: black 1.5pt dashed; PADDING-BOTTOM: 1px; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: black 1.5pt dashed; BORDER-RIGHT: black 1.5pt dashed; PADDING-TOP: 1px" valign="middle"&gt;
            &lt;p&gt;&lt;span style="FONT-FAMILY: Courier New; FONT-SIZE: 10pt"&gt;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;mediaObjectInfo&lt;/span&gt; newMediaObject(&lt;span style="COLOR: blue"&gt;int&lt;/span&gt; blogid, &lt;br /&gt;
                &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; username, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; password, &lt;br /&gt;
                &lt;span style="COLOR: #2b91af"&gt;mediaObject&lt;/span&gt; mediaobject) &lt;br /&gt;
            {&lt;br /&gt;
                &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; newMediaObject(blogid.ToString(), username, &lt;br /&gt;
                    password, mediaobject);&lt;br /&gt;
            }&lt;br /&gt;
            &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;mediaObjectInfo&lt;/span&gt; newMediaObject(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; blogid, &lt;br /&gt;
                &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; username, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; password, &lt;br /&gt;
                &lt;span style="COLOR: #2b91af"&gt;mediaObject&lt;/span&gt; mediaobject)&lt;br /&gt;
            {&lt;br /&gt;
                &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; newMediaObject((&lt;span style="COLOR: blue"&gt;object&lt;/span&gt;)blogid, username, &lt;br /&gt;
                    password, mediaobject);&lt;br /&gt;
            }&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;And that's pretty much it for changes to Subtext. After we compile this and deploy the resulting modified &lt;span style="FONT-FAMILY: Courier New"&gt;Subtext.Framework&lt;/span&gt; assembly, Subtext should support images from Word 2007. &lt;/p&gt;&lt;img src="http://www.codingmonk.com/aggbug/20.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jim Fisher</dc:creator>
            <guid>http://www.codingmonk.com/archive/2008/08/17/configuring-subtext-for-blogging-with-word-2007.aspx</guid>
            <pubDate>Mon, 18 Aug 2008 03:02:12 GMT</pubDate>
            <comments>http://www.codingmonk.com/archive/2008/08/17/configuring-subtext-for-blogging-with-word-2007.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://www.codingmonk.com/comments/commentRss/20.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Configuring Word 2007 for Blogging to Subtext</title>
            <link>http://www.codingmonk.com/archive/2008/05/15/configuring-word-2007-for-blogging-to-subtext.aspx</link>
            <description>&lt;p&gt;As part of my need to clearly express myself, I've been writing and posting articles on various sites for some time and, for me at least, the process has always been a painful one. For years I'd write the articles in Word, paste the completed document into Visual Studio, clean up the resulting HTML and formatting by switching back and forth between the source and the display panels, and finally upload the completed HTML to my site's database. Not exactly a roadblock, but this was certainly a speed bump in the creative process. &lt;/p&gt;
&lt;p&gt;Beginning with Word 2007, Microsoft introduced a feature that removes the middle man and significantly streamlines the process of publishing articles online: Word now talks directly to blogging systems, including &lt;a href="http://www.subtextproject.com"&gt;Subtext&lt;/a&gt; (the blogging framework upon which this site is based)! &lt;/p&gt;
&lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/word/HA102341301033.aspx"&gt;I'm&lt;/a&gt; &lt;a href="http://www.irishdev.com/blogs/kieranlynam/archive/2006/06/28/1639.aspx"&gt;not&lt;/a&gt; &lt;a href="http://www.videojug.com/film/how-to-blog-through-word-2007"&gt;the&lt;/a&gt; &lt;a href="http://geekswithblogs.net/viktorbergman/archive/2007/02/25/107242.aspx"&gt;first&lt;/a&gt; &lt;a href="http://everything.typepad.com/blog/2007/04/post_to_your_bl.html"&gt;to&lt;/a&gt; &lt;a href="http://blog.jonudell.net/2007/02/19/blogging-from-word-2007-crossing-the-chasm/"&gt;post&lt;/a&gt; &lt;a href="http://skattertech.com/2007/02/word-07-supports-wordpress/"&gt;on&lt;/a&gt; &lt;a href="http://nevyan.blogspot.com/2007/09/publish-your-blog-using-word-2007.html"&gt;Word's&lt;/a&gt; &lt;a href="http://blog.case.edu/bes7/2006/11/05/testing_word_2007_blog_integration"&gt;new&lt;/a&gt; &lt;a href="http://msmvps.com/blogs/ad/archive/2007/01/07/posting-with-word-2007.aspx"&gt;blogging&lt;/a&gt; &lt;a href="http://word2007bible.herbtyson.com/2008/04/17/editing-previously-posted-blog-entries/"&gt;features&lt;/a&gt;. In fact, I'm a bit late to the game; however, much of the research I turned up on Word 2007's blogging functionality didn't actually apply to what I was trying to do and a few sites alluded to steps that needed to be taken but didn't provide much in the way of details. So this post documents my own personal experiences on configuring Word to work with Subtext. On the whole, I thought it was relatively easy and I find blogging with Word 2007 a positive change, the advantages of which outweigh the drawbacks. Your mileage may vary. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Basic Word Configuration &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Configuring Word2007 for blogging with Subtext is a snap and if you've never done it before, you'll get prompted to configure just by opening a new, blank blog entry. That is: &lt;/p&gt;
&lt;ul style="MARGIN-LEFT: 38pt"&gt;
    &lt;li&gt;click your friendly office button&lt;strong&gt;:&lt;img alt="" src="http://codingmonk.com/images/codingmonk_com/051508_0631_Configuring1.png" /&gt;&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;select &lt;em&gt;New&lt;/em&gt; &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;double click the &lt;strong&gt;&lt;em&gt;New blog post&lt;/em&gt;&lt;/strong&gt; option: &lt;/div&gt;
    &lt;p style="MARGIN-LEFT: 69pt"&gt;&lt;img alt="" src="http://codingmonk.com/images/codingmonk_com/051508_0631_Configuring2.png" /&gt; &lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At this point, Word detects that you have no blogging accounts setup and prompts you to create a new one. Word comes preconfigured with a slew of blog providers, but at the time of this writing, Subtext is not one of them. That's okay though; as I said before, configuring Word is really easy. So from the Blog dropdown, just choose "other" and click the Next button: &lt;/p&gt;
&lt;p style="MARGIN-LEFT: 72pt"&gt;&lt;img alt="" src="http://codingmonk.com/images/codingmonk_com/051508_0631_Configuring3.png" /&gt; &lt;/p&gt;
&lt;p&gt;Beyond the username password (which you presumably know if you &lt;img alt="" align="right" src="http://codingmonk.com/images/codingmonk_com/051508_0631_Configuring4.png" /&gt;actually blog to your site), there are only two settings to configure: &lt;/p&gt;
&lt;ul style="MARGIN-LEFT: 54pt"&gt;
    &lt;li&gt;&lt;strong&gt;The API dropdown&lt;/strong&gt; - For Subtext, this should always be set to MetaWebLog. &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;strong&gt;The Blog Post URL textbox &lt;/strong&gt;– This is a bit less obvious, but it is the full URL of your Subtext site plus: &lt;/div&gt;
    &lt;p&gt;&lt;span style="FONT-FAMILY: Courier New; FONT-SIZE: 8pt"&gt;/services/metablogapi.aspx &lt;/span&gt;&lt;/p&gt;
    &lt;p&gt;That is, if your Subtext installation rests at &lt;span style="FONT-FAMILY: Courier New"&gt;www.mblog.com&lt;/span&gt;, then your Blog Post URL would be: &lt;/p&gt;
    &lt;p&gt;&lt;span style="FONT-FAMILY: Courier New; FONT-SIZE: 8pt"&gt;http://www.mblog.com/services/metablogapi.aspx &lt;/span&gt;&lt;/p&gt;
    &lt;p&gt;Those running short on faith (I'll pray for you, my brothers) might try to locate this file in their site's directory structure, just for reassurance that they have the URL correct. This will likely convince them that they managed to get their installation of Subtext fouled up when they find that this file does not actually exist. Don't be bothered by this. Subtext leverages a form of URL rewriting to make this address work; so enter this magic URL along with your username and password, secure in the knowledge that Word will immediately award you with a success or an error message as soon as you press the OK button. &lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Special Notes on Picture Options &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To configure pictures, press the "Picture Options" button to pull up yet another dialog: &lt;/p&gt;
&lt;p style="MARGIN-LEFT: 36pt"&gt;&lt;img alt="" src="http://codingmonk.com/images/codingmonk_com/051508_0631_Configuring5.png" /&gt; &lt;/p&gt;
&lt;p&gt;The default selection "My blog provider" is the correct setting for SubText, and for Subtext, this dialog need only be closed (press "OK"). Having made no changes, you might think that you can skip this step entirely, but my experience in this suggests that this open-and-close step is required and that support for pictures do not work unless this is done. &lt;/p&gt;
&lt;p&gt;At this point I should mention that, as of the 1.9.5 release, SubText and Word 2007 do not exchange images. That is, pictures embedded in your post in Word, will not appear in your post when it's been published. This can be made to happen, and it's quite easy, really. I'll cover this in my &lt;a href="http://www.codingmonk.com/archive/2008/08/17/configuring-subtext-for-blogging-with-word-2007.aspx"&gt;next post&lt;/a&gt;. &lt;/p&gt;&lt;img src="http://www.codingmonk.com/aggbug/16.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Jim Fisher</dc:creator>
            <guid>http://www.codingmonk.com/archive/2008/05/15/configuring-word-2007-for-blogging-to-subtext.aspx</guid>
            <pubDate>Thu, 15 May 2008 06:32:03 GMT</pubDate>
            <comments>http://www.codingmonk.com/archive/2008/05/15/configuring-word-2007-for-blogging-to-subtext.aspx#feedback</comments>
            <wfw:commentRss>http://www.codingmonk.com/comments/commentRss/16.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>