Overview
The Feeds module is mostly used for getting event information from the Polstead Google events calendar and adding or updating related entries in the Polstead Drupal calendar.
Version
When first installing the module it was advised to use the Feeds 7.x-2.0-alpha8 version. This worked for the initial setup but could not sync dates when the calendar date fields were changed to accommodate repeating dates - functionality needed for birthdays.
It was then recommended to move to the latest dev version (7.x-2.x-dev) to solve the dates issue.
Configuration
Name: Event Feed
Attach to content type: Use standard form
Periodic import: Every one hour
Import on submission: On
Fetcher: HTTP (Download content from a URL)
Parser: iCal
Repeat content: 52
Processor: Node
Bundle: Event
Update existing nodes: On
Text format: Plain text
Expire nodes: Never
Import:
- Event feed
Events from the Polstead Events Google calendar.
https://www.google.com/calendar/ical/polstead.events%40gmail.com/public/basic.ics
- Holiday feed
Calendar feed from gov.uk for England and Wales bank holidays.
http://www.polsteadplaygroup.org.uk/sites/default/files/england-and-wales.ics
Export
/**
* Export from 7.x-2.0-alpha8 version.
*/
$feeds_importer = new stdClass();
$feeds_importer->disabled = FALSE; // Edit this to true to make a default feeds_importer disabled initially
$feeds_importer->api_version = 1;
$feeds_importer->id = 'events_calendar_feed';
$feeds_importer->config = array(
'name' => 'Event Feed',
'description' => 'Events from the Polstead Events Google calendar.',
'fetcher' => array(
'plugin_key' => 'FeedsHTTPFetcher',
'config' => array(
'auto_detect_feeds' => FALSE,
'use_pubsubhubbub' => FALSE,
'designated_hub' => '',
'request_timeout' => NULL,
),
),
'parser' => array(
'plugin_key' => 'DateiCalFeedsParser',
'config' => array(
'indefinite_count' => '52',
),
),
'processor' => array(
'plugin_key' => 'FeedsNodeProcessor',
'config' => array(
'expire' => '-1',
'author' => '1',
'authorize' => 1,
'mappings' => array(
0 => array(
'source' => 'DTSTART',
'target' => 'field_calendar_date:start',
'unique' => FALSE,
),
1 => array(
'source' => 'DTEND',
'target' => 'field_calendar_date:end',
'unique' => FALSE,
),
2 => array(
'source' => 'RRULE',
'target' => 'field_calendar_date:rrule',
'unique' => FALSE,
),
3 => array(
'source' => 'LOCATION',
'target' => 'field_event_location',
'unique' => FALSE,
),
4 => array(
'source' => 'DESCRIPTION',
'target' => 'body',
'unique' => FALSE,
),
5 => array(
'source' => 'SUMMARY',
'target' => 'title',
'unique' => FALSE,
),
6 => array(
'source' => 'UID',
'target' => 'guid',
'unique' => 1,
),
),
'update_existing' => '2',
'input_format' => 'plain_text',
'skip_hash_check' => 0,
'bundle' => 'event',
),
),
'content_type' => '',
'update' => 0,
'import_period' => '3600',
'expire_period' => 3600,
'import_on_create' => 1,
'process_in_background' => 0,
);
*/