PluginProbe
FeedWordPress / 0.99
FeedWordPress v0.99
trunk 0.8 0.9 0.91 0.95 0.96 0.97 0.98 0.981 0.99 0.991 0.992 0.993 2008.1030 2008.1101 2008.1105 2008.1214 2009.0612 2009.0613 2009.0618 2009.0707 2009.1111 2009.1112 2010.0127 2010.0528 All 65 releases
feedwordpress / ChangeLog.text

ChangeLog.text in FeedWordPress 0.99, at ChangeLog.text

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