FeedWordPress 0.99 is hereby released; enjoy WP 2.2 and 2.3 compatibility, bug fixes, major new features, updates without cron

Update 2007-11-21: FeedWordPress 0.99 is now out of date. You can download the latest release — 0.991 at the time of this writing — from the project homepage.

The public (non-beta) release of FeedWordPress version 0.99 is now available for download.

There have been changes to the way that FeedWordPress’s code is organized since version 0.98. If you successfully installed either of the beta releases, you don’t need to do anything special to install the current release. However, if you are upgrading from version 0.98 or before, be sure to see the installation instructions below.

Changes since version 0.98

This release provides compatibility with WordPress 2.2 and 2.3. It has been extensively tested against WordPress version 2.2.3 and the version 2.3 release candidate. I think that all the compatibility issues have been hammered out; of course, if you notice any problems, please let me know and I’ll get on a bugfix as soon as possible.

Version 0.99 also includes an overhaul to the user interface, some significant new features, and a number of bug fixes:

  • AUTOMATIC UPDATES WITHOUT CRON: FeedWordPress now allows you to
    automatically schedule checks for new posts without using external task
    scheduling tools such as cron. In order to enable automatic updates, go
    to Syndication –> Options and set “Check for new posts” to
    “automatically.” When this option is turned on, FeedWordPress will check for new posts
    automatically (1) when someone views your page, (2) if it has been ten minutes (or
    whatever interval you set) since the last time someone viewed your page. This offers a
    way to keep FeedWordPress up-to-date without having to schedule a cron script. It also
    simplifies the process of updating if you do choose to use a cron script — just have curl
    fetch your home page on a fixed schedule (so, for example, I would execute
    curl http://feministblogs.org/ every 15 minutes to keep Feminist Blogs up-to-date).
    Note that this is not the same thing as precisely scheduled updates — at a minimum,
    FeedWordPress will not check for new posts unless and until the next time somebody
    views your page. But for practical purposes it does allow you to keep your aggregator
    updated without having to run cron, and it is as close to precisely scheduled updates as
    you can get without using real scheduling tools such as cron.

    An important side-effect of the changes to the update system is that if
    you were previously using the cron job and the update-feeds.php script
    to schedule updates, you need to change your cron set-up. The old
    update-feeds.php script no longer exists. Instead, if you wish to use
    a cron job to guarantee updates on a particular schedule, you should
    have the cron job fetch the front page of your blog (for example, by
    using curl http://www.zyx.com/blog/ > /dev/null) instead of activating
    the update-feeds.php script. If automatic updates have been enabled,
    fetching the front page will automatically trigger the update process.

  • INTERFACE REORGANIZATION: All FeedWordPress functions are now located
    under a top-level “Syndication” menu in the WordPress Dashboard. To
    manage the list of syndicated sites, manually check for new posts on
    one or more feeds, or syndicate a new site, you should use the main page
    under Syndication. To change global settings for FeedWordPress,
    you should use Syndication –> Options.

  • FILE STRUCTURE REORGANIZATION: Due to a combination of changing styles
    for FeedWordPress plugins and lingering bugs in the FeedWordPress admin
    menu code, the code for FeedWordPress is now contained in two different
    PHP files, which should be installed together in a subdirectory of your
    plugins directory named feedwordpress. (See README.text for
    installation and upgrade instructions relating to the change.)

  • MULTIPLE CATEGORIES SETTING: Some feeds use non-standard methods to
    indicate multiple categories within a single category element. (The most
    popular site to do this is del.icio.us, which separates tags with a
    space.) FeedWordPress now allows you to set an optional setting, for any
    feed which does this, indicating the character or characters used to
    divide multiple categories, using a Perl-compatible regular expression.
    (In the case of del.icio.us feeds, FeedWordPress will automatically use
    \s for the pattern without your having to do any further configuration.)
    To turn this setting on, simply use the “Edit” link for the feed that
    you want to turn it on for.

  • REGULAR EXPRESSION BUG FIXED: Eliminated a minor bug in the regular
    expressions for e-mail addresses (used in parsing RSS author
    elements), which could produce unsightly error messages for some users
    parsing RSS 2.0 feeds.

  • DATE / UPDATE BUG FIXED: A bug in date handling was eliminated that may
    have caused problems if any of (1) WordPress, or (2) PHP, or (3) your
    web server, or (4) your MySQL server, has been set to use a different
    time zone from the one that any of the others is set to use. If
    FeedWordPress has not been properly updating updated posts, or has been
    updating posts when there shouldn’t be any changes for the update, this
    release may solve that problem.

  • GOOGLE READER BUGS FIXED: A couple of bugs that made it difficult for
    FeedWordPress to interact with Google Reader public feeds have been
    fixed. Firstly, if you encountered an error message reading “There was a
    problem adding the newsfeed. ” when you tried to add the feed,
    the cause of this error has been fixed. Secondly, if you succeeded in
    getting FeedWordPress to check a Google Reader feed, only to find that
    the title of posts had junk squashed on to the end of them, that bug
    has been fixed too. To fix this bug, you must install the newest version
    of the optional MagpieRSS upgrade.

  • FILTER PARAMETERS: Due to an old, old bug in WordPress 1.5.0 (which was
    what was available back when I first wrote the filter interface),
    FeedWordPress has traditionally only passed one parameter to
    syndicateditem and syndicatedpost filters functions — an array
    containing either the Magpie representation of a syndicated item from
    the feed, or the database representation of a post about to be inserted
    into the WordPress database. If you needed information about the feed
    that the item came from, this was accessible only through a pair of
    global variables, $fwpchannel and $fwpfeedmeta.

    Since it’s been a pretty long time since WordPress 1.5.0 was in
    widespread usage, I have gone ahead and added an optional second
    parameter to the invocation of the syndicateditem and syndicatedpost
    filters. If you have written a filter for FeedWordPress that uses either
    of these hooks, you can now register that filter to accept 2 parameters.
    If you do so, the second parameter will be a SyndicatedPost object,
    which, among other things, allows you to access information about the
    feed from which an item is syndicated using the $post->feed and the
    $post->feedmeta elements (where $post is the name of the second
    parameter).

    NOTE THAT THE OLD GLOBAL VARIABLES ARE STILL AVAILABLE, for the time
    being at least, so existing filters will not break with the upgrade.
    They should be considered deprecated, however, and may be eliminated in
    the future.

  • FILTER CHANGE / BUGFIX: the array that is passed as the first argument
    syndicatedpost filters no longer is no longer backslash-escaped for
    MySQL when filters are called. This was originally a bug, or an
    oversight; the contents of the array should only be escaped for the
    database after they have gone through all filters. IF YOU HAVE WRITTEN
    ANY syndicated
    post FILTERS THAT PRESUME THE OLD BEHAVIOR OF PASSING IN
    STRINGS THAT ARE ALREADY BACKSLASH-ESCAPED, UPDATE YOUR FILTERS
    ACCORDINGLY.

  • OTHER MINOR BUGFIXES AND INTERNAL CHANGES: The internal architecture of
    FeedWordPress has been significantly changed to make the code more
    modular and clean; hopefully this should help reduce the number of
    compatibility updates that are needed, and make them easier and quicker
    when they are needed.

Installation instructions

To upgrade an existing installation of FeedWordPress to version 0.99:

  1. Download the FeedWordPress archive in zip or gzipped tar format and
    extract the files on your computer.

  2. If you are upgrading from version 0.98 or earlier, then you need to
    create a new directory named feedwordpress in the wp-content/plugins
    directory of your WordPress installation, and you also need to delete
    your existing wp-content/update-feeds.php and
    wp-content/plugins/feedwordpress.php files. The file structure for
    FeedWordPress has changed and the files from your old version will not
    be overwritten, which could cause conflicts if you leave them in place.

  3. Upload the new PHP files to wp-content/plugins/feedwordpress,
    overwriting any existing FeedWordPress files that are there. Also be
    sure to upgrade wp-includes/rss.php and
    wp-includes/rss-functions.php if you use the optional MagpieRSS
    upgrade, or don’t use it yet but do want to syndicate Atom 1.0 feeds.

  4. If you are upgrading from version 0.96 or earlier, immediately log
    in to the WordPress Dashboard, and go to Options –> Syndicated. Follow
    the directions to launch the database upgrade procedure. The new
    versions of FeedWordPress incorporate some long-needed improvements, but
    old meta-data needs to be updated to prevent duplicate posts and other
    possible maladies. If you’re upgrading an existing installation, updates
    and FeedWordPress template functions will not work until you’ve done
    the upgrade. Then take a coffee break while the upgrade runs. It should,
    hopefully, finish within a few minutes even on relatively large
    databases.

  5. If you are upgrading from version 0.98 or earlier, note that the old
    update-feeds.php has been eliminated in favor of a (hopefully) more
    humane method for automatic updating. If you used a cron job for
    scheduled updates, it will not work anymore, but there is another,
    simpler method which will. See Setting Up Feed Updates to get
    scheduled updates back on track.

  6. Enjoy your new installation of FeedWordPress.

55 thoughts on “FeedWordPress 0.99 is hereby released; enjoy WP 2.2 and 2.3 compatibility, bug fixes, major new features, updates without cron

  1. Wow! thanks. cant wait to try it out. I’m particularly excited about the 2.3 compatibility. One question though.. are you going to add tag support – as well as categories?

  2. Issue with 2.3, admin-db.php has been removed…is there any quick fix to this. I can get the plugin to activate obviously by commenting out the require statement for it, but obviously nothing gets saved to the DB.

  3. You really need to add some clever check to see if feedwordpress 0.99 is already doing an update, I tried the “automatic” update and I suddenly had a bunch (like 10 after a while) of httpd processes who were doing updates of the same blog. This resulted in total outrage load average of 40 (!) on the server and posts from the same blog being posted numerous times.

    I added a check which checks against the IP address before starting an automatic update and cronned curl and that works and makes sure it doesn’t start numerous processes doing updates… I’m actually amazed you haven’t noticed this (which makes me wondre if it’s the WP 2.2 version I use right now which causes it or something like that) because this should(?) be a problem for any frequently visited site using feedwordpress..

  4. Hi, thanks for the great plugin!

    I’m having a couple of problem though that perhaps someone can help me with?

    Syndicating http://pipes.yahoo.com/pipes/pipe.run?cmd=Run%2BPipe&id=noiFVCYU3BGcFPqRJhOy0Q&render=rss&run=1&textinput1=gtm gives me a bunch of errors (repeated maybe 20 times): Warning: Missing argument 1 for updatefeedsmention() in httpdocs/blog/wp-content/plugins/feedwordpress/feedwordpress.php on line 411

    Updating from <> …

    I just upgraded due to other problems with 0.981 so maybe it’s an upgrade/compatibility issue?

    Shady

  5. I am still using WP 1.5.2 and FWP version .99 throws an error in line 89 of FWP because it can’t find stripslashes_deep which apparently is a WP 2.x function. I just added it to functions-formatting.php, but thought you would like to know.

  6. While I’m thinking about it – ever since .981 (and now with .99) whenever I update all feeds manually the message displayed is

     Updating n from <n>
    

    Where the “n” within brackets is hyperlinked to mysite.com/n . It doesn’t prevent function, but always makes me nervous.

  7. Sorry for the serial commenting, but in my prior comment the n is actually hyperlinked to mysite.com/wp-admin/n.

  8. Can’t get it to work anymore 🙁 Had this plugin working in an older version, but now it doesn’t anymore. 🙁

    I know the sites I want to syndicate do have new posts almost daily, but I don’t get anything from them with feedwordpress.

  9. (adding:)

    % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed

    0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0 100 1698 0 1698 0 0 2135 0 –:–:– –:–:– –:–:– 9702

    Is what I get as reply in mail.

  10. Having the categories not being recognized issue as well. Everything is going in the uncategorized folder.

    Great job, by the way.

  11. Hi just to let you know I’m having the uncategorized problem to. I tried deleting all of my feed and re inserting them after the upgrade but to no avail. apart from that this is still a great plugin so

    thank you

  12. Great tool. Would even be better if it had something like a ‘rewrite’ and ‘link to’ functionality that WP-O-Matic has. I’m testing both.

  13. Hello, I started using this plugin recently, thought I’d share a couple of things.

    I had some problems with feeds that don’t validate (although I think that sometimes they should). Anyway I get around this by parsing the feed through feedburner, or perhaps yahoo pipes. One of the feeds is actually passed though both to clean it up!

    I’m having some issues with duplicate posts. This is only happening so far with feeds from ebay, but I think other are havign this problem too. To get around this I always syndicate posts to draft status but I have to check frequently to publish the posts.

    I have a question: What determines if a post is unique? Knowing this perhaps I could resolve or work-around my duplicate post issue. I’m happy to do some debug or become a beta-tester to help resolve this issue. 🙂

    Still a great plugin though!

  14. Charles, this plugin is exactly what I’ve been looking for. And it’s working with WP 2.3, except for the duplication problem mentioned above.

    I, too, have set it to draft mode to prevent dupes from being published but it still puts another 10 per blog draft mode which I then have to manually delete.

    Hope you can tackle this.

  15. Hi, I installed it on WordPress 2.3 but after I activate the plugin. I can see the Syndication button on the right. But if I click on it, it directs me to the homepage of my own website instead of the menu.

    Strange? Can you help out?

  16. (Sorry for my english)

    I use FeedWordPress since 2006 april and I hadn’t any problem. I have a site called Planeta Canarias.

    But, after the September 17, 2007, this plugin don’t syndicate the feeds from Feedburner and I haven’t make any change.

    Does somebody know about this? Thanks!!!

  17. Great Plug-in. I am using it with v2.3.

    The only issue I am getting is while syndicating any Atom feed. It seems that its not working with any ATOM feed rather it working perfectly fine with the RSS feeds.

    Any Suggestions ?

  18. Hi guys, thank you for this wonderful plugin. Since i installed 0.99 version, i’ve a problem. many post duplicates. I have just one source and i set the updating “automatically” (every 5 minutes) and i also have a cron that fetch my homepage every 15min. I have so many duplicates!! (even five for each articles) How can i solve it ? Probably i could stop automatic update, and do it only with cron… but how i con do this ? Thanks in advance…

  19. Two things others have mentioned that I have noticed as well. 1) duplicate posts – I’m syndicating content from my blog hosted at WordPress.com to a WordPress 2.3 blog hosted myself at Dreamhost and it gets the last 10 or so posts each time and tries to create them as new posts. I have the syndicated content added as drafts for now and just delete the dups. Note: it only makes one duplicated entry of an existing post, not many duplicate entries. I don’t have a high posting volume, so I wonder what will happen once I get past the first 10 posts or so that were not added to the Dreamhosted blog via this plugin. 2) Categories – not being added to syndicated posts. Everything comes across as Uncategorized.

    Otherwise, its a great plugin. Just what I was looking for to transition to the new blog while I’m getting things setup.

    Thanks,

  20. Hi, just wanted to say thanks for a great plugin.

    I do have a question, though.

    Right now, I’ve set the permalinks to point to the originating url. How would I still grab the permalink for the post page on my site, though?

  21. This plugin has great potential unfortunately it isn’t cooperating with any feeds I give it, not even feedburner.

    I get the same error each time I submit a feed: Fatal error: Cannot use object of type WP_Error as array in /home/[Deleted]/wp-includes/taxonomy.php on line 1010

    Any ideas?

  22. Allow me to add my voice to the chorus of “Great Job”! As a WP plugin author myself, I know how hard it can be.

    I’d like to request one feature for a future version:

    I import all as draft and some posts never get published. However, if I delete them, they are re-added the next update. Would it be possible to keep a list of previously imported posts (base it on permalink?) and only add those that do not appear in the list?

    Again, great job!

    =C=

Comments are closed.