Forum Discussion

Reuben_Ndlovu's avatar
Reuben_Ndlovu
Copper Contributor
May 29, 2020

Recurring Events issue in a SharePoint Online site.

I have created a Calendar List (App) and added recurring Birthdays and Meetings on it. I added an event web part on the home page and I want to display all current events(Birthdays & Meetings) but for some odd reasons.

On the web part properties, when I select the Events List on this Site in the Source dropdown, all my recurring Birthdays are not showing.

When I select This Site on the Source dropdown and I select All upcoming events in the Date Range dropdown, the web part is displaying all previous and future events irrespective of which option I select in the Date Range dropdown field.

 

Is there a workaround for this issue?

 

I will appreciate any feedback...

 

Reuben Ndlovu(Reuben_Ndlovu)

5 Replies

  • SvenSieverding's avatar
    SvenSieverding
    Bronze Contributor

    Reuben_Ndlovu 

    For a list to be selectable in the dropdown under "Events List" for "Events list on this site", it needs to be of the template "Events" (TemplateID 106). You will need to delete your calendar app and recreate it as an events list. 

    It seems that this is unfortunately no longer possible through the UI, but it is easy using PNP Powershell:

     

     

    New-PnPList -Title MyBirthdaylist -Template Events

     

     

     

    But that won't help you with recurring events. The Events Webpart seems to explicitly filter out all recurring events:

    <Eq>
      <FieldRef Name="fRecurrence"/>
      <Value Type="Boolean">0</Value>
    </Eq>

     

  • gclodder's avatar
    gclodder
    Copper Contributor

    Reuben_Ndlovu 

     

    This response is 1,5 years late, but for anyone finding this 

     

    I made a work around with Automate.. I had this issue with birthdays of coworkers, so I copied every birthday to a new Sharepoint Event List (easy to do in Outlook, just drag 'em from one calender to the next) and made it without reccurance.

     

    My flow checks every month if one or more birthdays is in the past and increments it's year by one. 

     

    Steps:

    1. Create a flow and set a recurrence trigger for once a month
    2. Initialize two variables, one called this_date and one called end_date
    3. Then add an action 'Get Items' from Sharepoint. Select the site and the list name. Make sure you have access to the Sharepoint-site
    4. Add an Apply to Each with the output-value from above list
    5. Add a Condition checking if the Start Time in the event is 'less than' the expression utcNow()
    6. If Yes: set the two variables from before with the value of Start Time and End Time
    7. Add a Sharepoint action 'Update Item' 
    8. Again select the Site and the List
    9. Set the ID and Title the same as the current value
    10. Set Start Time and End Time with this expressions 
      addToTime(variables('this_date'),1,'Year') for Start Time
      addToTime(variables('end_date'),1,'Year') for End Time

    That's it!

     

    Some screenshots for support. I won't share the flow itself because it contains my data.

     

     

  • Peter2wxin's avatar
    Peter2wxin
    Brass Contributor
    https://github.com/pnp/sp-dev-fx-webparts/tree/main/samples/react-calendar
    It probably will work but quite tricky to common users.

Resources