Tag Archive for 'cms'

FeedBurner and e107 integration

FeedBurner and e107 integration

In the context of my plan to move an e107-based website to Wordpress, I need to take care of my RSS subscribers. To let people (and search engines) get my content via old URLs, I will use Apache redirections to do this transparently and permanently. My final goal is to have a Wordpress website with all RSS feeds (blog posts and comments) managed by FeedBurner, to gather statistics about my audience.

Actually there is plenty of feeds format available in e107 (RSS 1.0, RSS 2.0, Atom and RDF) and one feed can be accessed through multiple URLs. We will reduce this incredible mess by using RSS 2.0 feeds only and redirect all others to it.

First, check that the e107 RSS feed plugin is activated. Then create an account on FeedBurner and setup there two feeds, one for your website’s news and another one for comments. Based on default e107 parameters, your news feed URL is like http://www.my-domain.com/e107_plugins/rss_menu/rss.php?1.2 and comments feed like http://www.my-domain.com/e107_plugins/rss_menu/rss.php?5.2.

Then, create (or edit) the http://www.my-domain.com/.htaccess file, and add following code:

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{QUERY_STRING} ^(5|Comments)
RewriteRule e107_plugins/rss_menu/rss\.php http://feeds.feedburner.com/myfeed-comments? [R=301,L]

RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{QUERY_STRING} ^(1|News|.*)
RewriteRule e107_plugins/rss_menu/rss\.php http://feeds.feedburner.com/myfeed? [R=301,L]

This code is inspired by the one written by Mike Atlas, who had a similar issue and wanted to outsource his e107 forum RSS feeds to FeedBurner.

The first rewrite rule will redirect all URLs that start with http://www.my-domain.com/e107_plugins/rss_menu/rss.php?5 or http://www.my-domain.com/e107_plugins/rss_menu/rss.php?Comments to http://feeds.feedburner.com/myfeed-comments.

The second rewrite rule will redirect all other URLs that start with http://www.my-domain.com/e107_plugins/rss_menu/rss.php (including http://www.my-domain.com/e107_plugins/rss_menu/rss.php?1 and http://www.my-domain.com/e107_plugins/rss_menu/rss.php?News) to http://feeds.feedburner.com/myfeed.

That’s all ! Thanks to this server-side redirection, nobody will notice that the feeds have moved and no subscriber will be bothered to update their aggregator.

In my case, the only remaining task to do is to move my e107 website to Wordpress then install FeedSmith plugin. But that’s another story… ;)

e107 to WordPress v0.8: import images and preferences

The 8th version of my e107 to Wordpress import script is out ! This version is quite special because this is the first one that support all features I planned to implement in the road map I write for the first alpha release.

Here is the changelog:

  • Import images embedded in e107 news and custom pages,
  • Import e107 site preferences (like site name and description),
  • Better import of user profile data,
  • An existing user on the blog can be detected and updated automatically,
  • Fix the profanity filter bug,
  • Tested with latest Wordpress 2.1.3.

Wordpress to e107 v0.6: Better Content Rendering and Extended News support

e107-to-wordpres-06.png

Here is the version 0.6 of my tool to import e107 content in Wordpress. Comparing to v0.5, this 6th alpha version render content as it is rendered in e107 thanks to the use of user’s website preferences. This release also handle news extended part nicely (look at screenshot), and is built to work with the latest e107 v0.7.6 and Wordpress 2.0.5.

Wordpress to e107 v0.5: Static Pages Import added

e107-to-wordpress-v05.pngThe 5th alpha version of my script to import e107 data to Wordpress is out ! This version is now able to import static pages as is.

Wordpress to e107 v0.4: now with Comments Import

The 4th alpha version of my script to import e107 data to Wordpress is out ! This version fix lots of bugs, especially due to non-escaped SQL queries, and now import news comments and link them to users.