Jared Matfess's Blog

Having fun with SharePoint, Office 365, and Microsoft Azure

Architecting News in Office 365 — July 8, 2017

Architecting News in Office 365

With weather in Connecticut hovering in the 80’s why wouldn’t I bust out a quick second post about SharePoint?

So in-between running a few errands, doing some yard work, and enjoying a Starbucks Nitro Cold Brew I managed to insert myself into a conversation about news and the new SharePoint Communications Sites.


It’s amazing that folks like Jeff Teper & Andy Haon respond to folks with inquiries, let alone on a Saturday but that’s reflective of how Jeff runs the SharePoint Team and his passion for collaboration.

Working for a consulting firm, I spend a lot of time working with clients on building out their Intranets, redesigning, building taxonomies, and helping them to personalize content for their diverse user populations. In addition, I started my career many years ago as a Co-Op on a Corporate Communications Team responsible for managing our 30,000 person company’s Intranet. Over my career I’ve seen, worked on, upgraded, deployed, and redesigned so many Intranets.

The new SharePoint Communications Sites are a first step into providing organization’s with a way to build a landing page without the need for custom development skills. I’m going to pause and agree that they certainly are not a 1-size fits all, there are definitely some gaps when it comes to branding and applying themes. However, I absolutely have a few clients where I would consider recommending that they look at standing up a Communications Site as a landing page given their requirements and also knowing that Microsoft will continue to add functionality over time.

With that said – the theme of this Twitter thread was around News and what the roll-up options are for the Communications Sites. For those of you who are in Office 365 and are leveraging Team News, you might be aware that there’s a concept of news roll-up on SharePoint home. One of the points that I made in the thread is – from an enterprise perspective I’m not seeing organizations adoption SharePoint home as a starting point for their O365/Intranet experience. As it has been for many years, most corporations set a default homepage which is a splashy “Intranet” site serving up company news, links to common systems, and other widgets which are reflective of that organization’s brand.

Now to get to the Seb De Ron’s question and my response I definitely can see the challenge of architecting news in the new Communications Sites. There’s a News Webpart which is fantastic which allows you to quickly author responsive articles using the new modern publishing experience. Those articles are then surfaced up on via the webpart wherever you put it on your page. The one caveat is that the articles all live within that site, and there isn’t an option to add a second news webpart and point it at a different source.

Example of what we’ve built for other organizations:

News Roll-up

The way that we’ve built this experience for many of our clients is to leverage Content Search Webparts with custom display templates to serve up those additional news articles from wherever they exist within the tenant or farm. Therein lies a second problem that there isn’t a native Content Search Webpart yet for Modern Pages.

What I think adds to a bit of the dilemma is that “Team News” is rolled up in the SharePoint home. So you’ve got personalized news from the various Team Sites that you participate in, but it’s a bit of a disjointed experience. To get your corporate news it’s on the Intranet, but to get personalized news you have to leave the Intranet page and consume it from within the SharePoint Home.

To Jeff’s point – Communications Sites right now reflect the base functionality to get them working. It would appear that there is definitely additional features & functions that will be forthcoming. But for the time being (7/8/17) – O365/SharePoint Architects need to be aware of how the different technologies work when designing how News will work for their organization. And I’m hoping this post helps illustrate to any Product Team folks one of the scenarios I see quite frequently in organizations where there’s a mix of news types on an Intranet homepage.

Creating Google Charts with the SharePoint Search API — December 4, 2016

Creating Google Charts with the SharePoint Search API

Recently I had a client ask me to build them some lightweight BI reports because their enterprise team was too consumed with other priorities. I started to think about pulling in a 3rd party JavaScript charting library since they mostly wanted to report against 1-2 columns of a list. However one of the challenges I faced was this library had close to 10,000 items and there would be views which would contain more than 5,000 items.So instead of leveraging the lists endpoint for the REST API, I decided to get the data via the Search API which would overcome that 5,000 item limit.

Since I can’t disclose client data, I mocked up the same solution using data I found on the CT State Data site. I created a new list from the CSV and let it go until I hit over 30,000 list items:


The list had a few interesting columns – Agency, Department, Job Title, Compensation Type, & Amount.


I thought it might be interesting to build a quick report for how my tax dollars were being spent by agency. Since I would be leveraging Search for pulling in the data, I first needed to map a crawled property to a managed property. I picked one of the out of the box managed properties and mapped it to OWS_Agency:


After a few hours the managed property became available as part of the Search index.

Next, was the easy part – I added a Content Editor Webpart to a page and pointed it at an HTML file which would pull together the solution.

The complete details of the HTML file can be found below but I just want to highlight a couple of the important parts.

1. When I get data from the Search API I specify that I want ContentTypes of type Item (would support custom as well) and then say I want to pull back RefinableString102 as part of the refiners set so I can see how many items per State agency

The refiners work the exact same was using the Search REST API as they do when you perform an actual SharePoint Search – it returns results that match the criteria you specify. One of the bonus features is by saying you want to pull back refiners, you immediately get a summary of the different values for that refiner. So for our instance, I’m able to report on all the different state agencies by using the RefinableString102 refiner. Within that, it found 67 different agencies and then gave me the count of how many expenditures there are per agency.

In a production environment, you would probably want to also limit the query to only return results from that particular site collection or site, but the purpose of this blog post is to hopefully give you a very easy to follow along with example.

2. When I make the AJAX call the JSON returned back is in a complicated hierarchy. I took a screenshot so you can see the structure:


xData.d.query.PrimaryQueryResult.RefinementResults.Refiners.results[0].Entries.results[0].RefinementCount gives me access to 3999 which is how many expenditures were issued to the Board of Regents agency.

RefinementName – the agency name from the data set
RefinementValue – the number of items that are set to that particular agency

3. Because I’m creating the table from data returned from the Search API – I needed to initiate a new DataTable for Google Charts and then iterate over my JSON data to fill in the cells.I told it how many rows I would have (the length of the results) and then I used a for loop to fill in the table values.

4. I set the title of the chart of “State Budget” but creating an Options object.

5. I then create a new variable called chart which initiates the google.visualization.ScatterChart function and pass it the div on the page where you want to render the chart.

Here’s what the Google chart looks like with all the state data loaded:


Full HTML file on Github



Yammering about the new O365 Community — July 17, 2016

Yammering about the new O365 Community

For those of you who know me, I’m a little sarcastic with a pretty dry sense of humor. Friday night I was scanning my Twitter feed and noticed that Naomi Moneypenny had put out an article on the new O365 Community and how it was not on Yammer. I had seen the blog post out on the Office Blogs site and had tagged it as something I was going to peruse during my Saturday morning coffee & catch up on news time. I’m a big fan of Naomi, she’s absolutely brilliant and her observations are incredibly insightful – so I decided to check her post out before continuing on with my Friday night plans of yard work & various chores. As I had suspected it was really sharp article and she pointed out a really valid point for why it makes sense to now have the O365 Community in Yammer – it completely eliminates the barrier to entry. You can choose to browse it anonymously or register with your Microsoft account so that you an engage in the community. She also pointed out that by enabling anonymous access would mean that the search engines would be able to index the content as well, making it even more valuable for those looking for information about O365.

I have a love/hate relationship with Yammer and I’m slightly conservative when talking to clients about it. From my perspective it can be an incredibly useful tool within a Corporate environment where you have the appropriate Power User base in place to ensure that answers and/or ideas are being captured and somehow logged into a knowledge management tool to help eventually break a cycle of everyone blasting out questions to an organization. I like it for the remote “in the field” workers that are capturing information and posting it for those at their desks to analyze and provide input where necessary. I’m not a huge fan of it for the large scale “chaotic” implementations similar to what we have with the O365 Network & Groups. Honestly, what we have today is kind of a mess.. There are groups for different things – Development, IT Pro, Client-side Development, Patterns & Practices, the list goes on and on. I’m not against having all those groups but finding groups is a bit of guessing and/or wasted time searching. There’s also lack of real ownership which is kind of the Yammer model, but this doesn’t always work with large groups. There’s the occasional message about, “can’t wait to see where <insert person here> takes this group” – which undoubtedly leads to 1-2 posts by that person and then they get busy with life. 🙂

Now here’s where my Friday night went oh-so wrong.. In Naomi’s post she provided me with the ultimate obnoxious question setup:

Screen Shot 2016-07-17 at 8.42.11 AM

Maybe it was the really chaotic week, or the cycle of the moon, or the fact that my sarcasm gets the best of me, but I just couldn’t help but responding back on Twitter with the following:

Screen Shot 2016-07-17 at 8.45.39 AM

Sure it seemed innocent at the time and knowing Naomi I thought she would have gotten a chuckle out of it but what I did not realize is that my quiet evening was going to turn into a chaotic mess of likes, retweets, responses, threads & subthreads. At one point I’m pretty sure Al Gore jumped in and let us know that he actually invented Yammer.

Looking back through the thread I identified the themes of the arguments for why this isn’t a good move as:

– Investments have been made already in the existing O365 Yammer Network
– This is yet another place to monitor questions/answers/information
– Not hosting this on Yammer means that Yammer is dead
– The “Community” didn’t like not having input on the decision

These are all very valid points and I have a couple of comments for them:

1) Investments have been made already in the existing O365 Yammer Network
From my perspective the life of an IT Professional is constant change & evolution despite investments made in products. I can recall a huge ERP implementation that had teams churning through millions of dollars over the course of a few months to implement a new system and having their project halted right before Go-Live. This was because of a pending merger which already had licenses for the product and the decision pivoted to waiting until after the merger was completed. (1-2 year delay). For this instance, yes there was absolutely time & energy put into building out these Yammer groups but to quote Naomi, the penetration level was less than 100,000 users on the network which is an incredibly small fraction of the SharePoint & O365 users out there. I’m not trying to be too critical but you could argue that the network was a failure based on the #’s alone. Obviously you can always argue no matter what side of the coin you’re on, but in terms of a percentage of install base vs engaged, the Yammer network simply doesn’t have the reach that Microsoft would like to have. Don’t forget, Microsoft’s success is based on adoption & consumption of services – ensuring adoption & consumption is completely tied to their bottom line.

Just to build on that point the O365 IT Pro network is only 13,329 (as of 9:22 AM EST on 7/17/16) and that’s the second biggest group in the network!

Screen Shot 2016-07-17 at 9.21.58 AM

2) This is yet another place to monitor questions/answers/information
Yes. I absolutely cannot argue with the fact that this is yet another place to monitor for SharePoint/O365 questions, answers, and announcements. However, I’m curious what the impact is to those that are going to use this platform mostly for consuming information & announcements vs those community leaders who are publishing information. What I mean is – take user Joe working at a large company who just wants to learn more about Planner and how it impacts him. Now instead of hunting across Stackexchange, MSDN forums, MVP blogs, etc. – he can go to this one Community Site (choosing to login or remain anonymous) and follow information put out by Microsoft or members of the community. This is a much different experience than say Rob Windsor who is an amazing Community leader in the Development space.

Rob made the comment here:

Screen Shot 2016-07-17 at 9.08.01 AM

As someone on the content producing, knowledgeable, and sought after – I can absolutely see how yet another community can lead to eye rolling and perhaps non-participation. From my perspective though, Rob’s more of the exception to the rule. I can empathize the additional overhead this can add to his participation in the community, though I would ask if perhaps at some point he would consider dropping out of one of the other channels in place of this new one once it’s beyond the Preview period.

3) Not hosting this on Yammer means that Yammer is dead
So I have to chuckle because the Yammer being dead comment is really what caused my Friday night to go from quiet to phone constantly buzzing with Twitter updates. 🙂

Yammer is no different than any other solution in that it was developed to match a specific use case. I feel that Yammer works in Enterprise environments with governance, with governance, with people dedicated to ensure that individuals who are going to get the most out of the platform. I personally did not like the O365 Network on Yammer, I found it to be a hot mess of groups all over the place.

Take a look at the splash screen – it’s so much easier to navigate towards the type of content you are looking for in the new network:

Screen Shot 2016-07-17 at 9.19.08 AM.png

Versus the Yammer experience is a hodgepodge of trying to scroll through find the groups that are most relevant. This is a nice clean modern interface for getting information about what you’re looking for – whether it be Yammer, SharePoint, Office Apps, etc.

Also to address the other elephant in the room about Yammer being “dead”, I can definitely see how folks might interpret that not using it means that Microsoft is pulling the plug. However, I think that the mass of O365 users would make it very difficult for Microsoft to just pull the rug out from users. What I think we might be seeing is a true convergence of SharePoint, OneDrive, Yammer, and Groups into something else. I don’t have any insider info on this one. But if you look at the power of Groups, the re-energizing of SharePoint, and the rich capabilities of Delve – it feels to me like something big might be coming which really ties them all together with Yammer perhaps somehow either being reborn or updated to help complete that picture. I can only see Yammer becoming more integrated vs being killed off.

4) The “Community” didn’t like not having input on the decision
So I consider myself to be part of the O365/SharePoint Community – I run a user group and I speak at SharePoint Saturdays when I can. It is true that nobody asked me if we should switch from the O365 Yammer Network to this new platform. When I think about the community though, I gravitate towards the people that are consuming announcements, blog posts, asking questions & hopefully getting answers. Running the user group, I find myself really striving towards trying to build an inclusive environment where people feel comfortable asking questions & getting help with their problems. Looking at the the network I think this was Microsoft’s intent as well – they wanted to make it easier, organize the content, eliminate any additional headaches with Yammer accounts, and provide a nice modern experience. I would also say that the numbers in the Yammer network don’t accurately reflect the true volume of community members. If you remove the Microsoft employees, the MVP’s, and the evangelists, you’re really talking about very small numbers of network members vs true community members.

So are there people who are active in the O365 Yammer Network? Absolutely! Might they have concern or mixed feeling about moving? Sure! Rather than look it as a negative, I would challenge those who have some concerns to look forward to hopefully a more rewarding experience if Microsoft is able to grow the number of active users in this new community. I intend on announcing it during our next CT SharePoint User’s Group meeting, and I would encourage those who either run or participate in local user groups to do the same.
To quote Dux Raymond Sy – “Shift happens”. 🙂