The new SharePoint home page web experience enables us to easily get to, find and discover important sites and portals throughout your intranet – online, on-premises and everything in-between. Today, many Office 365 users use the "Sites" page – the 4th most clicked tile in the Office 365 app launcher. MS is working hard to modernize this experience and transforming it into a true home for SharePoint. What was the ‘Sites’ page is now the ‘SharePoint home’ and the “Sites” tile becomes the “SharePoint” tile – same logo, redesigned for a modern, responsive user experience. Clicking into the SharePoint Home displays the recent sites and portals you are most active in and following, recommended sites per the Office Graph, plus company-wide sites promoted by your company. From the SharePoint home, you, too, can create new sites – simple and fast.
Here comes our next question, what is Office Graph? Before we get to know about it we should also know something called MICROSOFT Graph.. The terminology looks very similar isn’t… MS is not that good at naming convention as we all know
In a typical layman term;
Microsoft Graph: Power of Microsoft Graph, a unified API endpoint, for accessing data, intelligence, and insights coming from the Microsoft cloud.
Office Graph: The Office Graph computes insights across Office 365 and makes these insights available through the Microsoft Graph, the single endpoint that you can use to access a number of Microsoft’s cloud technologies.
As we all know both MS graph and office graph is still in its early phase and we might see some issue in the way it’s functioning. Let me take you all through the MS graph stuff in a separate article, here I would like to talk more on office graph part. As mentioned earlier, clicking on the SharePoint link lists all the site which I’m following, sometimes the data that shows there is kind of different that the actual. In my case, I was able to see very limited site than I actually follow.
Here are steps which you can try to make sure that is this showing the actual site which I’m following:
1. https://<tenant>.sharepoint.com/_layouts/15/sharepoint.aspx?v=following.
a. Check the count if it’s different go to step 2
2. Try unfollowing and following the site (Which I know it’s tedious) but you can give it a try.
3. Else the last option;
This script below displays the items that are being followed in SharePoint online, which in turn we can use for comparison.
<html>
<head>
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
var followingManagerEndpoint;
var followedCount;
var followingEndpoint;
var URL;
var website;
var clientContext;
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', loadWebsite);
function loadWebsite() {
clientContext = SP.ClientContext.get_current();
website = clientContext.get_web();
clientContext.load(website);
clientContext.executeQueryAsync(onRequestSucceeded, onRequestFailed);
}
function onRequestSucceeded() {
URL = website.get_url();
followingManagerEndpoint = decodeURIComponent(URL) + "/_api/social.following";
getMyFollowedContent();
}
function onRequestFailed(sender, args) {
alert('Error: ' + args.get_message());
}
// Get the content that the current user is following.
// The "types=14" parameter specifies all content types
// (documents = 2 + sites = 4 + tags = 8).
function getMyFollowedContent() {
$.ajax( {
url: followingManagerEndpoint + "/my/followed(types=14)",
headers: {
"accept": "application/json;odata=verbose"
},
success: followedContentRetrieved,
error: requestFailed
});
}
// Parse the JSON data and iterate through the collection.
function followedContentRetrieved(data) {
var stringData = JSON.stringify(data);
var jsonObject = JSON.parse(stringData);
var types = {
1: "document",
2: "site",
3: "tag"
};
var followedActors = jsonObject.d.Followed.results;
var followedList = "You're following items:";
for (var i = 0; i < followedActors.length; i++) {
var actor = followedActors[i];
followedList += "<p>" + (i + 1) + ". The " + types[actor.ActorType] + ": "" +
actor.Name + ""</p>" + "<p>Site URL " + ": "" +
actor.Uri + ""</p>";
}
$("#Follow").html(followedList);
}
function requestFailed(xhr, ajaxOptions, thrownError) {
alert('Error:n' + xhr.status + 'n' + thrownError + 'n' + xhr.responseText);
}
</script>
</head>
<body>
<div id="Follow"></div>
</body>
</html>
Conclusion:
Though we couldn’t fix it but on a whole we at least have a mechanism to compare
Leave a comment