The Path Length Limit of 400 chars in SPO

Have you ever had problems with SPO path lengths? This post probably will help you to determine and solve that problems

First of all, let’s check how the path length is calculated, the first difference here is the following, path Length is not the same as the URL length. It is the relative Url.

Calculations rules

  • Only the server relative url part is counted. The “https://tenantname.sharepoint.com” has no impact on that. It starts from the foward slash: “/sites” or /teams
  • An encoded value like blankspace (%20) is treated as one character, not three.
  • A unicode character, and an emoji is treated as one character.
  • Url Parameters, like “?Web=1” are not calculated.
  • The site url and the document library url is taken into account
  • All slashes are included
  • A file extension is also included, and even the dot, e.g. “.docx”
  • A site url and a group name can only be 64 characters max.
  • The path in the “Copy Link” is much shorter than the “real” path

So if you’re having problems with long URLs (I had in the past with a user which has a lot of nested folders), take into account those points and I’m sure that you will led the way to solve that problem.

SPO: Remove a Document Library that used to contain records

When you use “declare record” in a SharePoint Online library it makes the library un-deletable.

Even if you undeclare all records and remove all the files the “remove library” setting will be unavailable from the document library settings page in the UI.

Luckily this is easily remidied with some PnP PowerShell

Connect-PnPOnline https://.sharepoint.com -Credentials 
$list = Get-PnPList -Identity ""
$list.AllowDeletion = $true
$list.Update()
Remove-PnPList $list -Force

Disabling Teams Creation Prompt in SharePoint Online

The other day a customer asked me why when they access to SPO TS, appears the owners an option saying that a Team has not been associated with a SharePoint Online site, like the image above:

CreateTeamInSPO.png

In same scenarios this could lead a problem, taking into account that this kind of things should be governed from the governance plan.

In this case, we can use some PowerShell to hide some propertybags in SPO to hide this option to all users, leading to us to create Teams from the admin site directly.

So we can execute the following:

$tenant = "https://spotenant-admin.sharepoint.com"
$web = "https://spotenant.sharepoint.com/sites/Modernsposite"

Connect-PnPOnline -Url $tenant -SPOManagementShell
$site = Get-PnPTenantSite -Detailed -Url $web
if ($site.DenyAddAndCustomizePages -ne 'Disabled') {
    $site.DenyAddAndCustomizePages = 'Disabled'
    $site.Update()
    $site.Context.ExecuteQuery()
}

Set-PnPPropertyBagValue -Key 'TeamifyHidden' -Value 'True'

Once this has been done, if you refresh the homepage after setting the value, the dialog box to create Teams should no longer appear.

SharePoint Online: Disable Classic Pages Creation

At this point even though we have a new modern page, Site contributors can still create pages based on classic model like Web Part page and wiki pages. Let’s see how can we disable the same.

Go to Library Settings of Site Pages

spolib

 

Click on “Change new button order and default content type”

TCnuevo

Deselect the check boxes next to Wiki Page and Web Part Page and click OK.

deselect

And that’s it. Now if any site contributor goes to create a new page in the Site Pages library, he/she will not see the options to create web part page or wiki page.

paginas

And that’s it. Your entire site now is the modern site and completely responsive 🙂

SharePoint Online: How to exclude People from Search

The other day while I was working in a project, a client who has synced the OnPrem AD to Online, asked me if it was possible to hide some people search results, because it was showing irrelevant information from some people.

It is not the typical filter that you can set in the AADConnect to filter by OU, it was needed to filter based on a profile property.

So, what we can do? In this case to create a custom property in SPO admin Center and use Search with a DT to hide the search results that we want.

Let’s say in this case, that I need to create a property called “ExcludePeopleSearch” as a Boolean and the privacy set to “everyone”

Once this has been created, we need to add some values to some profiles, in order to contain information and the search be able to index the results, generally it takes about 24 hours to index all the information.

Once it have been indexed, you can can map that to a search managed property, and add that to the search based Directory to get them excluded.

How to check if an external user has accepted the invitation

From time to time, I receive calls from my customers saying that they send invitations from SPO to external users, but they claim that they did not receive nothing. This post will try to clarify the process, and how is it possible to check the user invitation status.

As you know, every invitation made into O365 (Teams, O365 Groups, SPO…) relies in Azure Active Directory, so our source of information will be there. So what are the steps that we need to follow?

The important thing here, is the source field. If the source field shows invited user, it means the user has not accepted the invitation. If that is the case, than you can click on resend invitation and this will trigger another invite for the user to redeem

inv

Once the user has redeemed the external user invite, you can check the source field, because depending on the Identity Source, the field will be updated regsarding the IS.

In this case, the user has been invited to a Microsoft Account (@outlook, @hotmail)

inv1

In this other case, the user has been invited from an Organization Account (note that the source is External Azure Active Directory)

inv2

That’s all!

 

Access denied creating a Site Collection

A colleague was creating a site collection from the SPO admin center and he was receiving an access denied message.

An access denied message in SPO admin center? Yes you’re reading well. First thing I propose, was to check the credentialed and the role assigned in O365 center. Everything seems correct.

Second thing, was to try to access another time to O365, but this time in private, only to check if he was having something weird in the navigator, nothing.

How I was watching the URL, by chance I tried to access to this URL, and for my surprise, this SPO URL was existing in a O365 group, so the mistery was solved!

I suggested to check the permissions of the group and to chende the managed path of O365 groups to /teams instead of /sites

Silly misconfigurations leads to big mistakes…

 

New File Viewers for Onedrive, SharePoint and Teams

The new functionalities included in OneDrive, SharePoint and Teams, allow the users to  have a quick and easy access to those files across devices regardless of the file type. So the user can have previews and thumbnail images for Adobe formats, like Photoshop and Illustrator, 3D files or DICOM medical images without actually installing the native application.

The following extensions are included:

3-D Modeling/Printing: 3MF, COOL, GLB, GLTF, OBJ, STL

Apple: MOVIE, PAGES, PICT, SKETCH

Adobe: AI, PDF, PSB, PSD

Audio/Video Media Files: 3G2, 3GP, ASF, BMP, M2TS, M4V, MOV, MP3, MP4, MP4V, MTS, TS, WMV

AutoCAD: DWG

AutoDesk: FBX

BioWare Game Engine: ERF

Compressed File: ZIP

Compressed File (Unix): Z

DICOM Medical Images: DCM, DCM30, DICM, DICOM

Finale: PLY

HydroCAD: HCP

Image Formats: GIF, JPEG, JPG. JPE, MEF, MRW, NEF, NRW, ORF, PANO, PEF, PNG, SPM, TIF, TIFF, XBM, XCF

License Key: KEY

Log Files: LOG

Microsoft Office (Word, PowerPoint, Excel): CSV, DIC, DOC, DOCM, DOCX, DOTM, DOTX, POT, POTM, POTX, PPS, PPSM, PPSX, PPT, PPTM, PPTX, XD, XLS, XLSB, XLSX, SLTX

Microsoft Outlook: EML, MSG

Microsoft Visio: VSD, VSDX

Microsoft Windows: CUR, ICO, ICON

Open eBook: EPUB

OpenOffice: ODP, ODS, ODT,

Photo: ARW, CR2, CRW, DNG

Rich Text Format: RTF

Text and Code: ABAP, ADA, ADP, AHK, AS, AS3, ASC, ASCX, ASM, ASP, AWK, BAS, BASH, BASH_LOGIN, BASH_LOGOUT, BASH_PROFILE, BASHRC, BAT, BIB, BSH, BUILD, BUILDER, C, C++, CAPFILE, CBK, CC, CFC, CFM, CFML, CL, CLJ, CMAKE, CMD, COFFEE, CPP, CPT, CPY, CS, CSHTML, CSON, CSPROJ, CSS, CTP, CXX, D, DDL, DI. DIF, DIFF, DISCO, DML, DTD, DTML, EL, EMAKE, ERB, ERL, F90, F95, FS, FSI, FSSCRIPT, FSX, GEMFILE, GEMSPEC, GITCONFIG, GO, GROOVY, GVY, H, H++, HAML, HANDLEBARS, HBS, HRL, HS, HTC, HTML, HXX, IDL, IIM, INC, INF, INI, INL, IPP, IRBRC, JADE, JAV, JAVA, JS, JSON, JSP, JSX, L, LESS, LHS, LISP, LOG, LST, LTX, LUA, M, MAKE, MARKDN, MARKDOWN, MD, MDOWN, MKDN, ML, MLI, MLL, MLY, MM, MUD, NFO, OPML, OSASCRIPT, OUT, P, PAS, PATCH, PHP, PHP2, PHP3, PHP4, PHP5, PL, PLIST, PM, POD, PP, PROFILE, PROPERTIES, PS, PS1, PT, PY, PYW, R, RAKE, RB, RBX, RC, RE, README, REG, REST, RESW, RESX, RHTML, RJS, RPROFILE, RPY, RSS, RST, RXML, S, SASS, SCALA, SCM, SCONSCRIPT, SCONSTRUCT, SCRIPT, SCSS, SGML, SH, SHTML, SML, SQL, STY, TCL, TEX, TEXT, TEXTILE, TLD, TLI, TMPL, TPL, TXT, VB, VI, VIM, WSDL, XAML, XHTML, XOML, XML, XSD, XSL, XSLT, YAML, YAWS, YML, ZSH

Web/Hypertext: HTM, HTML, Markdown, MD, URL

You can find more info in the following link

Planner capabilities in SharePoint Online Sites

Working with O365 implies that everyday you face new integrations and new features that have been deployed to your tenant. In this case it is Planner, which allows to integrate into SharePoint online, or event to create plans directly from SharePoint Online Site.

Adding a plan

This button in the homepage of SharePoint Site, allows to add a Planner plan.

plannerinte.png

The good part of it, it shows a window to create the plan or event to select an existing plan. In my case the SharePoint Site it is a Team group, so it makes completely sense

plannetinte1plannetinte2

Once you have linked the plan to SharePoint Online Site, it creates a shorcut into the navigation and you are able to show the main board and the charts of the projects. I found it beatiful since it is great to have this integration without difficulty.

plannerintegra4plannerintegra6plannerintegra5

take into account that this integration is more or less the same as editing the main page and adding the planner web part to it:

plannterinte7.png

But in this case, the integration being a new link I found it muche better 🙂

This is all, till next time!