Sharing Recent Site Activity via RSS

posted Jun 10, 2009, 11:56 AM by Brian Johnson   [ updated Jan 27, 2010, 7:56 PM ]



Google Sites now provides native RSS feeds for Announcements pages, Comments and Recent Site Activity.  To access these feeds, look for the RSS icon!



Tweet This Tweet This

Google Sites allows us to share our recent site activity in a couple of different ways. 
  1. As a gadget in the sidebar -  Adding the Recent Site Activity gadget in the sidebar provides a non-intrusive way for us to share the recent activity on our sites with our visitors.  Included in this gadget is a link to a more robust list of recent activity, including links to the modified pages or documents.  The only problem is that we have to physically access the site to see any updates.
  2. By subscribing to page or site-wide changes - Again, this is a nice feature, but if your site is frequently changed and/or updated, you can quickly find yourself overwhelmed by the amount of email that comes your way.
The one method that is missing is an RSS feed.  With RSS, you can keep up to speed with any and all changes on your site, without having to go to the site, and without the barrage of emails.  The purpose of this article is to show you how to create an RSS feed of your recent site activity using the Feed43.com service. 

Preparing Your Site

In order to pull the necessary data from your site to generate an RSS feed, you will first have to make recent site activity available to all site visitors.  This is done by adding the Recent Site Activity gadget to your sidebar:
  1. Log into your site.
  2. Select More Actions >> Manage Site >> Site Layout
  3. If the Recent Site Activity gadget is not already displayed in you sidebar, click the Add a Sidebar Item link to add the gadget
If you want to limit or expand the number of recent events that are displayed in your sidebar gadget, click the Edit link under the Recent Site Activity gadget.  Otherwise, proceed to the following steps:
  1. Click Save Changes
  2. Click Return to Site
At this point, you should see your Recent Site Activity gadget displayed in your sidebar.  Anyone who visits your site will now have access to this information, and will be able to view the full list by clicking the View All link.

Building the RSS Feed

To build the RSS feed, you will need to use a third-party service to scrape and format the data.  My preferred service is called Feed43, and this is what will be used for the purpose of this article.

Once you navigate to Feed43.com, you will have the option to either create a new feed without creating an account, or you can create an account under which you can create and manage multiple feeds.  While they do offer pay features, Feed43.com is a free service. 

Specify source page address (URL)

After clicking the "create new feed" link and accepting the Feed43.com TOS, you will begin building your feed by specifying a source page address (URL).  Let's look at the URL I provided for my feed:  http://siteshelp.kccloudsolutions.com/system/app/pages/recentChanges

The URL points to the Recent Site Activity page of this site.  On this page, you will find a list of the 20 most recent updates to the site.  Pretty straightforward.

Once Feed43.com looks at the URL, I am presented with a look at the code that makes up the page:

<td width="15%">
<strong>
<script xmlns="http://www.w3.org/1999/xhtml" type="text/javascript">JOT_insertRelDate(1244602553133, "Jun 9, 2009 7:55 PM", true);</script>
<noscript xmlns="http://www.w3.org/1999/xhtml">
Jun 9, 2009 7:55 PM</noscript>
</strong>
</td>
<td> Brian Johnson edited <a xmlns="http://www.w3.org/1999/xhtml"
href="http://siteshelp.kccloudsolutions.com/step-by-step-guides/usingthestyleattributewithgooglesites">
Using the STYLE Attribute with Google Sites</a>
</td>

Of course, the above snipit of code is just that, a snipit.  The entire text of the site is actually displayed for you, in a resizable text box.  I've focused on this portion of the code for the simple fact that it is what is needed to complete the process of constructing the feed.

Define Extraction Rules

After having analyzed the data and identified the information you want/need for your feed, your next step is to provide the extraction rules for Feed43.  To do this, we first define a Global Search Pattern.  This is simply a rule that tells Feed43 where to look in the page.  For our purposes, we will focus on the entire page.

Global Search Pattern:

{%}

Next, we need to specify exactly what we are looking for.  In our case, we want each new Activity, date/time of update, Collaborator's Name, link to updated page and title of updated page:

Item (Repeatable) Search Pattern:

Beginning of new Activity
Date/Time of update
Collaborator's Name
Link to updated page
Title of updated page
<td width={*}
<noscript xmlns="http://www.w3.org/1999/xhtml">{%}</noscript>{*}
<td>{%}<a{*}
href="{%}"{*}
>{%}</a>{*}


Once the Search Patterns are defined, you will click the Extract button to generate a sample list of available data.  The out put will look something like this:

Item 1

{%1} = Jun 10, 2009 11:31 AM
{%2} = Brian Johnson edited
{%3} = http://siteshelp.kccloudsolutions.com/step-by-step-guides/sitespageattachmentsimagesfilecabbinets
{%4} = Working with Page Attachments, Images and File Cabinets

Item 2

{%1} = Jun 10, 2009 11:27 AM
{%2} = Brian Johnson attached
{%3} = http://siteshelp.kccloudsolutions.com/docs/mygadget3.xml?attredirects=0
{%4} = mygadget3.xml

Define Output Format

The next step (almost done!) is to format the feed for publication.  There are two parts to this process:
  1. Define the properties of the feed.
  2. Define the properties of each feed item
Defining the properties of the feed is as simple as filling out three text fields:
  1. Feed Title
  2. Feed Link
  3. Feed Description
Defining the properties of each feed item involves using the Sample (Extracted) Text Snipits above to identify how you want your feed to display.  You're actually building a template, so you'll need to use variables rather than text.  The good news is that the variables have been provided for you.  In our case, the variables are as follows:
  • Date/Time of update = {%1}
  • Collaborator's Name = {%2}
  • Link to updated page = {%3}
  • Title of updated page = {%4}
To actually use these variables, I filled out the Title, Link and Content (Description) fields as follows:

Item Title Template:  Recently Updated:  {%4}
Item Link Template:  < I left this blank >
Item Content Template:

<P>On {%1}, {%2} <a href="{%3}" TITLE="{%4}" ALT="{%4}">{%4}</A></P>

* Note:  The Item Content Template field allows for the use of custom HTML to format your feed.

Finally, we get to a preview of what our feed will look like:


Get Your RSS Feed

The last step is to customize your feed URL.  You don't have to do this, but if you don't, you'll wind up with URL you can't remember.  For my needs, I chose:

Google also owns a service called FeedBurner that provides a number of tracking and analysis options for your RSS feeds.  Once you've created your RSS feed, and have the URL available, you might want to run it through FeedBurner and publish the resulting FeedBurner URL instead:

Related Information