Issue #2179435: You can now skip importing events more than X days old.
There's a new setting on the "iCal parser" settings page, which lets you set
an integer number of days. Events which ended more than that number of days
before the import will be skipped.
Changed "Repeat Rule" to "Date: Repeat Rule" in the feeds sources list.
This makes it consistent with the "DateField: Repeat Rule" feeds target
offered by the Date module. It also pushes the source up next to the
"Date: Start" and "Date: End" sources, which helps you find it when you're
setting up your mapping.
This is only a UI change.
Issue #2207173: RRULEs with non-UTC UNTIL values are now supported.
According to the iCal spec, the UNTIL value of an RRULE must be specified in
UTC. But certain iCal feed creation tools don't respect this rule, and
instead specify the UNTIL value in local time. Since all the other code that
Date iCal utilizes to parse RRULEs expects the UNTIL value to be in UTC,
this go badly when it's not.
In order to get around this issue, I've added an option to the iCal Parser
settings, which allows users to tell Date iCal that they expect the UNTIL
values in their feeds' RRULEs to not be in UTC. With that option enabled,
Date iCal will treat the UNTIL date as being in the same timezone as the
Corrected the README's description of Date's "time zone handling" setting.
Upon further research, I discovered that my previous write-up about this
setting was incomplete and partially incorrect. I also discovered the
glaring bugs in the "Date's time zone" setting, so I added a warning against
Refactored ParserVcalendar to enable inter-handler communication.
Date iCal doesn't currently use this new mechanism (I originally created it
for a feature that ultimately didn't end up needing it), but it may be
helpful in the future for when one handler needs to know about the results
from a previous handler's pass over the same event.
Fixed a bug in the Feeds Parser which could break certain all day events.
All day events which start on the last day of a month and don't have an end
date specified were broken, due to a silly mistake I made in the DTEND
This hook allows modules to alter the final data array for each event,
just before it gets sent through the rest of the Feeds processing steps to
be turned into a node. The context array is what separates this hook's
functionality from what users can do with Feeds Tamper.
FEATURE: Added support for Windows timezone names.
By using the amazing, free database of Windows timezone names curtesy of the
CLDR project (http://cldr.unicode.org), I was able to add support for the
non-standard timezone names created by Microsoft Outlook. Hopefully, the
"not a valid timezone" error will now be much less common.
Initial Date iCal 3.1-dev commit. Fixed multi-property RDATEs and EXDATEs.
The Date Repeat module’s date_repeat_build_dates() function does not support
RDATEs and EXDATEs defined as separate properties, as well as being a bit
buggy in other ways. So I copy-pasta’d it and made the necessary fixes.
I wanted to add support for EXRULEs, but it’s more complicated than I
expected. So since no one has actually asked for it, I left it as a TODO.
Issue #2135541: Applied similar fixes to the way that iCalcrator gets loaded.
Date iCal 3's use of the Libraries APIs was slightly less awful than 2's, but it
would still fail to properly detect an incorrectly installed iCalcreator.
Issue #2135541: An improperly installed iCalcreator no longer crashes the parser.
As pointed out by Isolesen, the loading code for the iCalcreator library should
throw an error when iCalcreator is not installed, rather than outright crashing.
I was misusing the Libraries API, and that's now fixed.