SHAREPOINT

Developer Certificate changes in SPFx v1.12.1

Developer Certificate changes in SPFx v1.12.1

Recently, I had to set up a new development machine. These days, my primary development tasks are centered around SharePoint Framework (SPFx) solutions, so setting that up was my first goal. Everything was going smoothly until I tried to install the certificate that the development web server needs for developing SPFx solutions. From there, I descended down the certificate rabbit hole. After a couple of days of research and asking everyone I know for help, I was finally able to complete the task and decided that I better document it before I forget.

Join me at M365 Collaboration Conference in June

Join me at M365 Collaboration Conference in June

Conferences are slowing coming back and I am personally looking forward to talking to attendees, sponsors, and speakers in person again. First on the agenda this year is the M365 Collaboration Conference (formally the SharePoint Conference) in Orlando, FL, Jun 8-10. The “big” conference is still scheduled for Las Vegas in December, but this is a hybrid event that promises to be an exciting time as we transition from the virtual world we have lived in for the past year. I am honored to be chosen to deliver a couple of sessions during the conference and am looking forward to the trip.

Adding custom formatting to all list views

Adding custom formatting to all list views

One of the most exciting changes to SharePoint in the last few years is the advances in custom formatting of columns, views, and forms. These capabilities have transformed lists from functional tools that are pretty boring to exciting, dynamic, visual presentations of data with colors, icons, and almost anything you can design in HTML/CSS. By default, most of the custom formatting samples for columns are shown in a single view, but it is just few steps to make this formatting active in every view.

First, let’s find out how to create some custom formatting. I started with a Work Tracker list from the templates provided in Microsoft Lists and added some data about a project. As you can see from the image below, this template already has custom formatting in several columns. (Category, Priority, Progress, and Assigned to).

Microsoft Certified Trainer for 2021

Microsoft Certified Trainer for 2021

As 2020 ends (finally!), I realized that I neglected to post about an acheivement that I am very proud of. Last month, I was confirmed as a Microsoft Certified Trainer (MCT) for 2021. This is my 5th MCT certification and I even received a nice polo shirt for the 5-year acheivement. I am very proud to be counted among professional instructors in Microsoft technologies and look forward to more opportunities to use my certification help educate others.

Creating a Section Aware webpart in SPFx

Creating a Section Aware webpart in SPFx

Recently, I built a web part for a client, which led to a discussion about why the web part background was static white, which did not reflect the branding on the page. My quick fix was to just change the color manually, but now I wanted to know more about how I could build webparts that are aware of the area that they are in. It turns out, there are several options, depending on the capabilities needed and the web part framework.

SharePoint Devs be aware! DOM changes are happening!

SharePoint Devs be aware! DOM changes are happening!

Microsoft warned us! The Document Object Model (DOM) on web pages was a common target in my pre-SPFx solutions, especially the ones that used jQuery. When SPFx came along, Microsoft was very clear that the classes and element ids on the modern page were not an API. By that, they meant that there was no contract with developers that those values would not change in the future. The future is here!

Acknowledging Microsoft’s warning, I vowed to stay in the box and not rely on any classes that were not included as part of my solution. Other than “fixing” the workbench to behave like an actual page in SharePoint, I went a long time before breaking my vow. I have a client that complained non-stop about the white-space between web parts on their intranet homepage. I calmly explained multiple times why Microsoft chose to design the modern page with this white-space, but they insisted that I needed to change it. Eventually, the “client is right” mantra won, so I built a web part that would allow the client to adjust the horizontal and vertical spacing between web parts. Again, I warned them that one day the page might just disappear. Happy client == happy paycheck!

As soon as I got the call about the white-space being back, I had a pretty good idea what happened. Sure enough, when I cracked open the Dev Tools of my favorite browser (Edge), it didn’t take long to find the issue. The two classes I used to adjust spacing were no longer there. There were new classes in their place that seem pretty cryptic, having what appears to be an identifier (partial GUID) as part of the class name. Those class names did not look like a stable place to be targeting at all. To Microsoft’s credit, they (mostly) took the old class names and moved them into an attribute called data-automation-id. Not only did this help track down what had changed, but gave me new targets to “fix” my broken web part for now.