Wednesday, 31 July 2013

SharePoint 2013 Group Calendar limitations

In my situation, after successful configuration of Outgoing and Incoming e-mail, I was able to send e-mails and meeting requests from my Outlook to SharePoint libraries and lists, including SharePoint Calendar.
Everything worked except meeting requests to the calendar sent via e-mail . They were successfully delivered to the Events' List but not showing up in the actual Calendar.

I knew that it was nothing to do with my e-mail configuration. The messages WERE DELIVERED. I focused on SharePoint and discovered that if I switched off the option of 'Use this calendar to share member's schedule' in Calendar Lists's Settings (List name, description and navigation), a meeting request I would send to the Calendar via its e-mail address would show up in a Calendar View.

Do not worry, you are not loosing a lot by setting NO to 'Use this calendar to share member's schedule'.
Microsoft's Article on Group Calendar will tell you all the beautiful bits you can do with this option. It will not tell you though that once you add people to your 'Share Calendar' and navigate away from the page or refresh it, you will loose the users you have just added. You will have to add them manually again! Strange!

Here is my situation:

'Shared Calendar A' is the main departmental calendar on a home, top level page in the site collection with overlays for other calendars in different sites (department functions) within this site collection.

Currently, when a User1 adds an item to the 'Shared Calendar A' (group option switched off), it will show up to User2 when he opens up the 'Shared Calendar A'.

When a User1 adds an item to a 'Function Calendar A', it will show up in an overlay on the 'Shared Calendar A' JUST FOR this User1.

Similarly, when a User2 adds an item to a 'Function Calendar A', it will show up in an overlay on the 'Shared Calendar A' JUST FOR this User2.

So far, we have established that overlays work only for the current user.
It would be useful if users could see each other's (colour-coded?) calendar items (overlays) for each function in the department's 'Shared Calendar A' just as if the Group Calendar option was switched on.
Somehow, we have to replicate the functionality of a group calendar without using OOTB 'Group Calendar' function of SharePoint Calendar because we want items sent by e-mail to display in the calendar!
What if every item created by any user in any 'Function Calendar' within site collection was copied across to the 'Shared Calendar A' automatically so everybody can see it? ! I'm not sure about colour coding though- it might not work but logic is definitely there.
I know what you say: Workflow! But not a basic workflow. To copy items across sites in a site collection, you need a Visual Studio. You cannot develop such a workflow in SharePoint Designer for example.

But wait a minute... Will it not be confusing for the user who will see his/her coloured calendar overlays in their view of 'Shared Calendar A' along with a blue duplicated item copied to a 'Shared Calendar A' from a given 'Function Calendar'?

Maybe we should look at the situation from a different angle?
How about switching a 'Group Calendar' option back on, what would mean:
  • loosing automatic display of items sent by e-mail to the calendar, but:
  • colour coded calendar overlays would work on a 'Shared Calendar A' for the whole group of users ONLY IF you add a user to the group calendar (note: that user will be stored there temporarily)
..and then manipulate the views to show events items in a calendar list (it must be a way)!

As of manipulating the views, I found this Laura Walker's reply to one of the questions posted on a SharePoint forum:

'When you defined the calendar view, which options and fields did you select for the Columns section of the view definition? Did you use a single date field or the interval option? And for the selected date field(s), is/are the field(s) required? And is/are the field(s) for the missing items populated?

(...)Try checking the portion of the view definition. Perhaps the view has the wrong columns setting.

And here's another test to try. If you have date fields of beginning date and end date, and you define the calendar view to show items in the range of end date to beginning date (instead of from beginning date to end date), you can also make some items not show up. In fact, the only
items that DO show up in this case are the ones where end date and beginning date are BOTH populated and have the same value. If end date is left blank, the item is excluded from the view. And if the end date is later than the beginning date, the item is excluded from the view
'.

Let's investigate:

Properties of the item visible in a Calendar View

 


















Properties of the e-mailed item showed in 'Events' list but not in Calendar View






















Do you see what I see?
Once I edited the event not showing in a Calendar View to include 'Attendees', that item miracleably appeared in the Calendar.
In addition, the column 'Function' was a metadata column which was set to required. I changed that so now it is optional.

Now, it is time to investigate the issue of Attendees and other columns in an e-mailed Meeting Request!
I removed 'Required' from any column both for Schedule and Event content types. This eliminates the situation where the item would not be saved to the calendar due to Outlook not populating every field required. Plus, as mentioned before, I deleted a Metadata column from Schedule and Event content types as sometimes metadata does not play well with other functionality in SharePoint.
IT STILL DOES NOT WORK! Events are stored in 'Events' List but not showing up in Calendar View.

I clicked 'Edit Properties' 'of the item stored in Events but not showing up in Calendar View. It does not show my Attendees but in Outlook I have 3 of them (inc. this SharePoint Calendar) for the same item. The Attendees field is not required so it should not be much of a problem at least in one aspect.
For the time being I focused on the dropdown for a Content Type- Schedule vs. Event:


We know that by populating the 'Attendees' field in the Schedule form, the item will be included in a Calendar View. To further investigate potential causes of the problem, let's connect this SharePoint 'Shared Calendar A' to an Outlook personal calendar and see if dragging and dropping such an Outlook generated item from personal to SharePoint calendar would in fact populate a SharePoint Calendar view.
(If you are an Admin of the site and your 'Connect to Outlook' button on the ribbon is disabled, refresh the page and try it again or copy the Web Address of the Calendar from its settings page, paste it in the address bar on another tab and try connecting to outlook again. This issue is most probably caused by a 'Minimal Download Strategy' feature enabled on a site level'.)

So, once you connected your SharePoint calendar to your Outlook, just generate a new appointment in your personal calendar and drag & drop to copy it to the SharePoint calendar like this:


First thing I saw was:


Then I noticed:


Despite that, the item was displayed in a 'Shared Calendar A' calendar view with the prefix 'Copy:' to it. See below:


I ignored a personal calendar in Outlook on the left and created a Meeting Request as a User1 in a connected SharePoint 'Shared Calendar A' on the right without adding a 'Shared Calendar A' e-mail address to the list of attendees. I only added a User2 as an attendee.


On MS Help Forum I found that:

'This error refers to the fact that a SharePoint list calendar isn’t capable of tallying responses.  SharePoint list calendars by design do not tally attendance.  In order to tally responses you would need to use a Meeting Workspace.'

Mind you a Meeting Workspace has been depreciated in SharePoint 2013 :)

I sent it anyway. I then logged in as a User2 to whom I just sent the request and accepted it. Nothing happened for a while.
After User1 clicked 'Send/Receive' in outlook, the User1 (originator) could see the item in 'Shared Calendar A' on a SharePoint site.
User2 could not see his meeting that he/she just accepted in SharePoint calendar view, but it was visible in 'Event List' (so same problem here).
User2 could also see his accepted meeting request in his/her personal calendar in Outlook! If User2 would drag and drop this meeting into his connected SharePoint 'Shared Calendar A' in Outlook, this item would appear in a calendar view in SharePoint with a prefix 'Copy:'

It is called a seamless integration, isn't it? I just cannot wait until I would have to explain to my users what they can and can't do between SharePoint and Exchange! (not!).

Going back to the issue of e-mailed meeting requests not showing in Calendar View but only in events List- i am not giving up!

I deleted the 'Shared Calendar A' as it might have been a custom list (created from a template used elsewhere). I then cleared the recycle bin and went back to the main root page of the site collection. I added an app being a calendar, enabled 'Group Calendar' option and added an e-mail address to the Calendar List.
Same problem - items are sent to the Event List but are excluded from the Calendar View.

I started recreating the Overlays and out of curiosity, I started from the Exchange Overlay (for auto syncing your personal calendar).

[side note _________________________________________________________________________

You need a web access to your Outlook (OWA), please see MS Article describing the process as well as its limitations [e.g. works only with a user who is currently logged on].

When you successfully created an Exchange overlay in your SharePoint Calendar, you might see events shown in a 'Free/Busy/Tentative' format like that:


This is caused by the default setting for the account in Outlook. In Office 2010:
Go to File -> Options -> Calendar -> Calendar Options (section) -> Click 'Free/Busy Options' button and change the Read options according to your preference, e.g. 'Full Details'
Note that this Exchange overlay in SharePoint is just a projection of your OWN, personal calendar in the Exchange and you cannot edit items shown in this overlay in SharePoint.

In addition, if it happens that the User2 has his Exchange overlay configured on his 'Shared Calendar A' and you (User1) try to add that User2 to the Group calendar to see his/her schedule you will receive this error:

'E-mail address is empty. you should set Exchange e-mail address into your user profile to retrieve calendar data from Exchange server'

It looks like the functionality breaks when you attempt to add another user.
To summarise, it is not a proper overlay of calendars like with other calendars within SharePoint. It is just a raw display of Exchange items with which you cannot do anything.

_____________________________________________________________________end of side note]

Anyway, an Exchange Overlay was done just as a proof of concept. Maybe someone, somewhere would have a requirement for it.

Let us go back to the request items sent via Outlook not showing in Calendar view as we did not resolve that, did we?
We have managed to deepen the problem after we deleted the old 'Shared Calendar A' and created a new one from scratch from a default calendar app in SharePoint! Now, when you add an item to the calendar (no matter how, via 'Add' link on hover, 'New item' from the ribbon or 'New item' from Content and Structure), nothing happens in the Calendar View (tested with multiple browsers). Everything goes into 'Event Lists'! WTF!
Ok, an 'Event' Content Type does not seem to work so I added a 'Schedule' Content Type to the calendar list and created a new Schedule item. It did go to the Calendar View.

In summary, I committed this diagram to graphically attempt to explain this wonderful integration between SharePoint 2013 and Outlook 2010:


I am moving to something else, watch out for updates on this post as I am not giving up!











  

7 comments:

  1. Hi L.L,

    I want to thank you for this really interesting article that I read carefully since I'm currently meeting the lack of attendee's issue.

    I would like to know if you were able to fix this issue?

    Thanks for your feedback and do not give up!

    Matthew

    ReplyDelete
  2. I have exact same issue and have not been able to get a correct solution. I have users who have been asking to use Google Calendar, and my role is (unfortunately) to kept them use the tools that we use (Office and Sharepoint), but I am getting frustrated myself.

    Any luck with a solution?

    ReplyDelete
  3. I also have users who asks for Google Calendar :-(

    ReplyDelete
  4. I struggled with this solution and others related to optimizing the SharePoint Calendar App. It sure seems that that calendar App has been decidedly engineered for light usage. The complex features seem to be going into the exchange calendar feature rather than sharepoint calendar based off lists. Could be wrong, but I would not be surprised to see the sharepoint calendar feature being fully deprecated. Probably better off sharing an exchange calendar hosted on exchange online if you got o365.

    ReplyDelete
    Replies
    1. Excellent article though, very thorough and informative.

      Delete
    2. I am trying to get group scheduling features and am trying the following.
      1. setting up a 2 dollar exchange user through o365,
      2. logging into an outlook client with that new exchange user
      3. Clicking file - account settings - delegate access
      4. Delegating Author (Read and Add) rights to all users in group
      5. Sharing the calendar with the group
      6. Everyone can now use scheduling features

      Delete
  5. Thanks for this info.I have just signed up for a free SharePoint 2013 site with http://www.cloudappsportal.com. Thanks once again.

    ReplyDelete