Microsoft 365 Capacity: SharePoint Online & One Drive Boundaries & Limits

Microsoft 365 Capacity: SharePoint Online & One Drive Boundaries & Limits

99 people can have a document open for editing at the same time. If more than 10 people edit a document simultaneously, their edits are more likely to conflict and the user experience will gradually degrade.

You’ve Got Millions of Documents – Now What?

We’re designing Digital Workspaces for a fun new Microsoft 365 Consulting engagement. Small public company with a bright future – they will be growing fast. Having already accumulated several million documents on their shared drives, they need a better way to: reduce clutter; more readily find their data; standardize their data collection practices; and share information within the firm according to strict governance patterns.

Roadmap

In putting together the 5 year roadmap, it’s important to architect a solution that will not only deliver value today, but also scale well into the future. The likelihood of remaining on Microsoft 365 for the next 10+ years is high so this isn’t your typical 5yr business system. Our investment in planning should mitigate our technical debt resulting in a system that can deliver value far past its expiry date.

SharePoint Online / One Drive Boundaries & Limits

The SharePoint Online & One Drive for business Boundaries & Limitations article is an invaluable resource in planning your topology:

This article describes some important limitations that you might need to know for different SharePoint Online plans in Microsoft 365. For example, it provides information about number of supported users, storage quotas, and file-size limits. This article covers the limits for paid subscriptions.

SharePoint Online Boundaries & Limits

Capacity Planning

Capacity Planning is an essential step in determining how long your investment in Microsoft 365 will last. If you are moving to Microsoft 365, and want to make sure you’re making intelligent decisions, please reach out for a Microsoft 365 Consult.

Recent Insights

Microsoft 365 Capacity: SharePoint Online & One Drive Boundaries & Limits

We’ve got two official languages in Canada: French & English. SharePoint Online Multilingual Support plays an important role in presenting the right language to the right user. In this blog post we outline the features, and some of the challenges we’ve faced in building Modern Multilingual SharePoint Online sites.

read more

SharePoint Online Multilingual Support

SharePoint Online Multilingual Support

We’ve got two official languages in Canada: French & English. SharePoint Online Multilingual Support plays an important role in presenting the right language to the right user. In this blog post we outline the features, and some of the challenges we’ve faced.

M365 Product Capability Summary

The three features in SharePoint Online that are applicable to creating a multilingual site are:

  1. Multilingual User Interface (MUI): Displays the user interface of a SharePoint site in the user’s preferred language instead of the default language selected when the site was created.
  2. Multilingual Communication Sites: Allows organizations to make some content in Modern Communication Sites displayed in the user’s preferred language including: Site Navigation, Title and Description; Site Pages; News Posts; Footer.
  3. Term Store: Fully supports multilingual terms.

SharePoint Multilingual User Interface

The Multilingual User Interface (MUI) is a mature SharePoint feature that is enabled by default on both: Modern Communications & Team Sites; and all classic sites. The MUI translates out of the box labels & allows users to translate their customizations.

Content Requiring Manual Translation

No user generated content is translated. Any content types, columns, lists, libraries will require manual translation.

To translate user generated content, the user must configure their default language in M365 settings to the desired language and navigate into the settings screens for the resource applying manual translations.  The following content may be translated:

  1. Content Type Names
  2. Column Names
  3. List & Library Names
  4. Site Title & Description
  5. Site Navigation

The user performing the translations must be included in the Site Owners group. This content only needs to be translated once and it will persist through the lifetime of the site.

Bulk Editing Translations

Content may be bulk translated via the Site Settings > Export Translations feature and edited in third party tools.  The challenge in bulk editing translations is knowing what to translate.

General Rules

By following some general rules when translating you can ensure your content is successfully imported using Site Settings > Import Translations.

  1. If the content is already translated it need not be translated again.
  2. If the content starts with $Resources: SharePoint is more than likely already providing a translation.
  3. If the content is blank it does not require a translation.
  4. If the content starts with an internal name code (EX// mca____) it should not be translated.

Bulk Export Codes

The bulk export is somewhat codified.  The following is a list of some common postfixes you will encounter in the bulk translation export:

  • Keys postfixed with _FieldTitlexxx are site column names.
  • Keys postfixed with _NavNodexxx are quick launch navigation.
  • Keys postfixed with _WebTitle, _WebDescription contain site title information.
  • Keys postfixed with _ListTitle, _ListDescription are list names / descriptions.
  • Keys postfixed with _CTName[ContentTypeId], _CTDesc[ContentTypeId] contain content type information.

Translation Tools

Third party translation tools exist to assist end users with translations:

Microsoft Translator

https://translator.microsoft.com/. The Microsoft Translator service is part of Cognitive Services and is available in the Azure portal for app developers. The service is free for up to 2 million characters of standard translation per month and includes: Standard Translation; Text Translation; Language Detection; Bilingual Dictionary; Transliteration and Custom Translation via training. More information on pricing tiers can be found at: Microsoft Translator Pricing.

Bing Translator

https://www.bing.com/translator. Tool allows authors to translate text on the web via Machine Translation one line at a time. Bing Translator leverages Microsoft Translator for translations which is available as a service in Azure.

Google Translate

https://translate.google.com/. Tool allows authors to translate text via Machine Translation one line at a time.

POEditor

https://poeditor.com/ .  Tool allows authors to bulk translate content using Machine Translation.  Export translations from your site and upload to POEditor.  Translate content, save and import the translation into your site collection via Site Settings > Import Translation.  When using tools like this be cautious with outputs

Zeta Translations

https://elc-dev.github.io/Zeta-Translations/index-EN.html. Paid translations for resx files.

Official Documentation

Official MUI documentation can be found at the following links:

https://docs.microsoft.com/en-us/sharepoint/sites/plan-for-the-multilingual-user-interface

https://docs.microsoft.com/en-us/sharepoint/sites/plan-for-multilingual-sites

SharePoint Multilingual Communication Sites

The new Multilingual Communication Sites (MCS) feature was recently rolled into Standard Release.  It is important to understand what it does and does not do.  MCS is a framework and workflow to support multilingual content but does NOT automatically translate content.  MCS must be coupled with the MUI to create a multilingual communication site.

What Can Be Translated?

The following content can be manually translated:

Site Pages: Pages are translated and follow the MCS workflows.

News: Pages are translated and follow the MCS workflows.

Navigation: Nodes are translated using the MUI pattern and do NOT follow the MCS workflow.

Footer: Content is translated using the MUI pattern and do NOT follow the MCS workflow.

While site pages and news are translated and follow MCS workflows, navigation and footer follow a pattern closer to the MUI.

Multilingual Communication Site  Limitations

While MCS is a great new feature it is not without its limitations:

MCS Framework Limited to: Pages, News, Navigation, Footer

MCS is limited to Pages, News to a certain extent Navigation.  The obvious gap is no translation support in Lists & Libraries. No workflow nor framework to switch between language specific versions of documents or list items.

MCS Only Applies to Communication Sites

This feature is only available in Modern Communication Sites. There is no support in Modern Team Sites. For collaboration + publishing scenarios where a Microsoft Team is desirable, users must create both a Modern Communication Site (for multilingual Pages & News) plus an O365 Group enabled Modern Team Site to which Teams is stapled.

MCS Does Not Automatically Translate Content

MCS is a framework and workflow that enables content creators to publish multilingual content.  Translators are required to perform the language specific translation.

Page Approvals

When page approvals are on, the source language page and the translation pages must be approved before the translation pages are available to everyone who has access to the page.

Prevalence of Source Language

Site pages & news are displayed according to the language of the page.  However, for rollups (News, Highlighted Content etc.) if the page is not translated into the users preferred language the source language is displayed.  This implies pages must be translated as missing target language versions of pages are replaced with source versions.

Configuring Languages, Translations & Translators

Languages can be configured in Site Settings > Language Settings.  Type or select a language from the drop down to add to the site.  This can be repeated for every additional language.

When languages are assigned, each language is assigned a translator.  When content is created in the source language an option appears on the source page to create translations.  The end user clicks “Translate”, selects the languages where translations should be created and starts the translation workflow.

In MCS Translation is unidirectional. There is a single source language (the language the site was created in) and several additional target languages.

Email Notifications

When a translation page is created, an email is sent to the assigned translator(s) to request a translation.  When a translation page is published by a translator, an email is sent to the person who requested the translation.  When an update is made to the source language page and saved as a draft, an email is sent to the translator to notify them that an update to the translation page may be required.  Email notifications are batched in 30-minute increments.

Official Documentation

Official documentation can be found at the following link: https://support.microsoft.com/en-us/office/create-multilingual-communication-sites-pages-and-news-2bb7d610-5453-41c6-a0e8-6f40b3ed750c

SharePoint Managed Metadata Multilingual Support

The SharePoint Managed Metadata Term Store has support for multiple languages.  When a term is entered users are able to create a label for each language.

Term store is a great solution for easy to classify metadata that will automatically be localized to the users language in most of the SharePoint user interface.  Managed metadata columns should be used wherever possible over lookup & choice columns where it may be impossible to properly link language specific relationships.

Recent Insights

Microsoft 365 Capacity: SharePoint Online & One Drive Boundaries & Limits

We’ve got two official languages in Canada: French & English. SharePoint Online Multilingual Support plays an important role in presenting the right language to the right user. In this blog post we outline the features, and some of the challenges we’ve faced in building Modern Multilingual SharePoint Online sites.

read more

Microsoft Knowledge Center – Project Cortex – Screenshots

Microsoft Knowledge Center – Project Cortex – Screenshots

The Microsoft Knowledge Center (Project Cortex) harnesses knowledge to empower people to act quickly, and organizations to drive efficiencies and cost savings in a higher Business IQ.

What Is Project Cortex?

Building on the leading content services of SharePoint, Project Cortex connects content in M365 with external content to enable you to manage your information and streamline processes with advanced security, compliance and automated workflow.

Microsoft Translator v3

Knowledge Center Home Page (1920)

Microsoft Translator v3

Knowledge Center Home Page (1366)

Create Microsoft Translator

Knowledge Center Web Part Tooling

Knowledge Center Topic Search (Microsoft Search)

SharePoint News with Topic Highlighting

Microsoft News with Topic Smart Lookup

Microsoft Outlook with Topic Card

Microsoft Teams Knowledge Bot

Recent Insights

Microsoft 365 Capacity: SharePoint Online & One Drive Boundaries & Limits

We’ve got two official languages in Canada: French & English. SharePoint Online Multilingual Support plays an important role in presenting the right language to the right user. In this blog post we outline the features, and some of the challenges we’ve faced in building Modern Multilingual SharePoint Online sites.

read more

SharePoint Search Farm Topology Diagrams

SharePoint Search Farm Topology Diagrams

Over time most search environments grow, both in amount of content and number of users. At some point the search environment outgrows the capacity and performance of your search architecture.

Tuning the SharePoint Server Farm

We are tuning a SharePoint Server Farm for better search performance today. Microsoft has a great resource with some benchmarks & best practices here:

Redesign enterprise search topology for more content and users in SharePoint.

Important questions you need to answer:

  1. How much content do I have?
  2. What size search architecture should I scale to?
  3. Which hardware requirements should I be aware of?

Know where you need to go!

Keep in mind there are some huge farms listed here. Most SharePoint implementations will fall in the small/medium farm & performance #’s will differ greatly depending on hardware. We have four app servers, two web front ends, and SQL Server on dedicated hardware. We are indexing a LAN, SharePoint Sites, and a couple enterprise applications for a total of close to 40 million documents and crawling on average about 40 documents per second. We are hoping to improve this to closer to 100 documents.

Recent Insights

Microsoft 365 Capacity: SharePoint Online & One Drive Boundaries & Limits

We’ve got two official languages in Canada: French & English. SharePoint Online Multilingual Support plays an important role in presenting the right language to the right user. In this blog post we outline the features, and some of the challenges we’ve faced in building Modern Multilingual SharePoint Online sites.

read more

Live Edit JavaScript & CSS Files on SharePoint Online

Live Edit JavaScript & CSS Files on SharePoint Online

Early release tenants now have the ability to edit JavaScript & CSS files directly in the Web Browser. There is primitive auto complete support & syntax validation.

What you need to do is navigate into a new look document library containing JavaScript or CSS files and click on the file. It opens in the browser & and you can edit. Try it. You will like it.

Running some rudimentary tests I noted the save process was a bit delayed. If I saved a file and immediately reopened it I’d see the previous version. However the overall the editing experience was great. I will definitely be using this in situations where previously would have used SP Designer or downloaded / modified / uploaded a minor change.

The new “Document Library Look” is beginning to round itself out and with features like this is going to make end users very happy! Would be nice if we could get a matrix of comparison with classic features so we know when to enable en-mass on customized portals.

JavaScript Editor

Very slick editor. Nice colors & minimal feel. Line numbers enabled by default (take that Visual Studio)…

CSS Editor

Surprisingly impressive auto complete support – given CSS3 + CSS4 selectors it’s leagues ahead of SharePoint Designer.

Tools

If you right click you get a nice little context menu with the following options: Peek Definition, Go to Definition, Find all References, Go to Symbol…, Change All Occurrences, Format Code, Command Palette.

Command Palette Tools

When you click command palette (F1) on the tools menu you’re presented with many additional commands. Although primarily formatting it’s nice to be able to perform complex find operations etc.. Will have to explore this more going forward.

The Future??

Overall this is a neat little upgrade that’ll save developers time. SP Designer seems to have taken a turn toward the irrelevant and this is a much more convenient tool for quick updates & live repairs – in some ways it’s superior so great upgrade by Microsoft! Happy SharePointing!

Recent Insights

Microsoft 365 Capacity: SharePoint Online & One Drive Boundaries & Limits

We’ve got two official languages in Canada: French & English. SharePoint Online Multilingual Support plays an important role in presenting the right language to the right user. In this blog post we outline the features, and some of the challenges we’ve faced in building Modern Multilingual SharePoint Online sites.

read more

Trigger a Full Crawl on SharePoint Online

Trigger a Full Crawl on SharePoint Online

Mikael Svenson wrote a cool script which will iterate all site collections, sites and sub-sites on your tenant to force a trigger of re-indexing / full crawl of all items on the next crawl.

In SharePoint Online we cannot force a full crawl via the admin user interface and thus have to iterate all sites and set a property in the property bag to accomplish the same task:

function processWeb($web) {

 $subWebs = $web.Webs
 $clientContext.Load($web) 
 $clientContext.Load($web.AllProperties)
 $clientContext.Load($subWebs)
 $clientContext.ExecuteQuery()

 Write-Host "Web URL:" $web.Url -ForegroundColor White
 if( $enableAllManagedProperties -ne "skip" ) {
 Set-AllManagedProperties -web $web -clientContext $clientContext -enableAllManagedProps $enableAllManagedProperties
 }

 [int]$version = 0
 $allProperties = $web.AllProperties
 if( $allProperties.FieldValues.ContainsKey("vti_searchversion") -eq $true ) {
 $version = $allProperties["vti_searchversion"]
 }
 $version++
 $allProperties["vti_searchversion"] = $version
 Write-Host "-- Updated search version: " $version -ForegroundColor Green
 $web.Update()
 $clientContext.ExecuteQuery()

 foreach ($subWeb in $subWebs)
 {
 processWeb($subWeb)
 }
}

This is needed for several search schema modifications, for example when you map crawled properties to managed properties.

The script also has a function to enable population of the ManagedProperties managed property for use with the SharePoint 2013 Search Query Tool v2.

You can download the script here: https://github.com/wobba/SPO-Trigger-Reindex

Recent Insights

Microsoft 365 Capacity: SharePoint Online & One Drive Boundaries & Limits

We’ve got two official languages in Canada: French & English. SharePoint Online Multilingual Support plays an important role in presenting the right language to the right user. In this blog post we outline the features, and some of the challenges we’ve faced in building Modern Multilingual SharePoint Online sites.

read more