<?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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>
<channel>
	<title>G-Loaded Journal &#187; Syndication</title>
	<atom:link href="http://www.g-loaded.eu/tag/syndication/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.g-loaded.eu</link>
	<description>An open-source software and technology related journal</description>
	<lastBuildDate>Mon, 05 Dec 2011 19:55:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
		<item>
		<title>Full G-Loaded content in Planet feeds</title>
		<link>http://www.g-loaded.eu/2010/10/04/full-g-loaded-content-in-planet-feeds/</link>
		<comments>http://www.g-loaded.eu/2010/10/04/full-g-loaded-content-in-planet-feeds/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 16:20:09 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Syndication]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1985</guid>
		<description><![CDATA[Although the full content of the posts is available in the website feed, until today I had been limiting the content (to just the post&#8217;s summary) that would be retrieved by UniversalFeedParser, which is the user agent string the PlanetPlanet software uses. This was done so that any buttons or ads do not appear in [...]]]></description>
			<content:encoded><![CDATA[<p>Although the full content of the posts is available in the website feed, until today I had been limiting the content (to just the post&#8217;s summary) that would be retrieved by <em>UniversalFeedParser</em>, which is the user agent string the <a href="http://www.planetplanet.org/">PlanetPlanet</a> software uses. This was done so that any buttons or ads do not appear in the Planet feeds. Unfortunately, several people perceived this action very differently, which led to some problems in the past. Recently, I realized that I am probably the only one who cares about such things, so, I announce that no filtering is performed on my side any more. Although the feed items do not contain any ads, social network buttons may be displayed. This change might lead to the re-appearance of my older posts in the Planet feeds. I apologize in advance for that (if it happens). This change is permanent, and I will work with the Planet administrators to resolve any potential future issues with my feed items.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2010/10/04/full-g-loaded-content-in-planet-feeds/">Full G-Loaded content in Planet feeds</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2009/11/19/g-loaded-feeds/" rel="bookmark">G-Loaded Feeds</a></li>
<li><a href="http://www.g-loaded.eu/2007/07/12/issue-addressed-author-feeds-deliver-full-content/" rel="bookmark">Issue addressed: Author feeds deliver full content</a></li>
<li><a href="http://www.g-loaded.eu/2008/10/17/status-of-content-availability-via-feeds/" rel="bookmark">Status of content availability via feeds</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/04/bot-allow-content-wordpress-plugin/" rel="bookmark">Bot-Allow-Content WordPress plugin</a></li>
<li><a href="http://www.g-loaded.eu/2006/11/01/bot-allow-content-and-cc-configurator-plugin-updates/" rel="bookmark">Bot-Allow-Content and CC-Configurator plugin updates</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2010/10/04/full-g-loaded-content-in-planet-feeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Status of content availability via feeds</title>
		<link>http://www.g-loaded.eu/2008/10/17/status-of-content-availability-via-feeds/</link>
		<comments>http://www.g-loaded.eu/2008/10/17/status-of-content-availability-via-feeds/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 14:37:16 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[G-Loaded]]></category>
		<category><![CDATA[Syndication]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/?p=547</guid>
		<description><![CDATA[In the previous post, I had written a few things about my intention to make the full content and not just the summaries of the posts available through the feeds (RSS or Atom). This was a hard decision as I&#8217;ve always considered feeds as a medium for notifying readers that the content of the website [...]]]></description>
			<content:encoded><![CDATA[<p>In the <a href="http://www.g-loaded.eu/2008/10/17/new-stuff-on-g-loaded/" title="New features on G-Loaded">previous post</a>, I had written a few things about my intention to make the <strong>full content</strong> and not just the <strong>summaries</strong> of the posts available through the feeds (<strong>RSS</strong> or <strong>Atom</strong>). This was a hard decision as I&#8217;ve always considered feeds as a medium for <em>notifying</em> readers that the content of the website had been updated. This turned out to be a mistake as nowadays web browsers, when it comes to reading the news, have almost been replaced by software or web-based feed readers. This means that these feed readers are not just a medium for receiving notifications, but the <em>main medium used to read the news</em>.<br />
<span id="more-547"></span><br />
As I had stated in the past, <a href="http://www.g-loaded.eu/">G-Loaded</a>&#8216;s <a href="http://www.g-loaded.eu/2007/02/04/and-the-winner-is-rss-20/">primary feed is RSS 2.0</a>, so, today, I am pleased to announce that the full G-Loaded Journal&#8217;s content will be available through the <a href="http://www.g-loaded.eu/feed/">RSS 2.0 feed</a>. The feed is being made <strong>available through</strong> the <a href="http://www.google.com/adsense">Google Adsense</a> program and is ad-supported like the content on the HTML pages. The <strong>full URL</strong> to the feed is:</p>
<pre class="codesnp">http://www.g-loaded.eu/feed/</pre>
<p>Further <strong>customizations</strong> are <strong>planned</strong> for this feed. The time of their implementation is unknown and will depend on my free time during the upcoming weeks/months.</p>
<p>Until further notice, the <a href="http://www.g-loaded.eu/feed/atom/">Atom 1.0 feed</a> will still deliver summaries of the posts and should be used by any web-based feed aggregator which syndicates G-Loaded Journal&#8217;s content.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2008/10/17/status-of-content-availability-via-feeds/">Status of content availability via feeds</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2010/10/04/full-g-loaded-content-in-planet-feeds/" rel="bookmark">Full G-Loaded content in Planet feeds</a></li>
<li><a href="http://www.g-loaded.eu/2009/11/19/g-loaded-feeds/" rel="bookmark">G-Loaded Feeds</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/04/bot-allow-content-wordpress-plugin/" rel="bookmark">Bot-Allow-Content WordPress plugin</a></li>
<li><a href="http://www.g-loaded.eu/2007/07/12/issue-addressed-author-feeds-deliver-full-content/" rel="bookmark">Issue addressed: Author feeds deliver full content</a></li>
<li><a href="http://www.g-loaded.eu/2006/11/01/bot-allow-content-and-cc-configurator-plugin-updates/" rel="bookmark">Bot-Allow-Content and CC-Configurator plugin updates</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2008/10/17/status-of-content-availability-via-feeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Fast-Static-Feed WordPress Plugin</title>
		<link>http://www.g-loaded.eu/2008/05/10/fast-static-feed-wordpress-plugin/</link>
		<comments>http://www.g-loaded.eu/2008/05/10/fast-static-feed-wordpress-plugin/#comments</comments>
		<pubDate>Sat, 10 May 2008 04:44:56 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/?p=493</guid>
		<description><![CDATA[Syndicated content has almost become the standard way of distributing web content nowadays. WordPress can deliver its content in various different feed formats -RSS 2.0, Atom 1.0, RDF, RSS 0.92- and can generate feeds for both the published posts -grouped by time, category, tag, author etc- and the comments that have been submitted by readers. [...]]]></description>
			<content:encoded><![CDATA[<p>Syndicated content has almost become the standard way of distributing web content nowadays. <a href="http://wordpress.org/">WordPress</a> can deliver its content in various different feed formats -<em>RSS 2.0</em>, <em>Atom 1.0</em>, <em>RDF</em>, <em>RSS 0.92</em>- and can generate feeds for both the <em>published posts</em> -grouped by <em>time</em>, <em>category</em>, <em>tag</em>, <em>author</em> etc- and the <em>comments</em> that have been submitted by readers. Moreover, some <em>RSS add-on modules</em> are being used in the generated feeds, so that modern feed readers can even retrieve the submitted comments for each of the feed entries. It is obvious that all these features greatly enhance the user experience, but, on the other hand, depending on the website&#8217;s traffic they might increase the server load and thus the content delivery times.</p>
<p>Taking these things into consideration, I decided to write <strong><a href="http://www.g-loaded.eu/2008/05/10/fast-static-feed-wordpress-plugin/">Fast-Static-Feed</a></strong>, a plugin that can <strong>cache</strong> the site&#8217;s entries feed, and deliver a static XML file instead of constantly generating the feed content on every client request. This, combined with the fact that the web server can <a href="http://www.g-loaded.eu/2008/05/10/use-mod_deflate-to-compress-web-content-delivered-by-apache/">compress the web content on-the-fly</a>, has greatly reduced the waste of bandwidth and system resources.<br />
<span id="more-493"></span></p>
<h4>How it works</h4>
<p><strong>Fast-Static-Feed</strong> performs the following actions:</p>
<ul>
<li>Every time a post is <strong>published</strong> or an already published post is <strong>edited</strong>, the plugin dumps the <em>entries feed</em> (that is the feed of the blog posts) to a file. This way, the static XML file is always contains the most fresh content of your blog.</li>
<li>Every time a feed is requested, instead of re-generating the XML content over and over, this plugin delivers the static XML file. This is <strong>completely transparent</strong> to the client as there are no HTTP redirects involved. Your content is just being delivered faster!</li>
<li>If the plugin is enabled, but the static files have not been created yet, the plugin will try to generate them automatically. Upon failure to do so, a <code>404 Not Found</code> HTTP error code will be returned to the client.</li>
<li>It also checks if the client&#8217;s request includes the <a href="http://www.g-loaded.eu/2005/10/19/the-if-modified-since-http-header/">If-Modified-Since</a> HTTP header and, in such a case, it checks the static file&#8217;s <strong>modification time</strong>. If the client&#8217;s cache is current, it just returns a <code>304 Not Modified</code> status to further reduce bandwidth usage.</li>
</ul>
<p>The plugin caches all four types of feeds WordPress supports -<em>RSS 2.0</em>, <em>Atom 1.0</em>, <em>RDF</em>, <em>RSS 0.92</em>-.</p>
<p>Only the feeds that contain your blog posts are cached. The comments feed, each individual post&#8217;s comments feed, feeds for categories, tags, authors etc are <strong>still generated dynamically every time they are requested</strong>.</p>
<p>This plugin <strong>does not interefere in any way with the generation of <em>rewrite rules</em> and the generation of your site&#8217;s feed links</strong>.</p>
<h4>Configuration</h4>
<p>Generally, the plugin does not require any configuration in order to work.</p>
<p>One <strong>mandatory prerequisite</strong> is that the <code>wp-content/</code> directory is <strong>writable by the web server</strong>. If it is not, the plugin will not be able to create the static files and, consequently, the clients who request a feed will receive a <code>404 Not Found</code> HTTP code.</p>
<p>Furthermore, there are two options within the source code <code>fast-static-feed.php</code> that can be set.</p>
<pre class="codesnp">
// By default, the WordPress feeds contain elements of the 'wfw' namespace
// (CommentAPI), so a feed reader can fetch each feed entry's comments.
// By setting the following to 1, these elements will be stripped
// from the static feed.
// It is recommended to set this to 1 in order to save bandwidth.
// More info: http://wellformedweb.org/news/wfw_namespace_elements/
$FSF_STRIP_COMMENTS = 0;
// Set the following to 1 and various messages will be recorded in the logfile,
// which is located in the cache dir (wp-content/cache-xml/)
$FSF_DEBUG = 0;
</pre>
<p>It has already been mentioned, but it is important to note it again: The only <strong>mandatory prerequisite</strong> is that <code>wp-content/</code> is <strong>writable by the webserver</strong>.</p>
<h4>Installation</h4>
<p>Make any changes to the configuration options within <code>fast-static-feed.php</code> and upload the file to <code>wp-content/plugins/</code> directory. Then, <strong>activate</strong> the plugin through the WordPress administration panel.</p>
<h4>License</h4>
<p><em>Fast-Static-Feed</em> is an open-source project, released as Free Software under the terms of the <a href="http://www.codetrax.org/licenses/ApacheLicenseV2">Apache License version 2</a>.</p>
<h4>Downloads, Issue Tracking, Support</h4>
<p>For the <strong>latest releases</strong> of <em>Fast-Static-Feed</em> please visit the <a href="http://www.codetrax.org/projects/wp-fast-static-feed/files">downloads</a> section of the <a href="http://www.codetrax.org/projects/wp-fast-static-feed">Fast-Static-Feed Development Portal</a>.</p>
<p>The development website also hosts an <strong>issue tracking</strong> facility, where you can submit your feature requests or report bugs, and <strong>discussion boards</strong>, where you can get first class support from the <em>community of users</em>.</p>
<h4>Donate</h4>
<p>This plugin is released as <strong>free software</strong>. Nevertheless, its development requires time and effort. A small donation, as a sign of appreciation of the effort, is welcome. Please, use the following button to visit the <em>Donations</em> page. Thanks in advance for your support!</p>
<p><a href="http://www.g-loaded.eu/about/donate" title="Donate"><img src="/images/donations_button.png" alt="Donations Button" /></a></p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2008/05/10/fast-static-feed-wordpress-plugin/">Fast-Static-Feed WordPress Plugin</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2008/05/08/more-feed-excerpt-wordpress-plugin/" rel="bookmark">More-Feed-Excerpt WordPress Plugin</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/04/bot-allow-content-wordpress-plugin/" rel="bookmark">Bot-Allow-Content WordPress plugin</a></li>
<li><a href="http://www.g-loaded.eu/2008/11/29/how-to-enable-wp-super-cache-in-wordpress/" rel="bookmark">How to enable WP-Super-Cache in WordPress</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/05/add-meta-tags-wordpress-plugin/" rel="bookmark">Add-Meta-Tags WordPress Plugin</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/05/my-tags-wordpress-plugin/" rel="bookmark">My-Tags WordPress Plugin</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2008/05/10/fast-static-feed-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Issue addressed: Author feeds deliver full content</title>
		<link>http://www.g-loaded.eu/2007/07/12/issue-addressed-author-feeds-deliver-full-content/</link>
		<comments>http://www.g-loaded.eu/2007/07/12/issue-addressed-author-feeds-deliver-full-content/#comments</comments>
		<pubDate>Thu, 12 Jul 2007 02:33:55 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Publishing]]></category>
		<category><![CDATA[Resolved]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/2007/07/12/issue-addressed-author-feeds-deliver-full-content/</guid>
		<description><![CDATA[Recently, I had written a post about WordPress 2.2.1 always delivering full content with the author feeds, ignoring the publisher&#8217;s settings. I deliberately had not disclosed much information about the issue, not because it was security related, but due to the fact that it could make the content leechers&#8217; job easier and cleaner. Now, that [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I had written a post about WordPress 2.2.1 <a href="http://www.g-loaded.eu/2007/07/10/wordpress-221-bugs/">always delivering full content with the author feeds</a>, ignoring the publisher&#8217;s settings. I deliberately had not disclosed much information about the issue, not because it was security related, but due to the fact that it could make the content leechers&#8217; job easier and cleaner. Now, that the WordPress developers have come up with a solution, I&#8217;ll post the details about the problem and the way to fix it.<br />
<span id="more-426"></span></p>
<p>Here is the <a href="http://trac.wordpress.org/ticket/4604">ticket</a> on the WordPress bug tracking system. (my initial bug report deserves a prize, don&#8217;t you think?)</p>
<p>But first, a few things about the <strong>author feed</strong>. It is well-known that WordPress can create a feed for almost any type of content. The author feed contains all the content that has been published by a specific author.</p>
<p>Starting with WordPress 2.2, all the feed generators have been moved into <code>wp-includes</code>, but the old files, like <code>wp-rss2.php</code>, still exist in WordPress&#8217; root directory for backwards compatibility. It seems that when an author feed is requested by using those old files, the generator ignores any settings about delivering or not full content and, eventually, the feed contains the published content in its entirety.</p>
<p>For example, assuming that an author&#8217;s ID is 1, the following URL returns a feed with all content posted by that specific author:</p>
<pre class="codesnp">http://example.org/wp-rss2.php?author=1</pre>
<p>The resulting XML file contains full content (you won&#8217;t notice any difference if you deliver full content in your feeds by default!).</p>
<p>At this point, I must <strong>clarify</strong> one thing. <strong>None</strong> of the WordPress template tags returns a feed link that points to any of the old feed generators. So, it is impossible, even for an old theme, which of course makes proper use of the template tags in order to print the feed links, to print links like the one above.</p>
<p>On the other hand, a content leecher could very easily guess an author&#8217;s ID and craft such a URL in order to retrieve the full published content in a clean form like it exists in the feed.</p>
<p>Anyhow, the <strong>fix</strong> is to <strong>delete</strong> all those old feed generators from the WordPress v<strong>2.2.1</strong> root dir:</p>
<ul>
<li><code>wp-atom.php</code></li>
<li><code>wp-commentsrss2.php</code></li>
<li><code>wp-rdf.php</code></li>
<li><code>wp-rss.php</code></li>
<li><code>wp-rss2.php</code></li>
</ul>
<p>This will not affect your feeds.</p>
<p>Note, that, if you use <strong>permalinks</strong>, URLs like the one above will probably <strong>still</strong> work even after you delete those files, but this time they <strong>do not ignore</strong> the user settings regarding the amount of content that is delivered within the feeds. It is quite strange how they work properly this time, but, fortunately, this is how it is.</p>
<p>Generally, this issue is not an important one, but I think you should know about it, especially now that a fix is available.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2007/07/12/issue-addressed-author-feeds-deliver-full-content/">Issue addressed: Author feeds deliver full content</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2010/10/04/full-g-loaded-content-in-planet-feeds/" rel="bookmark">Full G-Loaded content in Planet feeds</a></li>
<li><a href="http://www.g-loaded.eu/2008/10/17/status-of-content-availability-via-feeds/" rel="bookmark">Status of content availability via feeds</a></li>
<li><a href="http://www.g-loaded.eu/2009/11/19/g-loaded-feeds/" rel="bookmark">G-Loaded Feeds</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/04/bot-allow-content-wordpress-plugin/" rel="bookmark">Bot-Allow-Content WordPress plugin</a></li>
<li><a href="http://www.g-loaded.eu/2008/03/31/how-to-fix-the-wordpress-databases-character-set-issue/" rel="bookmark">How to fix the WordPress database&#8217;s character-set issue</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2007/07/12/issue-addressed-author-feeds-deliver-full-content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>And the winner is: RSS 2.0</title>
		<link>http://www.g-loaded.eu/2007/02/04/and-the-winner-is-rss-20/</link>
		<comments>http://www.g-loaded.eu/2007/02/04/and-the-winner-is-rss-20/#comments</comments>
		<pubDate>Sun, 04 Feb 2007 17:42:53 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Publishing]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/2007/02/04/and-the-winner-is-rss-20/</guid>
		<description><![CDATA[G-Loaded! has always been a supporter of the Atom Syndication Format, more specifically of the Atom 1.0 Specification, because of its flexibility and extended features. Although this specification has been around for quite a while now, it has not been fully adobted by the major web indexing services or by popular web applications yet. As [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.g-loaded.eu/">G-Loaded!</a> has always been a supporter of the <a href="http://www.atomenabled.org/developers/syndication/atom-format-spec.php">Atom Syndication Format</a>, more specifically of the <strong>Atom 1.0 Specification</strong>, because of its <em>flexibility</em> and <em>extended features</em>. Although this specification has been around for quite a while now, it has not been fully adobted by the major web indexing services or by popular web applications yet.<br />
<span id="more-346"></span><br />
As you might have noticed, the Atom 1.0 feed link had been the <strong>first</strong> to be displayed among all of my feed links and, also, the <strong>first</strong> to be included in the web site&#8217;s <code>HTML HEAD</code> area, thus making it the default choice when external software tried to automatically <em>discover</em> the link for the site&#8217;s syndicated content. Moreover, about a year ago, I had published the article <a href="http://www.g-loaded.eu/2005/12/08/wordpress-atom-feed/">Design the perfect Atom feed for WordPress</a>, which guided the wordpress user in order to convert wordpress&#8217; Atom 0.3 feed to the latest 1.0 specification and how to enhance it with various features.</p>
<p>But, the arrival of <strong>WordPress 2.1</strong> left me no choice. The support for the Atom 1.0 format, although planned for this release since a long time ago, has probably been dropped. Apart from this, <a href="http://www.google.com/webmasters/tools/">Google Webmaster Tools</a> and <a href="http://siteexplorer.search.yahoo.com/explore">Yahoo Site Explorer</a>, which are two services I use often in order to check the status of this web site, still do not support Atom 1.0, but the old and deprecated 0.3 specification instead.</p>
<p>For all these reasons above &#8211; and a couple of minor others not mentioned here &#8211; the <strong>default feed format</strong> for G-Loaded! is <strong>RSS 2.0</strong>. <em>Feed discovery</em> should return this feed from now on in your browsers and other feed readers. Also, the link to the <strong>Atom 1.0</strong> feed has been <em>removed</em> from the website pages. Of course it will remain <em>active</em>, but I <strong>strongly suggest</strong> that you use my RSS 2.0 feed.</p>
<p>This change will be permanent.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2007/02/04/and-the-winner-is-rss-20/">And the winner is: RSS 2.0</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2006/01/01/upgraded-to-wordpress-2/" rel="bookmark">Upgraded to WordPress 2</a></li>
<li><a href="http://www.g-loaded.eu/2009/11/19/g-loaded-feeds/" rel="bookmark">G-Loaded Feeds</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/04/bot-allow-content-wordpress-plugin/" rel="bookmark">Bot-Allow-Content WordPress plugin</a></li>
<li><a href="http://www.g-loaded.eu/2007/07/12/issue-addressed-author-feeds-deliver-full-content/" rel="bookmark">Issue addressed: Author feeds deliver full content</a></li>
<li><a href="http://www.g-loaded.eu/2005/12/08/wordpress-atom-feed/" rel="bookmark">Design the perfect Atom feed for WordPress</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2007/02/04/and-the-winner-is-rss-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Creative-Commons-Configurator WordPress Plugin</title>
		<link>http://www.g-loaded.eu/2006/01/14/creative-commons-configurator-wordpress-plugin/</link>
		<comments>http://www.g-loaded.eu/2006/01/14/creative-commons-configurator-wordpress-plugin/#comments</comments>
		<pubDate>Sat, 14 Jan 2006 14:12:07 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Creative Commons]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/2006/01/14/creative-commons-configurator-wordpress-plugin/</guid>
		<description><![CDATA[This plugin intends to become the only tool a user will need in order to set a Creative Commons License for a WordPress blog and control the inclusion or display of the license information into the blog pages or the syndication feeds. All configuration is done from a page in the administration panel.]]></description>
			<content:encoded><![CDATA[<p>This plugin intends to become the only tool a user will need in order to set a <a href="http://creativecommons.org/">Creative Commons License</a> on a <a href="http://wordpress.org/">WordPress</a> blog and control the inclusion or display of the license information into the blog pages or the syndication feeds. All configuration is done from a page in the administration panel. Template tags are also available for those who need customization.<br />
<span id="more-158"></span></p>
<h4>Features</h4>
<p>These are the plugin&#8217;s features in short:</p>
<ul>
<li>Configuration page in the WordPress administration panel. No manual editing of files is needed for basic usage.</li>
<li>License selction by using the web-based license selection engine from <a href="http://creativecommons.org/">CreativeCommons.org</a>.</li>
<li>The license information can be reset at any time. This action also removes the options that are stored in the WordPress database.</li>
<li>Adds license information to:
<ul>
<li>The HTML head area of the every blog page (this is for search engine bots only &#8211; Not visible to human visitors).</li>
<li>The Atom, RSS 2.0 and RDF (aka RSS 1.0) feeds through the <a href="http://backend.userland.com/creativeCommonsRssModule">Creative Commons RSS module</a>, which validates properly. This option is compatible <strong>only</strong> with WordPress 2 or newer due to technical reasons. It will not appear on versions older than 2.0.</li>
<li>Displays a block with license information under the published content. Basic customization (license information and formatting) is available through the configuration panel.</li>
</ul>
</li>
<li>Some template tags are provided for use in your theme templates.</li>
<li>The plugin is ready for <strong>localization</strong>.</li>
</ul>
<h4>Installation</h4>
<p>Copy the <code>cc-configurator.php</code> file in your <code>/wp-content/plugins/</code> directory and activate the plugin through the administration panel.</p>
<p>The license configuration can be done from within the administration panel. Go to:</p>
<p><strong>Administration Panel -&gt; Options -&gt; License</strong></p>
<h4>Compatibility</h4>
<p>For full functionality, this plugin requires <strong>WordPress 2</strong> or newer. If you use it with older versions of WordPress, the option to include licensing info in the feeds will not appear in the configuration page.</p>
<h4>License</h4>
<p><em>Creative-Commons-Configurator</em> is an open-source project, released as Free Software under the terms of the <a href="http://www.codetrax.org/licenses/ApacheLicenseV2">Apache License version 2</a>.</p>
<h4>Downloads, Issue Tracking, Support</h4>
<p>For the <strong>latest releases</strong> of <em>Creative-Commons-Configurator</em> please visit the <a href="http://www.codetrax.org/projects/wp-cc-configurator/files">downloads</a> section of the <a href="http://www.codetrax.org/projects/wp-cc-configurator">Creative-Commons-Configurator Development Portal</a>.</p>
<p>The development website also hosts an <strong>issue tracking</strong> facility, where you can submit your feature requests or report bugs, and <strong>discussion boards</strong>, where you can get first class support from the <em>community of users</em>.</p>
<h4>Translations</h4>
<p>This plugin is ready for translations. The default language is <strong>English</strong>.</p>
<p>Translation files are available from the <a href="http://www.codetrax.org/projects/wp-cc-configurator/files">download area</a> as well.</p>
<p>Currently the following language files are available. Just throw the proper one for your language in your plugins directory and you are set.</p>
<ul>
<li>Greek &#8211; By <em>George Notaras</em></li>
<li><a href="http://mummila.net/varasto/muut/cc-configurator-fi_FI.tar.bz2">Finnish</a> &#8211; By <em>Jani Uusitalo</em></li>
</ul>
<h4>Donate</h4>
<p>This plugin is released as <strong>free software</strong>. Nevertheless, its development requires time and effort. A small donation, as a sign of appreciation of the effort, is welcome. Please, use the following button to visit the <em>Donations</em> page. Thanks in advance for your support!</p>
<p><a href="http://www.g-loaded.eu/about/donate" title="Donate"><img src="/images/donations_button.png" alt="Donations Button" /></a></p>
<h4>Changelog &#8211; Release Notes</h4>
<p><strong>* Tue Jan 6 2009 &#8211; v1.1</strong><br />
- Use rawurldecode() on the values that are returned by the CC API.<br />
- Removed the border attribute from the image hyperlink in order to comply with<br />
  XHTML 1.1.<br />
<strong>* Thu Mar 15 2007 &#8211; v1.0</strong><br />
- The plugin was almost re-written from scratch. Many new features have been added and others have been modified so to provide the best functionality and ease of use.<br />
- The license selection engine from CreativeCommons.org is now used in order to select a license for your blog. No more copying and pasting of license code.<br />
- A new license info layer is introduced for placing under the published content. Customization of that layer is possible either from the config panel or with CSS.<br />
- WARNING: the bccl_display_full_html_license() template tag has been replaced by bccl_full_html_license(). Make sure you update your theme templates.<br />
- New template tags are available.<br />
- The configuration panel has been reworked.<br />
- The plugin is ready for translations.<br />
<strong>* Sat Feb 24 2007 &#8211; v0.6 </strong><br />
- Supports CC v3<br />
<strong>* Wed Nov 01 2006 &#8211; v0.5</strong><br />
- When the options where modified in the administration panel, a confirmation was asked. This behaviour has been corrected and the options are saved immediately.<br />
- WordPress escaped some characters in the extra message that is displayed after the post&#8217;s body. This resulted in corrupted HTML code. This has been corrected (thanks John)<br />
<strong>* Wed Oct 04 2006 &#8211; v0.4</strong><br />
- Plugin information update<br />
<strong>* Mon Jan 16 2006</strong><br />
- Update to version 0.2<br />
- Added a WordPress version check, so that the option to include licensing info in the feeds does not appear in older WP version than 2.0.<br />
- Added an informational section in the configuration page about the template tags that can be used in the theme.<br />
- Added success message after successful license reset.<br />
- Added success message after successful license code submission.<br />
- Added error message if license code does not seem valid.<br />
- Added some Creative Commons license code verification. Seems to work with all licenses, but is very primitive. Only the basic HTML code structure is checked.<br />
- The default licensing info message that is displayed after the post&#8217;s body was modified.<br />
- Added one more option. Now a user can define some custom code that will be displayed<br />
together with the default message below the post&#8217;s body.<br />
- Added some template tags that can be used by a user on a theme.<br />
- More modularization of the code.<br />
- Minor fixes, so it works properly with other CC licenses, eg Developing Nations, Sampling etc.<br />
- Minor form HTML code fixes.<br />
<strong>* Sat Jan 14 2006</strong><br />
- Initial v0.1 release</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2006/01/14/creative-commons-configurator-wordpress-plugin/">Creative-Commons-Configurator WordPress Plugin</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2007/02/24/creative-commons-v30-licenses-launched/" rel="bookmark">Creative Commons v3.0 Licenses Launched</a></li>
<li><a href="http://www.g-loaded.eu/2007/03/15/cc-configurator-plugin-version-10-is-out/" rel="bookmark">CC Configurator plugin version 1.0 is out!</a></li>
<li><a href="http://www.g-loaded.eu/2006/11/01/bot-allow-content-and-cc-configurator-plugin-updates/" rel="bookmark">Bot-Allow-Content and CC-Configurator plugin updates</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/04/bot-allow-content-wordpress-plugin/" rel="bookmark">Bot-Allow-Content WordPress plugin</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/05/my-tags-wordpress-plugin/" rel="bookmark">My-Tags WordPress Plugin</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2006/01/14/creative-commons-configurator-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Bot-Allow-Content WordPress plugin</title>
		<link>http://www.g-loaded.eu/2006/01/04/bot-allow-content-wordpress-plugin/</link>
		<comments>http://www.g-loaded.eu/2006/01/04/bot-allow-content-wordpress-plugin/#comments</comments>
		<pubDate>Wed, 04 Jan 2006 04:34:49 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/2006/01/04/bot-allow-content-wordpress-plugin/</guid>
		<description><![CDATA[This WordPress plugin allows pre-defined bots to index the full content of your posts through the RSS and Atom feeds. Obviously, it could be useful only to those who serve summaries of their posts.]]></description>
			<content:encoded><![CDATA[<p>This WordPress plugin allows pre-defined bots to index the full content of your posts through the RSS and Atom feeds. Obviously, it could be useful only to those who serve summaries of their posts.<br />
<span id="more-134"></span><br />
My personal opinion about the all-time-classic question &quot;<em>Summaries or full content in the feed?</em>&quot; is absolutely: <strong>summaries</strong>. A publisher shouldn&#8217;t force a reader download the whole articles or blog posts, but rather provide an excerpt of his work and let the reader decide if he is interested in reading the full content. I tend to easily unsubscribe from feeds that serve lengthy content. On the other hand, this approach has one big disadvantage. Not only the human readers receive the summaries, but also the various blog search engine bots. This means that only these summaries get indexed by them, reducing the possibilities that your post would be returned in a blog search engine&#8217;s results, after searching for terms that do not exist in the excerpt, but somewhere in the rest of the article.</p>
<p>So, I decided to write this small plugin, which lets a pre-defined list of bots read the full posted content through the feeds. It assumes that you serve summaries in your feeds, although this setting has no impact on the plugin&#8217;s functionality. You do not have to supply the full bot&#8217;s <code>USER_AGENT</code> string, but just a part of it.</p>
<h4>Installation</h4>
<ol>
<li>Copy <code>bot-allow-content.php</code> to your <code>/wp-content/plugins/</code> directory.</li>
<li>Activate the plugin through the administration panel.</li>
</ol>
<p>This plugin has effect on the Atom (1.0 and 0.3 are supported), the RDF and the RSS 2.0 feeds. The RSS 0.92 feed serves only summaries.</p>
<h4>Configuration</h4>
<p>From version 0.4, this plugin provides a configuration page inside the administration panel. Go to:</p>
<p><strong>Administration Panel-&gt;Options-&gt;Syndication Extra</strong></p>
<p>Follow the instructions from there.</p>
<p>This plugin is Atom 1.0 friendly. For those of you who have hacked the default wp-atom.php file in order to conform with the Atom 1.0 Specification, there is a configuration option within the source code. It has not been added to the configuration page for obvious reasons.</p>
<p>Find the following in the <code>bot-allow-content.php</code> file and set it to <strong>TRUE</strong></p>
<pre class="codesnp">$IsAtom1 = FALSE;</pre>
<p>You can find some guidelines on how to make your Atom feed compliant with the Atom 1.0 specification in my <a href="http://www.g-loaded.eu/2005/12/08/wordpress-atom-feed/">Design the perfect Atom feed for WordPress</a> article.</p>
<p><em>Note</em>: You can safely de-activate the plugin or switch to serving full content. This way all user agents will comply with your default wordpress settings for syndicated content.</p>
<h4>License</h4>
<p>This project is released under the terms of the <a href="http://www.g-loaded.eu/licenses/GPL">GNU General Public License</a>.</p>
<h4>Downloads, Issue Tracking, Support</h4>
<p>For the <strong>latest releases</strong> of <em>Bot-Allow-Content</em> please visit the <a href="http://www.codetrax.org/projects/wp-bac/files">downloads</a> section of the <a href="http://www.codetrax.org/projects/wp-bac">Bot-Allow-Content Development Portal</a>.</p>
<p>This project has been <strong>discontinued</strong>.</p>
<h4>Changelog</h4>
<p><strong>* Wed Nov 01 2006 &#8211; v0.6</strong><br />
- When the options where modified in the administration panel, a confirmation was asked. This behaviour has been corrected and the options are saved immediately.<br />
<strong>* Wed Oct 04 2006 &#8211; v0.5</strong><br />
- Plugin information update<br />
<strong>* Sat Jan 15 2006</strong><br />
- Updated to version 0.4<br />
- Addition: A configuration page has been added in the Admin Panel. No editing of the source code is needed.<br />
- Bugfix: Added a check if the list of bots is empty. The absense of it did not produce any errors though.<br />
<strong>* Wed Jan 4 2006</strong><br />
- Updated to version 0.3<br />
- The plugin was completely re-written, so that no modifications are required to be done to core wp files, but supports only WP 2 or newer.<br />
<strong>* Tue Jan 3 2006</strong><br />
- Initial release v0.2</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2006/01/04/bot-allow-content-wordpress-plugin/">Bot-Allow-Content WordPress plugin</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2006/11/01/bot-allow-content-and-cc-configurator-plugin-updates/" rel="bookmark">Bot-Allow-Content and CC-Configurator plugin updates</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/14/creative-commons-configurator-wordpress-plugin/" rel="bookmark">Creative-Commons-Configurator WordPress Plugin</a></li>
<li><a href="http://www.g-loaded.eu/2008/05/08/more-feed-excerpt-wordpress-plugin/" rel="bookmark">More-Feed-Excerpt WordPress Plugin</a></li>
<li><a href="http://www.g-loaded.eu/2008/05/10/fast-static-feed-wordpress-plugin/" rel="bookmark">Fast-Static-Feed WordPress Plugin</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/05/my-tags-wordpress-plugin/" rel="bookmark">My-Tags WordPress Plugin</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2006/01/04/bot-allow-content-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Design the perfect Atom feed for WordPress</title>
		<link>http://www.g-loaded.eu/2005/12/08/wordpress-atom-feed/</link>
		<comments>http://www.g-loaded.eu/2005/12/08/wordpress-atom-feed/#comments</comments>
		<pubDate>Thu, 08 Dec 2005 10:03:11 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Atom]]></category>
		<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/?p=111</guid>
		<description><![CDATA[This article describes how to quickly convert the default Atom 0.3 feed that WordPress v1.5.2 produces to the Atom 1.0 Specification. It also provides some brief info about enhancing the Atom feed with RSS extension modules.]]></description>
			<content:encoded><![CDATA[<p>This article describes how to quickly convert the default Atom 0.3 that WordPress v1.5.2 produces to the Atom 1.0 Specification. It also provides some brief info about enhancing the Atom feed with RSS extension modules.<br />
<span id="more-111"></span><br />
The goals are:</p>
<ol>
<li>To convert the 100% deprecated default 0.3 Atom feed to one that conforms with the 1.0 Atom Syndication Format.</li>
<li>To append or correct some of the feed&#8217;s elements so that our blog produces a full-featured feed.</li>
</ol>
<h4>Prerequisites</h4>
<p>This small howto assumes that you have at least some knowledge of the basics of programming.</p>
<p>You should also have the <a href="http://www.atomenabled.org/developers/syndication/" title="Link to the Atom Syndication Format web page">Atom Syndication Format</a> web page open in your browser, so that you can refer to it.</p>
<p>Furthermore, make sure you read this excellent article, &quot;<a href="http://rakaz.nl/item/moving_from_atom_03_to_10" title="Link to Full Article">Moving from Atom 0.3 to 1.0</a>&quot; by <a href="http://rakaz.nl/" title="Link to Rakaz' homepage">Rakaz</a>. It describes the modifications you need to make to the Atom <code>feed elements</code>&#8216; and <code>entry elements</code>&#8216; names in order to conform to the 1.0 specification.</p>
<p>Wherever we need to insert a function that adds the time or date to the feed, we will use the international time standard, <abbr title="Universal Time Co-ordinated">UTC</abbr>, instead of the local time. This time is also known as <abbr title="Greenwich Mean Time">GMT</abbr> or simply as <em>&quot;Zulu&quot; Time</em>. You will not need to modify any of your blog options. This is just an informational notice.</p>
<h4>The Hack</h4>
<p>Open the <code>wp-atom.php</code> file in your favorite text editor and let&#8217;s start editting it. Whenever I refer to line numbers, I strictly refer to the <code>wp-atom.php</code> file which is shipped with WordPress v.1.5.2.</p>
<p><span style="text-decoration: underline;"><em>Special Note</em></span>: Always keep backups of the original files.</p>
<h4>The XML namespaces</h4>
<p>First of all, we will need to declare the <code>namespaces</code> for all the elements we are going to use in our feed. Begining from <code>line 15</code>, substitute this part:</p>
<pre class="codesnp">
&lt;feed version=&quot;0.3&quot;
  xmlns=&quot;http://purl.org/atom/ns#&quot;
  xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;
  xml:lang=&quot;&lt;?php echo get_option('rss_language'); ?&gt;&quot;
  &gt;
</pre>
<p>with this one:</p>
<pre class="codesnp">
&lt;feed
  xmlns=&quot;http://www.w3.org/2005/Atom&quot;
  xmlns:creativeCommons=&quot;http://backend.userland.com/creativeCommonsRssModule&quot;
  xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;
  xml:lang=&quot;&lt;?php echo get_option('rss_language'); ?&gt;&quot;
  &gt;
</pre>
<p>Generally, namespaces define which elements can be used in our feed. The first one is the new <strong>Atom 1.0</strong> XML namespace and it&#8217;s the only one we need to declare in order to use the elements shown in the <a href="http://www.atomenabled.org/developers/syndication/" title="Link to the Atom Syndication Format web page">Atom Syndication Format</a> web page.</p>
<p>Apart from that, as it is clearly stated in the &quot;<a href="http://www.atomenabled.org/developers/syndication/#extensibility" title="Link to the Extending Atom section">extensibility section</a>&quot; of the above document, we can use elements from other namespaces, including RSS 1.0 and RSS 2.0 modules.</p>
<p>We add the <strong>Creative Commons RSS Module</strong> XML namespace, so that we can include elements, which are defined in this namespace, in our Atom feed. This module will provide us the ability to add a Creative Commons License to our feed or/and to our feed entries.</p>
<p>We should keep <strong>The Dublin Core Element Set v1.1</strong> namespace (xmlns:dc&#8230;), because wordpress v1.5.2, by default, adds the post&#8217;s categories to the Atom feed using this <code>RDF</code> schema.</p>
<h4>Title, Link, Subtitle and ID feed elements</h4>
<p>Next, we need to define some critical properties for our feed. These include the feed title, the proper link to the feed itself, but also some other alternative links to our content, the feed&#8217;s description and the feed&#8217;s ID. The <code>id</code> element is <strong>mandatory</strong> to be defined for the feed, but also for each of the feed&#8217;s entries.</p>
<p>Beginning from line 20, substitute this part:</p>
<pre class="codesnp">
&lt;title&gt;&lt;?php bloginfo_rss('name') ?&gt;&lt;/title&gt;
&lt;link rel=&quot;alternate&quot; type=&quot;text/html&quot; href=&quot;&lt;?php bloginfo_rss('home') ?&gt;&quot; /&gt;
&lt;tagline&gt;&lt;?php bloginfo_rss(&quot;description&quot;) ?&gt;&lt;/tagline&gt;
</pre>
<p>with this one:</p>
<pre class="codesnp">
&lt;id&gt;&lt;?php bloginfo_rss('atom_url') ?&gt;&lt;/id&gt;
&lt;title&gt;&lt;?php bloginfo_rss('name') ?&gt;&lt;/title&gt;
&lt;link rel=&quot;self&quot; type=&quot;application/atom+xml&quot; href=&quot;&lt;?php bloginfo_rss('atom_url') ?&gt;&quot; /&gt;
&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; href=&quot;&lt;?php bloginfo_rss('rss2_url') ?&gt;&quot; /&gt;
&lt;link rel=&quot;alternate&quot; type=&quot;text/html&quot; hreflang=&quot;&lt;?php echo get_option('rss_language'); ?&gt;&quot; href=&quot;&lt;?php bloginfo_rss('home') ?&gt;&quot; /&gt;
&lt;subtitle type=&quot;xhtml&quot;&gt;
	&lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
		&lt;strong&gt;&lt;?php bloginfo_rss('description') ?&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;
		Insert more &lt;strong&gt;info&lt;/strong&gt; about your blog here.
	&lt;/div&gt;
&lt;/subtitle&gt;
</pre>
<p>I am sure you have noticed that the <code>tagline</code> element has been renamed to <code>subtitle</code> in the Atom 1.0 specification. I&#8217;ve already told you to read Rakaz&#8217; article&#8230;</p>
<h4>The &quot;Updated&quot; feed element</h4>
<p>The <code>modified</code> feed element from the 0.3 specification has been renamed to <code>updated</code> in the 1.0 spec. Substitute <code>line 23</code>:</p>
<pre class="codesnp">
&lt;modified&gt;&lt;?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT'), false); ?&gt;&lt;/modified&gt;
</pre>
<p>with this one:</p>
<pre class="codesnp">
&lt;updated&gt;&lt;?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('gmt'), false); ?&gt;&lt;/updated&gt;
</pre>
<p>This is the time you have last edited any of your posts.</p>
<h4>Rights, License and Generator feed elements</h4>
<p>These add copyright and license info to our feed. You should <strong>edit</strong> the contents of these elements according to your custom license and copyright info. This is an <strong>example</strong>. The time you last <em>published</em> a post (in GMT always, as I have already written before) is used in order to display the copyright year.</p>
<p>Beginning from line 24, substitute this part:</p>
<pre class="codesnp">
&lt;copyright&gt;Copyright &lt;?php echo mysql2date('Y', get_lastpostdate('blog'), 0); ?&gt;&lt;/copyright&gt;
&lt;generator url=&quot;http://wordpress.org/&quot; version=&quot;&lt;?php bloginfo_rss('version'); ?&gt;&quot;&gt;WordPress&lt;/generator&gt;
</pre>
<p>with this one:</p>
<pre class="codesnp">
&lt;rights&gt;Copyright &lt;?php echo mysql2date('Y', get_lastpostdate('gmt'), false); ?&gt; &lt;?php bloginfo_rss('name') ?&gt;&lt;/rights&gt;
&lt;creativeCommons:license&gt;http://creativecommons.org/licenses/by-nc-sa/2.5/&lt;/creativeCommons:license&gt;
&lt;generator uri=&quot;http://wordpress.org/&quot; version=&quot;&lt;?php bloginfo_rss('version'); ?&gt;&quot;&gt;WordPress&lt;/generator&gt;
</pre>
<p>The line that contains the license info can be excluded if your feed is not published under a license.</p>
<h4>Icon, Logo and Author feed elements</h4>
<p>With the <code>author</code> element you can define the author of the feed. You can also use a custom logo and a small icon for your feed. I am not really sure what kind of images are supported as icons. Normally, a 16&#215;16 image should be suitable, but it also depends on the feed reader. For example, I use Liferea and as a feed icon it always fetches the web site&#8217;s favicon. If you have more info on this please drop me a line.</p>
<p>Right after the previous feed elements you can append these. Be sure you do not leave any blank lines.</p>
<pre class="codesnp">
&lt;author&gt;
	&lt;name&gt;&lt;?php bloginfo_rss('name') ?&gt;&lt;/name&gt;
	&lt;uri&gt;&lt;?php bloginfo_rss('home'); ?&gt;&lt;/uri&gt;
	&lt;email&gt;JohnDoe@example.com&lt;/email&gt;
&lt;/author&gt;
&lt;icon&gt;/images/mylogo.png&lt;/icon&gt;
&lt;logo&gt;/images/myicon.ico&lt;/logo&gt;
</pre>
<p>I would strongly advise to remove the <code>email</code> element.</p>
<h4>Entry elements</h4>
<p>Now that we have finished editing the <strong>feed</strong> elements, we should do the same modifications for the <strong>entry</strong> elements. I won&#8217;t go into much detail here because it would be pointless to rewrite the same things. Read some notes in the next section of this article.</p>
<p>Beginning from <code>line 28</code>, substitute this part:</p>
<pre class="codesnp">
&lt;entry&gt;
	&lt;author&gt;
		&lt;name&gt;&lt;?php the_author() ?&gt;&lt;/name&gt;
	&lt;/author&gt;
	&lt;title type=&quot;text/html&quot; mode=&quot;escaped&quot;&gt;&lt;![CDATA[&lt;?php the_title_rss() ?&gt;]]&gt;&lt;/title&gt;
	&lt;link rel=&quot;alternate&quot; type=&quot;text/html&quot; href=&quot;&lt;?php permalink_single_rss() ?&gt;&quot; /&gt;
	&lt;id&gt;&lt;?php the_guid(); ?&gt;&lt;/id&gt;
	&lt;modified&gt;&lt;?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?&gt;&lt;/modified&gt;
	&lt;issued&gt;&lt;?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?&gt;&lt;/issued&gt;
	&lt;?php the_category_rss('rdf') ?&gt;
	&lt;summary type=&quot;text/plain&quot; mode=&quot;escaped&quot;&gt;&lt;![CDATA[&lt;?php the_excerpt_rss(); ?&gt;]]&gt;&lt;/summary&gt;
&lt;?php if ( !get_settings('rss_use_excerpt') ) : ?&gt;
	&lt;content type=&quot;&lt;?php bloginfo('html_type'); ?&gt;&quot; mode=&quot;escaped&quot; xml:base=&quot;&lt;?php permalink_single_rss() ?&gt;&quot;&gt;&lt;![CDATA[&lt;?php the_content('', 0, '') ?&gt;]]&gt;&lt;/content&gt;
&lt;?php endif; ?&gt;
</pre>
<p>with this one:</p>
<pre class="codesnp">
&lt;entry&gt;
	&lt;id&gt;&lt;?php the_guid(); ?&gt;&lt;/id&gt;
	&lt;title type=&quot;html&quot;&gt;&lt;?php the_title_rss() ?&gt;&lt;/title&gt;
	&lt;link rel=&quot;alternate&quot; type=&quot;text/html&quot; hreflang=&quot;&lt;?php echo get_option('rss_language'); ?&gt;&quot; href=&quot;&lt;?php permalink_single_rss() ?&gt;&quot; /&gt;
	&lt;link rel=&quot;related&quot; type=&quot;application/rss+xml&quot; href=&quot;&lt;?php echo comments_rss(); ?&gt;&quot; /&gt;
	&lt;author&gt;
		&lt;name&gt;&lt;?php the_author() ?&gt;&lt;/name&gt;
		&lt;uri&gt;&lt;?php the_author_url(); ?&gt;&lt;/uri&gt;
	&lt;/author&gt;
	&lt;updated&gt;&lt;?php echo mysql2date('Y-m-d\TH:i:s\Z', $post-&gt;post_modified_gmt, false); ?&gt;&lt;/updated&gt;
	&lt;published&gt;&lt;?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?&gt;&lt;/published&gt;
	&lt;?php the_category_rss('rdf') ?&gt;
	&lt;rights&gt;Copyright &lt;?php echo get_post_time('Y', true); ?&gt; &lt;?php the_author() ?&gt;&lt;/rights&gt;
	&lt;creativeCommons:license&gt;http://creativecommons.org/licenses/by-nc-sa/2.5/&lt;/creativeCommons:license&gt;
	&lt;summary type=&quot;xhtml&quot;&gt;
		&lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
			&lt;?php the_excerpt_rss(); ?&gt;
			&lt;br /&gt;&lt;br /&gt;
			(&lt;a href=&quot;&lt;?php comments_link(); ?&gt;&quot;&gt;Comments&lt;/a&gt;)
		&lt;/div&gt;
	&lt;/summary&gt;
&lt;?php if ( !get_settings('rss_use_excerpt') ) : ?&gt;
	&lt;content type=&quot;xhtml&quot;&gt;
		&lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
			&lt;?php the_content('', 0, '') ?&gt;
			&lt;br /&gt;&lt;br /&gt;
			(&lt;a href=&quot;&lt;?php comments_link(); ?&gt;&quot;&gt;Comments&lt;/a&gt;)
		&lt;/div&gt;
	&lt;/content&gt;
&lt;?php endif; ?&gt;
</pre>
<p>If you want to include the author&#8217;s email address, add the following line inside the <code>author</code> entry element:</p>
<pre class="codesnp">
&lt;email&gt;&lt;?php the_author_email(); ?&gt;&lt;/email&gt;
</pre>
<p>But, I wouldn&#8217;t recommend it.</p>
<p>Also, make sure you edit or remove the <code>creativeCommons:license</code> and the <code>rights</code> entry elements according to your copyright and license info. The above code adds the post&#8217;s author as the copyright holder and a Creative Commons (NY-NC-SA) 2.5 license as an <code>example</code>.</p>
<p>The above code adds a hyperlink to the post&#8217;s comments inside the post&#8217;s summary or its full content, whichever is shown. Feel free to add your own code or remove it.</p>
<p>Finally, the post&#8217;s comments RSS 2.0 feed has been added as a related link to the entry.</p>
<h4>Some notes about the entry elements</h4>
<p>There is one element that did not exist in the <code>feed</code> section. I&#8217;m talking about the <code>published</code> entry element. This makes a total of two entry elements that contain a timestamp (date and time), the <code>updated</code> and the <code>published</code>. By default, wordpress puts the date&amp;time that a post was published into both of these elements. Usually, this is not what someone would want. </p>
<p>The above code adds the date&amp;time the post was last modified to the <code>updated</code> entry element and the date&amp;time that the post was published to the <code>published</code> entry element. If this is not what you want, substitute the contents of the <code>updated</code> entry element with those of the <code>published</code> entry element. This is the wordpress&#8217; default.</p>
<p>Another thing you should know is that you can add more than one <code>author</code> entry elements or that you can add one or more <code>contributor</code> entry elements, if there are any. The syntax for the <code>contributor</code> entry element is the same as the <code>author</code> element&#8217;s syntax.</p>
<h4>Further Enhancements</h4>
<p>There are some RSS 2.0 modules you can use in an Atom feed. A list of them exists <a href="http://blogs.law.harvard.edu/tech/directory/5/specifications/rss20ModulesNamespaces" title="Link to the RSS 2.0 Modules List">here</a>. Some of them are very interesting and maybe you would like to implement them in your feed. Keep in mind that you have to declare each module&#8217;s namespace as we did for the Creative Commons License module.</p>
<h4>Validate your Atom feed</h4>
<p>You can check if your Atom 1.0 feed is valid at the following address:<br />
<a href="http://validator.w3.org/feed/check.cgi">http://validator.w3.org/feed/check.cgi</a></p>
<p>A list of the RSS namespaces the validator recognizes can be found at the following address:<br />
<a href="http://feedvalidator.org/docs/howto/declare_namespaces.html">http://feedvalidator.org/docs/howto/declare_namespaces.html</a></p>
<h4>Further Reading</h4>
<p>These have been my sources of information for this article and I strongly recommend them for reading:</p>
<ol>
<li><a href="http://www.atomenabled.org/developers/syndication/" title="Link to the Atom Syndication Format web page">Atom Syndication Format</a></li>
<li><a href="http://www.atomenabled.org/developers/syndication/atom-format-spec.php" title="Link to the Atom Syndication Format (in depth)">Atom Syndication Format (in depth)</a></li>
<li><a href="http://rakaz.nl/item/moving_from_atom_03_to_10" title="Link to Full Article">Moving from Atom 0.3 to 1.0</a>&quot; by <a href="http://rakaz.nl/" title="Link to Rakaz' homepage">Rakaz</a></li>
<li><a href="http://blogs.law.harvard.edu/tech/directory/5/specifications/rss20ModulesNamespaces" title="Link to the RSS 2.0 Modules List">List of RSS 2.0 modules that can be used in an Atom feed</a></li>
<li><a href="http://directory.google.com/Top/Reference/Libraries/Library_and_Information_Science/Technical_Services/Cataloguing/Metadata/RDF/Applications/RSS/Specifications/RSS_1.0_Modules/" title="Link to the RSS 1.0 Modules List">List of RSS 1.0 modules that can be used in an Atom feed</a></li>
<li><a href="http://trac.wordpress.org/ticket/1526">Relevant &quot;ticket&quot; at the WordPress Trac</a></li>
<li><a href="http://codex.wordpress.org/Template_Tags">WordPress Template Tags at the Codex</a></li>
<li><a href="http://validator.w3.org/feed/check.cgi">Atom and RSS feed Validator</a></li>
</ol>
<h4>Final Notes</h4>
<p>The code that I provide in this article substituting the original default WordPress code is under the <strong>GPL</strong>. The rest of the article&#8217;s license info is stated below.</p>
<p>This is <strong>not</strong> an official fix, but rather an approach. If you find any typos, please report them ASAP.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2005/12/08/wordpress-atom-feed/">Design the perfect Atom feed for WordPress</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2008/05/10/fast-static-feed-wordpress-plugin/" rel="bookmark">Fast-Static-Feed WordPress Plugin</a></li>
<li><a href="http://www.g-loaded.eu/2008/05/08/more-feed-excerpt-wordpress-plugin/" rel="bookmark">More-Feed-Excerpt WordPress Plugin</a></li>
<li><a href="http://www.g-loaded.eu/2007/01/12/wordpress-206-feed-issues-resolved/" rel="bookmark">WordPress 2.0.6 &#8211; Feed Issues Resolved</a></li>
<li><a href="http://www.g-loaded.eu/2007/02/04/and-the-winner-is-rss-20/" rel="bookmark">And the winner is: RSS 2.0</a></li>
<li><a href="http://www.g-loaded.eu/2006/05/11/creating-an-rss-20-feed-using-celementtree/" rel="bookmark">Creating An RSS 2.0 Feed Using cElementTree</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2005/12/08/wordpress-atom-feed/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
	</channel>
</rss>

