This article builds on an earlier one, Building Headers and Footers that work on Classic and Modern sites. That article, with associated sample code, was about how to create a top menu and footer that work on both modern and classic SharePoint pages. On modern pages, the solution is a SharePoint Framework extension; on classic pages, it’s a stand-alone solution that just happens to use SharePoint Framework tooling like TypeScript, WebPack, and React. That allows a very high degree of common code between the classic and modern implementations.
The good news is that my POC was successful, and the partner and their customer liked it!
The sample code has moved! It’s now in the SharePoint Framework Extensions repo.
I skipped over one key capability in my project, which was localization. The customer in this case is a large multi-national company, so it’s not too surprising they would want to show some information in the user’s preferred language.
One of the partners I consult for is migrating a Fortune 500 financial services company to SharePoint Online. The company wants to take advantage of modern team and communications sites, yet where they need features that aren’t available in modern SharePoint, they’ve decided to stick with classic Publishing sites.
The challenge is: how to build global navigation and footers that will work on both classic and modern sites. There are a few reasons this is important:
- It provides common navigation across all kinds of sites, making the Intranet easier to use
- It provides a common footer across all kinds of sites, ensuring compliance messages are delivered consistently
- It reduces coding and maintenance, because one set of code is used across old and new sites
So I undertook a little Proof of Concept, and here are the results. The solution is usable as-is if your needs are simple. The real intent, however is to prove out a pattern for developing any header and footer that will work on both modern and classic sites.
I’m writing this between jobs – I’ve left BlueMetal, and haven’t started at Microsoft yet. I’m using this time to do a deep clean on my home office, and I’ve come across a number of hard drives that need disposal. But how to do so securely, so data can’t be recovered? And how can I hit a budget goal of, say, zero?
This article from ZDNet offers three options: one software (Darik’s Boot and Nuke – dban), one hardware (Wiebetech’s Drive eRazer Ultra), and one brute force (drive a nail through the platters). The hardware solution would be perfect if I did this every week, but it’s kind of expensive and this isn’t something I’ll use very often. The brute force solution might be good if I had a lot of pent up aggression, but it physically destroys the drive. That leaves the software approach, and a bunch of people recommended dban. But they recommend running it on a dedicated machine because by default it wipes out all connected hard drives and it’s easy to accidentally wipe out everything.
So I had the idea of using Hyper-V, my favorite virtualization tool that’s built into Windows 10 (Enterprise, Professional, or Education editions). Virtualization provides a safe sandbox to run dban, and I can run it in the background on my existing PC.
This article could be useful to any Office 365 developer who wants a quick reference to the recorded sessions from Microsoft Ignite, but it’s also intended as a companion to my opening talk at the Office 365 Developer Bootcamp on October 27, 2017, in Burlington, MA. The talk is intended to show you all the ways you can develop for Office 365. Office 365 includes the Office client programs, such as Word, Excel, and Outlook, as well as the online services, such as Exchange Online, SharePoint Online, etc.
There was a ton of great content at Ignite on Office development and, thankfully, most of it is available online. Here are links to the sessions that are available as recordings, so you can dive into whatever areas you like.
Companion article to my session at Microsoft Ignite 2017
Thanks to everyone who attended my session at Microsoft Ignite 2017, Building Compliant Team sites (THR2057). For those who missed it, here is the recording. This article provides links to resources and additional details.
The talk was about how enterprises can manage modern SharePoint team sites in a way that makes compliance easy.
Lessons Learned from the #SPShire Project
I’m thrilled to be part of an early adopter project building a new intranet for Shire Pharmaceuticals based on the forthcoming SharePoint Communication Sites. Shire is an exciting and innovative company, and the team includes a number of my fellow Microsoft MVP’s as well as teammates from BlueMetal. Last week Microsoft broadcast a webinar from the Boston MTC featuring a cross-section of the development team. Microsoft’s Mark Kashman promised we’d post some of the lessons learned in the project, and this is one of those postings.
The lessons in this blog series are:
- Previewing and Opening Office Documents from the SharePoint Framework
- Using the OneDrive File Picker in SharePoint Framework Solutions
- Creating Reusable React Components for SharePoint Framework Solutions
This project on github contains the sample solution for all three articles.
In old-school SharePoint, if you wanted to run some custom code in a web part, workflow, form, or event handler, you wrote either a sandboxed or a farm solution. Neither of these are supported in SharePoint Online. So what are developers supposed to do when they need to run some code somewhere other than the web browser? How can they run code in the background, elevate permissions, or fill gaps in the “out of the box” configuration options?
The modern answer is Azure Functions. It’s a much better sandbox than SharePoint used to have, yet, like a sandboxed solution, you don’t have to worry about where to put it. Just choose what will trigger your function, such as a web service request, web hook, Service Bus message, or a time schedule. Then pop in your code and you’re good to go. They call it “serverless” computing, but there are servers somewhere! You just don’t need to worry about it.