| 1 |
=== FeedWordPress === |
| 2 |
Contributors: Charles Johnson |
| 3 |
Donate link: http://feedwordpress.radgeek.com/ |
| 4 |
Tags: syndication, aggregation, feed, atom, rss |
| 5 |
Requires at least: 3.0 |
| 6 |
Tested up to: 3.1.3 |
| 7 |
Stable tag: 2011.0531 |
| 8 |
|
| 9 |
FeedWordPress syndicates content from feeds you choose into your WordPress weblog. |
| 10 |
|
| 11 |
== Description == |
| 12 |
|
| 13 |
* Author: [Charles Johnson](http://radgeek.com/contact) |
| 14 |
* Project URI: <http://projects.radgeek.com/feedwordpress> |
| 15 |
* License: GPL 2. See License below for copyright jots and tittles. |
| 16 |
|
| 17 |
FeedWordPress is an Atom/RSS aggregator for WordPress. It syndicates content |
| 18 |
from feeds that you choose into your WordPress weblog; if you syndicate several |
| 19 |
feeds then you can use WordPress's posts database and templating engine as the |
| 20 |
back-end of an aggregation ("planet") website. It was developed, originally, |
| 21 |
because I needed a more flexible replacement for [Planet][] |
| 22 |
to use at [Feminist Blogs][]. |
| 23 |
|
| 24 |
[Planet]: http://www.planetplanet.org/ |
| 25 |
[Feminist Blogs]: http://feministblogs.org/ |
| 26 |
|
| 27 |
FeedWordPress is designed with flexibility, ease of use, and ease of |
| 28 |
configuration in mind. You'll need a working installation of WordPress or |
| 29 |
WordPress MU (version [3.0] or later), and also FTP or SFTP access to your web |
| 30 |
host. The ability to create cron jobs on your web host is helpful but not |
| 31 |
required. You *don't* need to tweak any plain-text configuration files and you |
| 32 |
*don't* need shell access to your web host to make it work. (Although, I should |
| 33 |
point out, web hosts that *don't* offer shell access are *bad web hosts*.) |
| 34 |
|
| 35 |
[WordPress]: http://wordpress.org/ |
| 36 |
[WordPress MU]: http://mu.wordpress.org/ |
| 37 |
[3.0]: http://codex.wordpress.org/Version_3.0 |
| 38 |
|
| 39 |
== Installation == |
| 40 |
|
| 41 |
To use FeedWordPress, you will need: |
| 42 |
|
| 43 |
* an installed and configured copy of [WordPress][] or [WordPress MU][] |
| 44 |
(version 3.0 or later). |
| 45 |
|
| 46 |
* FTP, SFTP or shell access to your web host |
| 47 |
|
| 48 |
= New Installations = |
| 49 |
|
| 50 |
1. Download the FeedWordPress installation package and extract the files on |
| 51 |
your computer. |
| 52 |
|
| 53 |
2. Create a new directory named `feedwordpress` in the `wp-content/plugins` |
| 54 |
directory of your WordPress installation. Use an FTP or SFTP client to |
| 55 |
upload the contents of your FeedWordPress archive to the new directory |
| 56 |
that you just created on your web host. |
| 57 |
|
| 58 |
3. Log in to the WordPress Dashboard and activate the FeedWordPress plugin. |
| 59 |
|
| 60 |
4. Once the plugin is activated, a new **Syndication** section should |
| 61 |
appear in your WordPress admin menu. Click here to add new syndicated |
| 62 |
feeds, set up configuration options, and determine how FeedWordPress |
| 63 |
will check for updates. For help, see the [FeedWordPress Quick Start][] |
| 64 |
page. |
| 65 |
|
| 66 |
[FeedWordPress Quick Start]: http://feedwordpress.radgeek.com/wiki/quick-start |
| 67 |
|
| 68 |
= Upgrades = |
| 69 |
|
| 70 |
To *upgrade* an existing installation of FeedWordPress to the most recent |
| 71 |
release: |
| 72 |
|
| 73 |
1. Download the FeedWordPress installation package and extract the files on |
| 74 |
your computer. |
| 75 |
|
| 76 |
2. Upload the new PHP files to `wp-content/plugins/feedwordpress`, |
| 77 |
overwriting any existing FeedWordPress files that are there. |
| 78 |
|
| 79 |
3. Log in to your WordPress administrative interface immediately in order |
| 80 |
to see whether there are any further tasks that you need to perform |
| 81 |
to complete the upgrade. |
| 82 |
|
| 83 |
4. Enjoy your newer and hotter installation of FeedWordPress |
| 84 |
|
| 85 |
== Using and Customizing FeedWordPress == |
| 86 |
|
| 87 |
FeedWordPress has many options which can be accessed through the WordPress |
| 88 |
Dashboard, and a lot of functionality accessible programmatically through |
| 89 |
WordPress templates or plugins. For further documentation of the ins and |
| 90 |
outs, see the documentation at the [FeedWordPress project homepage][]. |
| 91 |
|
| 92 |
[FeedWordPress project homepage]: http://feedwordpress.radgeek.com/ |
| 93 |
|
| 94 |
== Changelog == |
| 95 |
|
| 96 |
= 2011.0531 = |
| 97 |
|
| 98 |
* WORDPRSS 3.1.3 COMPATIBILITY: DUPLICATE POSTS ISSUE FIXED. Due to internal |
| 99 |
changes in the way that WordPress handles post guids in the most recent |
| 100 |
release (3.1.3), many users experienced problems with many duplicate posts |
| 101 |
appearing in rapid succession. (Specifically, this would happen with any |
| 102 |
posts using tag: URL guids -- such as all the posts coming from Blogger |
| 103 |
feeds or feeds from other Google services.) This compatibility release of |
| 104 |
FeedWordPress eliminates the issue by working around the new restrictions |
| 105 |
on tag: URLs. |
| 106 |
|
| 107 |
* NEW AND IMPROVED DIAGNOSTICS: Syndication --> Diagnostics now contains some |
| 108 |
new diagnostics settings useful for debugging problems with duplicate posts |
| 109 |
(allowing you to easily view the guid of posts in the WordPress posts |
| 110 |
database and allowing you to track the SQL used to check for existing |
| 111 |
versions of a syndicated post). |
| 112 |
|
| 113 |
= 2011.0512 = |
| 114 |
|
| 115 |
* DIAGNOSTICS IMPROVEMENTS; "THERE MAY BE A BUG IN FEEDWORDPRESS" CRITICAL |
| 116 |
ERROR NOTICES ELIMINATED: This version includes some major improvements |
| 117 |
to the Syndication --> Diagnostics section, which should aid in |
| 118 |
troubleshooting difficulties with items failing to be imported, posts |
| 119 |
failing to be properly inserted into the database, or updates failing to |
| 120 |
be recorded. If you have been encountering critical error / bug notices |
| 121 |
with a white screen and the message "THERE MAY BE A BUG IN |
| 122 |
FEEDWORDPRESS," followed by an extraordinarily long dump of mostly |
| 123 |
incomprehensible diagnostic information, you'll be happy to know that |
| 124 |
the condition causing these notices has been eliminated. In the few |
| 125 |
cases where errors may still crop up with database insertions, |
| 126 |
FeedWordPress will now produce a significantly more manageable and more |
| 127 |
useful diagnostic message. |
| 128 |
|
| 129 |
* BUGFIX: NEW POSTS FAILING TO APPEAR IN A CLEANLY-INSTALLED FEEDWORDPRESS |
| 130 |
SYSTEM. If you encountered a recurring problem with FeedWordPress |
| 131 |
failing to import new posts, after a clean install of FeedWordPress |
| 132 |
(i.e., not an upgrade from a previous version), this problem may have |
| 133 |
been the result of a bug with author-handling which has now been fixed |
| 134 |
in the 2011.0512 release. (If the problem does *not* go away with the |
| 135 |
upgrade, this version also includes significant improvements to the |
| 136 |
Diagnostics system, which will help track down what *is* causing it |
| 137 |
in your particular case.) |
| 138 |
|
| 139 |
* PERFORMANCE: New handling of update hashes allows FeedWordPress to avoid |
| 140 |
a certain kind of infinite loop, caused when two more more different |
| 141 |
syndicated feeds each carried a version of the same item (for example, |
| 142 |
because it appeared on two different aggregator feeds that you're |
| 143 |
syndicating). In previous versions, when this kind of loop cropped up, |
| 144 |
syndicated posts could pile up an indefinitely large number of revisions |
| 145 |
-- each revision alternating between the version from each of the two |
| 146 |
feeds where it appeared -- which would, over time, dramatically inflate |
| 147 |
the size of the database, and kill the performance of queries on the |
| 148 |
post table. This issue has been resolved: revisions of the post that |
| 149 |
have been syndicated once will not be re-syndicated over and over again. |
| 150 |
|
| 151 |
* AUTHOR LISTS: Lists of authors presented on the Author settings pages |
| 152 |
should now be easier to scan through, with author names arranged in |
| 153 |
alphabetical order. |
| 154 |
|
| 155 |
* FEED ITEM DATE PARSING: More tweaks to make date-time handling more |
| 156 |
resilient when feeds provide broken or weird values for the timestamps |
| 157 |
on syndicated items. FWP will now attempt to work around unparseable |
| 158 |
timezone values. |
| 159 |
|
| 160 |
* AUTHOR MATCHING: Now attempts to match author names against the WP login |
| 161 |
name in addition to display_name; when creating user record, also fills |
| 162 |
in some best-guess values for nickname, firstname and lastname. Also |
| 163 |
properly picks up Atom 1.0 author/uri data from feed. |
| 164 |
|
| 165 |
* COMPATIBILITY: FeedWordPress has been successfully tested for |
| 166 |
compatibility with recent releases of WordPress, up to version 3.1.2. |
| 167 |
|
| 168 |
= 2011.0211 = |
| 169 |
|
| 170 |
* BUGFIX: DUPLICATE POSTS WHEN GUIDS ARE TOO LONG: When feeds included |
| 171 |
exceptionally long GUIDs, FeedWordPress could occasionally get into |
| 172 |
a situation where posts with the long GUIDs would be duplicated over |
| 173 |
and over again with each update (because FWP failed to store the full |
| 174 |
GUID, due to length constraints in the relevant database tables). |
| 175 |
Without the full GUID, FWP would not know that the post had already |
| 176 |
been syndicated once. This bug has been fixed, and should no longer |
| 177 |
produce duplicate posts. |
| 178 |
|
| 179 |
* HTTP TIMEOUT SETTING: If you are frequently running into timeout |
| 180 |
problems with one or more of the feeds you syndicate, FWP now allows you |
| 181 |
to adjust the timeout for HTTP requests using a global or feed-by-feed |
| 182 |
setting. |
| 183 |
|
| 184 |
* HTTP GET PARAMETERS: You can now temporarily or permanently add HTTP |
| 185 |
GET parameters to a subscription using an interface in Syndication --> |
| 186 |
Feeds & Updates. This is especially helpful for making quick, short-term |
| 187 |
changes to a subscription (for example, to pull in all the previous |
| 188 |
items from a web service, before settling down to pulling in only newly |
| 189 |
updated items). |
| 190 |
|
| 191 |
* DIAGNOSTICS SYSTEM: Added several new diagnostics which are useful in |
| 192 |
troubleshooting, and established a framework for add-on modules to hook |
| 193 |
in with their own diagnostic messages. |
| 194 |
|
| 195 |
* UI: Adjusted some internal coding, which should allow for settings |
| 196 |
pages and add-ons to properly display multiple category pickers on a |
| 197 |
single settings page. |
| 198 |
|
| 199 |
* PHP4 COMPATIBILITY TWEAKS: This version makes some tweaks to the handling |
| 200 |
of object references which should improve compatibility with older |
| 201 |
versions of PHP. (Although, I should note, web hosts that still force |
| 202 |
you to run under PHP 4 -- in 2011! -- are *bad web hosts*.) |
| 203 |
|
| 204 |
* IMPROVED PERFORMANCE: This version eliminates a *major* performance drag |
| 205 |
that shows up on sites with large numbers of users (due to some poor |
| 206 |
decisions about where to place a user query, which caused the user table |
| 207 |
to be scanned frequently when it did not need to be). If you experienced |
| 208 |
serious problems with CPU load or slow database performance under |
| 209 |
2010.0905, which kicked in immediately when FWP was loaded and tended |
| 210 |
to disappear immediately if FWP was de-activated, it is likely that |
| 211 |
upgrading away from 2010.0905 to the most recent version will resolve |
| 212 |
your problem. |
| 213 |
|
| 214 |
|
| 215 |
= 2010.0905 = |
| 216 |
|
| 217 |
* BUGFIX: CATEGORIES AND TAGS CORRECTLY ASSIGNED IN AUTOMATIC UPDATES. |
| 218 |
Version 2010.0903 switched over to a new way of assigning categories and |
| 219 |
tags as part of its support for handling custom taxonomies. |
| 220 |
Unfortunately, the method that it uses is subjected to some checks of |
| 221 |
the current user's capabilities, which creates problems for posts that |
| 222 |
are being inserted into the WordPress database when there *is* no |
| 223 |
current user logged in (as, for example, when an update is being carried |
| 224 |
out from a cron job or automatic update). The result was that posts |
| 225 |
from cron jobs and automatic updates ended up with no Categories and no |
| 226 |
Tags being assigned. This bug has now been fixed: in 2010.0905, Tags and |
| 227 |
Categories should be correctly assigned to all posts, regardless of |
| 228 |
whether they were added from manual updates, cron jobs, or automatic |
| 229 |
updates. |
| 230 |
|
| 231 |
= 2010.0903 = |
| 232 |
|
| 233 |
* WORDPRESS 3 REQUIRED: Please note that this release of FeedWordPress |
| 234 |
*requires* WordPress 3.0 or later. If you are currently using a 2.x |
| 235 |
branch of WordPress, you will need to upgrade to WordPress 3 before you |
| 236 |
can successfully upgrade FeedWordPress. |
| 237 |
|
| 238 |
* BUGFIX: NO MORE DISAPPEARING "SYNDICATED SOURCES" PANEL; INTERNET |
| 239 |
EXPLORER UI GLITCH APPARENTLY FIXED: Several users independently |
| 240 |
reported a problem with FWP 2010.0623 and various versions of IE. A |
| 241 |
problem with the HTML markup caused IE (but not Firefox or |
| 242 |
Chrome) to completely hide the Syndicated Sources administration panel |
| 243 |
(the main list of currently-syndicated sources, and the main location |
| 244 |
for adding new sources, under the Syndication menu item) when a user |
| 245 |
added their first syndicated feed. Maddeningly, the glitch seemed to |
| 246 |
affect some IE users and not others: I was never able to reproduce the |
| 247 |
problem for myself on my own machines. However, the markup of Syndicated |
| 248 |
Sources has undergone significant changes and corrections since |
| 249 |
2010.0623, and two independent sources who had been having this problem |
| 250 |
confirm that they no longer encounter it with the updated version. For |
| 251 |
the time being, I am going to declare this bug squashed. |
| 252 |
|
| 253 |
* BUGFIX: MORE PROTECTION AGAINST FATAL ERRORS FROM PLUGGABLE VERSIONS OF |
| 254 |
SimplePie: FeedWordPress now takes some precautions that should help to |
| 255 |
better avoid conflicts for users who have installed pluggable versions |
| 256 |
of SimplePie for another plugin or theme. (You may not know that you have |
| 257 |
done this; but if you've been encountering fatal errors indicating that |
| 258 |
you cannot redeclare class SimplePie, or something along those lines, |
| 259 |
there is now a better chance that those fatal errors will be eliminated. |
| 260 |
|
| 261 |
* PERFORMANCE: SIGNIFICANTLY REDUCED MEMORY CONSUMPTION FOR LARGE UPDATES: |
| 262 |
FeedWordPress is still a memory-hungry little module, especially when |
| 263 |
you are dealing with very large feeds. However, users should notice a |
| 264 |
significant reduction in memory overloads, especially if they update a |
| 265 |
large number of feeds at once. |
| 266 |
|
| 267 |
* USER INTERFACE IMPROVEMENTS: Nothing is radically different, but there's |
| 268 |
been a fair amount of extra spit and polish added, including a convenient |
| 269 |
new Dashboard widget that may save you a trip to the Syndication menu, |
| 270 |
a lot of effort to make the relationship between global and feed-by-feed |
| 271 |
settings more obvious to the user and more easily controllable, to make |
| 272 |
navigation between settings pages easier, to sand off a few rough edges, |
| 273 |
and to make other improvements on the margins. I hope you'll like how |
| 274 |
it looks. |
| 275 |
|
| 276 |
* ADDING MULTIPLE FEEDS: FeedWordPress now provides a convenient mode for |
| 277 |
adding multiple feeds at once, using either a copy-and-pasted list, or |
| 278 |
else an OPML file. Go to Syndication --> Syndicated Sources and check |
| 279 |
out the two new buttons underneath the New Source input box. When you |
| 280 |
have to add a number of feeds at once, this can save you considerable |
| 281 |
time and trouble. |
| 282 |
|
| 283 |
* IMPROVED HANDLING OF AUTHORS WITH DUPLICATE E-MAIL ADDRESS AND AUTHORS |
| 284 |
WITH NAMES WRITTEN IN FOREIGN SCRIPTS: WordPress 3 is increasingly picky |
| 285 |
about what it will accept for new author accounts, and some of the |
| 286 |
conditions it imposes can cause error conditions that prevent posts from |
| 287 |
being properly syndicated, or properly attributed, if authors happen to |
| 288 |
have identical e-mail addresses, or if users are given usernames that are |
| 289 |
written in non-Western scripts. FeedWordPress now handles these much |
| 290 |
better, and systematically works to avoid clashes between syndicated |
| 291 |
authors' account names or in their e-mail addresses, which should result |
| 292 |
in significantly better results in mapping author names to WordPress |
| 293 |
user accounts. |
| 294 |
|
| 295 |
* MAPPING CATEGORIES ON SYNDICATED POSTS TO TAGS NOW BETTER SUPPORTED: |
| 296 |
In previous versions, the only way for the Categories provided by a |
| 297 |
syndicated feed to be mapped into Post Tags was to instruct FWP to |
| 298 |
create new tags, rather than new categories, for unfamiliar categories |
| 299 |
from the feed. This works fine if you want tags to be the default; but |
| 300 |
if you want only a *specific* set of tags, there was no way to get them |
| 301 |
without getting most or all other categories imported as tags. You can |
| 302 |
now do this by creating a tag (under Posts ==> Post Tags) before |
| 303 |
importing the post; when the syndicated category matches a pre-existing |
| 304 |
tag, the incoming post will be tagged with that tag, without creating |
| 305 |
a local Post Category. |
| 306 |
|
| 307 |
* REL-TAG MICROFORMAT SUPPORT FOR INLINE TAGS: Syndicated posts that |
| 308 |
contain inline tags, marked up using the Rel-Tag microformat |
| 309 |
<http://microformats.org/wiki/rel-tag>, are now tagged with the tags |
| 310 |
provided by Rel-Tag format links. |
| 311 |
|
| 312 |
* MUCH GREATER CONTROL OVER CATEGORY AND TAG MAPPING: This is partly the |
| 313 |
result of building in support for a potentially endless set of custom |
| 314 |
taxonomies (see below), but in general there has been a great deal of |
| 315 |
effort towards giving you more control over how categories and tags |
| 316 |
provided by the feed are mapped into terms on the local blog. In |
| 317 |
particular, you can now force FeedWordPress to create only categories |
| 318 |
from categories and tags provided by the feed; or to create only tags; |
| 319 |
or to search both categories and tags for a match; or you can simply |
| 320 |
force it to drop all of the categories provided by the feed and use |
| 321 |
only categories or tags that you explicitly provide. In addition, you |
| 322 |
can now also choose whether to override global categories settings with |
| 323 |
a local, feed-specific setting; or whether to *add together* *both* the |
| 324 |
global categories and the local feed-specific categories -- depending |
| 325 |
on whatever your use-case may demand. |
| 326 |
|
| 327 |
* CUSTOM POST TYPES AND TAXONOMY SUPPORTS: This is mainly for the |
| 328 |
super-geeky, but if you use other plugins or themes that make |
| 329 |
significant use of WordPress's support for custom post types and custom |
| 330 |
taxonomies, you may be pleased to find that FeedWordPress now allows you |
| 331 |
to feed incoming posts into any custom feed type that you wish, and to |
| 332 |
map categories and tags from the feed to custom taxonomies as well as |
| 333 |
to the standard Category and Tag taxonomies. |
| 334 |
|
| 335 |
* STORING NAMESPACED CUSTOM FEED ELEMENTS IN POST CUSTOM FIELDS: If you |
| 336 |
would like to use FeedWordPress's support for storing custom meta-data |
| 337 |
from feed elements in the custom fields for a post (for example, to |
| 338 |
store geolocation data or iTunes media meta-data), you'll find that it's |
| 339 |
now much easier for you to access these namespaced elements. You always |
| 340 |
could access them, but in previous versions you might have to write |
| 341 |
something ugly like $(/{http://www.w3.org/2003/01/geo/wgs84_pos#}lat) |
| 342 |
just to get at the value of a `<geo:lat>` tag. Now, as long as you use |
| 343 |
the same mnemonic codes that the feed producer used, you should always |
| 344 |
be able to write a nice, simple expression like $(/geo:lat) to get the |
| 345 |
value of a <geo:lat> tag. |
| 346 |
|
| 347 |
* CUSTOM DIRECTORY STRUCTURE SUPPORT: if you poke at it enough, WordPress |
| 348 |
is relatively flexible about where it should store admin interface code, |
| 349 |
uploaded content, plugins, and a number of other things that occupy an |
| 350 |
important place in the WordPress directory structure. Previous versions |
| 351 |
of FeedWordPress encountered serious errors or broke entirely when used |
| 352 |
with directory structures other than the default. This should now be |
| 353 |
fixed: FWP now supports custom directory structures wherever WordPress |
| 354 |
allows them to be customized, rather than depending on the default |
| 355 |
locations. Enjoy your freedom! |
| 356 |
|
| 357 |
* MANY NEW FILTERS AND API UTILITY FUNCTIONS FOR ADD-ON PROGRAMMERS: There |
| 358 |
have been too many improvements to list them all in this ChangeLog, but |
| 359 |
it means that much more power and ease for folks who are customizing |
| 360 |
FeedWordPress through PHP filters or add-on modules. Fuller |
| 361 |
documentation will be put up at the Wiki at feedwordpress.radgeek.org |
| 362 |
soon. |
| 363 |
|
| 364 |
= 2010.0623 = |
| 365 |
|
| 366 |
* WORDPRESS 3.0 COMPATIBILITY / AUTHOR MAPPING INTERFACE ISSUES: I |
| 367 |
resolved a couple of outstanding issues with the author mapping |
| 368 |
interface (Syndication --> Authors), which were preventing new users |
| 369 |
from being created correctly and author mapping rules from being set up |
| 370 |
correctly. These partly had to do with new restrictions on user account |
| 371 |
creation introduced in WordPress 3.0; anyway, they should now be fixed. |
| 372 |
|
| 373 |
* MORE EFFICIENT SYNDICATED URL LOOKUPS: Several users noticed that the |
| 374 |
bug fix introduced in 2010.0528 for compatibility with post-listing |
| 375 |
plugins caused a lot more queries to the database in order to look up |
| 376 |
numerical post IDs from the URL provided to the filter. This shouldn't |
| 377 |
cause any major problems, but it is not as efficient as it could be; the |
| 378 |
code now takes advantage of a more efficient way of doing things, |
| 379 |
which usually will not require any additional database queries. |
| 380 |
|
| 381 |
* SIMPLEPIE FEED UPDATE ISSUES: If you have been having significant |
| 382 |
problems with getting feeds to update correctly, this may be the result |
| 383 |
of some bugs in the implementation of SimplePie caching that ships with |
| 384 |
WordPress (as of version 3.0). (You would most commonly experience this |
| 385 |
error if you continually saw errors such as "No feed found at <...>" in |
| 386 |
your updates.) Fortunately, SimplePie allows for a great deal of |
| 387 |
extensibility and this allows me to work around the problem; these |
| 388 |
error conditions should now be mostly eliminated when the underlying |
| 389 |
feed is valid. |
| 390 |
|
| 391 |
* UI: SHOW INACTIVE SOURCES: When you use the default unsubscribe option |
| 392 |
-- which turns off the subscription to a feed while preserving the posts |
| 393 |
from it and the syndication-related meta-data for the feed -- the |
| 394 |
unsubscribed feed can now easily be viewed in a special "Inactive" |
| 395 |
section of the Syndicated Sources page. (As a side benefit, if you've |
| 396 |
accidentally, or only temporarily, turned off the subscription to a |
| 397 |
feed, it is now much easier to restore the feed to being active, or to |
| 398 |
delete it permanently, if you prefer. |
| 399 |
|
| 400 |
* UI: FEED FINDER / SWITCH FEED INTERFACE IMPROVEMENTS: changes to styling |
| 401 |
and options for the feed finder / switch feed, which should now make it |
| 402 |
easier, in some cases, to find alternative feeds, and make interface |
| 403 |
options more clearly visible. |
| 404 |
|
| 405 |
* FILTERS: `syndicated_item_published` and `syndicated_item_updated` NOW |
| 406 |
PROPERLY AFFECT THE DATING OF POSTS. These filters used to affect some |
| 407 |
date-related settings, but not others -- and, most importantly, not the |
| 408 |
final date that is set for a post's publication or last-modified date |
| 409 |
in the WordPress database. Now, they do affect that, as they should. |
| 410 |
(Filters should receive, and return, a long integer, representing a Unix |
| 411 |
epoch relative timestamp.) |
| 412 |
|
| 413 |
* MAGIC URL TO CLEAR THE CACHE: Suppose that you need to clear the feed |
| 414 |
cache, for whatever reason; suppose, even, that you need to clear it on |
| 415 |
a regular basis. One way you might do this is by logging into the |
| 416 |
FeedWordPress administrative interface and going to Syndication --> |
| 417 |
Performance. Another way you might do it, now, is to simply send an |
| 418 |
HTTP request to a magic URL provided by FeedWordPress: if your blog is |
| 419 |
at example.com, the URL would be <http://example.com/?clear_cache=1> |
| 420 |
|
| 421 |
= 2010.0602 = |
| 422 |
|
| 423 |
* CATEGORY BOX INTERFACE ELEMENT FIXED FOR WP 3.0: Stylesheet changes |
| 424 |
between WordPress 2.9.x and the WordPress 3.0 RC caused the Categories |
| 425 |
box under **Syndication --> Categories & Tags** to malfunction. This |
| 426 |
has been fixed. |
| 427 |
|
| 428 |
* LINK CATEGORY SELECTION BOX IN SYNDICATION ==> FEEDS FIXED FOR WP 2.8 |
| 429 |
AND 2.9: A WP 3.0 compatibility change introduced in 2010.0531 |
| 430 |
inadvertently broke the Syndicated Link Category selector under |
| 431 |
Syndication --> Feeds & Updates in WP 2.8 and WP 2.9, causing the post |
| 432 |
categories to be displayed in the selector rather than the link |
| 433 |
categories. This should now be fixed so that the selector will work |
| 434 |
correctly under both the current versions of WordPress and the 3.0 RC. |
| 435 |
|
| 436 |
* MORE PERMISSIVE HANDLING OF FEEDS WITH BAD CONTENT-TYPE HEADERS: One of |
| 437 |
the small advantages that MagpieRSS had over SimplePie is that it was |
| 438 |
more tolerant about parsing well-formed feeds that the remote web server |
| 439 |
happened to deliver with weird or incorrect HTTP Content-type headers. |
| 440 |
In feeds affected by this problem, the new SimplePie parser would simply |
| 441 |
fail to find a feed, due to its being led astray by the contents of the |
| 442 |
Content-type header. This version includes an extension to SimplePie's |
| 443 |
content-type sniffer that offers more permissive handling of the HTTP |
| 444 |
headers. |
| 445 |
|
| 446 |
* MORE FULL-TEXT "EXCERPTS" NOW PROPERLY SHORTENED. Version 2010.0528 |
| 447 |
introduced code to control for cases in which elements intended for |
| 448 |
item summaries are (ill-advisedly) used to carry the full text of posts; |
| 449 |
past versions of FeedWordPress would simply include the full text of the |
| 450 |
post in the excerpt field, but newer versions now attempt to detect |
| 451 |
this condition when it arises and to head it off, by blanking out the |
| 452 |
excerpt field and filling it with an automatically generated short, |
| 453 |
plain text excerpt from the full content. This release broadens the |
| 454 |
test conditions that indicate when an excerpt field is treated as |
| 455 |
identical to the full text of the post, and should therefore improve |
| 456 |
the handling of some feeds (such as Google Reader feeds) where the full |
| 457 |
text of each post was still appearing in the excerpt field. |
| 458 |
|
| 459 |
* FILTERS: `syndicated_item_published` AND `syndicated_item_updated` |
| 460 |
FILTERS NOW ALLOW FILTER AUTHORS TO CHANGE POST TIMESTAMPS. You can now |
| 461 |
use the `syndicated_item_published` and `syndicated_item_updated` filter |
| 462 |
hooks to write filters or add-ons which directly change the post date |
| 463 |
and most-recently-updated timestamps on incoming syndicated posts. Props |
| 464 |
to niska for pointing out where the filters needed to be applied in |
| 465 |
order to change WordPress's internal timestamps for incoming posts. |
| 466 |
|
| 467 |
= 2010.0531 = |
| 468 |
|
| 469 |
* PERMALINK / CUSTOM FIELDS PROBLEM RESOLVED: An issue in 2010.0528 caused |
| 470 |
some posts to be imported without the proper syndication-related |
| 471 |
meta-data being attached (thus causing permalinks to point back to the |
| 472 |
aggregator website rather than to the source website, among other |
| 473 |
problems). This problem has been resolved (and a fix has been applied |
| 474 |
which will resolve the problem for any posts affected by this problem, |
| 475 |
if the original post is recent enough to still be available on the feed). |
| 476 |
|
| 477 |
* UI: The "Back End" section has been split into two separate sections -- |
| 478 |
"Performance" (dealing with caching, database index, and other |
| 479 |
performance tweaks), and "Diagnostics" (dealing with debug mode, |
| 480 |
update logging, and a number of new diagnostic tests which I will be |
| 481 |
rolling out over the next few releases). |
| 482 |
|
| 483 |
* Several minor interface bug fixes and PHP warning notices eliminated. |
| 484 |
|
| 485 |
= 2010.0528 = |
| 486 |
|
| 487 |
#### Compatibility #### |
| 488 |
|
| 489 |
* SIMPLEPIE IS NOW USED TO PARSE FEEDS; NO MORE MAGPIERSS UPGRADES NEEDED: |
| 490 |
One of the biggest changes in this release is that FeedWordPress no |
| 491 |
longer depends on MagpieRSS to parse feeds, and has switched to the much |
| 492 |
more up-to-date and flexible SimplePie feed parser, which is included as |
| 493 |
a standard part of WordPress versions 2.8 and later. Using SimplePie will |
| 494 |
hopefully allow for better handling of feeds going further, and will |
| 495 |
allow me greater flexibility in determining how exactly the feed parser |
| 496 |
will operate. It also means that FeedWordPress no longer requires |
| 497 |
special upgrades to the WordPress core MagpieRSS files, and should |
| 498 |
eliminate quite a bit of complexity. |
| 499 |
|
| 500 |
* MAGPIERSS COMPATIBILITY LAYER FOR EXISTING FILTERS AND ADD-ONS: However, |
| 501 |
I have also implemented a compatibility layer to ensure that existing |
| 502 |
filters and add-ons for FeedWordPress which depended on the MagpieRSS |
| 503 |
data format *should not be broken* by the switch to SimplePie. Going |
| 504 |
forward, I recommend that new filters and add-ons be written to take |
| 505 |
advantage of the SimplePie object representations of items, feeds, etc., |
| 506 |
rather than the MagpieRSS arrays, but the MagpieRSS arrays will still |
| 507 |
be available and older filters should continue to work as they have in |
| 508 |
the past. |
| 509 |
|
| 510 |
* COMPATIBILITY WITH WORDPRESS 2.9.x and 3.0: This release has been tested |
| 511 |
for the existing WordPress 2.9.x branch and with the upcoming release of |
| 512 |
WordPress 3.0. Changes in the user interface JavaScript between WordPress |
| 513 |
2.8.x and WordPress 2.9 caused the tag box interface element to break in |
| 514 |
the Syndication --> Categories & Tags settings page; changes in the API |
| 515 |
functions for adding new authors caused fatal errors under certain |
| 516 |
conditions in WordPress 3.0. These breakages have been fixed. |
| 517 |
|
| 518 |
* DROPPED LEGACY SUPPORT FOR WORDPRESS PRIOR TO 2.8: Because SimplePie is |
| 519 |
not included with versions of WordPress prior to 2.8, I have chosen to |
| 520 |
drop legacy support for WordPress versions 1.5 through 2.7. If you are |
| 521 |
using FeedWordPress with a version of WordPress before 2.8, you will |
| 522 |
have to upgrade your installation of WordPress in order to take |
| 523 |
advantage of this release. |
| 524 |
|
| 525 |
* PHP 5.3 COMPATIBILITY: A couple of compatibility issues, which were |
| 526 |
causing fatal errors amd ugly warnings for users of PHP 5.3, |
| 527 |
have been eliminated. |
| 528 |
|
| 529 |
#### Features and Processing #### |
| 530 |
|
| 531 |
* INTERFACE REORGANIZATION: The interface restructuring, began with |
| 532 |
Version 2009.0612, has been completed. Catch-all settings pages have |
| 533 |
been eliminated entirely for pages that cover each aspect of handling |
| 534 |
a feed: Feeds & Updates, Posts & Links, Authors, Categories & Tags, |
| 535 |
and Back End handling of the database and diagnostic information. |
| 536 |
Extensive new interface hooks allow add-on modules to significantly |
| 537 |
change or extend the FeedWordPress admin interface and workflow. |
| 538 |
|
| 539 |
* STORING INFORMATION FROM THE FEED IN CUSTOM FIELDS: Many users |
| 540 |
have written to request the ability to store information from elements |
| 541 |
in the feed in a custom field on each post. (So that, for example, if |
| 542 |
post includes a `itunes:duration` element, you could store the contents |
| 543 |
in a Custom Field called `duration` on the post (for a Theme to access |
| 544 |
later). The Custom Post Settings under Syndication --> Posts & Links now |
| 545 |
allow you to access any item or feed tag, using a syntax similar to |
| 546 |
a much-simplified version of XPath. See Posts & Links settings for |
| 547 |
details. |
| 548 |
|
| 549 |
* UPDATE-FREEZING ON MANUALLY EDITED POSTS: FeedWordPress now allows you |
| 550 |
to mark posts that have been manually edited, so that the changes you |
| 551 |
make will not be overwritten by later updates from the feed. If you make |
| 552 |
manual edits to a particular post, just check the "Manual editing" |
| 553 |
checkbox in order to protect your changes from being overwritten. If you |
| 554 |
want to block *all* posts from being updated after they are imported |
| 555 |
for the first time, a new "Updated Posts" setting in Posts & Links |
| 556 |
allows you to freeze all posts from a particular feed, or all syndicated |
| 557 |
posts. |
| 558 |
|
| 559 |
* SETTING: FEED-BY-FEED SETTINGS FOR WHERE PERMALINKS POINT TO: You've |
| 560 |
always been able to tell FeedWordPress whether permalinks for posts |
| 561 |
should point to the original source of the story or the local copy. Now |
| 562 |
you can choose different policies for different feeds, instead of one |
| 563 |
global policy for all feeds. (Of course, you can still use a global |
| 564 |
default if you prefer.) |
| 565 |
|
| 566 |
* SETTING: USER CONTROL OVER TIMING BASIS. You can now determine the |
| 567 |
schedule on which feeds are considered ready to poll for updates -- |
| 568 |
by default feeds become ready for polling after about 1 hour. You can |
| 569 |
now increase or decrease the time window under Syndication --> Feeds & |
| 570 |
Updates. (However, please pay *CAREFUL ATTENTION* to the recommendations |
| 571 |
and DO NOT set the scheduling lower than 60 minutes unless you are |
| 572 |
ABSOLUTELY SURE that you have specific permission from webmaster who |
| 573 |
provides that specific feed to poll more frequently than that. If you |
| 574 |
set this too low (and about 60 minutes is the polite minimum if you |
| 575 |
haven't been given a different figure), most webmasters will consider |
| 576 |
the frequent hits on their server as rude, or even downright abusive. |
| 577 |
|
| 578 |
* OTHER SETTINGS: New settings also include the ability to stop FWP from |
| 579 |
resolving relative URLs within syndicated content, and the ability to |
| 580 |
choose whether FeedWordPress should indicate the comment feed from the |
| 581 |
original source, or the local comment feed, when providing the comment |
| 582 |
feed URL for a syndicated post. |
| 583 |
|
| 584 |
#### Parsing #### |
| 585 |
|
| 586 |
* BETTER DATE HANDLING -- FEWER FLASHBACKS TO 1969 and 1970: FeedWordPress |
| 587 |
has made some bugfixes and some improvements in the logic for parsing |
| 588 |
dates. This should allow FeedWordPress to correctly parse more dates in |
| 589 |
more feeds; and, in the last resort, when FeedWordPress fails to |
| 590 |
correctly parse a date, to fall back to a more intelligent default. This |
| 591 |
should hopefully avoid most or all error conditions that have resulted |
| 592 |
in articles being erroneously dated to the dawn of the Unix epoch |
| 593 |
(31 December 1969 or 1 January 1970). |
| 594 |
|
| 595 |
* FULL-TEXT "EXCERPTS" NOW PROPERLY SHORTENED. Based on a straightforward |
| 596 |
reading of the existing RSS specs, it's reasonable for the |
| 597 |
rss:description element to be read as a plaintext summary or excerpt for |
| 598 |
the item containing the description -- with the full text of the item, |
| 599 |
if available, in another, better-suited element, such as the de facto |
| 600 |
standard content:encoded extension element. The problem is that uses of |
| 601 |
RSS rarely have much to do with anything like a straightforward reading |
| 602 |
of the specs. As a result, many actual RSS producers in the wild put the |
| 603 |
full text of the article in a description element. But since |
| 604 |
FeedWordPress has treated this text as a summary, this produces |
| 605 |
aggregated posts with lengthy "excerpts" containing the full text of the |
| 606 |
article. This release of FeedWordPress fixes the problem by doing a |
| 607 |
little digging before treating rss:description as a summary: if the |
| 608 |
description element is used properly as a plain text summary, then |
| 609 |
FeedWordPress will take the summary provided by the feed, rather than |
| 610 |
recreating its own excerpt from the full text; but if an RSS item has no |
| 611 |
full-text element other than description, FeedWordPress will treat the |
| 612 |
description element as the full text of the article, and generate a |
| 613 |
shortened excerpt automatically from that text. |
| 614 |
|
| 615 |
#### API #### |
| 616 |
|
| 617 |
* TEMPLATE API: new template tags `get_local_permalink()` and |
| 618 |
`the_local_permalink()` allow you to access the permalink for a post on |
| 619 |
your aggregator site, even when FeedWordPress is rewriting permalinks to |
| 620 |
point to the original source site. |
| 621 |
|
| 622 |
* NEW HOOKS FOR ADD-ONS AND FILTERS: I have added a number of new hooks |
| 623 |
which allow add-on modules to filter more precisely, gather information |
| 624 |
at more points, and to enhance the FeedWordPress admin interface. For |
| 625 |
a list of new hooks and documentation, see the FeedWordPress |
| 626 |
documentation wiki at |
| 627 |
<http://feedwordpress.radgeek.com/wiki/add-ons-and-filters> |
| 628 |
|
| 629 |
* FILTER API: A number of new utility methods have been added to the |
| 630 |
SyndicatedPost class to make it easier for filters and add-ons to |
| 631 |
|
| 632 |
* FILTER API: Globals $fwp_channel and $fwp_feedmeta DEPRECATED. These |
| 633 |
global variables, originally introduced to allow filters access to |
| 634 |
information about the source feed in `syndicated_item` filters (which |
| 635 |
were passed in through global variables rather than as parameters |
| 636 |
because of a bug in WP 1.5 which was then fixed in 1.5.1) have been |
| 637 |
DEPRECATED. If you have any filters or add-ons which still depend on |
| 638 |
these global variables, you should see about fixing them to access data |
| 639 |
about the source feed using the SyndicatedPost::link element instead. |
| 640 |
For documentation, see the FeedWordPress documentation wiki at |
| 641 |
<http://feedwordpress.radgeek.com/wiki/syndicatedpost> and |
| 642 |
<http://feedwordpress.radgeek.com/wiki/syndicatedlink>. |
| 643 |
|
| 644 |
* DIAGNOSTICS: I've included a number of new diagnostic options and |
| 645 |
messages, which should allow an experienced user to better investigate |
| 646 |
any problems that may crop up. |
| 647 |
|
| 648 |
#### Bug Fixes #### |
| 649 |
|
| 650 |
* BUGFIX: & IN PERMALINKS NO LONGER CAUSING ATOM OR HTML VALIDATION |
| 651 |
EFFORTS: Many users reported an issue in which syndicating a feed with |
| 652 |
special XML characters in the URLs (& was the most common, since it is |
| 653 |
used to separate HTTP GET parameters) would cause the aggregator's |
| 654 |
feeds to produce invalid (malformed) XML. This update addresses the |
| 655 |
issue in Atom feeds. Unfortunately, it has not been technically possible |
| 656 |
to address the problem in RSS 2.0 feeds, due to limitations on |
| 657 |
WordPress's internal templates for RSS feeds. |
| 658 |
|
| 659 |
* BUGFIX: BROKEN URLS IN "POPULAR POSTS" AND SIMILAR PLUGINS SHOULD NO |
| 660 |
LONGER BE BROKEN. A number of users noticed an issue where plugins and |
| 661 |
templates that listed posts in locations outside of the post loop |
| 662 |
(for example, "Popular Posts"-style plugins that listed posts in the |
| 663 |
sidebar), often produced the wrong URL for post links. (Typically, all |
| 664 |
the posts listed would get the same wrong URL.) This should now be |
| 665 |
fixed. Thanks to Björn for sending in a quick fix! |
| 666 |
|
| 667 |
* MINOR BUGFIXES: This release includes a number of fixes to minor bugs |
| 668 |
and compatibility issues, including: silent failures of the "Syndicate" |
| 669 |
button, "Illegal Offset Type" error messages from MagpieRSS, and others. |
| 670 |
|
| 671 |
= 2009.0707 = |
| 672 |
|
| 673 |
* BUGFIX: WORDPRESS 2.8 AJAX COMPATIBILITY ISSUES RESOLVED (blank or |
| 674 |
truncated "Syndicated Sites" administration page): Due to changes in the |
| 675 |
AJAX interface elements between WordPress 2.7 and WordPress 2.8, several |
| 676 |
FeedWordPress users encountered an issue where the front "Syndication" |
| 677 |
page in the FeedWordPress administrative interface would come up blank, |
| 678 |
without the normal "Syndicated Sites" list and "Update" control, or |
| 679 |
sometimes wth the boxes visible but one or both of them truncated, with |
| 680 |
only the title bar. This issue should now be resolved: with the new |
| 681 |
version of FeedWordPress, the compatibility issue that caused the |
| 682 |
disappearance should be eliminated, and if boxes are shown with only |
| 683 |
their handle visible, you should once again be able to drop down the |
| 684 |
rest of the box by clicking once on its title bar. |
| 685 |
|
| 686 |
* BUGFIX: TAG SETTING WIDGET FIXED. Due to changes in interface elements |
| 687 |
between WordPress 2.7 and WordPress 2.8, people using FeedWordPress with |
| 688 |
WordPress 2.8 found that the widget for setting tags to be applied to |
| 689 |
all syndicated posts, or all syndicated posts from a particular feed, |
| 690 |
no longer displayed "Add" and "Remove" buttons for individual tags. This |
| 691 |
issue has now been fixed, and the tagging widget should once again work |
| 692 |
more or less exactly like the tagging widget for individual posts in the |
| 693 |
normal WordPress admin interface. |
| 694 |
|
| 695 |
= 2009.0618 = |
| 696 |
|
| 697 |
* BUGFIX: MYSTERY ERRORS WITH WITH WP_Http_Fsockopen HTTP TRANSPORT |
| 698 |
ELIMINATED: Thanks to a combination of a subtle bug in FeedWordPress, |
| 699 |
and changes to the HTTP transport code in WordPress, a number of users |
| 700 |
encountered an error in which any time they attempted to add a new feed |
| 701 |
through the FeedFinder interface, FeedWordPress would fail and display |
| 702 |
an HTTP request failure diagnostic message. The subtle bug has been |
| 703 |
fixed, and with it, most of these errors should now be eliminated. |
| 704 |
|
| 705 |
Be sure to upgrade your MagpieRSS to the most recent MagpieRSS version |
| 706 |
after you have insalled FeedWordPress 2009.0618, or this bug fix will |
| 707 |
not take effect. |
| 708 |
|
| 709 |
= 2009.0613 = |
| 710 |
|
| 711 |
* INTERFACE/BUGFIX: WORDPRESS 2.8 CATEGORY BOX FIX. Thanks to a subtle |
| 712 |
change in class names between the WordPress 2.7 and 2.8 stylesheets, |
| 713 |
category boxes in the FeedWordPress settings interface tended to overflow |
| 714 |
and have a lot of messy-looking overlapping text under WordPress 2.8. |
| 715 |
This has now been fixed. |
| 716 |
|
| 717 |
* FeedFinder FAILURE DIAGNOSTICS: When FWP's FeedFinder fails to find any |
| 718 |
feeds at a given URL (for example, when you are trying to add a |
| 719 |
subscription through the administrative interface and you run into an |
| 720 |
error message), FeedWordPress now provides more diagnostic information |
| 721 |
for the reasons behind the failure. If that helps you, great; if not, |
| 722 |
it should help me respond more intelligently to your support request.. |
| 723 |
|
| 724 |
= 2009.0612 = |
| 725 |
|
| 726 |
* WORDPRESS 2.8 COMPATIBILITY: FeedWordPress 2009.0612 has been tested for |
| 727 |
compatibility with the recent version 2.8 release of WordPress. |
| 728 |
|
| 729 |
* INTERFACE RESTRUCTURING: In order to avoid settings posts from becoming |
| 730 |
too crowded, and to modularize and better organize the user interface, |
| 731 |
new "Posts" and "Categories & Tags" subpages have been created under the |
| 732 |
"Syndication" menu. "Posts" controls settings for individal syndicated |
| 733 |
posts (such as publication status, comment and ping status, whether or |
| 734 |
not to use the original location of the post as the permalink, whether |
| 735 |
or not to expose posts to formatting filters, and so on). "Categories & |
| 736 |
Tags" controls settings for assigning new syndicated posts to categories |
| 737 |
and tags, such as categories or tags to apply to all syndicated posts, |
| 738 |
and how to handle categories that do not yet exist in the WordPress |
| 739 |
database. These subpages, like the Authors subpage, handle settings for |
| 740 |
the global default level and for individual syndicated feeds. |
| 741 |
|
| 742 |
Corresponding to these new subpages, the old Syndication Settings and |
| 743 |
Feed Settings subpages have been cleaned up and simplified, and now only |
| 744 |
link to the appropriate subpages for options that can be set in the |
| 745 |
Posts, Authors, or Categories & Tags subpages. |
| 746 |
|
| 747 |
* FEATURE: ADD CUSTOM SETTINGS TO EACH SYNDICATED POST: FeedWordPress has |
| 748 |
long had an interface for creating custom settings for each syndicated |
| 749 |
*feed* which could be retrieved in templates using the `get_feed_meta()` |
| 750 |
template function. But it had no feature for adding custom fields to |
| 751 |
each individual syndicated *post*. In response to requests from users, I |
| 752 |
have added the ability to apply custom fields to each individual |
| 753 |
syndicated post, using the new Syndication --> Posts subpage. You can |
| 754 |
set up custom fields to be applied to every syndicated post, or custom |
| 755 |
fields to be applied to syndicated posts from a particular feed. |
| 756 |
|
| 757 |
* FEATURE: MAGPIERSS VERSION CHECK AND UPGRADE: FeedWordPress will attempt |
| 758 |
to determine whether or not you are using the upgraded version of |
| 759 |
MagpieRSS that comes packaged with FeedWordPress. If not, it will throw |
| 760 |
an error on admin pages, and, if you are a site administrator, it will |
| 761 |
give you the option to ignore the error message, or to attempt an |
| 762 |
automatic upgrade (using a native file copy). If the file copy fails, |
| 763 |
FeedWordPress will offer some guidance on how to perform the upgrade |
| 764 |
manually. |
| 765 |
|
| 766 |
* BLANK POSTS PROBLEM NO LONGER OCCURS WITH OLD & BUSTED MAGPIERSS: Due |
| 767 |
to the fact that I relied on a content normalization that occurs in my |
| 768 |
upgraded version of MagpieRSS, but not in the old & busted version of |
| 769 |
MagpieRSS that ships with WordPress, until this version, if you tried to |
| 770 |
syndicate an Atom feed without having performed the (*strongly |
| 771 |
recommended*) MagpieRSS upgrade, all of the posts would come up with |
| 772 |
completely blank contents. That's not because MagpieRSS couldn't read |
| 773 |
the data, but rather because the new Magpie version puts that data in a |
| 774 |
location where the old version doesn't, and I was only looking in that |
| 775 |
newer location. Now it checks for both, meaning that posts will continue |
| 776 |
to display their contents even if you don't upgrade MagpieRSS. (But you |
| 777 |
**really should** upgrade it, anyway.) |
| 778 |
|
| 779 |
* BUGFIX: RELATIVE URI RESOLUTION FOR POST CONTENT RESTORED. Some time |
| 780 |
back, I added support for resolving relative URIs against xml:base on |
| 781 |
feeds that support it to the MagpieRSS upgrade in FeedWordPress. Then I |
| 782 |
took out code that did the same thing from the main FeedWordPress code. |
| 783 |
Of course, the problem is that some people, even though it is clearly |
| 784 |
stupid or evil to do so, still include relative URIs for images or links |
| 785 |
in posts on feed formats that do *not* adequately support xml:base |
| 786 |
(notably, RSS 2.0 feeds). In response to a user request, I have added |
| 787 |
this functionality back in, so that MagpieRSS will resolve any relative |
| 788 |
URIs that it knows how to resolve using xml:base, and then FeedWordPress |
| 789 |
will attempt to resolve any relative URIs that are left over afterwards. |
| 790 |
|
| 791 |
* BUGFIX: INTERFACE OPTION FOR SETTING SYNDICATED POST PUBLICATION STATUS |
| 792 |
ON A FEED-BY-FEED BASIS HAS BEEN RESTORED: Due to a version-checking |
| 793 |
bug, users of WordPress 2.7.x lost an option from the "Edit a syndicated |
| 794 |
feed" interface which allowed them to determine whether newly syndicated |
| 795 |
posts should be published immediately, held as "Pending Review," saved |
| 796 |
as drafts, or saved as private posts. (The option to change this |
| 797 |
setting globally remained in place, but users could no longer set it on |
| 798 |
a feed-by-feed basis.) The version-checking bug has been fixed, and the |
| 799 |
option has been restored. |
| 800 |
|
| 801 |
* BUGFIX: "ARE YOU SURE?" FATAL ERROR ELIMINATED AND SECURITY IMPROVED: |
| 802 |
Under certain circumstances (for example, when users have configured |
| 803 |
their browser or proxy not to send HTTP Referer headers, for privacy or |
| 804 |
other reasons), many features in the FeedWordPress administrative |
| 805 |
interface (such as adding new feeds or changing settings) would hit a |
| 806 |
fatal error, displaying only a cryptic message reading "Are you sure?" |
| 807 |
and a blank page following it. This problem has been eliminated by |
| 808 |
taking advantage of WordPress's nonce functions, which allow the |
| 809 |
security check which ran into this error to work properly even without |
| 810 |
receiving an HTTP Referer header. (N.B.: WordPress's nonce functions |
| 811 |
were first introduced in WordPress 2.0.3. If you're using FeedWordPress |
| 812 |
with an older version of WordPress, there's no fix for this problem: |
| 813 |
you'll just need to turn Referer headers back on. Sorry.) |
| 814 |
|
| 815 |
* BUGFIX: MANUALLY-ALTERED POST STATUS, COMMENT STATUS, AND PING STATUS NO |
| 816 |
LONGER REVERTED BY POST UPDATES: If you manually altered the post status, |
| 817 |
comment status, or ping status of a syndicated post from what it was set |
| 818 |
to when first syndicated -- for example, if you had a feed that was set |
| 819 |
to bring in new posts as "Pending Review," and you then marked some of |
| 820 |
the pending posts as "Published" and others as "Unpublished" -- then |
| 821 |
in previous versions of FeedWordPress, these manual changes to the |
| 822 |
status would be lost -- so that, for example, your Published or Unpublished |
| 823 |
articles would revert to Pending Review -- if the source feed made any |
| 824 |
upates to the item. This could make the Pending Review feature both |
| 825 |
unreliable and also extremely frustrating to work with. The good news is |
| 826 |
that this bug has since been fixed: if you manually update the status |
| 827 |
of a post, it will no longer be reverted if or when the post is updated. |
| 828 |
|
| 829 |
* BUGFIX: OCCASIONAL FATAL ERROR ON UPDATE ELIMINATED: Under certain |
| 830 |
limited conditions (specifically, when both the title and the content of |
| 831 |
a post to be updated are empty), an attempt to update the post would |
| 832 |
result in a fatal error. This has been fixed. |
| 833 |
|
| 834 |
* INTERFACE: "CONFIGURE SETTINGS" CONVENIENCE LINK ADDED TO CONFIRMATION |
| 835 |
MESSAGE WHEN A NEW FEED IS ADDED: When you add a new subscription to |
| 836 |
FeedWordPress, the message box that appears to confirm it now includes a |
| 837 |
handy link to the feed's settings subpage, so that you can quickly set |
| 838 |
up any special settings you may want to set up for the new feed, without |
| 839 |
having to hunt through the list of all your other subscriptions to pick |
| 840 |
out the new one. |
| 841 |
|
| 842 |
* INTERFACE: SIMPLIFYING AND CLARIFYING AUTOMATIC UPDATES SETTINGS. I have |
| 843 |
removed an interval setting for the cronless automatic updates which has |
| 844 |
confused many FeedWordPress users. In past versions of FWP, when you |
| 845 |
turned on automatic updates, you would be presented with a time interval |
| 846 |
setting which controlled how often FeedWordPress would check for feeds |
| 847 |
ready to be polled for updates. (That is, it DID NOT control how often |
| 848 |
feeds *would be polled*; it controlled how often FeedWordPress would |
| 849 |
*check* for feeds that *had become ready to poll*. The schedule on which |
| 850 |
feeds became ready for polling was still controlled either by requests |
| 851 |
encoded in elements within the feed itself, or else according to an |
| 852 |
internal calculation within FeedWordPress, averaging out to about 1 hour, |
| 853 |
if the feed did not include any scheduling request elements.) Since many |
| 854 |
users very often (and understandably) confused the purpose of this |
| 855 |
setting, and since the setting is for a feature that's actually very |
| 856 |
unlikely to require any manual control by the user, I have removed the |
| 857 |
setting; FeedWordPress now simply uses the default value of checking for |
| 858 |
feeds to poll every 10 minutes. |
| 859 |
|
| 860 |
* FEEDFINDER PERFORMANCE IMPROVEMENT: FeedWordPress's FeedFinder class |
| 861 |
now uses `array_unique()` to make sure that it doesn't waste time |
| 862 |
repeatedly iterating over and polling the same URI. Props to Camilo |
| 863 |
(<http://projects.radgeek.com/2008/12/14/feedwordpress-20081214/#comment-20090122160414>). |
| 864 |
|
| 865 |
= 2008.1214 = |
| 866 |
|
| 867 |
* WORDPRESS 2.7 COMPATIBILITY: FeedWordPress has been tested for |
| 868 |
compatibility with the newly released WordPress 2.7. WordPress 2.7 has |
| 869 |
deprecated the Snoopy library for HTTP requests, which caused a fatal |
| 870 |
error for users who had not installed the MagpieRSS upgrade (or whose |
| 871 |
installation of the MagpieRSS upgrade was overwritten by a recent update |
| 872 |
of WordPress). FeedWordPress now handles things gracefully when Snoopy |
| 873 |
is not immediately available. |
| 874 |
|
| 875 |
* INTERFACE SPIFFED UP: Interface elements have been updated so that |
| 876 |
FeedWordPress's management interface fits in more naturally with the |
| 877 |
WordPress 2.7 interface (including a new logo and a number of small |
| 878 |
interface tweaks). |
| 879 |
|
| 880 |
* BUG WITH TAGS FOR SYNDICATED ARTICLES FIXED: Several users encountered a |
| 881 |
bug with the option to add tags to all syndicated posts under |
| 882 |
Syndication --> Settings -- if you told FeedWordPress to add more than |
| 883 |
one tag to all syndicated posts, instead of doing so correctly, it would |
| 884 |
add a *single* tag instead, whose name was composed of the names of all |
| 885 |
the tags you asked it to add. This bug was the result of nothing more |
| 886 |
dignified than a typographical error on my part. It has now been fixed. |
| 887 |
|
| 888 |
* MORE INFORMATION AVAILABLE WHEN FEEDWORDPRESS CAN'T FIND A FEED: When |
| 889 |
you enter a URL for a new syndication source, FeedWordPress uses a |
| 890 |
simple feed-finding algorithm (originally based on Mark Pilgrim's |
| 891 |
Universal Feed Finder) to try to determine whether the URL is the URL |
| 892 |
for a feed, or, if the URL points to an ordinary website rather than to |
| 893 |
a feed, whether there is a feed for that website. All well and good, but |
| 894 |
if FeedWordPress failed to find a feed, for whatever reason, it would |
| 895 |
typically return nothing more than a nasty little note to the effect of |
| 896 |
"no feed found," without any explanation of what went wrong. |
| 897 |
FeedWordPress now keeps track of error conditions from the HTTP |
| 898 |
requests that it uses in the course of looking for the feed, and so may |
| 899 |
be able to give you a bit more information about the nature of the |
| 900 |
problem if something goes wrong. |
| 901 |
|
| 902 |
|
| 903 |
= 2008.1105 = |
| 904 |
|
| 905 |
* INTERFACE RESTRUCTURING AND SYNDICATION --> AUTHORS PAGE: As a first |
| 906 |
step towards modularizing and better organizing the user interface, a |
| 907 |
new "Authors" subpage has been created under the Syndication menu, which |
| 908 |
controls settings for syndicated authors, both at the global default |
| 909 |
level and at level of individual syndicated feeds. |
| 910 |
|
| 911 |
* BUG RELATED TO THE ATTRIBUTION OF POSTS TO THE WRONG AUTHOR FIXED: Some |
| 912 |
users encountered an issue in which posts by different authors on |
| 913 |
different blogs -- especially blogs generated by Blogger -- were |
| 914 |
mistakenly attributed to a single author. The problem was caused by the |
| 915 |
way in which FeedWordPress matches syndicated authors to user accounts |
| 916 |
in the WordPress database: normally, if two feeds each list an author |
| 917 |
with the same e-mail address, they are counted as being the same person. |
| 918 |
Normally this works well, but it creates an issue in cases where |
| 919 |
blogging software assigns a single anonymous e-mail address to users who |
| 920 |
do not want their real e-mail address published. This is, for example, |
| 921 |
what Blogger does (by giving all users a default e-mail address of |
| 922 |
<noreply@blogger.com> if they don't want their own e-mail address |
| 923 |
listed). FeedWordPress now allows the user to correct for this problem |
| 924 |
with a couple of new settings under **Syndication --> Authors**, which |
| 925 |
allow users to turn off e-mail based author matching for particular |
| 926 |
addresses, or, if desired, to turn it off entirely. By default, e-mail |
| 927 |
based author matching is still turned on, but disabled for a list of |
| 928 |
known generic e-mail addresses. Right now, the "list" consists entirely |
| 929 |
of <noreply@blogger.com>; if you know other addresses that should be |
| 930 |
added, please [contact me](http://radgeek.com/contact) to let me know. |
| 931 |
|
| 932 |
Please note that if you have already encountered this issue on your |
| 933 |
blog, upgrading FeedWordPress will prevent it from re-occurring in the |
| 934 |
future, but you still need to do two other things to fix the existing |
| 935 |
problem on your blog. |
| 936 |
|
| 937 |
First, for each feed where posts have been mis-attributed, you need to |
| 938 |
change the existing author mapping rules to re-map a a syndicated |
| 939 |
author's name to the proper target account. Go to **Syndication --> |
| 940 |
Authors**, select the feed you want to change from the drop-down list, |
| 941 |
and then change the settings under the "Syndicated Authors" section. |
| 942 |
(You will probably need to select "will be assigned to a new user..." to |
| 943 |
create a new user account with the appropriate name.) |
| 944 |
|
| 945 |
Second, for each feed where posts have been mis-attributed, you need to |
| 946 |
re-assign already-syndicated posts that were mis-attributed to the |
| 947 |
correct author. You can do that from **Syndication --> Authors** by |
| 948 |
using the author re-assignment feature, described below. |
| 949 |
|
| 950 |
* AUTHOR RE-ASSIGNMENT FOR A PARTICULAR FEED: The author settings page |
| 951 |
for each syndicated feed, under **Syndication --> Authors**, now |
| 952 |
includes an section titled "Fixing mis-matched authors," which provides |
| 953 |
an interface for re-assigning or deleting all posts attributed to a |
| 954 |
particular author on a particular feed. |
| 955 |
|
| 956 |
* SUPPORT FOR `<atom:source>` ELEMENT IN SYNDICATED FEEDS: Some feeds |
| 957 |
(for example, those produced by FeedWordPress) aggregate content from |
| 958 |
several different sources, and include information about the original |
| 959 |
source of the post in an `<atom:source>` element. A new setting under |
| 960 |
**Syndication --> Options** allows you to control what FeedWordPress |
| 961 |
will report as the source of posts syndicated from aggregator feeds in |
| 962 |
your templates and feeds: you can have FeedWordPress report that the |
| 963 |
source of a post is the aggregator feed itself, or you can have it |
| 964 |
report that the source of a post is the original source that the |
| 965 |
aggregator originally syndicated the post from. |
| 966 |
|
| 967 |
By default, FeedWordPress will report the aggregator, not the original |
| 968 |
source, as the source of a syndicated item. |
| 969 |
|
| 970 |
* LOAD BALANCING AND TIME LIMITING FEATURES FOR UPDATES: Some users have |
| 971 |
encountered issues due to running up against PHP execution time limits |
| 972 |
during the process of updating large syndicated feeds, or a very large |
| 973 |
set of syndicated feeds. FeedWordPress now has a feature that allows you |
| 974 |
to limit the total amount of time spent updating a feed, through the |
| 975 |
"Time limit on updates" setting under **Syndication --> Options**. By |
| 976 |
turning on this setting and adjusting the time limit to a low enough |
| 977 |
figure to avoid your PHP installation's time-out setting. (PHP execution |
| 978 |
time limits are usually in the vicinity of 30 seconds, so an update |
| 979 |
time limit of 25 seconds or so should provide plenty of time for updates |
| 980 |
while allowing a cushion of time for other, non-update-related functions |
| 981 |
to do their work.) |
| 982 |
|
| 983 |
If feed updates are interrupted by the time limit, FeedWordPress uses |
| 984 |
some simple load balancing features to make sure that updates to other |
| 985 |
feeds will not be blocked by the time-hogging feed, and will also make |
| 986 |
sure that when the interrupted update is resumed, FeedWordPress will |
| 987 |
skip ahead to resume processing items at the point at which it was |
| 988 |
interrupted last time, so that posts further down in the feed will |
| 989 |
eventually get processed, and not get blocked by the amount of time it |
| 990 |
takes to process the items higher up in the feed. |
| 991 |
|
| 992 |
* `guid` INDEX CREATION BUTTON: FeedWordPress frequently issues queries on |
| 993 |
the `guid` column of the WordPress posts database (since it uses post |
| 994 |
guid URIs to keep track of which posts it has syndicated). In very large |
| 995 |
FeedWordPress installations, you can often significantly improve |
| 996 |
performance by creating a database index on the `guid` column, but |
| 997 |
normally you would need to poke around with MySQL or a tool like |
| 998 |
phpMyAdmin to do this. FeedWordPress can now save you the trouble: to |
| 999 |
create an index on the `guid` column, just go to |
| 1000 |
**Syndication --> Options**, and mash the button at the bottom of the |
| 1001 |
"Back End" section. |
| 1002 |
|
| 1003 |
= 2008.1101 = |
| 1004 |
|
| 1005 |
* INTERFACE BUG THAT PREVENTED ADDING NEW SITES FIXED: The UI reforms in |
| 1006 |
FWP 2008.1030 unintentionally introduced a bug that prevents clean |
| 1007 |
installations of FeedWordPress from providing an input box for adding |
| 1008 |
new feeds to the list of syndicated feeds. This bug has been fixed. |
| 1009 |
|
| 1010 |
= 2008.1030 = |
| 1011 |
|
| 1012 |
* WORDPRESS 2.6 COMPATIBILITY: FeedWordPress should now be compatible with |
| 1013 |
WordPress 2.6, and should work more or less seamlessly with the new post |
| 1014 |
revision system. A bug which caused multiple new revisions to be created |
| 1015 |
for posts on certain feeds, regardless of whether or not the item had |
| 1016 |
been updated, has been fixed. |
| 1017 |
|
| 1018 |
* INTERFACE IMPROVEMENTS: The user interface has been substantially |
| 1019 |
restyled to fit in better with the visual style of WordPress 2.5 and |
| 1020 |
2.6. |
| 1021 |
|
| 1022 |
* YOUTUBE BUG FIXED: POSTS SYNDICATED THROUGH AN AUTOMATIC UPDATE ARE NO |
| 1023 |
LONGER STRIPPED OF `<OBJECT>` TAGS AND CERTAIN OTHER HTML ELEMENTS: Due |
| 1024 |
to the way that some versions of WordPress process posts that are |
| 1025 |
inserted into the database when no user is logged in, many users |
| 1026 |
experienced an issue where YouTube videos and other content using the |
| 1027 |
HTML `<object>` tag would be stripped out of posts that were syndicated |
| 1028 |
during an automatic update. (Posts that were syndicated through manual |
| 1029 |
updates from within the WordPress Dashboard were not affected, because |
| 1030 |
the issue does not arise when an update is executed under a logged-in |
| 1031 |
administrator's credentials.) This bug has now been fixed; YouTube |
| 1032 |
videos and other content using `<object>` tags should now appear |
| 1033 |
properly in syndicated posts, regardless of the way in which the post |
| 1034 |
was syndicated. |
| 1035 |
|
| 1036 |
* AJAX BUGS FIXED: Bugs which blocked the normal operation of WordPress |
| 1037 |
2.5's AJAX interface elements when FeedWordPress was activated have been |
| 1038 |
fixed. |
| 1039 |
|
| 1040 |
* TAG SUPPORT: A couple of features have been introduced to take advantage |
| 1041 |
of the tagging features in WordPress 2.3.x, 2.5.x, and 2.6.x. Now, when |
| 1042 |
unfamiliar categories are encountered for posts on a feed, you can |
| 1043 |
choose for FeedWordPress (1) to drop the category; (2) to drop the |
| 1044 |
category and to filter out any post that does not match at least one |
| 1045 |
familiar category; (3) to create a new category with that name, or, |
| 1046 |
now, you can also have FeedWordPress (4) create a new *tag* with that |
| 1047 |
name. This option can be set site-wide under Syndication --> Options, |
| 1048 |
or it can be set on a feed-by-feed basis in a feed's Edit screen. |
| 1049 |
|
| 1050 |
In addition, you can now set particular tags to apply to all incoming |
| 1051 |
syndicated posts, under Syndication --> Options, or you can set tags |
| 1052 |
to apply to all incoming syndicated posts from a particular feed in that |
| 1053 |
feed's Edit screen. |
| 1054 |
|
| 1055 |
* FORMATTING FILTERS: There is a new option available under Syndication -> |
| 1056 |
Options which allows users to choose whether or not to expose syndicated |
| 1057 |
posts to being altered by formatting filters. By default, FeedWordPress |
| 1058 |
has always protected syndicated posts (which are already in display-ready |
| 1059 |
HTML when they are syndicated) from being reformatted by formatting |
| 1060 |
filters. However, this approach means that certain plugins which depend |
| 1061 |
on formatting filters (for example, to add "Share This" bars or relevant |
| 1062 |
links to the end of a post) are blocked from working on any syndicated |
| 1063 |
posts. If you want to use one of these plugins together with |
| 1064 |
FeedWordPress, you can now do so by changing the "Formatting Filters" |
| 1065 |
setting from "Protect" to "Expose." |
| 1066 |
|
| 1067 |
* `<atom:source>` ELEMENTS NOW INCLUDED IN ATOM FEED: Atom 1.0 provides |
| 1068 |
a standard method for aggregators to indicate information about the original source of |
| 1069 |
a syndicated post, using the `<atom:source>` element. FeedWordPress now |
| 1070 |
introduces standard `<atom:source>` elements including the title, homepage, and |
| 1071 |
feed URI of the source from which a syndicated post was syndicated. Cf. |
| 1072 |
<http://www.atomenabled.org/developers/syndication/atom-format-spec.php#element.source> |
| 1073 |
|
| 1074 |
* MODULARIZATION OF CODE: The code for different elements of FeedWordPress |
| 1075 |
has been broken out into several modules for easier inspection, |
| 1076 |
documentation, and maintenance of the code. |
| 1077 |
|
| 1078 |
* VERSIONING SCHEME CHANGED: FeedWordPress's feature set has proven stable |
| 1079 |
enough that it can now be removed from beta status; a good thing, since |
| 1080 |
I was very quickly running out of version numbers to use. New releases |
| 1081 |
of FeedWordPress will have version numbers based on the date of their |
| 1082 |
release. |
| 1083 |
|
| 1084 |
= 0.993 = |
| 1085 |
|
| 1086 |
* WORDPRESS 2.5.1 COMPATIBILITY: FeedWordPress should now be compatible |
| 1087 |
with WordPress 2.5.1. |
| 1088 |
|
| 1089 |
* WORDPRESS 2.5 INTERFACE IMPROVEMENTS: FeedWordPress's Dashboard |
| 1090 |
interface has undergone several cosmetic changes that should help it |
| 1091 |
integrate better with the WordPress Dashboard interface in WordPress |
| 1092 |
version 2.5.x. |
| 1093 |
|
| 1094 |
* SYNDICATED POSTS CAN BE MARKED AS "PENDING REVIEW": WordPress 2.3 users |
| 1095 |
can now take advantage of WordPress's new "Pending Review" features for |
| 1096 |
incoming syndicated posts. Posts marked as "Pending Review" are not |
| 1097 |
published immediately, but are marked as ready to be reviewed by an |
| 1098 |
Administrator or Editor, who can then choose to publish the post or |
| 1099 |
hold it back. If you want to review syndicated posts from a particular |
| 1100 |
feed, or from all feeds, before they are posted, then use |
| 1101 |
Syndication --> Syndicated Sites --> Edit or Syndication --> Options to |
| 1102 |
change the settings for handling new posts. |
| 1103 |
|
| 1104 |
* AWARE OF NEW URI FOR del.icio.us FEEDS: Previous releases of |
| 1105 |
FeedWordPress already automatically split del.icio.us tags up |
| 1106 |
appropriately appropriately when generating categories. (del.icio.us |
| 1107 |
feeds smoosh all the tags into a single `<dc:subject>` element, |
| 1108 |
separated by spaces; FeedWordPress un-smooshes them into multiple |
| 1109 |
categories by separating them at whitespace.) Unfortunately, del.icio.us |
| 1110 |
recently broke the existing behavior by changing host names for their |
| 1111 |
feeds from del.icio.us to feeds.delicious.com. Version 0.993 accounts |
| 1112 |
for the new host name and un-breaks the tag splitting. |
| 1113 |
|
| 1114 |
= 0.992 = |
| 1115 |
|
| 1116 |
* AUTHOR RE-MAPPING: FeedWordPress now offers considerable control over |
| 1117 |
how author names on a feed are translated into usernames within the |
| 1118 |
WordPress database. When a post by an unrecognized author comes in, |
| 1119 |
Administrators can now specify any username as the default username to |
| 1120 |
assign the post to by setting the option in Syndication --> Options |
| 1121 |
(formerly FeedWordPress only allowed you to assign such posts to user |
| 1122 |
#1, the site administrator). Administrators can also create re-mapping |
| 1123 |
rules for particular feeds (under Syndication --> Syndicated Sites --> |
| 1124 |
Edit), so that (for example) any posts attributed to "Administrator" |
| 1125 |
on the feed <http://praxeology.net/blog/feed/> will be assigned to |
| 1126 |
a user named "Roderick T. Long," rather than a user named |
| 1127 |
"Administrator." These settings also allow administrators to filter out |
| 1128 |
posts by particular users, and to control what will happen when |
| 1129 |
FeedWordPress encounters a post by an unrecognized user on that |
| 1130 |
particular feed. |
| 1131 |
|
| 1132 |
* BUG RELATED TO URIS CONTAINING AMPERSAND CHARACTERS FIXED: A bug in |
| 1133 |
WordPress 2.x's handling of URIs in Blogroll links created problems for |
| 1134 |
updating any feeds whose URIs included an ampersand character, such as |
| 1135 |
Google News RSS feeds and other feeds that have multiple parameters |
| 1136 |
passed through HTTP GET. If you experienced this bug, the most likely |
| 1137 |
effect was that FeedWordPress simply would not import new posts from a |
| 1138 |
feed when instructred to do so, returning a "0 new posts" response. In |
| 1139 |
other cases, it might lead to unpredictable results from feed updates, |
| 1140 |
such as importing posts which were not contained in the feed being |
| 1141 |
syndicated, but which did appear elsewhere on the same website. This bug |
| 1142 |
has, hopefully, been resolved, by correcting for the bug in WordPress. |
| 1143 |
|
| 1144 |
= 0.991 = |
| 1145 |
|
| 1146 |
* WORDPRESS MU COMPATIBILITY: FeedWordPress should now be compatible with |
| 1147 |
recent releases of WordPress MU. Once FeedWordPress is made available |
| 1148 |
as a plugin, each individual blog can choose to activate FeedWordPress |
| 1149 |
and syndicate content from its own set of contributors. |
| 1150 |
|
| 1151 |
* DISPLAY OF MAGPIE WARNINGS: A number of MagpieRSS warnings or error |
| 1152 |
messages that were displayed when performing an automatic update are |
| 1153 |
no longer displayed, unless debugging parameters have been explicitly |
| 1154 |
enabled. |
| 1155 |
|
| 1156 |
* BUG RELATED TO INTERNATIONAL CHARACTERS IN AUTHOR NAMES FIXED: Due to a |
| 1157 |
subtle incompatability between the way that FeedWordPress generated new |
| 1158 |
user information, and the way that WordPress 2.0 and later added new |
| 1159 |
authors to the database, FeedWordPress might end up creating duplicate |
| 1160 |
authors, or throwing a critical error message, when it encountered |
| 1161 |
authors whose names included international characters. This |
| 1162 |
incompatability has now been fixed; hopefully, authors with |
| 1163 |
international characters in their names should now be handled properly. |
| 1164 |
|
| 1165 |
* `<media:content>` BUG IN MAGPIERSS FIXED: A bug in MagpieRSS's handling |
| 1166 |
of namespaced elements has been fixed. Among other things, this bug |
| 1167 |
caused items containing a Yahoo MediaRSS `<media:content>` element (such |
| 1168 |
as many of the feeds produced by wordpress.com) to be represented |
| 1169 |
incorrectly, with only a capital "A" where the content of the post |
| 1170 |
should have been. Feeds containing `<media:content>` elements should now |
| 1171 |
be syndicated correctly. |
| 1172 |
|
| 1173 |
* update_feedwordpress PARAMETER: You can now use an HTTP GET parameter |
| 1174 |
(`update_feedwordpress=1`) to request that FeedWordPress poll its feeds |
| 1175 |
for updates. When used together with a crontab or other means of |
| 1176 |
scheduling tasks, this means that you can keep your blog automatically |
| 1177 |
updated on a regular schedule, even if you do not choose to use the |
| 1178 |
cron-less automatic updates option. |
| 1179 |
|
| 1180 |
* Some minor interface-related bugs were also fixed. |
| 1181 |
|
| 1182 |
|
| 1183 |
= 0.99 = |
| 1184 |
|
| 1185 |
Version 0.99 adds several significant new features, fixes some bugs, and |
| 1186 |
provides compatability with WordPress 2.2.x and 2.3.x. |
| 1187 |
|
| 1188 |
* WORDPRESS 2.2 AND 2.3 COMPATIBILITY: FeedWordPress should now be |
| 1189 |
compatible with WordPress version 2.2 and the upcoming WordPress |
| 1190 |
version 2.3. In particular, it has been tested extensively against |
| 1191 |
WordPress 2.2.3 and WordPress 2.3 Release Candidate 1. |
| 1192 |
|
| 1193 |
* AUTOMATIC UPDATES WITHOUT CRON: FeedWordPress now allows you to |
| 1194 |
automatically schedule checks for new posts without using external task |
| 1195 |
scheduling tools such as cron. In order to enable automatic updates, go |
| 1196 |
to **Syndication --> Options** and set "Check for new posts" to |
| 1197 |
"automatically." For details, see "Automatic Feed Updates" in |
| 1198 |
README.text. |
| 1199 |
|
| 1200 |
An important side-effect of the changes to the update system is that if |
| 1201 |
you were previously using the cron job and the `update-feeds.php` script |
| 1202 |
to schedule updates, you need to change your cron set-up. The old |
| 1203 |
`update-feeds.php` script no longer exists. Instead, if you wish to use |
| 1204 |
a cron job to guarantee updates on a particular schedule, you should |
| 1205 |
have the cron job fetch the front page of your blog (for example, by |
| 1206 |
using `curl http://www.zyx.com/blog/ > /dev/null`) instead of activating |
| 1207 |
the `update-feeds.php` script. If automatic updates have been enabled, |
| 1208 |
fetching the front page will automatically trigger the update process. |
| 1209 |
|
| 1210 |
* INTERFACE REORGANIZATION: All FeedWordPress functions are now located |
| 1211 |
under a top-level "Syndication" menu in the WordPress Dashboard. To |
| 1212 |
manage the list of syndicated sites, manually check for new posts on |
| 1213 |
one or more feeds, or syndicate a new site, you should use the main page |
| 1214 |
under **Syndication**. To change global settings for FeedWordPress, |
| 1215 |
you should use **Syndication --> Options**. |
| 1216 |
|
| 1217 |
* FILE STRUCTURE REORGANIZATION: Due to a combination of changing styles |
| 1218 |
for FeedWordPress plugins and lingering bugs in the FeedWordPress admin |
| 1219 |
menu code, the code for FeedWordPress is now contained in two different |
| 1220 |
PHP files, which should be installed together in a subdirectory of your |
| 1221 |
plugins directory named `feedwordpress`. (See README.text for |
| 1222 |
installation and upgrade instructions relating to the change.) |
| 1223 |
|
| 1224 |
* MULTIPLE CATEGORIES SETTING: Some feeds use non-standard methods to |
| 1225 |
indicate multiple categories within a single category element. (The most |
| 1226 |
popular site to do this is del.icio.us, which separates tags with a |
| 1227 |
space.) FeedWordPress now allows you to set an optional setting, for any |
| 1228 |
feed which does this, indicating the character or characters used to |
| 1229 |
divide multiple categories, using a Perl-compatible regular expression. |
| 1230 |
(In the case of del.icio.us feeds, FeedWordPress will automatically use |
| 1231 |
\s for the pattern without your having to do any further configuration.) |
| 1232 |
To turn this setting on, simply use the "Edit" link for the feed that |
| 1233 |
you want to turn it on for. |
| 1234 |
|
| 1235 |
* REGULAR EXPRESSION BUG FIXED: Eliminated a minor bug in the regular |
| 1236 |
expressions for e-mail addresses (used in parsing RSS `author` |
| 1237 |
elements), which could produce unsightly error messages for some users |
| 1238 |
parsing RSS 2.0 feeds. |
| 1239 |
|
| 1240 |
* DATE / UPDATE BUG FIXED: A bug in date handling was eliminated that may |
| 1241 |
have caused problems if any of (1) WordPress, or (2) PHP, or (3) your |
| 1242 |
web server, or (4) your MySQL server, has been set to use a different |
| 1243 |
time zone from the one that any of the others is set to use. If |
| 1244 |
FeedWordPress has not been properly updating updated posts, or has been |
| 1245 |
updating posts when there shouldn't be any changes for the update, this |
| 1246 |
release may solve that problem. |
| 1247 |
|
| 1248 |
* GOOGLE READER BUGS FIXED: A couple of bugs that made it difficult for |
| 1249 |
FeedWordPress to interact with Google Reader public feeds have been |
| 1250 |
fixed. Firstly, if you encountered an error message reading "There was a |
| 1251 |
problem adding the newsfeed. [SQL: ]" when you tried to add the feed, |
| 1252 |
the cause of this error has been fixed. Secondly, if you succeeded in |
| 1253 |
getting FeedWordPress to check a Google Reader feed, only to find that |
| 1254 |
the title of posts had junk squashed on to the end of them, that bug |
| 1255 |
has been fixed too. To fix this bug, you must install the newest version |
| 1256 |
of the optional MagpieRSS upgrade. |
| 1257 |
|
| 1258 |
* FILTER PARAMETERS: Due to an old, old bug in WordPress 1.5.0 (which was |
| 1259 |
what was available back when I first wrote the filter interface), |
| 1260 |
FeedWordPress has traditionally only passed one parameter to |
| 1261 |
syndicated_item and syndicated_post filters functions -- an array |
| 1262 |
containing either the Magpie representation of a syndicated item from |
| 1263 |
the feed, or the database representation of a post about to be inserted |
| 1264 |
into the WordPress database. If you needed information about the feed |
| 1265 |
that the item came from, this was accessible only through a pair of |
| 1266 |
global variables, $fwp_channel and $fwp_feedmeta. |
| 1267 |
|
| 1268 |
Since it's been a pretty long time since WordPress 1.5.0 was in |
| 1269 |
widespread usage, I have gone ahead and added an optional second |
| 1270 |
parameter to the invocation of the syndicated_item and syndicated_post |
| 1271 |
filters. If you have written a filter for FeedWordPress that uses either |
| 1272 |
of these hooks, you can now register that filter to accept 2 parameters. |
| 1273 |
If you do so, the second parameter will be a SyndicatedPost object, |
| 1274 |
which, among other things, allows you to access information about the |
| 1275 |
feed from which an item is syndicated using the $post->feed and the |
| 1276 |
$post->feedmeta elements (where $post is the name of the second |
| 1277 |
parameter). |
| 1278 |
|
| 1279 |
NOTE THAT THE OLD GLOBAL VARIABLES ARE STILL AVAILABLE, for the time |
| 1280 |
being at least, so existing filters will not break with the upgrade. |
| 1281 |
They should be considered deprecated, however, and may be eliminated in |
| 1282 |
the future. |
| 1283 |
|
| 1284 |
* FILTER CHANGE / BUGFIX: the array that is passed as the first argument |
| 1285 |
syndicated_post filters no longer is no longer backslash-escaped for |
| 1286 |
MySQL when filters are called. This was originally a bug, or an |
| 1287 |
oversight; the contents of the array should only be escaped for the |
| 1288 |
database *after* they have gone through all filters. IF YOU HAVE WRITTEN |
| 1289 |
ANY syndicated_post FILTERS THAT PRESUME THE OLD BEHAVIOR OF PASSING IN |
| 1290 |
STRINGS THAT ARE ALREADY BACKSLASH-ESCAPED, UPDATE YOUR FILTERS |
| 1291 |
ACCORDINGLY. |
| 1292 |
|
| 1293 |
* OTHER MINOR BUGFIXES AND INTERNAL CHANGES: The internal architecture of |
| 1294 |
FeedWordPress has been significantly changed to make the code more |
| 1295 |
modular and clean; hopefully this should help reduce the number of |
| 1296 |
compatibility updates that are needed, and make them easier and quicker |
| 1297 |
when they are needed. |
| 1298 |
|
| 1299 |
= 0.981 = |
| 1300 |
|
| 1301 |
Version 0.981 is a narrowly targeted bugfix and compatibility release, whose |
| 1302 |
main purpose is to resolve a major outstanding problem: the incompatibility |
| 1303 |
between version 0.98 of WordPress and the recently released WordPress 2.1. |
| 1304 |
|
| 1305 |
* WORDPRESS 2.1 COMPATIBILITY: FeedWordPress is now compatible with |
| 1306 |
WordPress 2.1, as well as retaining its existing support for WordPress |
| 1307 |
2.0 and 1.5. Incompatibilities that resulted in database warnings, fatal |
| 1308 |
errors, and which prevented FeedWordPress from syndicating new posts, |
| 1309 |
have been eliminated. |
| 1310 |
|
| 1311 |
* RSS-FUNCTIONS.PHP RENAMED TO RSS.PHP: if you use the upgraded MagpieRSS |
| 1312 |
replacement that's included with FeedWordPress, be sure to note that |
| 1313 |
there are now *two* files to upload from the `OPTIONAL/wp-includes` |
| 1314 |
subdirectory in order to carry out the upgrade: rss-functions.php and |
| 1315 |
rss.php. **It is necessary to upload both files**, due to a change in |
| 1316 |
the file naming scheme in WordPress 2.1, and it is necessary to do so |
| 1317 |
whether you are using WordPress 2.1 or not. If you only upload the |
| 1318 |
`rss-functions.php` file as in previous installations you will not have |
| 1319 |
a working copy of MagpieRSS; the rss.php file contains the actual code. |
| 1320 |
|
| 1321 |
* DATE BUG AFFECTING SOME PHP INSTALLATIONS RESOLVED: due to a subtle bug |
| 1322 |
in parse_w3cdtf(), some installations of PHP encountered problems with |
| 1323 |
FeedWordPress's attempt to date posts, which would cause some new posts |
| 1324 |
on Atom feeds to be dated as if they had apppeared in 1969 or 1970 |
| 1325 |
(thus, effectively, never appearing on front page at all). This bug in |
| 1326 |
the date handling should now be fixed. |
| 1327 |
|
| 1328 |
* PHP <?=...?> SHORT FORM ELIMINATED: some installations of PHP do not |
| 1329 |
allow the <?=...?> short form for printing PHP values, which was used |
| 1330 |
extensively in the FeedWordPress interface code. Since this could cause |
| 1331 |
fatal errors for users with the wrong installation of PHP, the short |
| 1332 |
form has been replaced with full PHP echo statements, and is no longer |
| 1333 |
used in FeedWordPress. |
| 1334 |
|
| 1335 |
* BETTER USER INTERFACE INTEGRATION WITH WORDPRESS 2.x: Some minor changes |
| 1336 |
have been made to help the FeedWordPress interface pages blend in better |
| 1337 |
with the user interface when running under WordPress 2.x. |
| 1338 |
|
| 1339 |
* GLOBAL CATEGORIES BUG RESOLVED: a bug that prevented some users from |
| 1340 |
setting one or more categories to apply to syndicated posts from all |
| 1341 |
feeds (using the checkbox interface under Options --> Syndication) has |
| 1342 |
been resolved. |
| 1343 |
|
| 1344 |
= 0.98 = |
| 1345 |
|
| 1346 |
* WORDPRESS 2.0 COMPATIBILITY: This is a narrowly-targeted release to |
| 1347 |
solve a major outstanding problem. FeedWordPress is now compatible with |
| 1348 |
both WordPress 1.5 and WordPress 2.0. Incompatibilities that caused |
| 1349 |
fatal SQL errors, and a more subtle bug with off-kilter counts of posts |
| 1350 |
under a given category, have been resolved. FeedWordPress tests for |
| 1351 |
database schema using the global $wp_db_version variable (if null, then |
| 1352 |
we presume that we're dealing with WordPress 1.5). |
| 1353 |
|
| 1354 |
NOTE: I have **not** fully tested FeedWordPress with WordPress 2.0. |
| 1355 |
Further testing may reveal more bugs. However, you should now be able |
| 1356 |
to get at least basic FeedWordPress functionality up and running. |
| 1357 |
|
| 1358 |
* AUTHOR MATCHING: FeedWordPress tests several fields to see if it can |
| 1359 |
identify the author of the post as a user already in the WordPress user |
| 1360 |
database. In previous versions, it tested the user login, the nickname, |
| 1361 |
and tested for "aliases" listed in the Profile (see documentation). FWP |
| 1362 |
now also matches authors on the basis of e-mail address (*if* an e-mail |
| 1363 |
address is present). This is particularly helpful for formats such as |
| 1364 |
RSS 2.0, in which authors are primarily identified by e-mail addresses. |
| 1365 |
|
| 1366 |
= 0.97 = |
| 1367 |
|
| 1368 |
* INSTALLATION PROCEDURE: Some of the changes between 0.96 and 0.97 |
| 1369 |
require upgrades to the meta-data stored by FeedWordPress to work |
| 1370 |
properly. Thus, if you are upgrading from 0.96 or earlier to 0.97, most |
| 1371 |
FeedWordPress operations (including updates and template functions) |
| 1372 |
WILL BE DISABLED until you run the upgrade procedure. Fortunately, |
| 1373 |
running the upgrade procedure is easy: just go to either Options --> |
| 1374 |
Syndication or Links --> Syndicated in the WordPress Dashboard and press |
| 1375 |
the button. |
| 1376 |
|
| 1377 |
* FEED FORMAT SUPPORT: Support has been added for the Atom 1.0 IETF |
| 1378 |
standard. Several other elements are also newly supported |
| 1379 |
(dcterms:created, dcterms:issued, dcterms:modified, dc:identifier, |
| 1380 |
proper support for the RSS 2.0 guid element, the RSS 2.0 author element, |
| 1381 |
the use of Atom author or Dublin Core dc:creator constructs at the feed |
| 1382 |
level to identify the author of individual items, etc.) |
| 1383 |
|
| 1384 |
N.B.: full support of several Atom 1.0 features, such as categories |
| 1385 |
and enclosures, requires you to install the optional rss-functions.php |
| 1386 |
upgrade in your wp-includes directory. |
| 1387 |
|
| 1388 |
* BUG FIX: Running `update-feeds.php` from command line or crontab |
| 1389 |
returned "I don't syndicate..." errors. It turns out that WordPress |
| 1390 |
sometimes tramples on the internal PHP superglobals that I depended on |
| 1391 |
to determine whether or not the script was being invoked from the |
| 1392 |
command line. This has been fixed (the variables are now checked |
| 1393 |
*before* WordPress can trample them). Note that `update-feeds.php` has |
| 1394 |
been thoroughly overhauled anyway; see below for details. |
| 1395 |
|
| 1396 |
* BUG FIX: Duplicate categories or author names. Fixed two bugs that could |
| 1397 |
create duplicate author and/or category names when the name contained |
| 1398 |
either (a) certain international characters (causing a mismatch between |
| 1399 |
MySQL and PHP's handling of lowercasing text), or (b) characters that |
| 1400 |
have a special meaning in regular expressions (causing MySQL errors when |
| 1401 |
looking for the author or category due to regexp syntax errors). These |
| 1402 |
should now be fixed thanks to careful escaping of names that go into |
| 1403 |
regular expressions and careful matching of lowercasing functions |
| 1404 |
(comparing results from PHP only to other results from PHP, and results |
| 1405 |
from MySQL only to other results from MySQL). |
| 1406 |
|
| 1407 |
* BUG FIX: Items dated December 31, 1969 should appear less often. The |
| 1408 |
function for parsing W3C date-time format dates that ships with |
| 1409 |
MagpieRSS can only correctly parse fully-specified dates with a |
| 1410 |
fully-specified time, but valid W3C date-time format dates may omit the |
| 1411 |
time, the day of the month, or even the month. Some feeds in the wild |
| 1412 |
date their items with coarse-grained dates, so the optional |
| 1413 |
`rss-functions.php` upgrade now includes a more flexible parse_w3cdtf() |
| 1414 |
function that will work with both coarse-grained and fully-specified |
| 1415 |
dates. (If parts of the date or the time are omitted, they are filled in |
| 1416 |
with values based on the current time, so '2005-09-10' will be dated to |
| 1417 |
the current time on that day; '2004' will be dated to this day and time |
| 1418 |
one year ago. |
| 1419 |
|
| 1420 |
N.B.: This fix is only available in the optional `rss-functions.php` |
| 1421 |
upgrade. |
| 1422 |
|
| 1423 |
* BUG FIX: Evil use of HTTP GET has been undone. The WordPress interface |
| 1424 |
is riddled with inappropriate (non-idempotent) uses of HTTP GET queries |
| 1425 |
(ordinary links that make the server do something with significant |
| 1426 |
side-effects, such as deleting a post or a link from the database). |
| 1427 |
FeedWordPress did some of this too, especially in places where it aped |
| 1428 |
the WordPress interface (e.g. the "Delete" links in Links --> |
| 1429 |
Syndicated). That's bad business, though. I've changed the interface so |
| 1430 |
that all the examples of improper side-effects that I can find now |
| 1431 |
require an HTTP POST to take effect. I think I got pretty much |
| 1432 |
everything; if there's anything that I missed, let me know. |
| 1433 |
|
| 1434 |
Further reading: [Sam Ruby 2005-05-06: This Stuff Matters](http://www.intertwingly.net/blog/2005/05/06/This-Stuff-Matters) |
| 1435 |
|
| 1436 |
* BUG FIX: Categories applied by `cats` setting should no longer prevent |
| 1437 |
category-based filtering from working. In FeedWordPress, you can (1) |
| 1438 |
apply certain categories to all syndicated posts, or all posts from |
| 1439 |
a particular feed; and (2) filter out all posts that don't match one |
| 1440 |
of the categories that are already in the WordPress database (allowing |
| 1441 |
for simple category-based filtering; just load up WordPress with the |
| 1442 |
categories you want to accept, and then tell FeedWordPress not to create |
| 1443 |
new ones). However, the way that (1) and (2) were implemented meant that |
| 1444 |
you couldn't effectively use them together; once you applied a known |
| 1445 |
category to all syndicated posts from a particular feed, it meant that |
| 1446 |
they'd have at least one familiar category (the category or categories |
| 1447 |
you were applying), and that would get all posts past the filter no |
| 1448 |
matter what categories they were originally from. |
| 1449 |
|
| 1450 |
Well, no longer. You can still apply categories to all syndicated posts |
| 1451 |
(using either Syndication --> Options, or the feed-level settings under |
| 1452 |
Links --> Syndicated). But these categories are not applied to the post |
| 1453 |
until *after* it has already passed by the "familiar categories" filter. |
| 1454 |
So now, if you want, you can do category filtering and *then* apply as |
| 1455 |
many categories as you please to all and only posts that pass the filter. |
| 1456 |
|
| 1457 |
* BUG FIX: Other minor typos and HTML gaffes were fixed along the way. |
| 1458 |
|
| 1459 |
* PERFORMANCE: get_feed_meta() no longer hits the database for information |
| 1460 |
on every call; it now caches link data in memory, so FeedWordPress only |
| 1461 |
goes to the database once for each syndicated link. This may |
| 1462 |
substantially improve performance if your database server resources |
| 1463 |
are tight and your templates make a lot of use of custom settings from |
| 1464 |
get_feed_meta(). |
| 1465 |
|
| 1466 |
* API CHANGE: Link ID numbers, rather than RSS URIs, are now used to |
| 1467 |
identify the feed from which a post is syndicated when you use template |
| 1468 |
functions such as get_feed_meta(). The practical upshot of this is you |
| 1469 |
can switch feeds, or change the feed address for a particular syndicated |
| 1470 |
site, without breaking your templates for all the posts that were |
| 1471 |
syndicated from the earlier URI. |
| 1472 |
|
| 1473 |
* API CHANGE: if you have plugins or templates that make use of the |
| 1474 |
get_feed_meta() function or the $fwp_feedmeta global, note that the |
| 1475 |
data formerly located under the `uri` and `name` fields is now located |
| 1476 |
under the `link/uri` field and the `link/name` field, respectively. Note |
| 1477 |
also that you can access the link ID number for any given feed under the |
| 1478 |
global $fwp_feedmeta['link/id'] (in plugins) or |
| 1479 |
get_feed_meta('link/id') (in a template in post contexts). |
| 1480 |
|
| 1481 |
* FEATURE: the settings for individual feeds can now be edited using a |
| 1482 |
humane interface (where formerly you had to tweak key-value pairs in the |
| 1483 |
Link Notes section). To edit settings for a feed, pick the feed that you |
| 1484 |
want under Links --> Syndicated and click the Edit link. |
| 1485 |
|
| 1486 |
* FEATURE: The "Unsubscribe" button (formerly "Delete") in Links --> |
| 1487 |
Syndicated now offers three options for unsubscribing from a feed: (1) |
| 1488 |
turning off the subscription without deleting the feed data or affecting |
| 1489 |
posts that were syndicated from the feed (this works by setting the Link |
| 1490 |
for the feed as "invisible"); (2) deleting the feed data and all of the |
| 1491 |
posts that were syndicated from the feed; or (3) deleting the feed data |
| 1492 |
and *keeping* the posts that were syndicated from the feed |
| 1493 |
setting the Link to "Invisible" (meaning that it will not be displayed |
| 1494 |
in lists of the site links on the front page, and it won't be checked |
| 1495 |
for updates; (2) deleting the Link and all of the posts that were |
| 1496 |
syndicated from its feed; or (3) deleting the feed data but keeping the |
| 1497 |
posts that were syndicated (which will henceforward be treated as if |
| 1498 |
they were local rather than syndicated posts). (Note that (1) is usually |
| 1499 |
the best option for aggregator sites, unless you want to clean up the |
| 1500 |
results of an error or a test.) |
| 1501 |
|
| 1502 |
* FEATURE / BUG FIX: If you have been receiving mysterious "I don't |
| 1503 |
syndicate...", or "(local) HTTP status code was not 200", or "(local) |
| 1504 |
transport error - could not open socket", or "parse error - not well |
| 1505 |
formed" errors, then this update may solve your problems, and if it does |
| 1506 |
*not* solve them, it will at least make the reasons for the problems |
| 1507 |
easier to understand. That's because I've overhauled the way that |
| 1508 |
FeedWordPress goes about updating feeds. |
| 1509 |
|
| 1510 |
If you use the command-line PHP scripting method to run scheduled |
| 1511 |
updates, then not much should change for you, except for fewer |
| 1512 |
mysterious errors. If you have done updates by sending periodic HTTP |
| 1513 |
requests to <http://your-blog.com/path/wp-content/update-feeds.php>, |
| 1514 |
then the details have changed somewhat; mostly in such a way as to make |
| 1515 |
things easier on you. See the README file or online documentation on |
| 1516 |
Staying Current for the details. |
| 1517 |
|
| 1518 |
* FEATURE: FeedWordPress now features a more sophisticated system for |
| 1519 |
timed updates. Instead of polling *every* subscribed feed for updates |
| 1520 |
*each* time `update-feeds.php` is run, FeedWordPress now keeps track of |
| 1521 |
the last time it polled each feed, and only polls them again after a |
| 1522 |
certain period of time has passed. The amount of time is normally set |
| 1523 |
randomly for each feed, in a period between 30 minutes and 2 hours (so |
| 1524 |
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 |
| 1525 |
directly by the feed, which brings us to ... |
| 1526 |
|
| 1527 |
* FEATURE: FeedWordPress now respects the settings in the `ttl` and |
| 1528 |
Syndication Module RSS elements. Feeds with these elements set will not |
| 1529 |
be polled any more frequently than they indicate with these feeds unless |
| 1530 |
the user manually forces FeedWordPress to poll the feed (see Links --> |
| 1531 |
Syndicated --> Edit settings). |
| 1532 |
|
| 1533 |
= 0.96 = |
| 1534 |
|
| 1535 |
* FEATURE: support has been added for enclosures in RSS 2.0 and Atom |
| 1536 |
0.6+ newsfeeds. WordPress already supports adding enclosures to an |
| 1537 |
item; FeedWordPress merely gets the information on the enclosure |
| 1538 |
from the feed it is syndicating and plugs that information directly |
| 1539 |
into the WordPress database so that (among other things) that post |
| 1540 |
will have its enclosure listed in your blog's RSS 2 newsfeed. |
| 1541 |
|
| 1542 |
Note that enclosure support requires using the optional MagpieRSS |
| 1543 |
upgrade (i.e., replacing your `wp-includes/rss-functions.php` with |
| 1544 |
`OPTIONAL/wp-includes/rss-functions.php` from the FWP archive) |
| 1545 |
|
| 1546 |
* FEATURE: for completeness's sake, there is now a feed setting, |
| 1547 |
`hardcode url`, that allows you to set the URI for the front page |
| 1548 |
of a contributor's website manually (that is, prevent it from being |
| 1549 |
automatically updated from the feed channel link on each update). To |
| 1550 |
set the URI manually, put a line like this in the Link Notes section |
| 1551 |
of a feed: |
| 1552 |
|
| 1553 |
hardcode url: yes |
| 1554 |
|
| 1555 |
You can also instruct FeedWordPress to use hardcoded URIs by default |
| 1556 |
on all feeds using Options --> Syndication |
| 1557 |
|
| 1558 |
* FEATURE: by default, when FeedWordPress finds new syndicated posts, |
| 1559 |
it (1) publishes them immediately, (2) turns comments off, and (3) |
| 1560 |
turns trackback / pingback pings off. You can now alter all three |
| 1561 |
default behaviors (e.g., to allow pings on syndicated posts, or to |
| 1562 |
send newly-syndicated posts to the draft pile for moderation) using |
| 1563 |
Options --> Syndication |
| 1564 |
|
| 1565 |
|
| 1566 |
= From 0.91 to 0.95 = |
| 1567 |
|
| 1568 |
* BUG FIX: Fixed an obscure bug in the handling of categories: |
| 1569 |
categories with trailing whitespace could cause categories with |
| 1570 |
duplicate names to be created. This no longer happens. While I was |
| 1571 |
at it I tightened up the operation of |
| 1572 |
FeedWordPress::lookup_categories() a bit in general. |
| 1573 |
|
| 1574 |
* FEATURE DEPRECATED: the feed setting `hardcode categories` is now |
| 1575 |
deprecated in favor of `unknown categories` (see below), which |
| 1576 |
allows you to strip off any syndication categories not already in |
| 1577 |
your database using `unknown categories: default` or `unknown |
| 1578 |
categories: filter`. If you have `hardcode categories: yes` set on a |
| 1579 |
feed, this will be treated as `unknown categories: default` (i.e., |
| 1580 |
no new categories will be added, but if a post doesn't match any of |
| 1581 |
the categories it will be added in the default category--usually |
| 1582 |
"Uncategorized" or "General"). |
| 1583 |
|
| 1584 |
* FEATURE: You can now set global defaults as to whether or not |
| 1585 |
FeedWordPress will update the Link Name and Link Description |
| 1586 |
settings for feeds automatically from the feed title and feed |
| 1587 |
tagline. (By default, it does, as it has in past versions.) Whether |
| 1588 |
this behavior is turned on or off, you can still override the |
| 1589 |
default behavior using feed settings of `hardcode name: yes`, |
| 1590 |
`hardcode name: no`, `hardcode description: yes`, or `hardcode |
| 1591 |
description: no`. |
| 1592 |
|
| 1593 |
* FEATURE: Users can now provide one or several "aliases" for an |
| 1594 |
author, just as they can for a category. For example, to make |
| 1595 |
FeedWordPress treat posts by "Joseph Cardinal Ratzinger" and "Pope |
| 1596 |
Benedict XVI" as by the same author, edit the user profile for Pope |
| 1597 |
Benedict XVI and add a line like this to the "User profile" field: |
| 1598 |
|
| 1599 |
a.k.a.: Joseph Cardinal Ratzinger |
| 1600 |
|
| 1601 |
You can add several aliases, each on a line by itself. You can also |
| 1602 |
add any other text you like to the Profile without interfering with |
| 1603 |
the aliases. |
| 1604 |
|
| 1605 |
* FEATURE: Users can now choose how to handle syndicated posts that |
| 1606 |
are in unfamiliar categories or by unfamiliar authors (i.e., |
| 1607 |
categories or authors whose names are not yet in the WordPress |
| 1608 |
database). By default, FeedWordPress will (as before) create a new |
| 1609 |
category (or new author) and use it for the current post and any |
| 1610 |
future posts. This behavior can be changed, either for all feeds or |
| 1611 |
for one or another particular feed. |
| 1612 |
|
| 1613 |
There are now three different options for an unfamiliar author: (1) |
| 1614 |
FeedWordPress can create a new author account and attribute the |
| 1615 |
syndicated post to the new account; (2) FeedWordPress can attribute |
| 1616 |
the post to an author if the author's name is familiar, and to a |
| 1617 |
default author (currently, this means the Site Administrator |
| 1618 |
account) if it is not; (3) FeedWordPress can drop posts by |
| 1619 |
unfamiliar authors and syndicate only posts by authors who are |
| 1620 |
already in the database. |
| 1621 |
|
| 1622 |
There are, similarly, two different options for an unfamiliar |
| 1623 |
category: (1) FeedWordPress can create new categories and place the |
| 1624 |
syndicated post in them; (2) FeedWordPress can drop the unfamiliar |
| 1625 |
categories and place syndicated posts only in categories that it is |
| 1626 |
already familiar with. In addition, FeedWordPress 0.95 lets you |
| 1627 |
choose whether posts that are in *no* familiar categories should be |
| 1628 |
syndicated (and placed in the default category for the blog) or |
| 1629 |
simply dropped. |
| 1630 |
|
| 1631 |
You can set the default behavior for both authors and categories |
| 1632 |
using the settings in Options --> Syndication. You can also set |
| 1633 |
different behavior for specific feeds by adding the `unfamiliar |
| 1634 |
author` and / or `unfamiliar categories` settings to the Link Notes |
| 1635 |
section of a feed: |
| 1636 |
|
| 1637 |
unfamiliar author: (create|default|filter) |
| 1638 |
unfamiliar categories: (create|default|filter) |
| 1639 |
|
| 1640 |
A setting of `unfamiliar author: create` will make FeedWordPress |
| 1641 |
create new authors to match unfamiliar author names *for this feed |
| 1642 |
alone*. A setting of `unfamiliar author: default` will make it |
| 1643 |
assign posts from unfamiliar authors to the default user account. A |
| 1644 |
setting of `unfamiliar author: filter` will cause all posts (from |
| 1645 |
this feed alone) to be dropped unless they are by an author already |
| 1646 |
listed in the database. Similiarly, `unfamiliar categories: create` |
| 1647 |
will make FeedWordPress create new categories to match unfamiliar |
| 1648 |
category names *for this feed alone*; `unfamiliar categories: |
| 1649 |
default` will cause it to drop any unfamiliar category names; and |
| 1650 |
`unfamiliar categories: filter` will cause it to *both* drop any |
| 1651 |
unfamiliar category names *and* to only syndicate posts that are |
| 1652 |
placed in one or more familiar categories. |
| 1653 |
|
| 1654 |
These two new features allow users to do some coarse-grained |
| 1655 |
filtering without having to write a PHP filter. Specifically, they |
| 1656 |
offer an easy way for you to filter feeds by category or by author. |
| 1657 |
Suppose, for example, that you only wanted to syndicate posts that |
| 1658 |
your contributors place in the "Llamas" category. You could do so by |
| 1659 |
setting up your installation of WordPress so that the only category |
| 1660 |
in the database is "Llamas," and then use Options --> Syndication to |
| 1661 |
set "Unfamiliar categories" to "don't create new categories and |
| 1662 |
don't syndicate posts unless they match at least one familiar |
| 1663 |
category". Now, when you update, only posts in the "Llamas" category |
| 1664 |
will be syndicated by FeedWordPress. |
| 1665 |
|
| 1666 |
Similarly, if you wanted to filter one particular feed so that only |
| 1667 |
posts by (for example) the author "Earl J. Llama" were syndicated to |
| 1668 |
your site, you could do so by creating a user account for Earl J. |
| 1669 |
Llama, then adding the following line to the settings for the feed |
| 1670 |
in Link Notes: |
| 1671 |
|
| 1672 |
unfamiliar author: filter |
| 1673 |
|
| 1674 |
This will cause any posts from this feed that are not authored by |
| 1675 |
Earl J. Llama to be discarded, and only the posts by Earl J. Llama |
| 1676 |
will be syndicated. (If the setting is used on one specific feed, it |
| 1677 |
will not affect how posts from other feeds are syndicated.) |
| 1678 |
|
| 1679 |
== License == |
| 1680 |
|
| 1681 |
The FeedWordPress plugin is copyright © 2005-2010 by Charles Johnson. It uses |
| 1682 |
code derived or translated from: |
| 1683 |
|
| 1684 |
- [wp-rss-aggregate.php][] by [Kellan Elliot-McCrea](kellan@protest.net) |
| 1685 |
- [MagpieRSS][] by [Kellan Elliot-McCrea](kellan@protest.net) |
| 1686 |
- [Ultra-Liberal Feed Finder][] by [Mark Pilgrim](mark@diveintomark.org) |
| 1687 |
- [WordPress Blog Tool and Publishing Platform](http://wordpress.org/) |
| 1688 |
|
| 1689 |
according to the terms of the [GNU General Public License][]. |
| 1690 |
|
| 1691 |
This program is free software; you can redistribute it and/or modify it under |
| 1692 |
the terms of the [GNU General Public License][] as published by the Free |
| 1693 |
Software Foundation; either version 2 of the License, or (at your option) any |
| 1694 |
later version. |
| 1695 |
|
| 1696 |
This program is distributed in the hope that it will be useful, but WITHOUT ANY |
| 1697 |
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A |
| 1698 |
PARTICULAR PURPOSE. See the GNU General Public License for more details. |
| 1699 |
|
| 1700 |
[wp-rss-aggregate.php]: http://laughingmeme.org/archives/002203.html |
| 1701 |
[MagpieRSS]: http://magpierss.sourceforge.net/ |
| 1702 |
[HTTP Navigator 2]: http://www.keyvan.net/2004/11/16/http-navigator/ |
| 1703 |
[Ultra-Liberal Feed Finder]: http://diveintomark.org/projects/feed_finder/ |
| 1704 |
[GNU General Public License]: http://www.gnu.org/copyleft/gpl.html |
| 1705 |
|
| 1706 |
|