Objective: get documents or list items grouped by month. It could be for example invoices, receipts, or meeting minutes. For the above screenshot, I used the “Travel requests” template available in Microsoft Lists.
The challenge is to get the months in chronological order rather than alphabetical order, for example January-February-March-April rather than April-February-January-March.
This post is actually an update for Microsoft Lists of a SharePoint trick I posted 7 years ago. It still works! For a full explanation of the trick see the original article. I’ll only repost here the final formula for the calculated column:
If you are not familiar with calculated columns, you can check out an introduction I wrote… 12 years ago. It seems that the rewriting of the official documentation is still in progress, when there’s an update I’ll share it on this blog. In the meantime feel free to post your questions below.
For a list of functions that can be used in formulas, see here.
I mentioned in my last post that a CEWP or its modern equivalent still have a place in SharePoint. An example is to display a temporary message, like in special occasions such as Halloween or New Year.
Before we get to the code, let me start with a couple disclaimers.
Code injection can be dangerous, especially scripts. In this example we’ll only be using a few safe lines of styling (CSS) to decorate the page.
There are better options for site-wide customizations, or more permanent needs such as recurring messages
The customization relies on a CEWP for classic sites. On modern you’ll need to install a “modern CEWP“.
I have only tested the code in Chrome and the new Edge.
Steps to our Halloween banner
Get an image, and upload it to a SharePoint library users have read access to. I got mine from Openclipart which allows for unlimited commercial use.
Save the CSS below to a text file and upload it to the SharePoint library, after you replace the image link with your own. You can also adjust the height and background color as needed.
Insert a CEWP or “Modern CEWP” to your page and link it to the text file. Voila!
The Content Editor Web Part (CEWP) was a pillar of Power User and Citizen Developer work on classic SharePoint. Countless posts on this blog are dedicated to it and its siblings, the Script Editor Web Part and the Page Viewer Web Part.
With the migration to modern, the CEWP is not available anymore and site owners have been looking for alternatives.
My first advice is to clearly understand what problem you are trying to address, and look at out-of-the-box options. For example, if you need to insert some HTML in the page, maybe the Markdown Web Part has you covered? If you are trying to trigger an action, maybe Power Automate or Power Apps could fit the bill?
There are still situations where there is no easy path forward. What if you just need light adjustments to styles in the page? What if you want a news-like layout, with text wrapped around an image, like in the example below?
Microsoft’s answer is the SharePoint Framework (SPFx). The SPFx allows us to build Client Side Web Parts to complement the out-of-the-box solutions.
Several developers have leveraged the SharePoint Framework (SPFx), to release a modern version of the CEWP. Just to name a couple, check out the spjs blog or the Microsoft 365 PnP community.
I have decided to publish my own version on github. It is the first of a series of Client Side Web Parts I plan to release in the next couple months. Note that it is still in preview (version 0.9), and – like any Client Side Web Part – you’ll need an admin to install it on your environment.
But why yet another solution when there are already several available?
Beyond just offering a patch, I have a plan in mind. You’ll notice that my solution is named “Dangerous Content Web Part“, rather than “modern CEWP”. The first objective is to pass the message, and alert users on the risk when using such a Web Part. The other intent is to start working with clients on a “Safe Content Web Part” to smoothly transition out of the danger zone. If you are interested, contact me!
Microsoft Ignite has poured on us tons of Microsoft 365 announcements, and thankfully tons of resources to help us get started. Your first step to access those resources is to head to myignite.microsoft.com. There, you can explore the sessions, and for each you’ll get access, in the right hand pane, to a number of resources.
Notice in particular the one that says “Download Resources”. It’s actually the exact same for every session, and lets you download a PowerShell script that in turn will help you download resources.
Great and easy for a techie. For the regular business user, PowerShell can be a little bit intimidating. However, it has become an essential tool in modern Microsoft 365, where some settings get released through PowerShell first, before being surfaced in the admin or setting menus.
So let’s turn this to our advantage, and take this opportunity to get started with PowerShell and at the same time get a copy of our favorite resources.
Disclaimer: this is NOT an invitation to start downloading and running any PowerShell script available from the internet. Scripts can be harmful, especially as they can leverage your credentials. Only use trusted sources and use your own judgment. We are going to trust Microsoft on this specific one.
Click on “Download Resources” to download the zip file, and unzip it. It should look like this in file explorer:
The instructions are in the readme, let me just use an example to walk you through.
First, you need to identify the sessions you are interested in, using their session code located toward the bottom of the page. Let’s pick two of my favorites: DB158 (Collaboration announcements) DB154 (Project Cortex)
Back in file explorer, where we unzipped, open PowerShell from the file menu
3. You’ll get a blue screen, we’re doing just fine:
Now you can type the PowerShell command and let the script download your resources – just make sure you have room on your computer as these include large videos!
As expected, Microsoft flooded us with announcements on this first day of the MS Ignite conference. I’ll only cover here my picks, on the collaboration and app building spectrum for desktop. There were a number of improvements on mobile I’ll need to get back to later. For a broader view, for example if you’re more into admin or compliance, I encourage you – just as I did yesterday – to directly browse my Power BI report. I refreshed it at 5pm PST, and won’t change until the refresh for day 2, around noon tomorrow.
I found out that there was another live report available, curated by John White. It offers a different perspective, so you can definitely explore both.
Remember that there are some contests with prizes going on. I already talked about Microsoft Mechanics Sweepstakes yesterday, but my preferred one is the Microsoft Ignite Cloud Skills Challenge which encourages you to learn.
Now to the announcements!
New Power Platform icons: the new look (see above) is more in line with the other products. You can check out the icons for yourself in your own Microsoft 365 waffle.
SharePoint Syntex: part of the broader Project Cortex, this app leverages AI and machine teaching to take on tasks such as document recognition and classification.
Project Oakdale: gives you a Power Platform like experience directly within Microsoft Teams, with the ability to create a table (up to 2 GB of data) and build a Power Apps app on top of it. A benefit of this low-code approach, compared to a Microsoft list for example, is that it is scalable and can later be enhanced by developers.
Project Nucleus: Microsoft Lists hit back by bringing caching capabilities, promising fast response on large lists (bye bye 5,000 item limit) and the ability to work offline.
SharePoint global navigation: a new vertical bar positioned on the left hand side, similar to the experience you get in Microsoft Teams. You set it up on the Home Site.
SharePoint Framework: it now allows developers to build Microsoft Teams apps, in addition to the already available capabilities to build tabs and personal apps.
Microsoft Stream: videos are becoming first class citizens, benefiting from the same features as other files: external and anonymous sharing, integration with Microsoft Search, enhanced analytics, and new controls for security and compliance.
Microsoft Teams: a bunch of new features, including:
Upper limit of 25,000 members per team, instead of 10,000
I have set up a Power BI report that tracks tweets related to the MS Ignite conference (September 22-24, 2020). The idea is that rather than me telling you what’s happening, you can select your own favorite hashtags or authors and see what they are up to. Click on the link in the bottom left to open the tweet on twitter.
I’ll refresh the report a couple times a day. It is based on popularity (retweets and likes), so don’t count on it to report on the last minute news. Also, the Power BI “Publish to Web” feature caches the reports, and it might take an hour between my refresh and the Web update.
Incidentally our most popular tweet at the time of refresh happens to be coming from Microsoft’s CEO, Satya Nadella 🙂 Also highlighted in the “decomposition tree”: Karuana Gatimu, Dona Sarkar and Anna Chu.
Other than that, you might also want to check out the Microsoft Mechanics Sweepstakes 🙂 We’ll need to wait until tomorrow for more technical announcements.
If you compare to my previous post, you’ll also notice a different logo in the top left. Let’s see if this one sticks 🙂