Hey,

I made it to set up the iCal import parser. It imports the a calender from Google Calender. The problem is, that it stops importing after exactly 15 events. So I guess, that it is somehow coded, that the parser should stop importing after 15 events.

However I could not find, where to change this?

Can someone help me with this issue?

Thanks a lot!

Comments

ekes’s picture

Does the feed itself have more that 15 events - not the calendar, the feed? Or maybe does it timeout? There is nothing in the iCal parser itself to stop it parsing after any particular number of items.

deiure’s picture

Thank you for your answer.

It imported only 15 events, there are only 15 nodes. I dont get any error messages, there is just a message stating importet 0 events updated 15 events. The calender has far more than 20 events, but most of them are recurring events.

ekes’s picture

If you are sure there are more than 15 events in the ical feed itself (not the calender) - The only way to do this is if you open the URL and count them; then I would suggest switching on all php logging and looking in the appropriate (php/webserver) log that it's not a dupe of this #739642: Problems with importing ical with recurring events which I have (very briefly) repeated myself and think it will take some profiling to work out where the problem is.

deiure’s picture

When I refresh the feed, I dont get any errors in the file you mentioned.

ekes’s picture

Which file did you check for errors? What is your PHP error reporting level?

If you import this feed: http://www.mobilegeographics.com:81/ical/3988.ics how may items do you get?

What is the URL of the calendar that is failing to import more than 15 items?

deiure’s picture

When importing your calender I wont get any items. I always get the message "could not refresh feed". I read the error log in the server (root folder).

My calender URL is the following: http://www.google.com/calendar/ical/md0sut1avl53b4bjvp5436k158%40group.c...

Many thanks to you!

pkcho’s picture

Any closure to this issue?

I've finally got this version of ical parser to import feeds using Feeds, but it only brings in 1 item. I'm trying to figure out why it chooses that one, but I can't seem to figure out the reason.

Any ideas?

ekes’s picture

Nope no closure I've not had time to profile it yet. But if your working on it...

Even if you don't want to do that. Is your feed with repeating events? [Edit: note I know signal is using the feeds version of the module so this is only relevant to that] Have you tried pulling it when drupal_queue is installed, and does this make any difference when it's on or off?

ekes’s picture

Above feed google cal one isn't working, so no test on that one.

Signal I'm trying to test various feeds so if you have one that is causing problem can you paste the link, or better still the file itself, here.

deiure’s picture

Sorry, I needed to change something, this is the new link to the same calender: http://www.google.com/calendar/ical/kirche.varrel%40googlemail.com/publi...

But unfortunately it is still not working.

ekes’s picture

Title: iCal import only 15 events » Repeating events with too many occurences timeout; events without an end date (as valid in iCal) loop for ever / timeout
Project: iCal feed parser » Date
Version: 6.x-1.1 » 6.x-2.x-dev
Component: Miscellaneous » Date Repeat API
Category: support » bug

The events in the feed above have repeat rules with no end date. The date module is not to be able to handle repeating events with no end date. It is completely valid to have repeating events with no end date set.

The date_repeat module is calculating every possible date that fit the rule as each field is input.

Because of this you have the same problem with any items that have repeat dates that occur often enough before their end date to just take too long to calculate every date before php timesout (or possibly fills the maximum size of an array for the memory available). Even without a feed just try posting a daily event for a few decades or so...

kenmed55’s picture

Version: 6.x-2.x-dev » 6.x-2.6

I've run into a similar problem when trying to import a Google calendar using Feeds and the iCal dateapi parser. I'm not sure if this is where I should post this issue so please let me know if I should post in a more appropriate forum.

I seem to be able to import events from my Google calendar but the recurring events don't always work. The odd part is that some of the recurring events work fine and some do not.

All of the recurring events have an end date.

The overall number of events is not that large - 11 events. I believe there are approximately 180 events total when all the recurrences are counted in.

When I do the import it says that 11 events where imported (that's how many entries are in the ics file). However only 110 total events show up in my calendar rather than the 180 when all the recurrences are counted in.

Here is the link to the calendar feed:

http://www.google.com/calendar/ical/bethlehemstars%40gmail.com/public/ba...

Is there anywhere that I can look (some log file somewhere) that might give me a clue as to what's going wrong? I have checked the "Reports/recent log entries" and found no problems.

Another thing to note is that one of the events that does NOT repeat properly shows up as:

Repeats every week every 52 times until Fri Feb 11 2011 .

The "Friday" part in between 'every' and '52' is missing.

Anyone have any ideas?

Thanks

Never mind - I found the problem - See https://drupal.org/node/757500.

Thanks

geerlingguy’s picture

When I simply created a new view, set the node type to 'Event', and then hit the views Preview button, my view sat until PHP timed out, and didn't return any results.

I looked at top on the server, and the server spiked to a load of 11 (normally .8-1.5). PHP was basically building a list of all possible future event repeats, up to the year 3000 (it seems), since one of my event nodes had a repeating date without an end date.

I had to set my view to limit to a few hundred nodes, and the last hundred or so were event repeats.

Seems that we should set some sort of cutoff for how many repeats are generated.

geerlingguy’s picture

Version: 6.x-2.6 » 6.x-2.x-dev
Priority: Normal » Major

Bumping to major. The more I do things like import iCal feeds, move events from site to site, and set up views listing events, the more I'm hitting this bug.

karens’s picture

Status: Active » Closed (works as designed)

This module does not handle imports. If there are problems with the way the import works, you should post that on the feeds project.

I don't think it's the job of this module to set some arbitrary number of repeats that it refuses to create -- what would that number be anyway? And how would the Date module know how many you are trying to create? It's just a dumb consumer of the stuff the feeds module is passing to it.

geerlingguy’s picture

Status: Closed (works as designed) » Active

The problem happens regardless of whether I'm importing, exporting, creating a new date and displaying it in a view, etc.

I can reproduce this by simply:

- Enabling Date module and Views.
- Create repeating event with no end time.
- Create a view that lists that repeating event's occurances (on a calendar, on a FullCalendar, etc.).

Bingo: the view crashes the site (unless you have a very long PHP timeout, and let the process consume tons of RAM).

Should we create a new issue that's more to the point, instead? This doesn't really have anything to do with importing or exporting - it's a bug that can only be solved by either the Date module or setting a manual limit to how many events show in your view...

Though, the title of this issue is perfectly descriptive of the problem.

karens’s picture

Status: Active » Closed (works as designed)

You cannot create a repeating date with no end time in the UI. You can only do it using custom code or other modules. If your custom code or other modules do not provide an ending time, the module will break. That's why the UI prevents that from happening.

This is related to the semi-permanent issue about why the UI forces you to input an ending date, where I keep re-iterating that there is no single logical method to do anything else. An arbitrary limit on the number of repeats just means some attempts to create dates will silently be broken. So then you have to provide some sort of warning system to say, 'Hey, you tried to create a date with no end but I couldn't do that'. And then you have to have a bunch of validation and some sort of settings and a UI for determining what to do in that case. And there is probably no single solution that will always work. A date that repeats every year might need one setting while a date that repeats every day needs another.

It's way way more work than I want to do when I can just require an ending date and be done with it.

And I disagree that this is a 'bug'. It is a design solution.

geerlingguy’s picture

Ah well, at least we can try :(

Maybe we could find a way to make a view realize there's a repeating event, and limit the repeats displayed via the view. Obviously, one can code and configure around this a bit, but it'd be so nice to not have to worry about setting an end date, since none is required elsewhere (Google Cal, iCal, Exchange Calendars, etc.). It's a UX bug, in my opinion, then.

And, I understand that it's tough to work around, so please don't take offense to my posting :)

[Edit: I will move my work/involvement over to #272404: Make 'until' field optional, and I will hopefully be able to come up with some solutions.]

karens’s picture

There's thread about this already: #272404: Make 'until' field optional. Should probably get all the thoughts/work in one place.