ICS Calendar Handler (Deprecated)
This handler has been consolidated into the Universal Web Scraper as the IcsExtractor.
Previously the handler lived at inc/Steps/EventImport/Handlers/IcsCalendar/IcsCalendar.php with IcsCalendarSettings.php. That standalone handler and its settings were removed; existing flows should migrate to the scraper-based extractor by reconfiguring the fetch step to use the UniversalWebScraper handler.
See docs/universal-web-scraper-handler.md for extraction behavior and inc/Steps/EventImport/Handlers/WebScraper/Extractors/IcsExtractor.php for the implementation.
Migration
The IcsExtractor handles ICS/iCal feeds within the Universal Web Scraper:
- Detects ICS feeds by URL extension (
.ics) orwebcal://protocol. - Converts
webcal://tohttps://automatically. - Parses VEVENT components using the
johngrogg/ics-parserlibrary. - Applies keyword filtering and venue overrides via standard handler settings.
- Supports RRULE recurring events, EXDATE exception dates, and RDATE additional dates.
Configuration
When using the Universal Web Scraper with an ICS feed:
source_url: The ICS feed URL (.icsorwebcal://links)search/exclude_keywords: Comma-separated filters applied before normalization- Venue override fields: Available via
VenueFieldsTraitin handler settings
Data Mapping
| ICS Property | Event Details Attribute |
|---|---|
SUMMARY | title |
DESCRIPTION | description |
DTSTART / DTEND | start/end dates and times |
LOCATION | venue |
TZID | timezone |