Darren Ferguon - Weblog

Thursday, July 03, 2008

Keeping up with the Umbraco community

Filed under: Umbraco - by Darren Ferguson @ 2:44 PM

Keeping up with the Umbraco community can be quite exhausting.

I maintain an Umbrao pipe at http://pipes.yahoo.com/darren/umbraco

From this URL you can get an RSS, JSON or a number of other formats.

I'd like the pipe to to be as complete as possible. If you run an Umbraco related blog and you aren't listed in the pipe sources on the left of the screen please let me know so I can add your site (by commenting on this post).

This is potentially a very useful resource and can save several hours of browsing from site to site. It also beats having tens of feeds in your reader as posts on the pipe average 3-4 per day.

I'd also encourage any Umbraco blog owners to provide a comments RSS if possible. I often participate in comment discussions and have to revisit the site to check for updates. It'd be great to have them all in my reader. I looked at cocomment to address this, but in my opinion it is over complex and doesn't seem to work very well.

The XSLT I use to produce my comments RSS is as follows:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
 version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:msxml="urn:schemas-microsoft-com:xslt"
 xmlns:umbraco.library="urn:umbraco.library"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 exclude-result-prefixes="msxml umbraco.library">


    <xsl:output method="xml" omit-xml-declaration="yes"/>

    <xsl:param name="currentPage"/>

    <xsl:variable name="howMany">
        20
    </xsl:variable>
    <xsl:variable name="posts" select="$currentPage/descendant-or-self::node [@nodeTypeAlias='umbracoBlogComment']"/>
    <xsl:variable name="total" select="count($posts)"/>
    <xsl:variable name="pubDate">
        <xsl:for-each select="$currentPage/descendant::node [@nodeTypeAlias='umbracoBlogComment']">
            <xsl:sort select="@createDate" data-type="text" order="descending"/>
            <xsl:if test="position() = 1">
                <xsl:value-of select="@createDate"/>
            </xsl:if>
        </xsl:for-each>
    </xsl:variable>

    <xsl:template match="/">
        <rss version="2.0">
            <channel>
                <title>
                    Darren Ferguson - Blog comments
                </title>
                <link>
                    http://www.darren-ferguson.com/?altTemplate=CommentRSS
                </link>
                <pubDate>
                    <xsl:value-of select="$pubDate"/>
                </pubDate>
                <generator>
                    umbraco 3.0.5
                </generator>
                <language>
                    en
                </language>

                <xsl:apply-templates select="$currentPage/descendant-or-self::node [@nodeTypeAlias='umbracoBlogComment']">
                    <xsl:sort select="@createDate" order="descending"/>
                </xsl:apply-templates>
            </channel>
        </rss>


    </xsl:template>

    <xsl:template match="node">

        <xsl:if test="position() <= $howMany">
            <item>
                <title>
                    <xsl:value-of select="@nodeName"/>
                </title>
                <link>
                    http://www.darren-ferguson.com/<xsl:value-of select="@id"/>.aspx
                </link>
                <pubDate>
                    <xsl:value-of select="@createDate"/>
                </pubDate>
                <dc:creator>
                    <xsl:value-of select="./data [@alias='name']"/>
                </dc:creator>
                <guid>
                    http://www.darren-ferguson.com/<xsl:value-of select="@id"/>.aspx
                </guid>
                <content:encoded>
                    <xsl:value-of select="concat('<![CDATA[ ', ./data [@alias='comment'],']]>')" disable-output-escaping="yes"/>
                </content:encoded>
            </item>
        </xsl:if>
    </xsl:template>

</xsl:stylesheet>

8 comment(s) for Keeping up with the Umbraco communityComments RSS

  1. Adam says:

    AdamHi Darren,
    I started using Disqus for my comments which does have a comments RSS feed.

    Anyhoo I have a collection of feeds - many of which you already have;

    Some which I think you may have missed are:

    - http://www.wibeck.com/

    - http://www.dotnetmafia.com/blogs/kevin/default.aspx

    I also have a blog which I am trying to keep up-to-date,

    http://www.createsoft.co.uk/blog/

    and the comments feed (I've had 3!) is at

    http://doctype.disqus.com/latest.rss

  2. PeterD says:

    PeterDThanks! Very usefull.
    I followed your tip, I've added a second feed to my blog containing comments.

    Any idea why there's only a title shown from my blog?

    PeterD

  3. Darren Ferguson says:

    Darren Ferguson@adam - thanks for that, there are a couple of new ones, i'll add them in tomorrow!

    @peter - I think you need to add a description tag. I just added one today. Suprised you don't have a gravatar mate!

  4. PeterD says:

    PeterD@Darren - Thanks, I guess the description did the trick. Plus, I should have a gravatar now ;)

  5. Dirk De Grave says:

    Dirk De GraveGreat work Darren! Thanks.

  6. Per Ploug Hansen says:

    Per Ploug HansenThere is a feed on umbraco.org which is basicly a community feed populated from my google reader account:

    http://www.google.com/reader/public/atom/user/18011736183647254521/state/com.google/broadcast

    All items are hand picked from google blog search. technorati, twingly, msn search feed etc etc.

  7. Darren Ferguson says:

    Darren FergusonThanks everyone, I now have a massive pipe ;)

  8. David Conlisk says:

    David ConliskHi Darren, As requested please find my shiny new rss feeds for both blog entries and blog comments on the Web Garden site. Also testing my new gravatar, may have to add that to my site next!
    Cheers,

    David

Leave a comment