1 |
85ad3d82
|
Assos Assos
|
|
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 |