-
Notifications
You must be signed in to change notification settings - Fork 400
Description
Scripting the creation of hub navigation on the root site of SharePoint.
Add-PnPNavigationNode -Title "Test" -Url "https://mytenant.sharepoint.com/sites/targetsite" -Location TopNavigationBar
This command on any other site under ...sharepoint.com/sites/ works fine
On the root SharePoint site it gives an error saying the target can't be found, it tells us it's the file '/sites/targetsite' that is missing.
Add-PnPNavigationNode: Cannot open "/sites/targetsite": no such file or folder.
Adding the -external switch resolves this as it obviously stops it shortening the url to a relative one.
We have spent a week trying to work out what is going on here. The issue came up because the menu we were creating was a copy from a dev site where all the links were to "https://mytenant.sharepoint.com". These all created fine on the homesite but were being marked as ''internal' since we didn't use the switch. This meant that users were then unable to edit the target url in the GUI to another site or page. The GUI doesn't show the 'external' option and once a node is created without it there's no way to change it. The new GUI doesn't give any errors, it either undoes the change when you save or greys out the Save button and doesn't change it. Using the old GUI which you can still find on the Site Settings page shows the same error, Cannot open "/sites/targetsite": no such file or folder.
What is the issue? It may be a SharePoint architecture issue rather than PnP but some thoughts
- Can -external be on by default. The property appears to be deprecated by MS, in the GUI its not an option so having it set automatically will remove this issue?
- Why can't the target be found, the relative url looks right '/sites/targetsite' ?
- If I'm giving the full url and not /sites/targetsite should it not be able to work out what to do slightly better?
What is the version of the Cmdlet module you are running?
3.1.0