PluginProbe
FeedWordPress / 0.9
FeedWordPress v0.9
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.9, at README.text

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