1
|
|
2
|
|
3
|
"It feeds"
|
4
|
|
5
|
|
6
|
FEEDS
|
7
|
=====
|
8
|
|
9
|
An import and aggregation framework for Drupal.
|
10
|
http://drupal.org/project/feeds
|
11
|
|
12
|
Features
|
13
|
========
|
14
|
|
15
|
- Pluggable import configurations consisting of fetchers (get data) parsers
|
16
|
(read and transform data) and processors (create content on Drupal).
|
17
|
-- HTTP upload (with optional PubSubHubbub support).
|
18
|
-- File upload.
|
19
|
-- CSV, RSS, Atom parsing.
|
20
|
-- Creates nodes or terms.
|
21
|
-- Creates lightweight database records if Data module is installed.
|
22
|
http://drupal.org/project/data
|
23
|
-- Additional fetchers/parsers or processors can be added by an object oriented
|
24
|
plugin system.
|
25
|
-- Granular mapping of parsed data to content elements.
|
26
|
- Import configurations can be piggy backed on nodes (thus using nodes to track
|
27
|
subscriptions to feeds) or they can be used on a standalone form.
|
28
|
- Unlimited number of import configurations.
|
29
|
- Export import configurations to code.
|
30
|
- Optional libraries module support.
|
31
|
|
32
|
Requirements
|
33
|
============
|
34
|
|
35
|
- CTools 1.x
|
36
|
http://drupal.org/project/ctools
|
37
|
- Job Scheduler
|
38
|
http://drupal.org/project/job_scheduler
|
39
|
- Drupal 7.x
|
40
|
http://drupal.org/project/drupal
|
41
|
- PHP safe mode is not supported, depending on your Feeds Importer configuration
|
42
|
safe mode may cause no problems though.
|
43
|
|
44
|
Installation
|
45
|
============
|
46
|
|
47
|
- Install Feeds, Feeds Admin UI.
|
48
|
- To get started quick, install one or all of the following Feature modules:
|
49
|
Feeds News, Feeds Import, Feeds Fast News (more info below).
|
50
|
- Make sure cron is correctly configured http://drupal.org/cron
|
51
|
- Go to import/ to import data.
|
52
|
|
53
|
SimplePie Installation
|
54
|
======================
|
55
|
|
56
|
- To install the SimplePie parser plugin, complete the following steps:
|
57
|
1. Download SimplePie from http://simplepie.org/downloads. The recommended
|
58
|
version is: 1.3.
|
59
|
2. Decompress the downloaded zip file.
|
60
|
3. Rename the uncompressed folder to 'simplepie'.
|
61
|
For example rename 'simplepie-simplepie-e9472a1' to 'simplepie'.
|
62
|
4. Move the folder to sites/all/libraries. The final directory structure
|
63
|
should be sites/all/libraries/simplepie.
|
64
|
5. Flush the Drupal cache.
|
65
|
6. The SimplePie parser should be available now in the list of parsers.
|
66
|
|
67
|
Feature modules
|
68
|
===============
|
69
|
|
70
|
Feeds ships with three feature modules that can be enabled on
|
71
|
admin/build/modules or - if you are using Features - on admin/build/features.
|
72
|
http://drupal.org/project/features
|
73
|
|
74
|
The purpose of these modules is to provide a quick start for using Feeds. You
|
75
|
can either use them out of the box as they come or you can take them as samples
|
76
|
to learn how to build import or aggregation functionality with Feeds.
|
77
|
|
78
|
The feature modules merely contain sets of configurations using Feeds and in
|
79
|
some cases the modules Node, Views or Data. If the default configurations do not
|
80
|
fit your use case you can change them on the respective configuration pages for
|
81
|
Feeds, Node, Views or Data.
|
82
|
|
83
|
Here is a description of the provided feature modules:
|
84
|
|
85
|
- Feeds News -
|
86
|
|
87
|
This feature is a news aggregator. It provides a content type "Feed" that can
|
88
|
be used to subscribe to RSS or Atom feeds. Every item on such a feed is
|
89
|
aggregated as a node of the type "Feed item", also provided by the module.
|
90
|
|
91
|
What's neat about Feeds News is that it comes with a configured View that shows
|
92
|
a list of news items with every feed on the feed node's "View items" tab. It
|
93
|
also comes with an OPML importer filter that can be accessed under /import.
|
94
|
|
95
|
- Feeds Fast News -
|
96
|
|
97
|
This feature is very similar to Feeds News. The big difference is that instead
|
98
|
of aggregating a node for every item on a feed, it creates a database record
|
99
|
in a single table, thus significantly improving performance. This approach
|
100
|
especially starts to save resources when many items are being aggregated and
|
101
|
expired (= deleted) on a site.
|
102
|
|
103
|
- Feeds Import -
|
104
|
|
105
|
This feature is an example illustrating Feeds' import capabilities. It contains
|
106
|
a node importer and a user importer that can be accessed under /import. Both
|
107
|
accept CSV or TSV files as imports.
|
108
|
|
109
|
PubSubHubbub support
|
110
|
====================
|
111
|
|
112
|
Feeds supports the PubSubHubbub publish/subscribe protocol. Follow these steps
|
113
|
to set it up for your site.
|
114
|
http://code.google.com/p/pubsubhubbub/
|
115
|
|
116
|
- Go to admin/build/feeds and edit (override) the importer configuration you
|
117
|
would like to use for PubSubHubbub.
|
118
|
- Choose the HTTP Fetcher if it is not already selected.
|
119
|
- On the HTTP Fetcher, click on 'settings' and check "Use PubSubHubbub".
|
120
|
- Optionally you can use a designated hub such as http://superfeedr.com/ or your
|
121
|
own. If a designated hub is specified, every feed on this importer
|
122
|
configuration will be subscribed to this hub, no matter what the feed itself
|
123
|
specifies.
|
124
|
|
125
|
Libraries support
|
126
|
=================
|
127
|
|
128
|
If you are using Libraries module, you can place external libraries in the
|
129
|
Libraries module's search path (for instance sites/all/libraries. The only
|
130
|
external library used at the moment is SimplePie.
|
131
|
|
132
|
Libraries found in the libraries search path are preferred over libraries in
|
133
|
feeds/libraries/.
|
134
|
|
135
|
Transliteration support
|
136
|
=======================
|
137
|
|
138
|
If you plan to store files with Feeds - for instance when storing podcasts
|
139
|
or images from syndication feeds - it is recommended to enable the
|
140
|
Transliteration module to avoid issues with non-ASCII characters in file names.
|
141
|
http://drupal.org/project/transliteration
|
142
|
|
143
|
API Overview
|
144
|
============
|
145
|
|
146
|
See "The developer's guide to Feeds":
|
147
|
http://drupal.org/node/622700
|
148
|
|
149
|
Testing
|
150
|
=======
|
151
|
|
152
|
See "The developer's guide to Feeds":
|
153
|
http://drupal.org/node/622700
|
154
|
|
155
|
Debugging
|
156
|
=========
|
157
|
|
158
|
Set the Drupal variable 'feeds_debug' to TRUE (i. e. using drush). This will
|
159
|
create a file /tmp/feeds_[my_site_location].log. Use "tail -f" on the command
|
160
|
line to get a live view of debug output.
|
161
|
|
162
|
Note: at the moment, only PubSubHubbub related actions are logged.
|
163
|
|
164
|
Performance
|
165
|
===========
|
166
|
|
167
|
See "The site builder's guide to Feeds":
|
168
|
http://drupal.org/node/622698
|
169
|
|
170
|
Hidden settings
|
171
|
===============
|
172
|
|
173
|
Hidden settings are variables that you can define by adding them to the $conf
|
174
|
array in your settings.php file.
|
175
|
|
176
|
Name: feeds_debug
|
177
|
Default: FALSE
|
178
|
Description: Set to TRUE for enabling debug output to
|
179
|
/DRUPALTMPDIR/feeds_[sitename].log
|
180
|
|
181
|
Name: feeds_importer_class
|
182
|
Default: 'FeedsImporter'
|
183
|
Description: The class to use for importing feeds.
|
184
|
|
185
|
Name: feeds_source_class
|
186
|
Default: 'FeedsSource'
|
187
|
Description: The class to use for handling feed sources.
|
188
|
|
189
|
Name: feeds_data_$importer_id
|
190
|
Default: feeds_data_$importer_id
|
191
|
Description: The table used by FeedsDataProcessor to store feed items. Usually a
|
192
|
FeedsDataProcessor builds a table name from a prefix (feeds_data_)
|
193
|
and the importer's id ($importer_id). This default table name can
|
194
|
be overridden by defining a variable with the same name.
|
195
|
|
196
|
Name: feeds_process_limit
|
197
|
Default: 50
|
198
|
The number of nodes feed node processor creates or deletes in one
|
199
|
page load.
|
200
|
|
201
|
Name: http_request_timeout
|
202
|
Default: 15
|
203
|
Description: Timeout in seconds to wait for an HTTP get request to finish.
|
204
|
Note: This setting could be overridden per importer in admin UI :
|
205
|
admin/structure/feeds/<your_importer>/settings/<your_fetcher> page.
|
206
|
|
207
|
Name: feeds_never_use_curl
|
208
|
Default: FALSE
|
209
|
Description: Flag to stop feeds from using its cURL for http requests. See
|
210
|
http_request_use_curl().
|
211
|
|
212
|
Name: feeds_use_mbstring
|
213
|
Default: TRUE
|
214
|
Description: The extension mbstring is used to convert encodings during parsing.
|
215
|
The reason that this can be turned off is to be able to test Feeds
|
216
|
behavior when the extension is not available.
|
217
|
|
218
|
Glossary
|
219
|
========
|
220
|
|
221
|
See "Feeds glossary":
|
222
|
http://drupal.org/node/622710
|