PluginProbe
FeedWordPress / 0.91
FeedWordPress v0.91
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 / README.text

README.text in FeedWordPress 0.91, at README.text

296 lines 13.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 FeedWordPress
2 =============
3
4 * Author: [Charles Johnson](http://www.radgeek.com/contact)
5 * Version: 0.91
6 * Project URI: <http://projects.radgeek.com/feedwordpress>
7 * License: GPL. See License below for copyright jots and tittles.
8
9 Introduction
10 ------------
11 FeedWordPress is an Atom/RSS aggregator for WordPress. It syndicates content
12 from newsfeeds that you select into your WordPress blog; if you syndicate
13 several newsfeeds then you can WordPress's posts database and templating engine
14 as the back-end of an aggregation ("planet") website. I originally developed it
15 because I needed a more flexible replacement for [Planet][] to use at
16 [Feminist Blogs][].
17
18 [Planet]: http://www.planetplanet.org/ "Planet Planet"
19 [Feminist Blogs]: http://www.feministblogs.org/
20
21 FeedWordPress is designed with flexibility, ease of use, and ease of
22 configuration in mind. You'll need a working installation of [WordPress 1.5][]
23 and FTP or SFTP access to your web host. The ability to create cron jobs on your
24 web host would be very helpful but it's not absolutely necessary. You *don't*
25 need to tweak any plain-text configuration files and you *don't* need shell
26 access to your web host to make it work. (Although, I should point out, web
27 hosts that *don't* offer shell access are *bad web hosts*.)
28
29 [WordPress 1.5]: http://wordpress.org/development/2005/02/strayhorn/
30
31 Installation & Requirements
32 ---------------------------
33 You'll need a website with WordPress 1.5 installed and configured and FTP or
34 SFTP access to your web space. You'll probably also want to have either (1)
35 the ability to create cron jobs on your web host, or (2) a computer of your
36 own that has always-on Internet access.
37
38 1. Install `feedwordpress.php` in your WordPress `plugins` directory and
39 `update.php` in your WordPress `wp-content` directory.
40
41 2. (Optional) Upgrade the copy of MagpieRSS packaged with WordPress by
42 installing the new `rss-functions.php` (archived in
43 `OPTIONAL/wp-includes`) into your WordPress `wp-includes` directory.
44
45 3. Log in to the WordPress Dashboard and activate the FeedWordPress plugin.
46 Go to Options --> Syndication to set up initial settings for the
47 syndication link category ("Contributors") by default and the RPC secret
48 word (blank by default, but you should probably set it to something.)
49
50 4. Set up links for syndication from the WordPress Dashboard using
51 Links --> Syndicated or Links --> Import.
52
53 5. FeedWordPress is now *ready* to feed syndicated content into WordPress.
54 In order for it to actually receive that content, either (1) have your
55 contributors add WordPress's XML-RPC URI to their blog's list of URIs
56 to ping when they update posts, (2) set up a cron job to check in on all
57 the feeds on a regular basis, or (3) both. If you do (2), you can either
58 set up a job to run `php update-feeds.php` on your web host, or set one
59 up on any computer with always-on Internet access to request
60 `update-feeds.php` over the web.
61
62 If your copy of WordPress is installed at <http://www.zyx.com/blog>, and
63 you set the secret word for XML-RPC pings to "foo", then your XML-RPC
64 URI will be <http://www.zyx.com/blog/xmlrpc.php>, and the URI to request
65 for `update-feeds.php` to update all feeds will be
66 <http://www.zyx.com/blog/wp-content/update-feeds.php?shibboleth=foo>
67
68 For detailed installation instructions, point your web browser to
69 <http://projects.radgeek.com/feedwordpress/install>.
70
71 Feed Settings
72 -------------
73
74 Once you have your links configured and regular feed updates scheduled, you can
75 mostly leave FeedWordPress to run on its own. If you need to add, remove, or
76 change information for any contributors, you can do so from the WordPress
77 Dashboard under Links --> Syndicated. If you want to distribute the labor of
78 adding, updating, and managing feeds, you can use the WordPress login and access
79 privileges system. Users with an access level of 5 or greater can add or modify
80 syndicated links, and change syndication options.
81
82 All the information for a syndicated feed is managed through the WordPress Links
83 database. Feeds in the category to be syndicated (by default, "Contributors")
84 use several fields of the standard WordPress Link record:
85
86 - The Link URI is used to store a URI to the front page (*not* the feed!)
87 of the syndicated website.
88
89 - The Link Name is used to store the title of the syndicated website.
90
91 - The Short Description is used to store the tagline of the syndicated
92 website.
93
94 - The RSS URI is used to store the URI for the feed to be syndicated.
95
96 - The Link Notes are used to store a collection of manually-encoded and
97 automatically-generated settings that apply to this feed. The format of
98 settings in Link Notes is:
99
100 key1: value1
101 key2: value2
102 key3: value3
103 feed/key1: value1
104 feed/key2: value2
105
106 And so on. Values that are prefixed by 'feed/' are automatically
107 generated from feed data every time the feed syndicated by this link is
108 checked for updates. Values without the prefix are set manually by the
109 user.
110
111 Most settings in the Link Notes have no effect on FeedWordPress, but can be
112 accessed from templates using the ``get_feed_meta()`` template function in a
113 post context. For example, many aggregator sites use a "face" image for each
114 feed to visually distinguish posts from different feeds. To implement a face
115 feature, you could add a line like this to each feed's Link Notes section:
116
117 face: http://www.zyx.com/mugs/ugly
118
119 The URI should be changed out for each feed to point to the appropriate image,
120 of course. Then, to use the setting from within a template:
121
122 // In a post context
123 <?php $img = get_feed_meta('face'); if (strlen($img) > 0): ?>
124 <img src="<?=$img?>" alt="" />
125 <?php endif; ?>
126
127 ... which will display the image, if any, whose URI is set in the "face" setting
128 for the feed that post comes from. If there is no "face" setting for a
129 particular feed, ``get_feed_meta()`` will return an empty string and no image
130 will be displayed.
131
132 Not all feed settings are only for templates. Some affect how FeedWordPress
133 processes posts from that feed. Currently, the special settings are:
134
135 - `cats:` a colon-separated list of default categories for any post coming
136 from this feed. So, for example, a this line in its Notes section:
137
138 cats: computers:web
139
140 ... will make FeedWordPress place any posts syndicated from that feed in
141 the "computers" and "web" categories (*in addition to*, not *instead of*
142 any categories that are applied to the post in the feed)
143
144 - `hardcode name: (yes|no)`
145
146 A yes/no setting. By default, FeedWordPress updates the value of the
147 Link Name field automatically to reflect the title that is reported by a
148 syndicated feed. (So, for example, if one of your contributors changes
149 the title of her weblog, the change will be reflected on your
150 Contributors list after the next update.) To manually set the Link Name
151 and prevent your new name from being overridden by FeedWordPress (so as
152 to, for example, use an abbreviated form of the site's title for reasons
153 of space), change the Link Name to a title of your choosing and then add
154 a line like this to the Link Notes section:
155
156 hardcode name: yes
157
158 If `hardcode name` is absent, or set to a value other than `yes`,
159 FeedWordPress will take that as a 'no' and follow the default behavior.
160
161 - `hardcode description: (yes|no)`
162
163 A yes/no setting. By default, FeedWordPress updates the value of the
164 Link Description field automatically to reflect the tagline or
165 description that is reported by a syndicated feed. To manually set the
166 Link Description and prevent your new description from being overridden
167 by FeedWordPress (so as to, for example, use an abbreviated form of the
168 site's tagline for reasons of space), change the Link Description to a
169 title of your choosing and then add a line like this to the Link Notes
170 section:
171
172 hardcode description: yes
173
174 If `hardcode description` is absent, or set to a value other than `yes`,
175 FeedWordPress will take that as a 'no' and follow the default behavior.
176
177 - `hardcode categories: (yes|no)`
178
179 A yes/no setting. FeedWordPress places each syndicated post in a set of
180 categories within WordPress. It gets that list from two sources:
181
182 1. Categories that you set explicitly for each feed (see the `cats` setting above)
183
184 2. Categories that the original author placed the post in on her blog
185
186 If any of the categories on the list do not exist, they are created automatically.
187
188 If you want the posts from a particular feed to be placed *only* in the
189 categories that you set manually (see the `cats` setting above), and not
190 in the categories that they are in on the Contributor's blog, then add
191 a line like this to the Link Notes section:
192
193 hardcode categories: yes
194
195 If `hardcode categories` is absent, or set to a value other than `yes`,
196 FeedWordPress will take that as a 'no' and follow the default behavior.
197
198 - `post status:` sets the default post status for posts from this feed
199 This can be 'publish', 'draft', or 'private'. By default, it is set to
200 'publish' (syndicated posts go online immediately).
201
202 - `comment status:` sets the default status for comments on posts
203 syndicated from this feed. By default, all comments on syndicated posts
204 are closed, but you can set it to 'open', 'closed', or 'registered_only'
205 for particular feeds.
206
207 - `ping status:` sets the default status for receiving TrackBack and
208 PingBack pings on posts syndicated from this feed. By default,
209 syndicated posts are closed to pings, but you can set this to 'open' or
210 'closed' for particular feeds.
211
212 Template API
213 ------------
214 When activated, FeedWordPress makes the following functions available for use by
215 themes/templates:
216
217 * ``is_syndicated()``: in a post context, returns ``TRUE`` if the post was
218 syndicated from another website, or ``FALSE`` if it was originally
219 posted here
220
221 * ``get_syndication_permalink()``: in a post context, returns the URI of
222 the permalink for this post *on the website it was syndicated from*
223
224 * ``the_syndication_permalink()``: in a post context, outputs the value
225 returned by ``get_syndication_permalink()``
226
227 * ``get_syndication_source_link()``: in a post context, returns the URI of
228 the front page (*not* the feed) of the website this post was syndicated
229 from
230
231 * ``the_syndication_source_link()``: in a post context, outputs the URI
232 returned by ``get_syndication_source_link()``
233
234 * ``get_syndication_source()``: in a post context, returns the
235 human-readable title of the website that a syndicated post was
236 syndicated from
237
238 * ``the_syndication_source()``: in a post context, outputs the value
239 returned by ``get_syndication_source()``
240
241 * ``get_syndication_feed():`` in a post context, returns the URI of the
242 feed (*not* the front page) that this post was syndicated from
243
244 * ``the_syndication_feed()``: in a post context, outputs the value
245 returned by ``get_syndication_feed()``
246
247 * ``get_feed_meta($key)``: in a post context, returns the value, if any,
248 of the feed setting ``$key`` for the feed that this post was syndicated
249 from
250
251 By default, FeedWordPress also places a filter on the standard functions
252 ``get_permalink()`` and ``the_permalink()`` that substitutes the URI returned by
253 ``get_syndication_permalink()`` for the URI generated by WordPress. This means
254 that by default the permalinks listed on your website and in your newsfeed will
255 link to the location of the posts on the source website, *not* to their location
256 on your website. You can switch this behavior on or off at Options -->
257 Syndication in the WordPress Dashboard.
258
259 ### Plugin API ###
260
261 FeedWordPress creates five hooks through the WordPress plugin architecture that
262 you can plug in to using PHP WordPress plugins, to supplement ordinary
263 FeedWordPress behavior, or to filter posts according to criteria that you set.
264 The hooks are the action ``feedwordpress_update``, the action
265 ``feedwordpress_check_feed``, the action ``feedwordpress_update_complete``, the
266 filter ``syndicated_item``, the filter ``syndicated_post``, the action
267 ``post_syndicated_item``, and the action ``update_syndicated_item``.
268
269 For more information, see <http://projects.radgeek.com/feedwordpress/use>.
270
271 License
272 -------
273 The FeedWordPress plugin is copyright (c) 2005 by Charles Johnson. It uses code
274 derived or translated from:
275
276 - [wp-rss-aggregate.php][] by [Kellan Elliot-McCrea](kellan@protest.net)
277 - [HTTP Navigator 2][] by [Keyvan Minoukadeh](keyvan@k1m.com)
278 - [Ultra-Liberal Feed Finder][] by [Mark Pilgrim](mark@diveintomark.org)
279
280 according to the terms of the [GNU General Public License][].
281
282 This program is free software; you can redistribute it and/or modify it under
283 the terms of the [GNU General Public License][] as published by the Free Software
284 Foundation; either version 2 of the License, or (at your option) any later
285 version.
286
287 This program is distributed in the hope that it will be useful, but WITHOUT ANY
288 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
289 PARTICULAR PURPOSE. See the GNU General Public License for more details.
290
291 [wp-rss-aggregate.php]: http://laughingmeme.org/archives/002203.html
292 [HTTP Navigator 2]: http://www.keyvan.net/2004/11/16/http-navigator/
293 [Ultra-Liberal Feed Finder]: http://diveintomark.org/projects/feed_finder/
294 [GNU General Public License]: http://www.gnu.org/copyleft/gpl.html
295
296