11

We are using some calendar based components both on our website and on our intranet. Both those components have the same issue.

The problem

  • An event is created with a recurrence over several days.
  • The event is edited.
  • When the page to edit the event gets loaded, the end date is sometimes getting lost in translation. It is either replaced by "No end date", or an end date a year later than the start date. This happens totally randomly.

What we have already investigated

The problem initially appeared on our website, so we got a third party company to investigate the custom code for our website's calendar, without any luck.

The problem later started appearing on our intranet, which has a totally different configuration, has been installed by different people, and uses the OOTB calendar component with customised views (no customisation to the input form, as far as I'm aware).

This made me think that the problem must lie somewhere within the Sharepoint component itself, but I'm really not sure.

I have asked on the MSDN forums, and no luck so far.

My questions

  • Has anyone encountered this problem before? I couldn't find anything similar in here or in msdn's forums.
  • Does anyone have ideas of how we could further investigate this matter, or things to look into?
  • Does anyone have suggestions of other questions we could ask Microsoft?

Our configuration

Intranet

SharePoint 2007 version 12.0.0.6421 (SP2), on Windows Server 2003.

We use a standard calendar-type list, with elaborate views looking at it. The list contains around 12,500 items. Problems started around 4 years after the install.

Website

SharePoint 2007 version 12.0.0.6318 (SP1) on Windows Server 2003.

We use a customised list made of publishing pages that use the calendar control. The list contains around 400 items. Problems started within 6 months of the install. Here's a link to the calendar.

8
  • Welcome to SharePoint Stack Exchange! Please tag by feature or topic and not by version or product. This helps to attract more attention to your question and keep it relevant. See How do I use tags for general guidelines. Very interesting question by the way, I'm posting it on Twitter!
    – Alex Angas
    Sep 8, 2011 at 19:59
  • Thanks! I had seen some other questions tagged with '2007', which is why I thought it was common practice here. I won't do it again, promise :p Sep 8, 2011 at 20:20
  • That's OK, it's something we're trying to stamp out but there's no easy way!
    – Alex Angas
    Sep 8, 2011 at 20:37
  • is your issue similar to this 2010 question? sharepoint.stackexchange.com/questions/18620/… Maybe a recent patch "upgraded" your 2007 calendar to the 2010 view of things?
    – Tom Resing
    Sep 8, 2011 at 21:28
  • It's a very interesting point. I think we could check the history of patches on our website and our intranet, and see if anything looks like it could be related. I will ask my favourite developer if he can have a look, and see if there were updates around the times problems started appearing. Sep 14, 2011 at 22:23

2 Answers 2

2

When the calendar item is created, if the Recurrence options is set to "No End Date", then SharePoint will calculate a value to put into the ows_EndDate column (a number of years in the future). A reference to this effect is described in this a2zdotnet.com article. If the query you're using to return the calendar items is not expanding the recurrence of the events, it could result in behaviours like this.

I have found that the fRecurrence field also has to be included in the list of fields being returned by your query with the DateRangesOverlap filter to get the event instances out. Behind the scenes, SharePoint stores a recurring calendar item as a single row, and keeps the recurrence information within it. So the queries are tricky.

Is there formating that could be getting in the way? If the dates are being pulled out of the database and then updated on the server side or client before their rendered, this could also be causing problems.

To challenge this, I would go right to the source. You should be able to use the u2u CAML Builder and run a query to see exactly what the list is holding.

1
  • Thanks a million for this! We'll definitely have a look into it :)
    – user5475
    Oct 31, 2011 at 22:47
2

In addition to Panter's comment, be sure to include set RecurrencePatternXMLVersion to 'v3' in your Query Options. If you leave that off, it won't expand all of your recurrent dates. Some dates are automagically stored in this format. Perhaps at the 4-year mark, you had someone new entering dates who did it in a slightly different way than their predecessor, which caused SharePoint to store those dates differently.

Also, in addition to fRecurrence in the ViewFields, RecurrenceID has to be included in the DateRangesOverlap node of the Where.

Hope that helps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.