Tag Archives: SharePoint

How to create a Sub-Site if subsites creation is disabled

Update: Microsoft is deploying an updated version of “Disable Subsites” feature:

This update makes the setting options for new subsite creation easier to understand and prevents users from being able to create subsites using alternate paths when the subsite setting is disabled.

Admins in the SharePoint admin center can choose to either enable or disable subsite creation across sites or enable for classic sites only. Now, when disabling subsite creation, not only will the subsite option be hidden from the command bar including classic but also users will not be able to create new subsites directly through an URL or API.

The option: Hide the Subsite command has been renamed to Disable subsite creation for all sites and will also hide the subsite creation command (including classic) and disable users from being able to create new subsites through a URL or API.
The option: Show the Subsite command only for classic sites, has been renamed to Enable subsite creation for classic sites only.
The option: Show the Subsite command for all sites, has been renamed to Enable subsite creation for all sites.

Update is applied. What’s Next?

After this update is applied, if you have “Subsite Creation” set to “Disable subsite creation for all sites”, then if any attempt to create a subsite – you’ll get an error message “Sorry, something went wrong. New subsites are not available for your organization. Create a new site instead.”

Site is a new folder

Microsoft recommend “flat structure”, i.e. no subsites. So SPO admins are disabling subsites creation at tenant level. Did you know that you still can create subsite? Let me explain how it is done.

If creation subsites is allowed, you should be able to see it like this:

But actually subsites are not always best practice. Microsoft recommend “flat structure”, i.e. instead of subsite you should have a separate site collection, and if you need a hierarchy and navigation – use Hub sites. So, in Office 365 SharePoint admins usually “disable” SubSites creation:

Now, you see, SubSites are not really disabled, but only the button to create subsites is hidden: “This controls whether the Subsite command appears on the New menu on the Site contents page”.

Anyway, the result is: you are not able to create a SubSite (web) in SharePoint Online:

Actually there are at least 3 options to create a SubSite:

Option 1. Create a SubSite in Classic mode.

Step 1: Select “Site Contents” page
Step 2: Click “Return to classic SharePoint”
Step 3: Create SubSite

Option 2. Create a SubSite from “Sites and Workspaces” page

Step 1: Go to “Site Settings”
Step 2: Select “Sites and Workspaces” page (site/_layouts/15/mngsubwebs.aspx)
Step 3: Create a SubSite

Option 3: use PowerShell PnP

Step 1: Install PowerShell PnP
Step 2: Connect to your site with PnP
Step 3: create a SubSite

Install-Module SharePointPnPPowerShellOnline
Connect-PnPOnline -Url <your site Url> -UseWebLogin
New-PnPWeb -Url "<new Web Url>" -Title "MySubSite" -Template "STS#3"

References:

See also: How to create a SharePoint Site in Office 365 if site creation is disabled

How to find a public team by name (in Microsoft Teams)

Quick and simple answer: use SharePoint Search center or Microsoft Search, (or Bing if it is integrated).

Detailed explanation on how to find a public Team

In Microsoft Office 365, under MS Teams, there are 3 team types:

  • Private team
  • Public team
  • Org-wide team

Private team: you can only join the team if you are invited or know the team code.
SharePoint site behind the private team is shared only to members – not for everyone. You cannot see team name or description or content until you are team member (details). You are not able to search for the team name or content.

Public team: you can join the public team if you wish. The site behind the public team is shared with everyone except external users, so you can see public team name and description, but from MS Teams (desktop or web application) you cannot see public team content until you are team member.

Org-wide team: you are joined the team automatically (details)

From Teams – you can click on “Join or create a team” and you should be able to see some public teams (but not all):

See how Microsoft describes it – Find and Join a team

There is a “Search teams” box at the top right,
so what if you are looking for a specific public team (not in the list) …

Scenario 1

You know exact team name or at least some first letters.
Solution: You are lucky. Just start typing team name in search bar at top right and hit “enter”- you will see shortened list of public teams matching your search criteria:

NB: do not use wildcards, it will not work:

NB: do not use top search bar, it will not work:

Scenario 2

You want to join a public team, but you do not know exact team name.
You know (or guess) something about the team, like

  • part of the team name
  • part of the team description
  • some keywords from team content files

Unfortunately, in this case both great Microsoft technologies – Search and Team – fail. You will not be able to find a public team:

Solution: use SharePoint search
SharePoint site is created once a team is created.

For public teams – SharePoint site has “Everyone except external users” by default in “Members” group:

which means literally “Everyone except external users” has access to the site with “Edit” permissions.

SharePoint search is security-trimmed, i.e. you will see the site content in search results only if you do have access to the site. So just go to the SharePoint or SharePoint search center and search for what you know or guess about the team:

You can use all the power of SharePoint search (wildcards, refiners, keyword query language KQL etc)

Once you found something – you can go to the SharePoint site:

Now from the site – look at the site name and hover the mouse over the site name – you’ll see pop-up window.
Now you know exact team name – and you can search for the team under Teams,
or, if you are so lucky you see “Join” button – just join the team.click site title or hove over the site title:

One moment – you cannot see team’s chat messages in SharePoint, as chats are kept in Azure. But you can search for chat content after you joint the team.

Somehow both – SharePoint Search and Teams Search are not working against site/team description. Hopefully this bug will be addressed.

You can also search for site Url in teams.
When you create a team – Office 365 generates a short team name (removes spaces and adds numbers if the team name is not unique; e.g. if the team name “Test” you might have “test381” as a short name, but if the team name is “This Is My Unique Team” – short name might be “ThisIsMyUniqueTeam”).
After you can change team name and/or SharePoint site name.
Team search under MS teams work for both names – short name initially assigned (kept as site specific Url) and new team name. But only starting with the beginning of the string.

Related articles:

p.s. Thanks to “Birds of Kazakhstan” for pictures

btw, there is a good video tutorial on how to find a public team in Office 365 using full-text search

Create a SharePoint Site in Office 365 when it is disabled

By default site creation is enabled and anybody can create a new site collection from SharePoint start page :

with two options: “Team site connected to an Office 365 group” and “Communication site”

SharePoint administrator might disable Sites creation. In Office 365 under SharePoint Admin Center -> Settings -> Site Creation there is “Let users create sites from the SharePoint start page and OneDrive”:

Under classic settings page -> Site Creation it is called “Show the Create site command” with explanation “Display the Create site command on the SharePoint home page and in the sites list in OneDrive so users can create new sites”:

If site creation is disabled, user will not see “+ Create site” in SharePoint landing page:

The fun part is users are still able to create a new Office-365 group based site collection
as “Let users create sites from the SharePoint start page and OneDrive” means literally “from the SharePoint start page and OneDrive” and does not mean you cannot create a site from other places. The same with “Show the Create site command” as it is literally about “Show…command” but not “disable … command”.

Option 1: from OneDrive, using “Create shared library”:


Option 2: using direct link:

Use Direct link: https://changeThisToYourTenantName.sharepoint.com/_layouts/15/CreateGroup.aspx
e.g.
https://contoso.sharepoint.com/_layouts/15/CreateGroup.aspx

Option 3: from teams:

and worth to mention that from Teams anybody can create a Team and a corresponding SharePoint site:

Unfortunately, if sites creation is disabled, you cannot create a communication site.

How to disable self-sites creation for real

The only way to limit self-site creation is using PowerShell:
– create a security group
– add to this group users who will be able to create sites
– via PowerShell Set-AzureADDirectorySetting command set “GroupCreationAllowedGroupId” property
Microsoft: “Manage who can create Groups

Office 365 retention labels and policies for SharePoint

As I am a SharePoint person, and retention policies and labels are not a SharePoint engineer responsibility, I do not go to the m365 Compliance Center frequently. Below are My notes for myself on key moments – how to create and configure Office 365 retention labels and Policies at Compliance Center and use labels in SharePoint Online (SPO).

In SPO at each site collection level you can still work with retention policies the old way – create policies under Site Collection Settings – Content Type Policy – and apply policies at library level under Library Settings/Information Management Policy Settings. There is also Site Retention Policy.

But Microsoft is making efforts to centralize and unify such things – so you can specify retention policies in one place and apply them across all Office 365 content (not only SharePoint). That place was called Office 365 Security and Compliance Center (SCC). Later Microsoft separated Security Center and Compliance Center. So currently Retention Policies are under “Microsoft Purview” (former Microsoft Compliance Center) -> Solutions -> “Data lifecycle management”:

To get access to “Data lifecycle management” solution – you need to have a “” or “” roles. SharePoint or Teams administrator cannot access Purview. Even having “Global reader” or “Security reader” an admin will not be able to see “Data lifecycle management” blade. Here is how Microsoft Purview looks like for a Global reader:

Although SharePoint admins usually do not have access to SCC and do not go to Site content, we still need to know how it all works. And labels are recommended way to specify retention in SharePoint, so here we are.

Labels are applied to documents, documents are kept in libraries, and at each library you can “Apply a label to items in this library”.

Create Labels

Labels are created in SCC under Classification. The main part looks familiar to SharePoint people:

Label Settings

You can

  • Retain Content forever or for a specified number of days/months/years and then
    – delete it or trigger a disposition review or do nothing
  • Delete content if it’s older than specified number of days/months/years

after it was created/modified/labelled

Apply labels

Now you need to publish created labels – and that is how you create a policy. I.e. policies are where you specify which labels to which content (Exchange, OneDrive, SharePoint, Office 365 groups)

You can also auto-apply labels based on conditions, like

  • content that contains sensitive info
  • content that contains specific words or phrases, or properties
  • content that matches a trainable classifier

but as per Microsoft, “It will take up to 7 days to automatically apply the label to all items that match your conditions.”

Note: “trainable classifier” means an AI ML will be used, and as per Microsoft “Creating machine learning rules requires an Office 365 E5 subscription for your organization”

SharePoint admin center

You can do nothing with labels at SharePoint admin center. Labels are created, published and auto-applied at SCC. At each site collection levels site administrators can apply labels.

SharePoint site

At site collection settings you can still see “Content Type Policy Templates” and “Site Policy”, but that is not the case. Labels are applied at library level under Library Settings/Apply label to items in this list or library.

where you can select a label to apply for all new items in the library. With

You can also apply the label to items that already exist in the library.

You can also apply (change) label for each single item or multiple selected items under Details pop-up page:

or from under Contect Menu/More/Compliance details:

Adaptive retention policies and scopes

Microsoft recently implemented “Adaptive” retention policies. At step 2 of “Create retention policy” you’ll be asked “Choose the type of retention policy to create”: “A policy can be adaptive or static. Advantage of an adaptive policy will automatically update where it’s applied based on attributes or properties you’ll define. A static policy is applied to content in a fixed set of locations and must be manually updated if those locations change.”

And if you selected “Adaptive” – on the next step you will need to provide the adaptive scope (so at this moment you should already have created your adaptive scopes):

So, let us create your adaptive scopes.
What type of scope do you want to create? SharePoint sites…

And then you’ll have nothing more then set of conditions:

where you can use objects: “Site Url”, “Site Name” and “Refinable String 0″..”Refinable String 99”. Conditions would be “is equal to”, “is not equal to”, “starts with” and “not starts with”. Or you can select “Advanced query builder” and enter LQL query.

What is the takeaway from this for SharePoint administrators? We would be asked to configure SharePoint the way compliance/retention people can use Refinable Strings.



References

Office.com OneDrive icon

OneDrive vs OneDrive vs Personal Site

 

Microsoft sells OneDrive as a personal cloud storage service… But There are actually two separate products behind the service, and each product provides more than “personal cloud storage service”…

What is OneDrive? What is the difference between OneDrive and Personal SharePoint site? Let’s see…

When you login to Office.com, you can click on OneDrive icon:
Office.com OneDrive icon

and you will found yourself at OneDrive site, so

one OneDrive is a SharePoint Personal site:

OneDrive - SharePoint Personal Site

The other OneDrive is a desktop application

i.e. program that runs in the background and synchronizes files from your personal SharePoint site (“first OneDrive”) to your local machine and back:

OneDrive as a desktop application - installed

OneDrive as a desktop application - running OneDrive as a desktop application - running in the background

Below is OneDrive desktop application in Windows File Explorer. Please notice how “test 01.txt” file and “test 02” folder are synchronized to first OneDrive.

OneDrive desktop application syncs data from Personal SharePoint Site

Confused? No? Wanna more?

Here are some more confusing details…

Using OneDrive desktop application you can synchronize your regular SharePoint site library with your desktop computer.

Here is a regular SharePoint site (Test23) with a LibUnderSharePoint library. You can click on the “Sync” button:

SharePoint site Library - Synchronized to Onedrive

and see the magic! Now you have another folder on your local Windows machine:

OneDrive Syncs SharePoint site

– but this time OneDrive synchronizes it to regular SharePoint site.

 

There is also a “Personal OneDrive” – the same as regular OneDrive but free…
(again, do not be confused: initially there was just OneDrive – free personal version and OneDrive for Business – version you could have with Office 365 subscription; now they are Onedrive and Personal OneDrive 🙂 )

OneDrive is a Microsoft thing. 
Google has “Drive File Stream” (Google drive)
Dropbox – Dropbox sync 

 

Search-for-a-crawled-property

Search schema: Search for a crawled property name wildcard

 

If you are managing SharePoint search, specifically if you are customizing SharePoint search schema, especially in SharePoint Online (Office 365) – you know how slow it works and how tiresome it is to “Search for a crawled property name”.

Search-for-a-crawled-property

Recently I found out that wildcard works. No, even two wildcards work

In this example I need crawled property started from ows and contains doc and type:

SharePoint search through crawled properties

 

SharePoint 2010..2019 keys and images

SharePoint 2010/2013/2016/2019 download images and product trial/evaluation keys

Installing SharePoint on-prem? Need an image and a product key? Looking for an Office 365 subscription? Here you go.

Product keys for Microsoft SharePoint 2019, 2016, 2013, 2010: 

  • SharePoint 2019 Enterprise product key: M692G-8N2JP-GG8B2-2W2P7-YY7J6 (trial)
  • SharePoint 2019 Standard product key: F2DPD-HPNPV-WHKMK-G7C38-2G22J (trial)
  • SharePoint 2019 Project Server license key: R9946-QXNHR-62JPQ-3H3QC-TMWJT (trial)
  • SharePoint 2016 RTM evaluation key: NQGJR-63HC8-XCRQH-MYVCH-3J3QR
  • SharePoint 2013 Evaluation key: NQTMW-K63MQ-39G6H-B2CH9-FRDWJ
  • SharePoint 2010 Standard trial key: PTTCF-PCY26-D9V8F-8JF8B-XH8JP
  • SharePoint 2010 Enterprise trial key: VK7BD-VBKWR-6FHD9-Q3HM9-6PKMX

SharePoint 2019

SharePoint 2019 Server is available to download from Microsoft Evaluation Center

SharePoint Server 2013-2016:

SharePoint Server 2016 @ Microsoft Download Center

Microsoft SharePoint Server 2013 

Microsoft Evaluation Center

Step-by-step guide – how to setup SharePoint with AutoSPInstaller
 

Microsoft Teams and Office 365

free Microsoft Teams plan for home or business:
Compare Microsoft Teams Online Options | Microsoft Teams

trial Microsoft 365:
Compare All Microsoft 365 Plans | Microsoft

free Office 365 (for developers only):
https://developer.microsoft.com/en-us/microsoft-365/dev-program (no credit card required)

Allow commenting on modern pages in SharePoint Online

Microsoft: “You can also select to allow or prevent commenting on modern pages. If you allow commenting, it can be turned on or off at the page level

By default both
– Allow users to create new modern pages
– Allow commenting on modern pages
are turned on (enabled)

Tenant or SharePoint admin can find settings under
SharePoint Admin Center -> Settings -> Pages

When you are creating a modern site page – there is an option “Comments” turned On by default:

And page with comments looks like:

Comments on site pages (aka modern pages) can be enabled or disabled at each of the levels:
– Tenant level
– Site (aka site collection) level
– Web (aka subsite ) level
– Page level
Here is how it is done:

LevelHow it’s doneWho can do it
TenantGUI ( SharePoint Administration)
or PowerShell
Global Administrator or
SharePoint Administrator
Site (Site Collection)PowerShellGlobal Administrator or
SharePoint Administrator
Web (Subsite)PowerShellSite Collection Administrator or Owner
(Full Control rights to web)
PageGUI (Page Editing screen)Site Member
(Edit right to page)

If commenting on modern pages disabled at higher level – lower level settings do not work. E.g. If you disable “Allow commenting on modern pages” at tenant level (it takes minutes) – the functionality will gone from all modern pages of all sites.

When you switch page comments Off – all existing comments will be hidden (but not deleted).
If you later turn comments On – comments will reappear, including Likes.

If “Allow commenting on modern pages” disabled at tenant or web level – you will not see “Comments On/Off” switch while editing page.
If “Allow commenting on modern pages” disabled at site collection level – you will see “Comments On/Off” switch while editing page, but you will not be able to turn it ON.

PowerShell

When you disable “Allow commenting on modern pages” at tenant level –
PowerShell Object (site/web) property “CommentsOnSitePagesDisabled” will not be changed for any site/web.
You can still with PowerShell set it to True/False:
“Set-PnPWeb -CommentsOnSitePagesDisabled:$false”
but it does not take any effect.

If you enable “Allow commenting on modern pages” at tenant level (it takes ~10 minutes) – the functionality will return to all modern pages and
all webs and sites properties “CommentsOnSitePagesDisabled” will ???.
You can change it with PowerShell:
“Set-PnPWeb -CommentsOnSitePagesDisabled:$false”.

# having Site Collection Admin Permissions:
# disable Comments On Site Pages for a subsite:
$webName = "SubSite_02"
Set-PnPWeb -Web $webName -CommentsOnSitePagesDisabled:$true 
# enable Comments On Site Pages for a subsite 
# (only if comments enabled at tenant level):
Set-PnPWeb -Web $webName -CommentsOnSitePagesDisabled:$false


# having global admin or SharePoint admin permissions:
# site collection:
Set-PnPTenantSite -Url $siteUrl -CommentsOnSitePagesDisabled:$true
# tenant-level Comments:
Set-PnPTenant -CommentsOnSitePagesDisabled:$true # disable
 comments
Set-PnPTenant -CommentsOnSitePagesDisabled:$false # enable comments

# does not work:
Set-PnPSite -CommentsOnSitePagesDisabled:$true

How do I know if if the page is modern page or classic page (PowerShell)?

$list = Get-PnPList "Site Pages" -Includes ContentTypes, Fields
$list.ContentTypes | ft -a
$cType = Get-PnPContentType -List $list | ?{$_.Name -eq 'Site Page'};
$cType.id
$queryString = "<View><Query><Where><Eq><FieldRef Name='ContentTypeId'/><Value Type='Text'>" + $cType.Id.StringValue + "</Value></Eq></Where></Query></View>"  
$modernPages = Get-PnPListItem -List $list -Query $queryString
$modernPages.count
$modernPages | ft -a

How do I know if the page is a Home Page (PowerShell)?

# web object contains relative link to the web's Home Page:
$web = Get-PnPWeb -Connection $siteConnection -includes WelcomePage
$web.WelcomePage

References

– Microsoft “Allow users to create and comment modern pages

See also:
Allow users to create modern pages

Note:
We did not discuss “Wiki Pages” or “Web part Pages”, we discussed only “Modern Pages” (aka Site Pages).
I have tested it all personally using Communication sites.
MS-Team (group-based) and standalone SharePoint (no-group) sites – TBP.