none
Issue generating FirstDateTime as specificed in MS-OXOCAL for "Every Weekday" RRS feed

  • Question

  • Hi<o:p></o:p>

    I am using
    RecurFrequency to determine with of the algorithms in section 2.2.1.44.1.1 to
    use to generate the FirstDateTime for a meeting with the display in outlook of
    "Occurs every weekday effective 09/02/2015 from 10:00 to 10:30"; a
    subset of the data I have in the RecurrencePattern Structure is : -<o:p></o:p>

    PatternType[1]
    Period[1]
    PatternSpecific[62]
    FirstDOW[0]
    PatternSpecificNth[0]
    FirstDateTime[8640]
    EndType[8227]
    OccurrenceCount[10]
    EndDate[1525252319]
    RecurFrequency[8202]
    StartDate[217798560]

    RecurFrequency[8202] = 0x200A = Daily, PatternType[1] = Week, Period[1] = 1 Week<o:p></o:p>

    This implies that the RecurFrequency is not used to drive the calculation of FirstDateTime,
    but PatternType should be used. Can you please confirm this is correct and also
    clarify the usage/need for RecurFrequency.<o:p></o:p>

    Regards,<o:p></o:p>

    Nick<o:p></o:p>


    Tuesday, February 10, 2015 4:10 PM

Answers

  • Hi Nick, I believe that I understand now. If it is determined that the PatternType is used when choosing which algorithm to use when generating the FirstDateTime field, not RecurFrequency, I will file a request to have the previously mentioned line corrected.


    Josh Curry (jcurry) | Escalation Engineer | Open Specifications Support Team

    Thursday, February 26, 2015 6:00 PM
    Moderator

All replies

  • Hi Nick,

    Thank you for your question. A member of the Protocol Documentation support team will respond to you soon.

    Regards,
    Vilmos Foltenyi - MSFT

    Tuesday, February 10, 2015 8:42 PM
  • Hi Nick, I am the engineer who will be working with you on this issue. I am currently researching the problem and will provide you with an update soon. Thank you for your patience.

    Josh Curry (jcurry) | Escalation Engineer | Open Specifications Support Team

    Wednesday, February 11, 2015 3:50 PM
    Moderator
  • Hi Nick, I believe that there is a problem with the value you are using for the RecurFrequency or the PatternType field. If RecurFrequency is 0x200A (Daily), PatternType should be 0x0000 (Day), not 0x0001 (Week). If however, PatternType is correct with a value of 0x0001 (Week), RecurFrequency should be 0x200B (Weekly). There are examples in section 4.1.1.x that demonstrate this.

     

    Please let me know if that helps.


    Josh Curry (jcurry) | Escalation Engineer | Open Specifications Support Team

    Wednesday, February 11, 2015 11:14 PM
    Moderator
  • Hi Josh,

    Thanks for you swift reply. I created appointments in outlook for the daily and weekly example from your link and these do indeed behave as you described and I expected but do not represent the case above. The specific case of interest is a "Daily" appointment that occurs "every" weekday, but the RecurFrequency created by outlook is Weekly. So when using the PatternType I can reproduce the FirstDateTime in all cases. So the question is really what is the need/use of RecurFrequency as this looks to be obsolete (i.e. you can infer the correct schedule from PatternType, PatternTypeSpecific & PatternSpecificNth.

    The MS-OXOCAL provides an excellent reference but fails to mention the relationship between RecurFrequency & PatterType to generate the FirstDateTime.

    Please note that I am actually reading PST files generated by outlook and regenerating the appointment series implied by the RecurrencePattern structure.

    Below are the screenshots from outlook that show the recurrence pattern specification.

    Thanks & regards,

    Nick

    Thursday, February 12, 2015 11:35 AM
  • Hi Nick, I understand your point about RecurFrequency. However, I don't understand what you mean about how the documentation "fails to mention the relationship between RecurFrequency & PatterType to generate the FirstDateTime." According to section 2.2.1.44.1.1, the calculation of FirstDateTime uses the StartDate, Period, and FirstDOW fields. Neither RecurFrequency or PatternType are used.



    Josh Curry (jcurry) | Escalation Engineer | Open Specifications Support Team

    Monday, February 16, 2015 11:19 PM
    Moderator
  • Hi Josh,

    You are correct, neither RecurFrequency nor PatternType are used in the actual calculation but the document details three algorithms one for each of Daily, Weekly & Monthly/Yearly, but no mention of how you determine how you derive which algorithm to use. It is clear from my analysis that you must use PatternType as described in the original question. I also have completed the code to generate full schedules for all PatternType’s and do not need RecurFrequency at all. So as asked in the original question, what is the need/use of RecurFrequency.

    Regards,

    Nick

    Tuesday, February 17, 2015 6:53 PM
  • Hi Nick, I am not able to answer why the field appears to be unnecessary, but after reviewing how Outlook constructs and uses the RecurrencePattern structure internally I can say that it's definitely necessary and the combination of the RecurFrequency/PatternType needs to be set correctly.

    Josh Curry (jcurry) | Escalation Engineer | Open Specifications Support Team

    Thursday, February 19, 2015 7:31 PM
    Moderator
  • Hi Josh,

    Interesting that outlook uses both, I can see why; but still unnecessary. I do believe the document needs to be updated to clarify "how you identify" which of the formula to use for Daily, Weekly, Monthly/Yearly FirstDateTime calculations, as you describe both are used. Specifically to avoid confusion for other people who need to do this.

    As you understand the relationship (from reviewing the code), perhaps this is the time to update.

    Thanks for your assistance in this matter.

    Regards,

    Nick

    Friday, February 20, 2015 7:26 PM
  • Hi Nick, it states in the description of FirstDateTime in section 2.2.1.44.1 that "The value and its meaning depend on the value of the RecurFrequency field." Do you believe additional clarification is required?


    Josh Curry (jcurry) | Escalation Engineer | Open Specifications Support Team

    Tuesday, February 24, 2015 6:28 PM
    Moderator
  • Hi Josh,

    Yes, I believe the document should be corrected to state that the PatternType should be used as in my original question to avoid confusion for others, I guess really up to you and your team to decide on the right answer, but I think a more explicit statement in the document is needed.

    Regards & thanks for your help.

    Nick

    Tuesday, February 24, 2015 9:15 PM
  • Hi Nick, I believe that I understand now. If it is determined that the PatternType is used when choosing which algorithm to use when generating the FirstDateTime field, not RecurFrequency, I will file a request to have the previously mentioned line corrected.


    Josh Curry (jcurry) | Escalation Engineer | Open Specifications Support Team

    Thursday, February 26, 2015 6:00 PM
    Moderator