| @@ -1,602 +1,109 @@ | ||
| 1 | -FeedWordPress Change Log | |
| 2 | -======================== | |
| 1 | +Change Log | |
| 2 | +========== | |
| 3 | 3 | |
| 4 | -Changes from 0.992 to 0.993 | |
| 5 | - | |
| 6 | -* WORDPRESS 2.5.1 COMPATIBILITY: FeedWordPress should now be compatible | |
| 7 | - with WordPress 2.5.1. | |
| 8 | - | |
| 9 | -* WORDPRESS 2.5 INTERFACE IMPROVEMENTS: FeedWordPress's Dashboard | |
| 10 | - interface has undergone several cosmetic changes that should help it | |
| 11 | - integrate better with the WordPress Dashboard interface in WordPress | |
| 12 | - version 2.5.x. | |
| 13 | - | |
| 14 | -* SYNDICATED POSTS CAN BE MARKED AS "PENDING REVIEW": WordPress 2.3 users | |
| 15 | - can now take advantage of WordPress's new "Pending Review" features for | |
| 16 | - incoming syndicated posts. Posts marked as "Pending Review" are not | |
| 17 | - published immediately, but are marked as ready to be reviewed by an | |
| 18 | - Administrator or Editor, who can then choose to publish the post or | |
| 19 | - hold it back. If you want to review syndicated posts from a particular | |
| 20 | - feed, or from all feeds, before they are posted, then use | |
| 21 | - Syndication --> Syndicated Sites --> Edit or Syndication --> Options to | |
| 22 | - change the settings for handling new posts. | |
| 23 | - | |
| 24 | -* AWARE OF NEW URI FOR del.icio.us FEEDS: Previous releases of | |
| 25 | - FeedWordPress already automatically split del.icio.us tags up | |
| 26 | - appropriately appropriately when generating categories. (del.icio.us | |
| 27 | - feeds smoosh all the tags into a single `<dc:subject>` element, | |
| 28 | - separated by spaces; FeedWordPress un-smooshes them into multiple | |
| 29 | - categories by separating them at whitespace.) Unfortunately, del.icio.us | |
| 30 | - recently broke the existing behavior by changing host names for their | |
| 31 | - feeds from del.icio.us to feeds.delicious.com. Version 0.993 accounts | |
| 32 | - for the new host name and un-breaks the tag splitting. | |
| 33 | - | |
| 34 | -Changes from 0.991 to 0.992 | |
| 35 | -* AUTHOR RE-MAPPING: FeedWordPress now offers considerable control over | |
| 36 | - how author names on a feed are translated into usernames within the | |
| 37 | - WordPress database. When a post by an unrecognized author comes in, | |
| 38 | - Administrators can now specify any username as the default username to | |
| 39 | - assign the post to by setting the option in Syndication --> Options | |
| 40 | - (formerly FeedWordPress only allowed you to assign such posts to user | |
| 41 | - #1, the site administrator). Administrators can also create re-mapping | |
| 42 | - rules for particular feeds (under Syndication --> Syndicated Sites --> | |
| 43 | - Edit), so that (for example) any posts attributed to "Administrator" | |
| 44 | - on the feed <http://praxeology.net/blog/feed/> will be assigned to | |
| 45 | - a user named "Roderick T. Long," rather than a user named | |
| 46 | - "Administrator." These settings also allow administrators to filter out | |
| 47 | - posts by particular users, and to control what will happen when | |
| 48 | - FeedWordPress encounters a post by an unrecognized user on that | |
| 49 | - particular feed. | |
| 50 | - | |
| 51 | -* BUG RELATED TO URIS CONTAINING AMPERSAND CHARACTERS FIXED: A bug in | |
| 52 | - WordPress 2.x's handling of URIs in Blogroll links created problems for | |
| 53 | - updating any feeds whose URIs included an ampersand character, such as | |
| 54 | - Google News RSS feeds and other feeds that have multiple parameters | |
| 55 | - passed through HTTP GET. If you experienced this bug, the most likely | |
| 56 | - effect was that FeedWordPress simply would not import new posts from a | |
| 57 | - feed when instructred to do so, returning a "0 new posts" response. In | |
| 58 | - other cases, it might lead to unpredictable results from feed updates, | |
| 59 | - such as importing posts which were not contained in the feed being | |
| 60 | - syndicated, but which did appear elsewhere on the same website. This bug | |
| 61 | - has, hopefully, been resolved, by correcting for the bug in WordPress. | |
| 62 | - | |
| 63 | -Changes from 0.99 to 0.991 | |
| 64 | -* WORDPRESS MU COMPATABILITY: FeedWordPress should now be compatible with | |
| 65 | - recent releases of WordPress MU. Once FeedWordPress is made available | |
| 66 | - as a plugin, each individual blog can choose to activate FeedWordPress | |
| 67 | - and syndicate content from its own set of contributors. | |
| 68 | - | |
| 69 | -* DISPLAY OF MAGPIE WARNINGS: A number of MagpieRSS warnings or error | |
| 70 | - messages that were displayed when performing an automatic update are | |
| 71 | - no longer displayed, unless debugging parameters have been explicitly | |
| 72 | - enabled. | |
| 73 | - | |
| 74 | -* BUG RELATED TO INTERNATIONAL CHARACTERS IN AUTHOR NAMES FIXED: Due to a | |
| 75 | - subtle incompatability between the way that FeedWordPress generated new | |
| 76 | - user information, and the way that WordPress 2.0 and later added new | |
| 77 | - authors to the database, FeedWordPress might end up creating duplicate | |
| 78 | - authors, or throwing a critical error message, when it encountered | |
| 79 | - authors whose names included international characters. This | |
| 80 | - incompatability has now been fixed; hopefully, authors with | |
| 81 | - international characters in their names should now be handled properly. | |
| 82 | - | |
| 83 | -* media:content BUG IN MAGPIERSS FIXED: A bug in MagpieRSS's handling of | |
| 84 | - namespaced elements has been fixed. Among other things, this bug caused | |
| 85 | - items containing a Yahoo MediaRSS `<media:content>` element (such as | |
| 86 | - many of the feeds produced by wordpress.com) to be represented | |
| 87 | - incorrectly, with only a capital "A" where the content of the post | |
| 88 | - should have been. Feeds containing `<media:content>` elements should now | |
| 89 | - be syndicated correctly. | |
| 90 | - | |
| 91 | -* update_feedwordpress PARAMETER: You can now use an HTTP GET parameter | |
| 92 | - (`update_feedwordpress=1`) to request that FeedWordPress poll its feeds | |
| 93 | - for updates. When used together with a crontab or other means of | |
| 94 | - scheduling tasks, this means that you can keep your blog automatically | |
| 95 | - updated on a regular schedule, even if you do not choose to use the | |
| 96 | - cron-less automatic updates option. | |
| 97 | - | |
| 98 | -* Some minor interface-related bugs were also fixed. | |
| 99 | - | |
| 100 | - | |
| 101 | -Changes from 0.981 to 0.99 | |
| 102 | -Version 0.99 adds several significant new features, fixes some bugs, and | |
| 103 | -provides compatability with WordPress 2.2.x and 2.3.x. | |
| 104 | - | |
| 105 | -* WORDPRESS 2.2 AND 2.3 COMPATIBILITY: FeedWordPress should now be | |
| 106 | - compatible with WordPress version 2.2 and the upcoming WordPress | |
| 107 | - version 2.3. In particular, it has been tested extensively against | |
| 108 | - WordPress 2.2.3 and WordPress 2.3 Release Candidate 1. | |
| 109 | - | |
| 110 | -* AUTOMATIC UPDATES WITHOUT CRON: FeedWordPress now allows you to | |
| 111 | - automatically schedule checks for new posts without using external task | |
| 112 | - scheduling tools such as cron. In order to enable automatic updates, go | |
| 113 | - to **Syndication --> Options** and set "Check for new posts" to | |
| 114 | - "automatically." For details, see "Automatic Feed Updates" in | |
| 115 | - README.text. | |
| 116 | - | |
| 117 | - An important side-effect of the changes to the update system is that if | |
| 118 | - you were previously using the cron job and the `update-feeds.php` script | |
| 119 | - to schedule updates, you need to change your cron set-up. The old | |
| 120 | - `update-feeds.php` script no longer exists. Instead, if you wish to use | |
| 121 | - a cron job to guarantee updates on a particular schedule, you should | |
| 122 | - have the cron job fetch the front page of your blog (for example, by | |
| 123 | - using `curl http://www.zyx.com/blog/ > /dev/null`) instead of activating | |
| 124 | - the `update-feeds.php` script. If automatic updates have been enabled, | |
| 125 | - fetching the front page will automatically trigger the update process. | |
| 126 | - | |
| 127 | -* INTERFACE REORGANIZATION: All FeedWordPress functions are now located | |
| 128 | - under a top-level "Syndication" menu in the WordPress Dashboard. To | |
| 129 | - manage the list of syndicated sites, manually check for new posts on | |
| 130 | - one or more feeds, or syndicate a new site, you should use the main page | |
| 131 | - under **Syndication**. To change global settings for FeedWordPress, | |
| 132 | - you should use **Syndication --> Options**. | |
| 133 | - | |
| 134 | -* FILE STRUCTURE REORGANIZATION: Due to a combination of changing styles | |
| 135 | - for FeedWordPress plugins and lingering bugs in the FeedWordPress admin | |
| 136 | - menu code, the code for FeedWordPress is now contained in two different | |
| 137 | - PHP files, which should be installed together in a subdirectory of your | |
| 138 | - plugins directory named `feedwordpress`. (See README.text for | |
| 139 | - installation and upgrade instructions relating to the change.) | |
| 140 | - | |
| 141 | -* MULTIPLE CATEGORIES SETTING: Some feeds use non-standard methods to | |
| 142 | - indicate multiple categories within a single category element. (The most | |
| 143 | - popular site to do this is del.icio.us, which separates tags with a | |
| 144 | - space.) FeedWordPress now allows you to set an optional setting, for any | |
| 145 | - feed which does this, indicating the character or characters used to | |
| 146 | - divide multiple categories, using a Perl-compatible regular expression. | |
| 147 | - (In the case of del.icio.us feeds, FeedWordPress will automatically use | |
| 148 | - \s for the pattern without your having to do any further configuration.) | |
| 149 | - To turn this setting on, simply use the "Edit" link for the feed that | |
| 150 | - you want to turn it on for. | |
| 151 | - | |
| 152 | -* REGULAR EXPRESSION BUG FIXED: Eliminated a minor bug in the regular | |
| 153 | - expressions for e-mail addresses (used in parsing RSS `author` | |
| 154 | - elements), which could produce unsightly error messages for some users | |
| 155 | - parsing RSS 2.0 feeds. | |
| 156 | - | |
| 157 | -* DATE / UPDATE BUG FIXED: A bug in date handling was eliminated that may | |
| 158 | - have caused problems if any of (1) WordPress, or (2) PHP, or (3) your | |
| 159 | - web server, or (4) your MySQL server, has been set to use a different | |
| 160 | - time zone from the one that any of the others is set to use. If | |
| 161 | - FeedWordPress has not been properly updating updated posts, or has been | |
| 162 | - updating posts when there shouldn't be any changes for the update, this | |
| 163 | - release may solve that problem. | |
| 164 | - | |
| 165 | -* GOOGLE READER BUGS FIXED: A couple of bugs that made it difficult for | |
| 166 | - FeedWordPress to interact with Google Reader public feeds have been | |
| 167 | - fixed. Firstly, if you encountered an error message reading "There was a | |
| 168 | - problem adding the newsfeed. [SQL: ]" when you tried to add the feed, | |
| 169 | - the cause of this error has been fixed. Secondly, if you succeeded in | |
| 170 | - getting FeedWordPress to check a Google Reader feed, only to find that | |
| 171 | - the title of posts had junk squashed on to the end of them, that bug | |
| 172 | - has been fixed too. To fix this bug, you must install the newest version | |
| 173 | - of the optional MagpieRSS upgrade. | |
| 174 | - | |
| 175 | -* FILTER PARAMETERS: Due to an old, old bug in WordPress 1.5.0 (which was | |
| 176 | - what was available back when I first wrote the filter interface), | |
| 177 | - FeedWordPress has traditionally only passed one parameter to | |
| 178 | - syndicated_item and syndicated_post filters functions -- an array | |
| 179 | - containing either the Magpie representation of a syndicated item from | |
| 180 | - the feed, or the database representation of a post about to be inserted | |
| 181 | - into the WordPress database. If you needed information about the feed | |
| 182 | - that the item came from, this was accessible only through a pair of | |
| 183 | - global variables, $fwp_channel and $fwp_feedmeta. | |
| 184 | - | |
| 185 | - Since it's been a pretty long time since WordPress 1.5.0 was in | |
| 186 | - widespread usage, I have gone ahead and added an optional second | |
| 187 | - parameter to the invocation of the syndicated_item and syndicated_post | |
| 188 | - filters. If you have written a filter for FeedWordPress that uses either | |
| 189 | - of these hooks, you can now register that filter to accept 2 parameters. | |
| 190 | - If you do so, the second parameter will be a SyndicatedPost object, | |
| 191 | - which, among other things, allows you to access information about the | |
| 192 | - feed from which an item is syndicated using the $post->feed and the | |
| 193 | - $post->feedmeta elements (where $post is the name of the second | |
| 194 | - parameter). | |
| 195 | - | |
| 196 | - NOTE THAT THE OLD GLOBAL VARIABLES ARE STILL AVAILABLE, for the time | |
| 197 | - being at least, so existing filters will not break with the upgrade. | |
| 198 | - They should be considered deprecated, however, and may be eliminated in | |
| 199 | - the future. | |
| 200 | - | |
| 201 | -* FILTER CHANGE / BUGFIX: the array that is passed as the first argument | |
| 202 | - syndicated_post filters no longer is no longer backslash-escaped for | |
| 203 | - MySQL when filters are called. This was originally a bug, or an | |
| 204 | - oversight; the contents of the array should only be escaped for the | |
| 205 | - database *after* they have gone through all filters. IF YOU HAVE WRITTEN | |
| 206 | - ANY syndicated_post FILTERS THAT PRESUME THE OLD BEHAVIOR OF PASSING IN | |
| 207 | - STRINGS THAT ARE ALREADY BACKSLASH-ESCAPED, UPDATE YOUR FILTERS | |
| 208 | - ACCORDINGLY. | |
| 209 | - | |
| 210 | -* OTHER MINOR BUGFIXES AND INTERNAL CHANGES: The internal architecture of | |
| 211 | - FeedWordPress has been significantly changed to make the code more | |
| 212 | - modular and clean; hopefully this should help reduce the number of | |
| 213 | - compatibility updates that are needed, and make them easier and quicker | |
| 214 | - when they are needed. | |
| 215 | - | |
| 216 | -Changes from 0.98 to 0.981 | |
| 217 | -Version 0.981 is a narrowly targeted bugfix and compatibility release, whose | |
| 218 | -main purpose is to resolve a major outstanding problem: the incompatibility | |
| 219 | -between version 0.98 of WordPress and the recently released WordPress 2.1. | |
| 220 | - | |
| 221 | -* WORDPRESS 2.1 COMPATIBILITY: FeedWordPress is now compatible with | |
| 222 | - WordPress 2.1, as well as retaining its existing support for WordPress | |
| 223 | - 2.0 and 1.5. Incompatibilities that resulted in database warnings, fatal | |
| 224 | - errors, and which prevented FeedWordPress from syndicating new posts, | |
| 225 | - have been eliminated. | |
| 226 | - | |
| 227 | -* RSS-FUNCTIONS.PHP RENAMED TO RSS.PHP: if you use the upgraded MagpieRSS | |
| 228 | - replacement that's included with FeedWordPress, be sure to note that | |
| 229 | - there are now *two* files to upload from the `OPTIONAL/wp-includes` | |
| 230 | - subdirectory in order to carry out the upgrade: rss-functions.php and | |
| 231 | - rss.php. **It is necessary to upload both files**, due to a change in | |
| 232 | - the file naming scheme in WordPress 2.1, and it is necessary to do so | |
| 233 | - whether you are using WordPress 2.1 or not. If you only upload the | |
| 234 | - `rss-functions.php` file as in previous installations you will not have | |
| 235 | - a working copy of MagpieRSS; the rss.php file contains the actual code. | |
| 236 | - | |
| 237 | -* DATE BUG AFFECTING SOME PHP INSTALLATIONS RESOLVED: due to a subtle bug | |
| 238 | - in parse_w3cdtf(), some installations of PHP encountered problems with | |
| 239 | - FeedWordPress's attempt to date posts, which would cause some new posts | |
| 240 | - on Atom feeds to be dated as if they had apppeared in 1969 or 1970 | |
| 241 | - (thus, effectively, never appearing on front apge at all). This bug in | |
| 242 | - the date handling should now be fixed. | |
| 243 | - | |
| 244 | -* PHP <?=...?> SHORT FORM ELIMINATED: some installations of PHP do not | |
| 245 | - allow the <?=...?> short form for printing PHP values, which was used | |
| 246 | - extensively in the FeedWordPress interface code. Since this could cause | |
| 247 | - fatal errors for users with the wrong installation of PHP, the short | |
| 248 | - form has been replaced with full PHP echo statements, and is no longer | |
| 249 | - used in FeedWordPress. | |
| 250 | - | |
| 251 | -* BETTER USER INTERFACE INTEGRATION WITH WORDPRESS 2.x: Some minor changes | |
| 252 | - have been made to help the FeedWordPress interface pages blend in better | |
| 253 | - with the user interface when running under WordPress 2.x. | |
| 254 | - | |
| 255 | -* GLOBAL CATEGORIES BUG RESOLVED: a bug that prevented some users from | |
| 256 | - setting one or more categories to apply to syndicated posts from all | |
| 257 | - feeds (using the checkbox interface under Options --> Syndication) has | |
| 258 | - been resolved. | |
| 259 | - | |
| 260 | -Changes from 0.97 to 0.98 | |
| 261 | - | |
| 262 | -* WORDPRESS 2.0 COMPATIBILITY: This is a narrowly-targeted release to | |
| 263 | - solve a major outstanding problem. FeedWordPress is now compatible with | |
| 264 | - both WordPress 1.5 and WordPress 2.0. Incompatibilities that caused | |
| 265 | - fatal SQL errors, and a more subtle bug with off-kilter counts of posts | |
| 266 | - under a given category, have been resolved. FeedWordPress tests for | |
| 267 | - database schema using the global $wp_db_version variable (if null, then | |
| 268 | - we presume that we're dealing with WordPress 1.5). | |
| 269 | - | |
| 270 | - NOTE: I have **not** fully tested FeedWordPress with WordPress 2.0. | |
| 271 | - Further testing may reveal more bugs. However, you should now be able | |
| 272 | - to get at least basic FeedWordPress functionality up and running. | |
| 273 | - | |
| 274 | -* AUTHOR MATCHING: FeedWordPress tests several fields to see if it can | |
| 275 | - identify the author of the post as a user already in the WordPress user | |
| 276 | - database. In previous versions, it tested the user login, the nickname, | |
| 277 | - and tested for "aliases" listed in the Profile (see documentation). FWP | |
| 278 | - now also matches authors on the basis of e-mail address (*if* an e-mail | |
| 279 | - address is present). This is particularly helpful for formats such as | |
| 280 | - RSS 2.0, in which authors are primarily identified by e-mail addresses. | |
| 281 | - | |
| 282 | -Changes from 0.96 to 0.97 | |
| 283 | - | |
| 284 | -* INSTALLATION PROCEDURE: Some of the changes between 0.96 and 0.97 | |
| 285 | - require upgrades to the meta-data stored by FeedWordPress to work | |
| 286 | - properly. Thus, if you are upgrading from 0.96 or earlier to 0.97, most | |
| 287 | - FeedWordPress operations (including updates and template functions) | |
| 288 | - WILL BE DISABLED until you run the upgrade procedure. Fortunately, | |
| 289 | - running the upgrade procedure is easy: just go to either Options --> | |
| 290 | - Syndication or Links --> Syndicated in the WordPress Dashboard and press | |
| 291 | - the button. | |
| 292 | - | |
| 293 | -* FEED FORMAT SUPPORT: Support has been added for the Atom 1.0 IETF | |
| 294 | - standard. Several other elements are also newly supported | |
| 295 | - (dcterms:created, dcterms:issued, dcterms:modified, dc:identifier, | |
| 296 | - proper support for the RSS 2.0 guid element, the RSS 2.0 author element, | |
| 297 | - the use of Atom author or Dublin Core dc:creator constructs at the feed | |
| 298 | - level to identify the author of individual items, etc.) | |
| 299 | - | |
| 300 | - N.B.: full support of several Atom 1.0 features, such as categories | |
| 301 | - and enclosures, requires you to install the optional rss-functions.php | |
| 302 | - upgrade in your wp-includes directory. | |
| 303 | - | |
| 304 | -* BUG FIX: Running `update-feeds.php` from command line or crontab | |
| 305 | - returned "I don't syndicate..." errors. It turns out that WordPress | |
| 306 | - sometimes tramples on the internal PHP superglobals that I depended on | |
| 307 | - to determine whether or not the script was being invoked from the | |
| 308 | - command line. This has been fixed (the variables are now checked | |
| 309 | - *before* WordPress can trample them). Note that `update-feeds.php` has | |
| 310 | - been thoroughly overhauled anyway; see below for details. | |
| 311 | - | |
| 312 | -* BUG FIX: Duplicate categories or author names. Fixed two bugs that could | |
| 313 | - create duplicate author and/or category names when the name contained | |
| 314 | - either (a) certain international characters (causing a mismatch between | |
| 315 | - MySQL and PHP's handling of lowercasing text), or (b) characters that | |
| 316 | - have a special meaning in regular expressions (causing MySQL errors when | |
| 317 | - looking for the author or category due to regexp syntax errors). These | |
| 318 | - should now be fixed thanks to careful escaping of names that go into | |
| 319 | - regular expressions and careful matching of lowercasing functions | |
| 320 | - (comparing results from PHP only to other results from PHP, and results | |
| 321 | - from MySQL only to other results from MySQL). | |
| 322 | - | |
| 323 | -* BUG FIX: Items dated Decembr 31, 1969 should appear less often. The | |
| 324 | - function for parsing W3C date-time format dates that ships with | |
| 325 | - MagpieRSS can only correctly parse fully-specified dates with a | |
| 326 | - fully-specified time, but valid W3C date-time format dates may omit the | |
| 327 | - time, the day of the month, or even the month. Some feeds in the wild | |
| 328 | - date their items with coarse-grained dates, so the optional | |
| 329 | - `rss-functions.php` upgrade now includes a more flexible parse_w3cdtf() | |
| 330 | - function that will work with both coarse-grained and fully-specified | |
| 331 | - dates. (If parts of the date or the time are omitted, they are filled in | |
| 332 | - with values based on the current time, so '2005-09-10' will be dated to | |
| 333 | - the current time on that day; '2004' will be dated to this day and time | |
| 334 | - one year ago. | |
| 335 | - | |
| 336 | - N.B.: This fix is only available in the optional `rss-functions.php` | |
| 337 | - upgrade. | |
| 338 | - | |
| 339 | -* BUG FIX: Evil use of HTTP GET has been undone. The WordPress interface | |
| 340 | - is riddled with inappropriate (non-idempotent) uses of HTTP GET queries | |
| 341 | - (ordinary links that make the server do something with significant | |
| 342 | - side-effects, such as deleting a post or a link from the database). | |
| 343 | - FeedWordPress did some of this too, especially in places where it aped | |
| 344 | - the WordPress interface (e.g. the "Delete" links in Links --> | |
| 345 | - Syndicated). That's bad business, though. I've changed the interface so | |
| 346 | - that all the examples of improper side-effects that I can find now | |
| 347 | - require an HTTP POST to take effect. I think I got pretty much | |
| 348 | - everything; if there's anything that I missed, let me know. | |
| 349 | - | |
| 350 | - Further reading: [Sam Ruby 2005-05-06: This Stuff Matters] (http://www.intertwingly.net/blog/2005/05/06/This-Stuff-Matters) | |
| 351 | - | |
| 352 | -* BUG FIX: Categories applied by `cats` setting should no longer prevent | |
| 353 | - category-based filtering from working. In FeedWordPress, you can (1) | |
| 354 | - apply certain categories to all syndicated posts, or all posts from | |
| 355 | - a particular feed; and (2) filter out all posts that don't match one | |
| 356 | - of the categories that are already in the WordPress database (allowing | |
| 357 | - for simple category-based filtering; just load up WordPress with the | |
| 358 | - categories you want to accept, and then tell FeedWordPress not to create | |
| 359 | - new ones). However, the way that (1) and (2) were implemented meant that | |
| 360 | - you couldn't effectively use them together; once you applied a known | |
| 361 | - category to all syndicated posts from a particular feed, it meant that | |
| 362 | - they'd have at least one familiar category (the category or categories | |
| 363 | - you were applying), and that would get all posts past the filter no | |
| 364 | - matter what categories they were originally from. | |
| 365 | - | |
| 366 | - Well, no longer. You can still apply categories to all syndicated posts | |
| 367 | - (using either Syndication --> Options, or the feed-level settings under | |
| 368 | - Links --> Syndicated). But these categories are not applied to the post | |
| 369 | - until *after* it has already passed by the "familiar categories" filter. | |
| 370 | - So now, if you want, you can do category filtering and *then* apply as | |
| 371 | - many categories as you please to all and only posts that pass the filter. | |
| 372 | - | |
| 373 | -* BUG FIX: Other minor typos and HTML gaffes were fixed along the way. | |
| 374 | - | |
| 375 | -* PERFORMANCE: get_feed_meta() no longer hits the database for information | |
| 376 | - on every call; it now caches link data in memory, so FeedWordPress only | |
| 377 | - goes to the database once for each syndicated link. This may | |
| 378 | - substantially improve performance if your database server resources | |
| 379 | - are tight and your templates make a lot of use of custom settings from | |
| 380 | - get_feed_meta(). | |
| 381 | - | |
| 382 | -* API CHANGE: Link ID numbers, rather than RSS URIs, are now used to | |
| 383 | - identify the feed from which a post is syndicated when you use template | |
| 384 | - functions such as get_feed_meta(). The practical upshot of this is you | |
| 385 | - can switch feeds, or change the feed address for a particular syndicated | |
| 386 | - site, without breaking your templates for all the posts that were | |
| 387 | - syndicated from the earlier URI. | |
| 388 | - | |
| 389 | -* API CHANGE: if you have plugins or templates that make use of the | |
| 390 | - get_feed_meta() function or the $fwp_feedmeta global, note that the | |
| 391 | - data formerly located under the `uri` and `name` fields is now located | |
| 392 | - under the `link/uri` field and the `link/name` field, respectively. Note | |
| 393 | - also that you can access the link ID number for any given feed under the | |
| 394 | - global $fwp_feedmeta['link/id'] (in plugins) or | |
| 395 | - get_feed_meta('link/id') (in a template in post contexts). | |
| 396 | - | |
| 397 | -* FEATURE: the settings for individual feeds can now be edited using a | |
| 398 | - humane interface (where formerly you had to tweak key-value pairs in the | |
| 399 | - Link Notes section). To edit settings for a feed, pick the feed that you | |
| 400 | - want under Links --> Syndicated and click the Edit link. | |
| 401 | - | |
| 402 | -* FEATURE: The "Unsubscribe" button (formerly "Delete") in Links --> | |
| 403 | - Syndicated now offers three options for unsubscribing from a feed: (1) | |
| 404 | - turning off the subscription without deleting the feed data or affecting | |
| 405 | - posts that were syndicated from the feed (this works by setting the Link | |
| 406 | - for the feed as "invisible"); (2) deleting the feed data and all of the | |
| 407 | - posts that were syndicated from the feed; or (3) deleting the feed data | |
| 408 | - and *keeping* the posts that were syndicated from the feed | |
| 409 | - setting the Link to "Invisible" (meaning that it will not be displayed | |
| 410 | - in lists of the site links on the front page, and it won't be checked | |
| 411 | - for updates; (2) deleting the Link and all of the posts that were | |
| 412 | - syndicated from its feed; or (3) deleting the feed data but keeping the | |
| 413 | - posts that were syndicated (which will henceforward be treated as if | |
| 414 | - they were local rather than syndicated posts). (Note that (1) is usually | |
| 415 | - the best option for aggregator sites, unless you want to clean up the | |
| 416 | - results of an error or a test.) | |
| 417 | - | |
| 418 | -* FEATURE / BUG FIX: If you have been receiving mysterious "I don't | |
| 419 | - syndicate...", or "(local) HTTP status code was not 200", or "(local) | |
| 420 | - transport error - could not open socket", or "parse error - not well | |
| 421 | - formed" errors, then this update may solve your problems, and if it does | |
| 422 | - *not* solve them, it will at least make the reasons for the problems | |
| 423 | - easier to understand. That's because I've overhauled the way that | |
| 424 | - FeedWordPress goes about updating feeds. | |
| 425 | - | |
| 426 | - If you use the command-line PHP scripting method to run scheduled | |
| 427 | - updates, then not much should change for you, except for fewer | |
| 428 | - mysterious errors. If you have done updates by sending periodic HTTP | |
| 429 | - requests to <http://your-blog.com/path/wp-content/update-feeds.php>, | |
| 430 | - then the details have changed somewhat; mostly in such a way as to make | |
| 431 | - things easier on you. See the README file or online documentation on | |
| 432 | - Staying Current for the details. | |
| 433 | - | |
| 434 | -* FEATURE: FeedWordPress now features a more sophisticated system for | |
| 435 | - timed updates. Instead of polling *every* subscribed feed for updates | |
| 436 | - *each* time `update-feeds.php` is run, FeedWordPress now keeps track of | |
| 437 | - the last time it polled each feed, and only polls them again after a | |
| 438 | - certain period of time has passed. The amount of time is normally set | |
| 439 | - randomly for each feed, in a period between 30 minutes and 2 hours (so | |
| 440 | - as to stagger updates over time rather than polling all of the feeds at once. However, the length of time between updates can also be set | |
| 441 | - directly by the feed, which brings us to ... | |
| 442 | - | |
| 443 | -* FEATURE: FeedWordPress now respects the settings in the `ttl` and | |
| 444 | - Syndication Module RSS elements. Feeds with these elements set will not | |
| 445 | - be polled any more frequently than they indicate with these feeds unless | |
| 446 | - the user manually forces FeedWordPress to poll the feed (see Links --> | |
| 447 | - Syndicated --> Edit settings). | |
| 448 | - | |
| 449 | -Changes from 0.95 to 0.96 | |
| 450 | - | |
| 451 | -* FEATURE: support has been added for enclosures in RSS 2.0 and Atom | |
| 452 | - 0.6+ newsfeeds. WordPress already supports adding enclosures to an | |
| 453 | - item; FeedWordPress merely gets the information on the enclosure | |
| 454 | - from the feed it is syndicating and plugs that information directly | |
| 455 | - into the WordPress database so that (among other things) that post | |
| 456 | - will have its enclosure listed in your blog's RSS 2 newsfeed. | |
| 457 | - | |
| 458 | - Note that enclosure support requires using the optional MagpieRSS | |
| 459 | - upgrade (i.e., replacing your `wp-includes/rss-functions.php` with `OPTIONAL/wp-includes/rss-functions.php` from the FWP archive) | |
| 460 | - | |
| 461 | -* FEATURE: for completeness's sake, there is now a feed setting, | |
| 462 | - `hardcode url`, that allows you to set the URI for the front page | |
| 463 | - of a contributor's website manually (that is, prevent it from being | |
| 464 | - automatically updated from the feed channel link on each update). To | |
| 465 | - set the URI manually, put a line like this in the Link Notes section | |
| 466 | - of a feed: | |
| 467 | - | |
| 468 | - hardcode url: yes | |
| 469 | - | |
| 470 | - You can also instruct FeedWordPress to use hardcoded URIs by default | |
| 471 | - on all feeds using Options --> Syndication | |
| 472 | - | |
| 473 | -* FEATURE: by default, when FeedWordPress finds new syndicated posts, | |
| 474 | - it (1) publishes them immediately, (2) turns comments off, and (3) | |
| 475 | - turns trackback / pingback pings off. You can now alter all three | |
| 476 | - default behaviors (e.g., to allow pings on syndicated posts, or to | |
| 477 | - send newly-syndicated posts to the draft pile for moderation) using | |
| 478 | - Options --> Syndication | |
| 479 | - | |
| 480 | - | |
| 481 | 4 | Changes from 0.91 to 0.95 |
| 482 | 5 | ------------------------- |
| 483 | 6 | |
| 484 | -* BUG FIX: Fixed an obscure bug in the handling of categories: | |
| 485 | - categories with trailing whitespace could cause categories with | |
| 486 | - duplicate names to be created. This no longer happens. While I was | |
| 487 | - at it I tightened up the operation of | |
| 488 | - FeedWordPress::lookup_categories() a bit in general. | |
| 7 | +* BUG FIX: Fixed an obscure bug in the handling of categories: categories | |
| 8 | + with trailing whitespace could cause categories with duplicate names to | |
| 9 | + be created. This no longer happens. While I was at it I tightened up the | |
| 10 | + operation of FeedWordPress::lookup_categories() a bit in general. | |
| 489 | 11 | |
| 490 | 12 | * FEATURE DEPRECATED: the feed setting `hardcode categories` is now |
| 491 | - deprecated in favor of `unknown categories` (see below), which | |
| 492 | - allows you to strip off any syndication categories not already in | |
| 493 | - your database using `unknown categories: default` or `unknown | |
| 494 | - categories: filter`. If you have `hardcode categories: yes` set on a | |
| 495 | - feed, this will be treated as `unknown categories: default` (i.e., | |
| 496 | - no new categories will be added, but if a post doesn't match any of | |
| 497 | - the categories it will be added in the default category--usually | |
| 498 | - "Uncategorized" or "General"). | |
| 13 | + deprecated in favor of `unknown categories` (see below), which allows | |
| 14 | + you to strip off any syndication categories not already in your database | |
| 15 | + using `unknown categories: default` or `unknown categories: filter`. If | |
| 16 | + you have `hardcode categories: yes` set on a feed, this will be treated | |
| 17 | + as `unknown categories: default` (i.e., no new categories will be added, | |
| 18 | + but if a post doesn't match any of the categories it will be added in | |
| 19 | + the default category--usually "Uncategorized" or "General"). | |
| 499 | 20 | |
| 500 | 21 | * FEATURE: You can now set global defaults as to whether or not |
| 501 | - FeedWordPress will update the Link Name and Link Description | |
| 502 | - settings for feeds automatically from the feed title and feed | |
| 503 | - tagline. (By default, it does, as it has in past versions.) Whether | |
| 504 | - this behavior is turned on or off, you can still override the | |
| 505 | - default behavior using feed settings of `hardcode name: yes`, | |
| 506 | - `hardcode name: no`, `hardcode description: yes`, or `hardcode | |
| 507 | - description: no`. | |
| 22 | + FeedWordPress will update the Link Name and Link Description settings | |
| 23 | + for feeds automatically from the feed title and feed tagline. (By | |
| 24 | + default, it does, as it has in past versions.) Whether this behavior is | |
| 25 | + turned on or off, you can still override the default behavior using | |
| 26 | + feed settings of `hardcode name: yes`, `hardcode name: no`, | |
| 27 | + `hardcode description: yes`, or `hardcode description: no`. | |
| 508 | 28 | |
| 509 | -* FEATURE: Users can now provide one or several "aliases" for an | |
| 510 | - author, just as they can for a category. For example, to make | |
| 511 | - FeedWordPress treat posts by "Joseph Cardinal Ratzinger" and "Pope | |
| 512 | - Benedict XVI" as by the same author, edit the user profile for Pope | |
| 513 | - Benedict XVI and add a line like this to the "User profile" field: | |
| 29 | +* FEATURE: Users can now provide one or several "aliases" for an author, | |
| 30 | + just as they can for a category. For example, to make FeedWordPress | |
| 31 | + treat posts by "Joseph Cardinal Ratzinger" and "Pope Benedict XVI" as | |
| 32 | + by the same author, edit the user profile for Pope Benedict XVI and add | |
| 33 | + a line like this to the "User profile" field: | |
| 514 | 34 | |
| 515 | 35 | a.k.a.: Joseph Cardinal Ratzinger |
| 516 | 36 | |
| 517 | - You can add several aliases, each on a line by itself. You can also | |
| 518 | - add any other text you like to the Profile without interfering with | |
| 519 | - the aliases. | |
| 37 | + You can add several aliases, each on a line by itself. You can also add | |
| 38 | + any other text you like to the Profile without interfering with the | |
| 39 | + aliases. | |
| 520 | 40 | |
| 521 | -* FEATURE: Users can now choose how to handle syndicated posts that | |
| 522 | - are in unfamiliar categories or by unfamiliar authors (i.e., | |
| 523 | - categories or authors whose names are not yet in the WordPress | |
| 524 | - database). By default, FeedWordPress will (as before) create a new | |
| 525 | - category (or new author) and use it for the current post and any | |
| 526 | - future posts. This behavior can be changed, either for all feeds or | |
| 527 | - for one or another particular feed. | |
| 41 | +* FEATURE: Users can now choose how to handle syndicated posts that are | |
| 42 | + in unfamiliar categories or by unfamiliar authors (i.e., categories or | |
| 43 | + authors whose names are not yet in the WordPress database). By default, | |
| 44 | + FeedWordPress will (as before) create a new category (or new author) and | |
| 45 | + use it for the current post and any future posts. This behavior can be | |
| 46 | + changed, either for all feeds or for one or another particular feed. | |
| 528 | 47 | |
| 529 | 48 | There are now three different options for an unfamiliar author: (1) |
| 530 | 49 | FeedWordPress can create a new author account and attribute the |
| 531 | - syndicated post to the new account; (2) FeedWordPress can attribute | |
| 532 | - the post to an author if the author's name is familiar, and to a | |
| 533 | - default author (currently, this means the Site Administrator | |
| 534 | - account) if it is not; (3) FeedWordPress can drop posts by | |
| 535 | - unfamiliar authors and syndicate only posts by authors who are | |
| 536 | - already in the database. | |
| 50 | + syndicated post to the new account; (2) FeedWordPress can attribute the | |
| 51 | + post to an author if the author's name is familiar, and to a default | |
| 52 | + author (currently, this means the Site Administrator account) if it is | |
| 53 | + not; (3) FeedWordPress can drop posts by unfamiliar authors and | |
| 54 | + syndicate only posts by authors who are already in the database. | |
| 537 | 55 | |
| 538 | - There are, similarly, two different options for an unfamiliar | |
| 539 | - category: (1) FeedWordPress can create new categories and place the | |
| 540 | - syndicated post in them; (2) FeedWordPress can drop the unfamiliar | |
| 541 | - categories and place syndicated posts only in categories that it is | |
| 542 | - already familiar with. In addition, FeedWordPress 0.95 lets you | |
| 543 | - choose whether posts that are in *no* familiar categories should be | |
| 544 | - syndicated (and placed in the default category for the blog) or | |
| 545 | - simply dropped. | |
| 56 | + There are, similarly, two different options for an unfamiliar category: | |
| 57 | + (1) FeedWordPress can create new categories and place the syndicated | |
| 58 | + post in them; (2) FeedWordPress can drop the unfamiliar categories and | |
| 59 | + place syndicated posts only in categories that it is already familiar | |
| 60 | + with. In addition, FeedWordPress 0.95 lets you choose whether posts that | |
| 61 | + are in *no* familiar categories should be syndicated (and placed in the | |
| 62 | + default category for the blog) or simply dropped. | |
| 546 | 63 | |
| 547 | - You can set the default behavior for both authors and categories | |
| 548 | - using the settings in Options --> Syndication. You can also set | |
| 549 | - different behavior for specific feeds by adding the `unfamiliar | |
| 550 | - author` and / or `unfamiliar categories` settings to the Link Notes | |
| 551 | - section of a feed: | |
| 64 | + You can set the default behavior for both authors and categories using | |
| 65 | + the settings in Options --> Syndication. You can also set different | |
| 66 | + behavior for specific feeds by adding the `unfamiliar author` and / or | |
| 67 | + `unfamiliar categories` settings to the Link Notes section of a feed: | |
| 552 | 68 | |
| 553 | 69 | unfamiliar author: (create|default|filter) |
| 554 | 70 | unfamiliar categories: (create|default|filter) |
| 555 | 71 | |
| 556 | - A setting of `unfamiliar author: create` will make FeedWordPress | |
| 557 | - create new authors to match unfamiliar author names *for this feed | |
| 558 | - alone*. A setting of `unfamiliar author: default` will make it | |
| 559 | - assign posts from unfamiliar authors to the default user account. A | |
| 560 | - setting of `unfamiliar author: filter` will cause all posts (from | |
| 561 | - this feed alone) to be dropped unless they are by an author already | |
| 562 | - listed in the database. Similiarly, `unfamiliar categories: create` | |
| 563 | - will make FeedWordPress create new categories to match unfamiliar | |
| 564 | - category names *for this feed alone*; `unfamiliar categories: | |
| 565 | - default` will cause it to drop any unfamiliar category names; and | |
| 72 | + A setting of `unfamiliar author: create` will make FeedWordPress create | |
| 73 | + new authors to match unfamiliar author names *for this feed alone*. A | |
| 74 | + setting of `unfamiliar author: default` will make it assign posts from | |
| 75 | + unfamiliar authors to the default user account. A setting of | |
| 76 | + `unfamiliar author: filter` will cause all posts (from this feed alone) | |
| 77 | + to be dropped unless they are by an author already listed in the | |
| 78 | + database. Similiarly, `unfamiliar categories: create` will make | |
| 79 | + FeedWordPress create new categories to match unfamiliar category names | |
| 80 | + *for this feed alone*; `unfamiliar categories: default` will cause it | |
| 81 | + to drop any unfamiliar category names; and | |
| 566 | 82 | `unfamiliar categories: filter` will cause it to *both* drop any |
| 567 | - unfamiliar category names *and* to only syndicate posts that are | |
| 568 | - placed in one or more familiar categories. | |
| 83 | + unfamiliar category names *and* to only syndicate posts that are placed | |
| 84 | + in one or more familiar categories. | |
| 569 | 85 | |
| 570 | - These two new features allow users to do some coarse-grained | |
| 571 | - filtering without having to write a PHP filter. Specifically, they | |
| 572 | - offer an easy way for you to filter feeds by category or by author. | |
| 573 | - Suppose, for example, that you only wanted to syndicate posts that | |
| 574 | - your contributors place in the "Llamas" category. You could do so by | |
| 575 | - setting up your installation of WordPress so that the only category | |
| 576 | - in the database is "Llamas," and then use Options --> Syndication to | |
| 577 | - set "Unfamiliar categories" to "don't create new categories and | |
| 578 | - don't syndicate posts unless they match at least one familiar | |
| 579 | - category". Now, when you update, only posts in the "Llamas" category | |
| 580 | - will be syndicated by FeedWordPress. | |
| 86 | + These two new features allow users to do some coarse-grained filtering | |
| 87 | + without having to write a PHP filter. Specifically, they offer an easy | |
| 88 | + way for you to filter feeds by category or by author. Suppose, for | |
| 89 | + example, that you only wanted to syndicate posts that your contributors | |
| 90 | + place in the "Llamas" category. You could do so by setting up your | |
| 91 | + installation of WordPress so that the only category in the database is | |
| 92 | + "Llamas," and then use Options --> Syndication to set "Unfamiliar | |
| 93 | + categories" to "don't create new categories and don't syndicate posts | |
| 94 | + unless they match at least one familiar category". Now, when you update, | |
| 95 | + only posts in the "Llamas" category will be syndicated by FeedWordPress. | |
| 581 | 96 | |
| 582 | 97 | Similarly, if you wanted to filter one particular feed so that only |
| 583 | 98 | posts by (for example) the author "Earl J. Llama" were syndicated to |
| 584 | - your site, you could do so by creating a user account for Earl J. | |
| 585 | - Llama, then adding the following line to the settings for the feed | |
| 586 | - in Link Notes: | |
| 99 | + your site, you could do so by creating a user account for Earl J. Llama, | |
| 100 | + then adding the following line to the settings for the feed in Link | |
| 101 | + Notes: | |
| 587 | 102 | |
| 588 | 103 | unfamiliar author: filter |
| 589 | 104 | |
| 590 | - This will cause any posts from this feed that are not authored by | |
| 591 | - Earl J. Llama to be discarded, and only the posts by Earl J. Llama | |
| 592 | - will be syndicated. (If the setting is used on one specific feed, it | |
| 593 | - will not affect how posts from other feeds are syndicated.) | |
| 105 | + This will cause any posts from this feed that are not authored by Earl | |
| 106 | + J. Llama to be discarded, and only the posts by Earl J. Llama will be | |
| 107 | + syndicated. (If the setting is used on one specific feed, it will not | |
| 108 | + affect how posts from other feeds are syndicated.) | |
| 594 | 109 | |