SharePoint Online

SharePoint Framework(SPFx) is a client side development framework that leverages CSOM, REST APIs, Microsoft Graph and more. Development is done through utilizing open source technologies like Node.js, Gulp, Yeoman, VSCode and more. It supports SharePoint Online and SharePoint 2016 (SP2)+ on-premise solutions.

Key benefits of using SPFx are

  1. It utilizes context of current user.
  2. It enables use any JavaScript Framework. React, Knockout, Angular etc
  3. Controls are responsive.
  4. Web parts can be used by both classic and modern pages

Previous models like JSLink and SP Add-in had their limitations. JSLink restricted scripts if not marked with “Safe for Scripting” and Add-ins were using IFrame model which are inefficient in modern websites.

Ready to try SPFx. Start with Hello World

As Microsoft SharePoint Roadmap suggests that future innovations will be cloud inspired, Companies who have invested in their On Premise versions are considering to go hybrid as the first step towards embracing Cloud. Using Hybrid Approach, Enterprises can continue to use their existing portal while gradually migrating it to Cloud.

Following capabilities can be achieved in hybrid implementation.
1. Hybrid Search
2. Hybrid Sites

a. Hybrid Profiles
b. One Drive for Business
c. Hybrid Extranet Sites

3. Hybrid BCS
4. Duet Enterprise Online
There are three ways to achieve hybrid implementations.

1. One-Way outbound Topology (SharePoint on-premises version can query SharePoint Online)
2. One-Way Inbound Topology (SharePoint Online can be connected to SharePoint On-Premises)
3. Two-Way bidirectional Topology (SharePoint On-premises and SharePoint Online can access each other functionalities)

In this blog, I will focus on Hybrid Search using One-Way Outbound topology.

Hybrid Search

Hybrid Search can be achieved using three steps.

  1. Directory Synchronization
  2. Server to Server Trust & Identity Management
  3. Search Service Integration

Directory Sync

Three Identity Models are available. We will focus on Synchronized identity for simplicity.

  1. Cloud Identity
  2. Synchronized Identity
  3. Federated Identity

In Synchronized Identity, Identities are managed in on-premises Active Directory and are synchronized to Azure AD through Azure AD Connect. Synchronization also sync password hashes.

Here is given the steps to achieve directory synchronization.

  1. Enable Directory Synchronization in you tenant (Office 365)
  2. Add On-Premise domain (user suffix) to Office 365 Tenant. (Domain Name should be publicly accessible for reverse sync)
  3. Update DNS Records (MX / TXT records) in your Domain Hosting Panel.
  4. Download and Run the User Sync from Tenant
  5. In Office 365, Import users / groups and validate.
  6. Activate Users and Assign Licenses.

Server to Server Trust & Identity Management

Trust between SP On-Premises and Office 365 tenant (Server to Server) can be established by following below steps.

1. Replace STS Certificate (All on-premises servers)

Set-SPSecurityTokenServiceConfig –ImportSigningCertificate

 2. Establish Remote Windows Power Shell Connection

Import-Module MSOnline –force –verbose
Import-Module MSOnlineExtended –force –verbose

3. Add Service Principal for on-premises domain

New-MsolServicePrincipalCredential –AppPrincipalId -Type asymmetric –Usage Verify –value
$SPOnlinePrincipal = Get-MsolServicePrincipal – AppPrincpalId $SPOnlineNameSpace = $SPOnlinePrincipal.ServicePrincipalNames
Set-MsolServicePrincipal –AppPrincipalId -ServicePrincipalNames $SPOnlineNameSpace

4. Establish On-Premise Farm Trust with ACS

$SPContextID = (Get-MsolCompanyInformation).ObjectID
Register-SPAppPrincipal –site -nameIdentifier <SPPrincipalID@SPContextID> -displayName “SharePoint Online”

5. Set Authentication Realm

Set-SPAuthenticationRealm –realm

6. Configure Proxy in On-premises farm

New-SPAzureAccessControlServiceApplicationProxy –Name “ACS” –MetaDataServiceEndPointUri “” –DefaultProxyGroup
New-SPTrustedSecurityTokenIssuer –MetadataEndpoint “” –IsTrustedBroker –Name “ACS”

Search Service Integration

Search Integration process is based on 3 parts.

1. Configure Result Source
Search Result Source can be configured in SharePoint on-premises by Adding Result Source in Site Collection Administration. Protocol should be chosen as Remote SharePoint. Credential should be chosen as Default Authentication. In case of Inbound, Select SSO ID.

2. Create Query Rule
You can filter when to trigger remote Query Processor by creating a Query Rule. Specific words can be added as triggers.
You can also specify where the result set should appear. By Default, all remote results come on top for easier identification. It can also be set to come in between complete result set.

3. Validate Query Rule
It’s an optional step to verify whether Query Rule has been configured properly and is returning correct result.

As discussed in last blog regarding UI consistency, Microsoft has recently released similar UI for document library in SharePoint Online that was in Office 365 – One Drive.

As I didn’t enable the Office 365 First Release, my SharePoint Online environment didn’t automatically had this feature available. In order to experience it, I enabled the Office 365 First Release Program. First Release enables the immediate adaption of new features as soon as they become available. On the contrary, standard release is received when entire Office 365 community receives it.



Once First Release Experience is enabled (I selected First Release – Entire Organization. You can also select First Release – Choose selected people), Document Libraries will automatically give you option for Check Out button.


Clicking on checkout will change your document library UI to Office 365 One Drive for Business UI that was rolled back in Oct 2015.


There are multiple enhancements done in new look. Here is a glimpse over those features & functionalities.


Breadcrumbs are designed intelligently. As you dive deep into folders, initial parent folders will be hidden in … and as you click on that, it will reveal the parent folder in modal dropdown view.


Submitted to Microsoft User Voice: Large folder names shall be either adjusted by giving higher weight age to last entry or to make folder name visible on breadcrumb hover (already submitted using Microsoft user voice).



Extended Navigation will be enable as soon as you make a selection. Different options will appear for single / multiple selection. Here are the key highlights for single file selection. On selecting a file and click on information icon (I) in top right, it generates a preview for known file type. You can browse through the document through this preview pane. Other attributes like Name, Title, Created By, Modified By, Version History, File Type, and Path will be displayed below preview pane in right section. Under sharing option, user can share the file directly by specifying the user or can share global read access link or global edit access link for selected file. Users can also get this link by clicking Get Link in top navigation.


Frequently accessed documents can be pinned by selecting Pin option in top navigation. It automatically generates the image of the document.

Submitted to Microsoft User Voice: When documents are pinned, it generates an automatic image which doesn’t always communicate the document essence effectively. If a user can attach a picture instead of automatic picture, this shall give a nice look and feel along with effective usability.



Using link feature, user can link a file from another SharePoint Online site or from One Drive and use this artifact along with its entire properties and workflows functionality. Link will automatically be security trimmed.



User can choose among list and grid views. Other custom changes to views are similar.


Here is one example of Group byCreated by


Views’ fields can be changed by clicking … on top right in list view. In order to do the same in grid view, first click on arrange that shall make the views’ field appear and then click on same … icon


Upload Folders

One of the great features is the functionality of recursive folder upload. It uploads folders, subfolder and their files.


Submitted to Microsoft User Voice: After folder upload using drag drop is completed, view does not refresh itself automatically to show uploaded folder.

Move-to and Copy-to

An intuitive way for Move to and Copy to has made it easier for users to copy / move the files among other folders.



Submitted to Microsoft User Voice: Move to and Copy to do not render if Group by in views is selected.

Switching Back to Classic

If for any reason (custom code / hard coded css fixes etc), you would like to switch back to classic version, you can go back by clicking to Switch to Classic View in bottom left of screen.



Overall, I am glad to see new features and functionality. It seems that Microsoft has taken end user perspective into consideration and finally presented with much needed User Interface and Features.