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
|
- To use SimplePie parser, download either the compiled or minified SimplePie
|
53
|
and place simplepie_[version].compiled.php into feeds/libraries as
|
54
|
simplepie.compiled.php. Recommended version: 1.3.
|
55
|
http://simplepie.org/
|
56
|
|
57
|
Feature modules
|
58
|
===============
|
59
|
|
60
|
Feeds ships with three feature modules that can be enabled on
|
61
|
admin/build/modules or - if you are using Features - on admin/build/features.
|
62
|
http://drupal.org/project/features
|
63
|
|
64
|
The purpose of these modules is to provide a quick start for using Feeds. You
|
65
|
can either use them out of the box as they come or you can take them as samples
|
66
|
to learn how to build import or aggregation functionality with Feeds.
|
67
|
|
68
|
The feature modules merely contain sets of configurations using Feeds and in
|
69
|
some cases the modules Node, Views or Data. If the default configurations do not
|
70
|
fit your use case you can change them on the respective configuration pages for
|
71
|
Feeds, Node, Views or Data.
|
72
|
|
73
|
Here is a description of the provided feature modules:
|
74
|
|
75
|
- Feeds News -
|
76
|
|
77
|
This feature is a news aggregator. It provides a content type "Feed" that can
|
78
|
be used to subscribe to RSS or Atom feeds. Every item on such a feed is
|
79
|
aggregated as a node of the type "Feed item", also provided by the module.
|
80
|
|
81
|
What's neat about Feeds News is that it comes with a configured View that shows
|
82
|
a list of news items with every feed on the feed node's "View items" tab. It
|
83
|
also comes with an OPML importer filter that can be accessed under /import.
|
84
|
|
85
|
- Feeds Fast News -
|
86
|
|
87
|
This feature is very similar to Feeds News. The big difference is that instead
|
88
|
of aggregating a node for every item on a feed, it creates a database record
|
89
|
in a single table, thus significantly improving performance. This approach
|
90
|
especially starts to save resources when many items are being aggregated and
|
91
|
expired (= deleted) on a site.
|
92
|
|
93
|
- Feeds Import -
|
94
|
|
95
|
This feature is an example illustrating Feeds' import capabilities. It contains
|
96
|
a node importer and a user importer that can be accessed under /import. Both
|
97
|
accept CSV or TSV files as imports.
|
98
|
|
99
|
PubSubHubbub support
|
100
|
====================
|
101
|
|
102
|
Feeds supports the PubSubHubbub publish/subscribe protocol. Follow these steps
|
103
|
to set it up for your site.
|
104
|
http://code.google.com/p/pubsubhubbub/
|
105
|
|
106
|
- Go to admin/build/feeds and edit (override) the importer configuration you
|
107
|
would like to use for PubSubHubbub.
|
108
|
- Choose the HTTP Fetcher if it is not already selected.
|
109
|
- On the HTTP Fetcher, click on 'settings' and check "Use PubSubHubbub".
|
110
|
- Optionally you can use a designated hub such as http://superfeedr.com/ or your
|
111
|
own. If a designated hub is specified, every feed on this importer
|
112
|
configuration will be subscribed to this hub, no matter what the feed itself
|
113
|
specifies.
|
114
|
|
115
|
Libraries support
|
116
|
=================
|
117
|
|
118
|
If you are using Libraries module, you can place external libraries in the
|
119
|
Libraries module's search path (for instance sites/all/libraries. The only
|
120
|
external library used at the moment is SimplePie.
|
121
|
|
122
|
Libraries found in the libraries search path are preferred over libraries in
|
123
|
feeds/libraries/.
|
124
|
|
125
|
Transliteration support
|
126
|
=======================
|
127
|
|
128
|
If you plan to store files with Feeds - for instance when storing podcasts
|
129
|
or images from syndication feeds - it is recommended to enable the
|
130
|
Transliteration module to avoid issues with non-ASCII characters in file names.
|
131
|
http://drupal.org/project/transliteration
|
132
|
|
133
|
API Overview
|
134
|
============
|
135
|
|
136
|
See "The developer's guide to Feeds":
|
137
|
http://drupal.org/node/622700
|
138
|
|
139
|
Testing
|
140
|
=======
|
141
|
|
142
|
See "The developer's guide to Feeds":
|
143
|
http://drupal.org/node/622700
|
144
|
|
145
|
Debugging
|
146
|
=========
|
147
|
|
148
|
Set the Drupal variable 'feeds_debug' to TRUE (i. e. using drush). This will
|
149
|
create a file /tmp/feeds_[my_site_location].log. Use "tail -f" on the command
|
150
|
line to get a live view of debug output.
|
151
|
|
152
|
Note: at the moment, only PubSubHubbub related actions are logged.
|
153
|
|
154
|
Performance
|
155
|
===========
|
156
|
|
157
|
See "The site builder's guide to Feeds":
|
158
|
http://drupal.org/node/622698
|
159
|
|
160
|
Hidden settings
|
161
|
===============
|
162
|
|
163
|
Hidden settings are variables that you can define by adding them to the $conf
|
164
|
array in your settings.php file.
|
165
|
|
166
|
Name: feeds_debug
|
167
|
Default: FALSE
|
168
|
Description: Set to TRUE for enabling debug output to
|
169
|
/DRUPALTMPDIR/feeds_[sitename].log
|
170
|
|
171
|
Name: feeds_importer_class
|
172
|
Default: 'FeedsImporter'
|
173
|
Description: The class to use for importing feeds.
|
174
|
|
175
|
Name: feeds_source_class
|
176
|
Default: 'FeedsSource'
|
177
|
Description: The class to use for handling feed sources.
|
178
|
|
179
|
Name: feeds_data_$importer_id
|
180
|
Default: feeds_data_$importer_id
|
181
|
Description: The table used by FeedsDataProcessor to store feed items. Usually a
|
182
|
FeedsDataProcessor builds a table name from a prefix (feeds_data_)
|
183
|
and the importer's id ($importer_id). This default table name can
|
184
|
be overridden by defining a variable with the same name.
|
185
|
|
186
|
Name: feeds_process_limit
|
187
|
Default: 50
|
188
|
The number of nodes feed node processor creates or deletes in one
|
189
|
page load.
|
190
|
|
191
|
Name: http_request_timeout
|
192
|
Default: 15
|
193
|
Description: Timeout in seconds to wait for an HTTP get request to finish.
|
194
|
Note: This setting could be overridden per importer in admin UI :
|
195
|
admin/structure/feeds/<your_importer>/settings/<your_fetcher> page.
|
196
|
|
197
|
Name: feeds_never_use_curl
|
198
|
Default: FALSE
|
199
|
Description: Flag to stop feeds from using its cURL for http requests. See
|
200
|
http_request_use_curl().
|
201
|
|
202
|
Glossary
|
203
|
========
|
204
|
|
205
|
See "Feeds glossary":
|
206
|
http://drupal.org/node/622710
|