SharePoint Online- Create a new Home Site in an existing tenant. Spoiler- its not available yet.

This week at #MSIgnite, there has been a lot of talk about Home Sites. This was released a few months back as a PowerShell command to transform any modern communication site collection into the O365 SharePoint Online landing page for your organization.

More can be read here: https://techcommunity.microsoft.com/t5/Microsoft-SharePoint-Blog/SharePoint-home-sites-a-landing-for-your-organization-on-the/ba-p/621933

SharePoint home sites are the landing sites for your organization that bring together news, events, content, conversations and video to deliver an engaging experience that reflects your voice, your priorities, and your brand.  Home sites are built on top of familiar communication sites.

UPDATE- SPO Home Sites is not available to the public yet, even on first release tenants. I will update this post once its released. See error command at last step in this post.

1- Create the site

Create a Modern Communication Site Collection that will be your hubsite, if you do not have one already.

1- create new communication site

Give the new site a name, I choose topic and Home Site:

2- new communication site title and url

2- Share the site with users

I shared with everyone except external users

3- share new communication site

3- Set the new site collection as the home site

I am hoping this does a bunch of magic to make it look like the Look Book’s rollup.

Enter the URL of your newly created site collection in the URL below:

Set-SPOHomeSite -HomeSiteUrl https://yourtenant.sharepoint.com/sites/HomeSite

andddd error!

Set-SPOHomeSite : The requested operation is part of an experimental feature that is not supported in the current
environment.

4- set-spohomesite error experimental feature not supported

Wow, that was unexpected.

I have not seen a release date yet, but wanted to post this in hopes it will save someone else the time of creating a site.

Update as of 7/3/2020-

Using 16.0.20212.12000 of SPO Management shell- slightly different error:

 

PS C:\WINDOWS\System32> Connect-SPOService

cmdlet Connect-SPOService at command pipeline position 1
Supply values for the following parameters:
Url: https://m365xIDHERE-admin.sharepoint.com/
PS C:\WINDOWS\System32> Set-SPOHubSite

cmdlet Set-SPOHubSite at command pipeline position 1
Supply values for the following parameters:
Identity: https://m365xIDHERE.sharepoint.com/sites/Eric-PublicTeam
Set-SPOHubSite : Cannot invoke method or retrieve property from null object. Object returned by the following call
stack is null. “GetHubSitePropertiesByUrl

At line:1 char:1
+ Set-SPOHubSite
+ ~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Set-SPOHubSite], ServerException
+ FullyQualifiedErrorId : Microsoft.SharePoint.Client.ServerException,Microsoft.Online.SharePoint.PowerShell.SetSP
OHubSite

PS C:\WINDOWS\System32> Get-SPOHubSite
PS C:\WINDOWS\System32>

Cannot invoke method or retrieve property from null object. Object returned by the following call stack is null. "GetHubSitePropertiesByUrl"

Deleting a large list from SharePoint using PowerShell

I recently ran into an issue trying to delete a list over 5,000 items from SharePoint. I tried using Metalogix Content Matrix to delete the list/site, but they all were bound by the threshold. I realized I had to use PowerShell, but research lead to even this having issues deleting the list. The solution was batches of 1,000 items. It takes a few hours to remove 25,000 items, but I was able to delete the list once the items were removed.

I received this error prior to deleting the items in the list using a script via modern UI Site Contents menu:

“My List- 24453 items- We’re sorry, we had some trouble removing this. You can try again from the settings page.”

Similar error on the list settings page:

“The attempted operation is prohibited because it exceeds the list view threshold enforced by the administrator.”

This script on MSDN was able to remove the items so I could then delete the list in the browser: https://blogs.msdn.microsoft.com/ahmedamin/2017/08/03/bulk-delete-sharepoint-items-in-a-large-list-using-powershell/

Here is the script as well:

[code language=”powershell”]

Add-PSSnapin Microsoft.SharePoint.Powershell -ea SilentlyContinue
$web = get-spweb “https://intranet/sites/home”
$list = $web.lists[“My List Title Here”]
$query = New-Object Microsoft.SharePoint.SPQuery
$query.ViewAttributes = “Scope=’Recursive'”
$query.RowLimit = 1000
$query.ViewFields = “”
$query.ViewFieldsOnly = $true
do
{
$listItems = $list.GetItems($query)
$query.ListItemCollectionPosition = $listItems.ListItemCollectionPosition
foreach($item in $listItems)
{
Write-Host “Deleting Item – $($item.Id)”
$list.GetItemById($item.Id).delete()
}
}
while ($query.ListItemCollectionPosition -ne $null)

[/code]

This above script was able to remove the items, then I could delete the list.

All done!