Tag Archives: Modern

Representing Events in Microsoft SharePoint – Collision between Modern and Functional

Background

There are a number of use cases for having visibility to one or more calendars in SharePoint intranet pages – calendars or events lists where a small groups of folks maintain the list of events and a large group consumes the info.

What are the recommendation on how to achieve this?

Calendars in an intranet. That’s the main detail being considered here. How big of a deal is it?
(No really, I’m curious, please let me know in the comments.)

Initial Thoughts and Letdowns

When it comes to the data, Outlook or Exchange handle dates and events best. However, the only surfacing of data between Exchange and SharePoint is the Group Calendar web part. Group Calendars allow everyone to see it, but also allow anyone to add, edit, and delete from the calendar. Not what we want.

SharePoint has historically had an Events list, that also does a good job of managing events – including All-day and Recurring event capabilities. A SharePoint list has list permissions that allow it to be configured with certain editors and certain viewers. However, the only way to surface the calendar view of this list is using a “classic experience” with the functionality we want but with a very dated interface that not only clashes with SharePoint’s modern look, but is only available on a modern page by embedding the view using an iframe. No web part available.

When using the “new experience” of the Events list, there is a new Calendar view type.

showlist

While this calendar looks great in the modern page, it currently seems to be buggy, does not carry through useful features of the classic view like overlays, has issues with filtering items, and does not currently work with the List View web part (but can be displayed with an iframe embed similar to the classic view). Some of these issues may be resolved with a reported update rolling out “soon” (September CY2021).

NOTE: The calendar view for modern lists isn’t just for event-like lists (which is what this post is focused on). The view can be used for *any* list type with a date column and in many cases is a really nice stop forward for those lists.

A bigger problem with the new experience and the Events list is that when using the new experience the All-day and recurring capabilities are broken. These properties and functionality do not show up in forms, though the fields still exist in the list. To make matters more confusing, while in the new experience, click ‘New’ and get the New item form. The form does not show the All Day Event or Recurrence fields, but if you edit the form, both fields are listed and checked as if they should be visible. Not cool for users or power users…

My guess is that this may be happening because of the integration of Microsoft Lists with the SharePoint interface and that Microsoft Lists do not seem to be able to handle these features either – creating a bit of an inconsistency in the interface. If you create a Microsoft List, you can create Start Date and End Date columns and align them with the new Calendar view, but there doesn’t seem to be a capacity to handle other date/event specific functionality that was available with the classic Events list.

SharePoint does also offer a Events web part, which attaches to the Events list. Rather than displaying in a traditional calendar view, the web part offers two different ‘tile’ views – following that little UX trend. While it may be a change for users, the web parts are a nice offering and definitely has its place within the intranet, highlighting upcoming events rather than leaving users to sort through a calendar view. Clicking on events also leads to a few special pages: Events.aspx and Event.aspx that are clean and easy to read. They also DO respect the event All-day and recurrence feature – which is good, but inconsistent with the modern calendar view mentioned above.

With that, Events appear to be at a bit of a crossroads – with some messy collisions – between classic and new/modern functionality that I hope Microsoft will clean up soon.

Conclusion for now

For now, the best solution seems to be continuing to use the Events list as long as it is available, adding the Events web part to the toolbox (previously only used calendar views), and embedding a calendar view until an updated List View web part comes along. It seems like there are a few “broken windows” here that I hope Microsoft repairs soon. A functional calendar view web part will take a nice step or two forward. Knowing what the plans are for Microsoft List support for events would also be nice.

Am I missing some critical feature or capability that solves these needs? Does the enterprise have have these calendar/event requirements?

What are you using in your intranet?

Questions

  • What is the Microsoft roadmap for Events going forward?
  • Events lists are shown as “Classic” features.
    • Will they continue to be supported?
    • Is there a timeline for support, replacement, or deprecation?
  • Will events be supported in Microsoft Lists?
    • You can create a list with start date and end dates, but no “Recurrence” or “All Day” functionality.

References

Modern SharePoint – Workflow and Approval Visibility with Power Automate

I’ve been out of the pages and workflow game for a bit while focusing elsewhere – so playing a bit of catchup in certain areas. Plenty of folks have been digging in here for a long time, so what I’m learning and re-learning isn’t news, but it is new to me and I’m sure there are others in the same boat. There are plenty of folks on older versions of SharePoint that are, or will eventually, make a similar move to SharePoint Online as I’m working on/helping with right now.

In legacy versions of SharePoint, we’ve had workflows and approvals around for some time. These have been managed through SharePoint Designer (SPD) (…may it RIP) and surfaced directly in the list settings where workflows were implemented. Looking something like this:

LegacyWorkflow

In “Modern” SharePoint – SharePoint Online – the preferred and recommended workflow solution is Power Automate, which creates “flows” instead of workflows.

The SharePoint and Power Platform (umbrella group within MS that owns Power Automate and sibling technologies) folks have done a nice job integrating Power Platform tools within the SharePoint interface – including Power Automate and specifically approval workflows. Baked directly in the SharePoint list top nav/action bar:

Automate Integration

Out of the box, configuring a page approval flow is super easy and pretty darn elegant as an approval solution. Kudos Microsoft.

NOW. One of my first questions after turning one of these on was “Where can I see all my open approvals and manage them as needed?”. Because hey, I want visibility and the ability to override stuff. A few key points:

  • Configuring a page approval flow adds an “Approval Status” field to your library – so you can see the status in your Site Pages view
  • Users can review approvals on the submitted page itself and get there via the “three dot” menu on individual items in the Site Pages view “More –> Review Approvals”
  • Open approvals do NOT show up in the Workflow Settings page (shown above)
    • Initially, this might be kind of irritating, but it does make sense. The Workflow Settings page is SharePoint workflows, not Power Automate approvals
    • It would be kind of nice to have some note or even a link to where users can find the new approvals, but I suspect this page has a limited life left and probably isn’t worth updating

So, if you haven’t guessed it yet – where we find that list of open approvals, as well as history and lots of other goodies, is in the Power Automate interface.

There are several ways to get there, but the easiest for folks working in SharePoint already is to use the menu shown above and select the “See your flows” option. This will open a tab to Power Automate. In the left menu you’ll see Action Items –> Approvals.

Approval Flows

Ultimately, this is super easy and makes sense. But if you’re coming from legacy SharePoint and you haven’t made the mental shift to working with Power Automate yet you might just need a little nudge. Hopefully this helped.

Source Parameter Still Alive in Modern Pages

SharePoint’s “modern” capabilities are changing the face of SharePoint – for the better. But it is taking us further away from some of the tricks and approaches that work with “classic” SharePoint. Thankfully one of the long-standing legacy features of SharePoint still seems to work – the Source parameter. 

When used as part of a URL in SharePoint the Source=[URL] parameter takes users to the specified page after a form is saved or cancelled. This allows us to manage some of the navigation flow for users.

So how does this work with “modern” lists and pages. On a list, you have the ‘New’ item button on the top bar.
image

When you click it the new item panel opens up. The top links on the panel include a ‘Copy link’ link.
image

image

‘Copy link’ for the New Item gives us the URL of the New Item form that can be used to link from other locations – such as an email footer, the left nav in a SharePoint site, etc. This link includes the Source parameter and by default will go to the default list view page for the list. Usually, that’s not where we’d like to see users end up.

If I’m building an intake solution, I might have a ‘My Requests’ page where I’d like users to end up. To make that happen it’s as easy as copying the link from the New Item page, getting the link to the My Requests page, and then swapping out the Source parameter value.

The default New Item link (with site-specific stuff stripped out):
https://[mydomain].sharepoint.com/sites/[sitename]/_layouts/15/listform.aspx?PageType=8&ListId=[listGUID]&RootFolder=&Source=[THIS IS WHAT YOU CHANGE]&ContentTypeId=[contentTypeId]

Target destination URL:
https://[mydomain].sharepoint.com/sites/[sitename]/SitePages/My%20IT%20Requests.aspx

The link you’ll use:
https://[mydomain].sharepoint.com/sites/[sitename]/_layouts/15/listform.aspx?PageType=8&ListId=[listGUID]&RootFolder=&Source=https://[mydomain].sharepoint.com/sites/[sitename]/SitePages/My%20IT%20Requests.aspx&ContentTypeId=[contentTypeId]

Using this approach you have a link you can use where users will be able to submit a new request, then end up on the My IT Requests page rather than the default list view page.

References