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