ikiwiki (3.20130711) unstable; urgency=low
[ikiwiki.git] / doc / plugins / aggregate.mdwn
1 [[!template id=plugin name=aggregate author="[[Joey]]"]]
2 [[!tag type/special-purpose]]
3
4 This plugin allows content from other feeds to be aggregated into the
5 wiki. To specify feeds to aggregate, use the
6 [[ikiwiki/directive/aggregate]] [[ikiwiki/directive]].
7
8 ## requirements
9
10 The [[meta]] and [[tag]] plugins are also recommended to be used with this
11 one. Either the [[htmltidy]] or [[htmlbalance]] plugin is suggested, since
12 feeds can easily contain html problems, some of which these plugins can fix.
13
14 ## triggering aggregation
15
16 You will need to run ikiwiki periodically from a cron job, passing it the
17 --aggregate parameter, to make it check for new posts. Here's an example
18 crontab entry:
19
20         */15 * * * * ikiwiki --setup my.wiki --aggregate --refresh
21
22 The plugin updates a file `.ikiwiki/aggregatetime` with the unix time stamp
23 when the next aggregation run could occur. (The file may be empty, if no
24 aggregation is required.) This can be integrated into more complex cron
25 jobs or systems to trigger aggregation only when needed.
26
27 Alternatively, you can allow `ikiwiki.cgi` to trigger the aggregation. You
28 should only need this if for some reason you cannot use cron, and instead
29 want to use a service such as [WebCron](http://webcron.org). To enable
30 this, turn on `aggregate_webtrigger` in your setup file. The url to
31 visit is `http://whatever/ikiwiki.cgi?do=aggregate_webtrigger`. Anyone
32 can visit the url to trigger an aggregation run, but it will only check
33 each feed if its `updateinterval` has passed.
34
35 ## aggregated pages
36
37 This plugin creates a page for each aggregated item. 
38
39 If the `aggregateinternal` option is enabled in the setup file (which is
40 the default), aggregated pages are stored in the source directory with a
41 "._aggregated" extension. These pages cannot be edited by web users, and
42 do not generate first-class wiki pages. They can still be inlined into a
43 blog, but you have to use `internal` in [[PageSpecs|IkiWiki/PageSpec]],
44 like `internal(blog/*)`.
45
46 If `aggregateinternal` is disabled, you will need to enable the [[html]]
47 plugin as well as aggregate itself, since feed entries will be stored as
48 HTML, and as first-class wiki pages -- each one generates
49 a separate HTML page in the output, and they can even be edited. This
50 option is provided only for backwards compatability.
51
52 ## cookies
53
54 The `cookiejar` option can be used to configure how [[!cpan LWP::UserAgent]]
55 handles cookies. The default is to read them from a file
56 `~/.ikiwiki/cookies`, which can be populated using standard perl cookie
57 tools like [[!cpan HTTP::Cookies]].