PluginProbe
FeedWordPress / 0.97
FeedWordPress v0.97
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
← All changes | README.text +144 -142 0.990.97 View file →
@@ -1,107 +1,93 @@
1 1 FeedWordPress
2 2 =============
3 3
4 4 * Author: [Charles Johnson](http://radgeek.com/contact)
5 -* Version: 0.99
5 +* Version: 0.97
6 6 * Project URI: <http://projects.radgeek.com/feedwordpress>
7 7 * License: GPL 2. See License below for copyright jots and tittles.
8 8
9 9 Introduction
10 10 ------------
11 -FeedWordPress is an Atom/RSS aggregator for the WordPress weblog software. It
12 -syndicates content from newsfeeds that you choose into your WordPress webblog;
13 -if you syndicate several newsfeeds then you can use WordPress's posts database
14 -and templating engine as the back-end of an aggregation ("planet") website. I
15 -originally developed it because I needed a more flexible replacement for
16 -[Planet][] to use at [Feminist Blogs][].
11 +FeedWordPress is an Atom/RSS aggregator for WordPress 1.5. It syndicates content
12 +from newsfeeds that you choose into your WordPress blog; if you syndicate
13 +several newsfeeds then you can use WordPress's posts database and templating
14 +engine as the back-end of an aggregation ("planet") website. I originally
15 +developed it because I needed a more flexible replacement for [Planet][] to
16 +use at [Feminist Blogs][].
17 17
18 18 [Planet]: http://www.planetplanet.org/ "Planet Planet"
19 19 [Feminist Blogs]: http://www.feministblogs.org/
20 20
21 21 FeedWordPress is designed with flexibility, ease of use, and ease of
22 -configuration in mind. You'll need a working installation of WordPress (version
23 -[2.3][], [2.2][], [2.1][], [2.0][] or [1.5][]), and also FTP or SFTP access to
24 -your web host. The ability to create cron jobs on your web host would be very
25 -helpful but it's not absolutely necessary. You *don't* need to tweak any
26 -plain-text configuration files and you *don't* need shell access to your web
27 -host to make it work. (Although, I should point out, web hosts that *don't*
28 -offer shell access are *bad web hosts*.)
22 +configuration in mind. You'll need a working installation of [WordPress
23 +1.5][] and FTP or SFTP access to your web host. The ability to create cron
24 +jobs on your web host would be very helpful but it's not absolutely
25 +necessary. You *don't* need to tweak any plain-text configuration files and
26 +you *don't* need shell access to your web host to make it work. (Although, I
27 +should point out, web hosts that *don't* offer shell access are *bad web
28 +hosts*.)
29 29
30 - [2.3]: http://codex.wordpress.org/Version_2.3
31 - [2.2]: http://codex.wordpress.org/Version_2.2
32 - [2.1]: http://codex.wordpress.org/Version_2.1
33 - [2.0]: http://codex.wordpress.org/Version_2.0
34 - [1.5]: http://codex.wordpress.org/Version_1.5
30 + [WordPress 1.5]: http://wordpress.org/development/2005/02/strayhorn/
35 31
36 32 Installation
37 33 ------------
38 34 ### Requirements ###
39 35
40 -To use version 0.99 of FeedWordPress, you will need:
36 +To use version 0.97 of FeedWordPress, you will need:
41 37
42 -1. an installed and configured copy of WordPress 2.3.x, 2.2.x, 2.1.x,
43 - 2.0.x, or 1.5.x. (FeedWordPress currently *will not work* with older
44 - versions of WordPress, or with WordPress MU.)
38 +1. an installed configured copy of WordPress 1.5.x. (It *won't work* with
39 + WP 1.2 or WP 1.6 development builds.)
45 40
46 41 2. FTP or SFTP access to your web host
47 42
43 +And you'll probably also want to have either:
44 +
45 +1. the ability to create cron jobs on your web host, or at least
46 +
47 +2. a computer of your own and always-on Internet access
48 +
48 49 ### Installation ###
49 50
50 51 #### Upgrades ####
51 52
52 -To *upgrade* an existing installation of FeedWordPress to version 0.99:
53 +To *upgrade* an existing installation of FeedWordPress to version 0.97:
53 54
54 55 1. Download the FeedWordPress archive in zip or gzipped tar format and
55 - extract the files on your computer.
56 + extract the files on your computer. Replace your existing FeedWordPress
57 + files with the new files. Be sure to upgrade `rss-functions.php` if you
58 + use the optional MagpieRSS upgrade, or don't use it yet but do want to
59 + syndicate Atom 1.0 feeds.
56 60
57 -2. If you are upgrading from version 0.98 or earlier, then you need to
58 - create a new directory named `feedwordpress` in the `wp-content/plugins`
59 - directory of your WordPress installation, and you also need to *delete*
60 - your existing `wp-content/update-feeds.php` and
61 - `wp-content/plugins/feedwordpress.php` files. The file structure for
62 - FeedWordPress has changed and the files from your old version will not
63 - be overwritten, which could cause conflicts if you leave them in place.
61 +2. **Immediately** log in to the WordPress Dashboard, and go to Options -->
62 + Syndicated. Follow the directions to launch the database upgrade
63 + procedure. The new version of FeedWordPress incorporates some
64 + long-needed improvements, but old meta-data needs to be updated to
65 + prevent duplicate posts and other possible maladies. If you're upgrading
66 + an existing installation, updates and FeedWordPress template functions
67 + *will not work* until you've done the upgrade.
64 68
65 -3. Upload the new PHP files to `wp-content/plugins/feedwordpress`,
66 - overwriting any existing FeedWordPress files that are there. Also be
67 - sure to upgrade `wp-includes/rss.php` and
68 - `wp-includes/rss-functions.php` if you use the optional MagpieRSS
69 - upgrade, or don't use it yet but do want to syndicate Atom 1.0 feeds.
69 +3. Take a coffee break while the upgrade runs. It should, hopefully, finish
70 + within a few minutes even on relatively large databases.
70 71
71 -3. If you are upgrading from version 0.96 or earlier, **immediately** log
72 - in to the WordPress Dashboard, and go to Options --> Syndicated. Follow
73 - the directions to launch the database upgrade procedure. The new
74 - versions of FeedWordPress incorporate some long-needed improvements, but
75 - old meta-data needs to be updated to prevent duplicate posts and other
76 - possible maladies. If you're upgrading an existing installation, updates
77 - and FeedWordPress template functions *will not work* until you've done
78 - the upgrade. Then take a coffee break while the upgrade runs. It should,
79 - hopefully, finish within a few minutes even on relatively large
80 - databases.
72 +4. `update-feeds.php` has been overhauled to improve performance and ease
73 + of use, and also to make errors easier to detect and eliminate. The
74 + overhaul doesn't require any changes to your set up *if* you used
75 + XML-RPC pings, or command-line PHP, to do scheduled updates. It *does*
76 + affect you if you used curl or some other tool to send HTTP requests to
77 + `update-feeds.php`: your old cron job will probably not work anymore.
78 + See [Setting Up Feed Updates][] below to get scheduled updates back on
79 + track.
81 80
82 -4. If you are upgrading from version 0.98 or earlier, note that the old
83 - `update-feeds.php` has been eliminated in favor of a (hopefully) more
84 - humane method for automatic updating. If you used a cron job for
85 - scheduled updates, it will not work anymore, but there is another,
86 - simpler method which will. See [Setting Up Feed Updates][] below to get
87 - scheduled updates back on track.
88 -
89 81 5. Enjoy your new installation of FeedWordPress.
90 82
91 83 #### New Installations ####
92 84
93 -1. Download the FeedWordPress archive in zip or gzipped tar format and
94 - extract the files on your computer.
95 -
96 -2. Create a new directory named `feedwordpress` in the `wp-content/plugins`
97 - directory of your WordPress installation. Use an FTP or SFTP client to
98 - upload the contents of the `wp-content/plugins/feedwordpress` directory
99 - in the FeedWordPress archive to the new directory that you just created
100 - on your web host.
101 -
102 -3. (Optional) Upgrade the copy of MagpieRSS packaged with WordPress by
103 - installing the new `rss.php` and `rss-functions.php` (archived in
85 +1. Install `feedwordpress.php` in your WordPress `plugins` directory
86 + and `update-feeds.php` in your WordPress `wp-content` directory.
87 +
88 +2. (Optional) Upgrade the copy of MagpieRSS packaged with WordPress by
89 + installing the new `rss-functions.php` (archived in
104 90 `OPTIONAL/wp-includes`) into your WordPress `wp-includes` directory.
105 91 Upgrading MagpieRSS is necessary if you want to take advantage of
106 92 support for Atom 1.0, multiple post categories, RSS enclosures, and
107 93 multiple character encodings. (Note, however, that support for
@@ -110,99 +96,115 @@
110 96 a lot of feeds with alternate encodings you should make sure that
111 97 your installation of PHP is up-to-date and that you keep a copy of
112 98 the old MagpieRSS around to compare results.)
113 99
114 -4. Log in to the WordPress Dashboard and activate the FeedWordPress
100 +3. Log in to the WordPress Dashboard and activate the FeedWordPress
115 101 plugin.
116 102
117 -5. While you're at the Dashboard, once the plugin is activated, you can
118 - go to **Syndication --> Options** and set (1) the link category that
103 +4. While you're at the Dashboard, once the plugin is activated, you can
104 + go to Options --> Syndication and set (1) the link category that
119 105 FeedWordPress will syndicate links from (by default, "Contributors"),
120 - and (2) whether FeedWordPress will use automatic updates or only
121 - manual updates.
106 + and (2) a "secret word" for your RPC-XML updating interface. This
107 + provides some light security by keeping passing ruffians from saying
108 + "Update all the feeds" at will to your FeedWordPress installation.
122 109
123 -5. Go to the main **Syndication** page to set up the list of sites that
124 - you want FeedWordPress to syndicate onto your blog. (If you have the
125 - feeds you want to aggregate in a service such as Bloglines,
126 - you may prefer to export them to an OPML file and use WordPress's
127 - **Blogroll --> Import Links** to import them into the contributors
128 - category.)
110 +5. Go to Links --> Syndicated to set up the list of sites that you want
111 + FeedWordPress to syndicate onto your blog. (If you have the feeds you
112 + want to aggregate in a service such as Bloglines, you may prefer to
113 + export them to an OPML file and use WordPress's Links --> Import to
114 + import them into the contributors category.)
129 115
130 116 #### Setting Up Feed Updates ####
131 117
132 -FeedWordPress is now ready to accept posts from its syndication sources. The
133 -next thing to do is to make sure it knows *when* to go get them.
118 +FeedWordPress is now ready to accept posts from its syndication sources.
119 +Unfortunately, it doesn't yet know *when* to go get them. (**This may be true
120 +even if you are upgrading an existing installation of FeedWordPress:** your old
121 +cron job will still work if you used command-line PHP or blogging software pings
122 +to do updates, but it will need to be fixed if you used curl or another tool to
123 +send HTTP requests to `update-feeds.php`.)
134 124
135 -**N.B.:** If you are upgrading from version 0.981 or earlier of FeedWordPress,
136 -the system for checking for new posts has been overhauled, hopefully making it
137 -more humane, and also easier to use for people who do not have access to task
138 -scheduling tools such as `cron`. You will need to re-read this section and
139 -change your set-up accordingly.
125 +You can load in syndicated posts for the first time by pointing your web browser
126 +to `update-feeds.php`. If you have WordPress installed at, say,
127 +<http://www.zyx.com/blog> then you should point your browser to
128 +<http://www.zyx.com/blog/wp-content/update-feeds.php> and log in as any user in
129 +the user database. (You may want to create a new "dummy" user for doing
130 +scheduled updates, using **Users --> Authors & Users --> Add New User**. Tell
131 +FeedWordPress to update all feeds, and you'll get the first wave of posts
132 +imported into the database.
140 133
141 -FeedWordPress allows you to choose whether it will check for new posts
142 -automatically, or only when you manually request for it to check. By default,
143 -FeedWordPress opts for the **manual** option -- so that you can get your feeds
144 -set up properly before FeedWordPress begins importing new posts. If you want
145 -to use automatically scheduled updates, remember to enable them in
146 -**Syndication --> Options** after you finish setting up FeedWordPress.
134 +Congratulations! You should now have an aggregator site full of delicious
135 +syndicated content hot off of the newswires. Now you just need a way to *keep*
136 +the content freshly updated. Unless you enjoy manually browsing to
137 +`update-feeds.php` every hour on the hour, you'll probably want to do this by
138 +setting up your site for automated updates.
147 139
148 -##### Manual Feed Updates #####
140 +You can pull that off in one of two ways, or by a mixture of both:
141 +
142 +1. **The Blogging Software Ping Method:** You can get all of your
143 + contributors to add you to the list of URIs that they notify of updates:
144 + while FeedWordPress is activated, it will accept XML-RPC "recently
145 + updated" pings in the standard format accepted by Weblogs.com,
146 + Ping-O-Matic, Technorati, and other services. Most blogging software
147 + allows users to add a URI to the list of URIs that get pinged on each
148 + update. (See, for example, Options --> Writing --> Update Services in
149 + WordPress, or Configuration --> Preferences --> Publicity / Remote
150 + Interfaces / TrackBack in Movable Type.)
151 +
152 + If you can get a contributor to add your XML-RPC URI to her
153 + services-to-ping list (if you have WordPress installed at
154 + <http://www.zyx.com/blog>, say, the URI to add should be
155 + <http://www.zyx.com/blog/xmlrpc.php>), then whenever she updates her
156 + blog, her blogging software will ping your FeedWordPress installation,
157 + and FeedWordPress will look up her feed to grab the new posts off of
158 + it.
149 159
150 -To manually check for new posts, log in to the WordPress Dashboard and go to the
151 -main page under **Syndication**. You can use the "Update feeds now" button to
152 -check for new posts on feeds that are due for a scheduled update, or use the
153 -checkboxes and "Update Checked Feeds" button to force FeedWordPress to check one
154 -or more specific feeds for new posts. FeedWordPress will check the selected
155 -feed or feeds for new posts, and import any new content available.
160 +2. **The Scheduled Update Job Method:** You may very well not be able to
161 + get all your contributors to add your site to their blogging software's
162 + ping list, and even if you do you may want to have a back-up option to
163 + catch updates later even if the ping fails to go through on one
164 + particular occasion. You'll need to create a scheduled job to
165 + periodically check for updates on *all* the feeds. You'll need either
166 + (a) the ability to create cron jobs on your web host or (b) access to
167 + another computer with a reliable, always-on Internet connection.
168 +
169 + If you *can* create a crontab on your web host, then the best thing to
170 + do is to create a cron job that will run update-feeds.php through the
171 + PHP command-line interface. For example, if you have WordPress installed
172 + in `~/www/wp` (where ~ is your home directory), you might insert the
173 + following line into your crontab:
174 +
175 + 25 * * * * cd $HOME/www/wp/wp-content ; php -q update-feeds.php
156 176
157 -##### Automatic Feed Updates #####
177 + If you *don't* have access to (a), you can still save the day using
178 + another computer with always-on Internet access that sends a POST
179 + request to the `update-feeds.php` URI on a regular schedule. So, for
180 + example, if you have WordPress installed at <http://www.zyx.com/blog>,
181 + and you have a dummy user in your WordPress database with the login name
182 + 'login' and the password 'pass', then you could add the following line
183 + to the crontab on a home Linux box:
184 +
185 + 25 * * * * curl --user login:pass http://www.zyx.com/blog/wp-content/update-feeds.php -d update=quiet
158 186
159 -If you choose an automatic update schedule, then FeedWordPress will
160 -automatically check for new posts based on a schedule you determine. When
161 -automatic updates are enabled, FeedWordPress will check for new posts when
162 -(1) at least ten minutes have passed since the last update, and (2) a viewer
163 -visits your FeedWordPress-enabled blog. (If you want the interval of time to
164 -be shorter or longer, you can change the interval in the Dashboard under
165 -**Syndication --> Options**.)
187 + The `-d update=quiet` switch ensures that (1) `update-feeds.php` will
188 + receive an HTTP POST request rather than an HTTP GET request (which
189 + is important, since it won't take any actions with side-effects -- such
190 + as checking for new posts -- unless it receives an HTTP POST); it also
191 + tells it to suppress the HTML output that it would generate for normal
192 + web browsers, and only to output text if it encounters errors (this will
193 + keep the number of e-mails you receive from the Cron Daemon to a
194 + minimum).
166 195
167 -Note that this is not quite the same thing as precisely scheduled updating.
168 -If you get at least one viewer every ten minutes, then FeedWordPress will be
169 -regularly checking for new posts on schedule; if not, not. But for a relatively
170 -active aggregator blog this is probably close enough for government work.
196 + If you are using Windows XP and have a version of curl (such as the
197 + version included in [Cygwin][]), you can create a Scheduled Task to
198 + similar effect.
171 199
172 -However, if you want to ensure regular updates, and you have access to a
173 -task-scheduling tool such as `cron`, you can use it to schedule regular
174 -checks for updates on a fixed schedule. For example, using `cron`, you can
175 -easily ensure that FeedWordPress checks for new posts regularly by adding the
176 -following line to your crontab, substituting the actual address of your
177 -WordPress installation for "http://www.zyx.com/blog/":
200 + [Cygwin]: http://www.cygwin.com/
178 201
179 - */15 * * * * curl http://www.zyx.com/blog/ > /dev/null
180 -
181 -If you don't have direct access to `cron` or a similar scheduling tool, you
182 -can use online tools such as [WebCron](http://www.webcron.org/?lang=en) to
183 -schedule a regular fetch of your blog's front page to much the same effect.
184 -
185 -##### Feed Updates using XML-RPC #####
186 -
187 -FeedWordPress also allows syndicated blogs to notify you of updates using the
188 -XML-RPC "recently updated" pings (in the standard format accepted by
189 -Weblogs.com, Ping-O-Matic, Technorati, and other blogging services). Most
190 -blogging software allows users to add a URI to the list of URIs that get pinged
191 -with each new update -- see, for example, **Options --> Writing --> Update
192 -Services** in WordPress, or **Configuration --> Preferences --> Publicity /
193 -Remote Interfaces / TrackBack** in Movable Type. If you can get a contributor
194 -to add your XML-RPC URI to her list of update services to ping, then whenever
195 -she updates her blog, her blogging software will notify your FeedWordPress
196 -installation, and FeedWordPress will look up her feed to grab the new posts off
197 -of it. (If you have WordPress installed at <http://www.zyx.com/blog>, say, the
198 -URI for her to ping should be <http://www.zyx.com/blog/xmlrpc.php>).
199 -
200 202 Basic Concepts
201 203 --------------
202 -FeedWordPress is written as a plugin for the WordPress weblog software. It is
203 -designed to store all the data it needs within the WordPress database and to
204 -make that data easy to manage from within the WordPress Dashboard.
204 +FeedWordPress is written as a plugin for [WordPress 1.5][]. It is designed to
205 +store all the data it needs within the WordPress database and to make that data
206 +easy to manage from within the WordPress Dashboard.
205 207
206 208 ### Contributors / Newsfeeds ###
207 209
208 210 FeedWordPress uses the WordPress Links database to keep a list of the feeds from
@@ -368,10 +370,10 @@
368 370 (If a feed doesn't, then FeedWordPress will create an author's name based on
369 371 the title of the feed from which the item was taken.) This information is used
370 372 to determine the WordPress user that the post will be attributed to. Given the
371 373 name of the author, FeedWordPress looks for authors in the WordPress database
372 -with the same name as either (1) their login, (2) their display name, (3) their
373 -e-mail address (if given), or (4) one of the "aliases" listed in the
374 +with the same name as either (1) their login, (2) their first name, (3) their
375 +nickname, (4) their full name, or (5) one of the "aliases" listed in the
374 376 user's profile.
375 377
376 378 __Aliases:__ If there is an author who posts under more than one name (for
377 379 example, one of our contributors at [Feminist Blogs][] posts on several
@@ -478,10 +480,10 @@
478 480 For more information, see <http://projects.radgeek.com/feedwordpress/api>.
479 481
480 482 License
481 483 -------
482 -The FeedWordPress plugin is copyright (c) 2005-2007 by Charles Johnson. It uses
483 -code derived or translated from:
484 +The FeedWordPress plugin is copyright (c) 2005 by Charles Johnson. It uses code
485 +derived or translated from:
484 486
485 487 - [wp-rss-aggregate.php][] by [Kellan Elliot-McCrea](kellan@protest.net)
486 488 - [MagpieRSS][] by [Kellan Elliot-McCrea](kellan@protest.net)
487 489 - [HTTP Navigator 2][] by [Keyvan Minoukadeh](keyvan@k1m.com)