I have found what I believe to be a bug in the Calendar module. After some extensive testing, I have been able to reproduce the problem on a freshly installed test site. The issue seems to be that "all day" events created with a date a couple months in the future do not appear in day view on the calendar. Here are some examples to illustrate this:

1) The first "all day" test event I created does show up in day view: http://caltest.t324.com/calendar/2010/02/11
2) Then I tried creating more events in April. The week view clearly shows the events: http://caltest.t324.com/calendar/2010/W17 but if you click through to the day view of either the 21st or 23rd, the all day events disappear as seen here: http://caltest.t324.com/calendar/2010/04/21

This issue first came to our attention because one of our live web sites started exhibiting this strange behavior and we couldn't figure out what could be causing it. So, I set up a fresh Drupal 5.21 install and the only modules that are installed are CCK, Views, Calendar and Date. I have tried all the troubleshooting steps outlined on the Calendar and Date project pages and I have also updated the Calendar and Date modules to the -dev versions but still no joy.

I am unsure what could be causing this problem and would very much appreciate any advice anyone can offer that might help us resolve this problem.

Here is an export of the calendar view:

  $view = new stdClass();
  $view->name = 'calendar';
  $view->description = 'Calendar view of any date field, add a date field to the view to use it.';
  $view->access = array (
);
  $view->view_args_php = '';
  $view->page = TRUE;
  $view->page_title = 'Calendar';
  $view->page_header = '';
  $view->page_header_format = '1';
  $view->page_footer = '';
  $view->page_footer_format = '1';
  $view->page_empty = '';
  $view->page_empty_format = '1';
  $view->page_type = 'calendar';
  $view->url = 'calendar';
  $view->use_pager = FALSE;
  $view->nodes_per_page = '0';
  $view->block = TRUE;
  $view->block_title = 'Calendar';
  $view->block_header = '';
  $view->block_header_format = '1';
  $view->block_footer = '';
  $view->block_footer_format = '1';
  $view->block_empty = '';
  $view->block_empty_format = '1';
  $view->block_type = 'calendar';
  $view->nodes_per_block = '999';
  $view->block_more = TRUE;
  $view->block_use_page_header = FALSE;
  $view->block_use_page_footer = FALSE;
  $view->block_use_page_empty = FALSE;
  $view->sort = array (
  );
  $view->argument = array (
    array (
      'type' => 'calendar_year',
      'argdefault' => '2',
      'title' => '%1',
      'options' => '',
      'wildcard' => '',
      'wildcard_substitution' => '',
    ),
    array (
      'type' => 'calendar_month',
      'argdefault' => '2',
      'title' => '%2',
      'options' => '',
      'wildcard' => '',
      'wildcard_substitution' => '',
    ),
    array (
      'type' => 'calendar_day',
      'argdefault' => '2',
      'title' => '%3',
      'options' => '',
      'wildcard' => '',
      'wildcard_substitution' => '',
    ),
  );
  $view->field = array (
    array (
      'tablename' => 'node',
      'field' => 'title',
      'label' => '',
      'handler' => 'views_handler_field_nodelink',
      'options' => 'link',
    ),
    array (
      'tablename' => 'node_data_field_event_date',
      'field' => 'field_event_date_value',
      'label' => '',
      'handler' => 'date_views_field_handler_ungroup',
      'options' => 'default',
    ),
  );
  $view->filter = array (
    array (
      'tablename' => 'node',
      'field' => 'status',
      'operator' => '=',
      'options' => '',
      'value' => '1',
    ),
  );
  $view->exposed_filter = array (
  );
  $view->requires = array(node, node_data_field_event_date);
  $views[$view->name] = $view;

This is an export of the CCK content type in use in the calendar:

$content[type]  = array (
  'name' => 'Event',
  'type' => 'event',
  'description' => '',
  'title_label' => 'Event Name',
  'body_label' => 'Event Description',
  'min_word_count' => '0',
  'help' => '',
  'node_options' => 
  array (
    'status' => true,
    'promote' => false,
    'sticky' => false,
    'revision' => false,
  ),
  'comment' => '0',
  'old_type' => 'event',
  'orig_type' => '',
  'module' => 'node',
  'custom' => '1',
  'modified' => '1',
  'locked' => '0',
);
$content[fields]  = array (
  0 => 
  array (
    'widget_type' => 'date_popup',
    'label' => 'Event Date',
    'weight' => 0,
    'default_value' => 'blank',
    'default_value_code' => '',
    'default_value2' => 'blank',
    'default_value_code2' => '',
    'input_format' => 'm/d/Y h:i:sA',
    'input_format_custom' => '',
    'year_range' => '-3:+3',
    'increment' => '1',
    'advanced' => 
    array (
      'label_position' => 'above',
      'text_parts' => 
      array (
        'year' => 0,
        'month' => 0,
        'day' => 0,
        'hour' => 0,
        'minute' => 0,
        'second' => 0,
      ),
    ),
    'description' => '',
    'required' => 1,
    'multiple' => '0',
    'repeat' => 0,
    'todate' => 'optional',
    'granularity' => 
    array (
      'year' => 'year',
      'month' => 'month',
      'day' => 'day',
      'hour' => 'hour',
      'minute' => 'minute',
    ),
    'output_format_date' => 'm/d/Y - g:ia',
    'output_format_custom' => '',
    'output_format_date_long' => 'l, F j, Y - g:ia',
    'output_format_custom_long' => '',
    'output_format_date_medium' => 'D, m/d/Y - g:ia',
    'output_format_custom_medium' => '',
    'output_format_date_short' => 'm/d/Y - g:ia',
    'output_format_custom_short' => '',
    'tz_handling' => 'site',
    'timezone_db' => 'UTC',
    'field_name' => 'field_event_date',
    'field_type' => 'date',
    'module' => 'date',
    'label_position' => 'above',
    'text_parts' => 
    array (
    ),
    'display_settings' => 
    array (
      'label' => 
      array (
        'format' => 'inline',
      ),
      'teaser' => 
      array (
        'format' => 'default',
      ),
      'full' => 
      array (
        'format' => 'default',
      ),
    ),
  ),
);

Please let me know if you need any further information.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

sreese’s picture

We would really like to find a resolution to this problem. Has anyone had a chance to review this report yet?

pokita’s picture

Seeing the exact same problem - 'all day' events which are more than 1 month in the future sometimes do not show up in day view, some events also not in week view. Regarding week view, it seems this only affects those events on the first day of the week. For example, I have one event on April 26th, a Monday, which doesn't show in week view. When I change the beginning of the week to Sunday in the date settings, the event suddenly shows up in week view (still not in day view, though). The month/year view works without problems. I happily provide view exports and the like if necessary. Any help greatly appreciated.

sreese’s picture

I should also add this only seems to occur with all day events. If specific times are entered, the events show as expected.

sreese’s picture

Has anyone had a chance to review this bug report? We would really like to find a resolution to this issue. Thank you.

sreese’s picture

It has now been 8 days with no response at all. Should I have filed this under something other than bug report? If there is some other way I should be reporting this, please let me know! This is a critical issue.

sreese’s picture

Priority: Normal » Critical

Moved priority to "critical" in the hopes the developer will review. Please let me know if I should be doing something differently. We really need this issue to be resolved. Thank you.

Ron Williams’s picture

I am also experiencing this issue on the latest 6.x version.

sonoutlaw’s picture

We are experiencing this too. We first noticed it for all day events that started on the first day of a month in month view. Now I have looked at a few installs and have found that no all day events show up in day view. Year view works fine, but when a day is selected, no all day events display while events for that day with a start time display fine.
Views 6.28
Date 6.x-2.4
Calendar 6.x-2.2

diabolical’s picture

Exact same issue for me as well. I've tried applying a patch found in another related thread (http://drupal.org/node/447728), but to no avail, as it seems to display "all day" events only if there's another non-all-day event on that day.
Interestingly, in that same thread, somebody tried turning off time zones... I tried that as well, and it seems to fix the problem, although disabling time zones isn't a practical solution for me as site users will be across multiple time zones.

sonoutlaw’s picture

diabolical,
Thanks for the "time zones" hint. Most of our sites run in PST, so I'll try that... maybe put a caption on the calendar stating all times are PST.

Ron Williams’s picture

I've had this issue on a site, but the site is limited to a single metro area so removing time zone was acceptable. I recently noticed the "Time zone handling" option within the date field type. The options are: site's time zone, date's time zone, user's time zone, UTC, and no time zone conversion. I am not sure if any of these options would make a difference, but considering calendar is dependent on the date api, it may be checking the date time zone, but with the field using the site's time zone (which may be formatted differently) there may be a conflict.

This is only a guess which may be wrong, but considering there hasn't been a solution (AFAIK) I figured I should add it in and let others who are having the issue attempt to fix it. Be sure to backup your database when reconfiguring the fields.

Ron Williams’s picture

Issue with turning off time zones, when you have time zone handling enabled on the fields and remove the time zone, the event times get messed up. So now I have this issue occurring once again. I'm very tempted to disable the block until this is functional which is very frustrating.

Ron Williams’s picture

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

I'm going to change this to the latest D6 dev version. I have installed the latest D6 date and calendar modules per standard troubleshooting procedures, resaved/rechecked fields/views, ran update.php, and cleared all caches by truncating cache* tables. Still no luck in the version from 2010-Feb-28.

g10tto’s picture

I think I might be having the same issue here: http://drupal.org/node/731492

How does one "turn off" the timezone?

Ron Williams’s picture

I've tried the March 5, 2010 6.x-2.x-dev version of date and it does not resolve the issue.

http://drupal.org/node/657832 is a similar task which I've marked as duplicate.

geerlingguy’s picture

Ditto - May 1, 2010 is the only date, so far, that I've found this problem to occur on.

Ron Williams’s picture

I am having this issue occur on nearly every date, not just May 1.

Ron Williams’s picture

Yet another issue with the same or similar problem http://drupal.org/node/744240

Ron Williams’s picture

I want to provide as much information as possible. The site was previously using event and was upgraded from D5, but that occurred long before issues began. The site is regularly updated via Drush.

geerlingguy’s picture

I fixed the problem by upgrading to PHP 5.2.13.

Ron Williams’s picture

Upgraded to PHP 5.2.13 (previously running 5.2.12) and it did not fix the issue. Also ensured I was using the latest versions of date api and calendar and issues still occur.

Ron Williams’s picture

Project: Calendar » Date

The latest dev releases of calendar and date appear to fix this partially.

I believe this issue is the result of an issue with the date module and am moving it to the proper issue queue. Why do I think this? I have events displaying on the frontpage of a site which simply sorts descending and filters for greater than todays date. I hadn't noticed the issue before as the site has numerous events listed per day, but many events were missing. Once I upgraded to the latest version of date, the events displayed on the frontpage as well as the missing events on the month calendar page. However, this does not resolve the individual day view display. < -- pardon if this makes no sense as I'm baking in my apartment since the air conditioning is broken =P

Ron Williams’s picture

Still not working with Calendar 2.x-dev (april 1 2010) and Date 2.x-dev (april 8).

sreese’s picture

This issue still has not been addressed by the module maintainer as far as I can tell. I was wondering if we could get a status update? It's been months!

my-family’s picture

Subscribe. This is really a critical issue: due to this problem, calendar is unusable on many sites.

Ron Williams’s picture

I've continued to test this with the latest dev version of date and calendar. I took a stab at looking through the calendar module but was unable to determine what was causing the issue. Hopefully we hear back soon.

jbates_jacksonriver’s picture

Also having this problem. Subscribing.

KarenS’s picture

Status: Active » Postponed (maintainer needs more info)

Things that 'sometimes' don't show up are nearly impossible to debug. I'm not even sure everyone here is reporting the same problem, since some were fixed by upgrading php versions and others were not. If anyone having this problem is using a version of PHP older than 5.2, I can't do anything about those problems. Making those old versions of PHP work usually involve breaking newer ones, and most people are using newer versions.

There are also a lot of code fixes committed since this was posted, which may have fixed some or all of the problem.s

If this is still a problem in the latest code (both latest Date and latest Calendar), I need specific steps to reproduce, which means I need to know what kind of date field you are using and how it is configured, and how you have configured the calendar.

Ron Williams’s picture

I may have found a potential fix for my use case. After upgrading from MySQL 5.0 to MySQL 5.1, the site with issues appears to no longer have the date problem. As we have not tested all use cases, I will not mark as fixed; however, I would like to see if others are having this issue resolved.

oskar_calvo’s picture

Hello I have the problem.

I build a "event" node type, and add a Datestamp field for the dates.

I also build a view to show current events (events taking places now), but the events that are one day (full day) are not displaying.

Also, with the calendar block (views display) I see the full day events, but when I click into the day the view doesn't show nothing.

Thanks

oskar

I attacht two feature, one with the view, and another one with the node type.

arlinsandbulte’s picture

Is anyone still having this issue?
If no-one replies in a few weeks, I will close this issue.

oskar_calvo’s picture

I'm still with the issue

matiki’s picture

subscribing

Ron Williams’s picture

oskar_calvo: Have you tested a MySQL upgrade?

oskar_calvo’s picture

Hello Ron Williams.

Where are working with mysql 5.1.56, php 5.3.6.6 and still have the problem.

Thanks

Oskar

grimal’s picture

Same problem with drupal 7.8, Calendar 3.x-dev, Date 7.x-2.0-alpha4, PHP 5.3.3 and MySQL 5.1.49.
The timezone trick (apparently) fix the problem.

arlinsandbulte’s picture

Status: Postponed (maintainer needs more info) » Closed (cannot reproduce)

No one has provided steps to reproduce this & I have not been able to reproduce this.
This *MAY* have been related to #1408216: Events no longer appearing in calendar which is now fixed.

PLEASE, help us reproduce the issue if you wish to re-open this ticket.

Thanks.