Know Your SharePoint Multi Server FARM Network Structure

This article describes the SharePoint Multi Server communication within the SharePoint farm.
Physical architecture relates to capacity planning and sizing depends on the multiple factors. I took a very simple example and try to explain, Is SharePoint Farm follow the Network Layer Architecture or Not.

Physical Network Layer Architecture (Normal Flow)




How to know the actual Server Communication within the SharePoint Farm

Browse the Central Administration
Central Administration -> System Settings -> Manage Server in FARM



Microsoft SharePoint Foundation Web Application Service is responsible to communicate with Database Server.
IF Microsoft SharePoint Foundation Web Application Service activated on Web Server, Then Web Server by-pass the network layer architecture and directly communicate with Database Server.
As depict above farm information, Now SharePoint FARM Network layer architecture look like


How WSP deploy to Multi Server FARM


Microsoft SharePoint Foundation Web Application Service is responsible to move the WSP solution to another server, wherever Microsoft SharePoint Foundation Web Application Service activated. Service automatically deploy the solution in other servers.




Handle Multiple Domain during SharePoint Migration

This blog describes the problem statement and resolution i.e. How to handle multi-domain issue during SharePoint Migration.
This is quite interesting & common scenario, which we face in almost all migration project i.e. On-Premises to On-Premises or On- Premises to Online.
SharePoint Migration project easily enters into escalation mode due to multi domain users after entire application migration.
Somehow application team tries to convince the business user to adapt or change the User Name with a NEW domain. This is something no business user ready to accept.
Scenario illustrated in below diagram:-


Problem Statement:-
Before Migration, Project was using Domain OLD.com and application URL like https://sharepoint.old.com where the user also have their login id like <<Domian>>\<<USerName>> old\user etc.
Business wants to migrate the application to different domain i.e. On Premises or Online.
New Domain like NEW.com and application URL like https://sharepoint.new.com
Users, who are part of the NEW domain can easily recognize by control and start using the application but some users are still part of the old domain.
As our new migrated application hosted into new domain so old domain user doesn’t recognize into new domain application.
 Below are the ways to resolve the issue:-
Option 1:-
If both domains have  TWO WAY TRUST. No configuration required. the user can be added as <<OLDDomain>>\<UserID>; instead of only user name.
 Option 2:-
If both domains have ONE WAY TRUST. Only people picker control configuration need to do using PowerShell. It will help control and application to recognize the user.
Option 3:-
 If both domains don't have TRUST process. User Profile Synchronization needs to perform. It will help control and application to recognize the user.


Ref :- https://collab365.community/sharepoint-2013-people-picker-problem-with-2-way-trusted-domains/

Estimate The Time Frame To Migrate Content To SharePoint Online

This article focuses on the actual content migration effort which is separate from planning, redesign, fixes, deployment, and configuration.

It's a very common question during the analysis phase of a SharePoint migration project. - How much time a "Tool or Migration API" will take to migrate the actual content from the source to the destination?

I found a couple proposals where people simply say 5GB per hour but it's not really practical.

It depends on multiple factors. I am not going to dive deep into how the below factors impact this. Just take the estimation based on content.
  • Network bandwidth
  • Type of content & file format i.e. List Item, Document, and Video etc.
  • Check In / out files & Versions
  • User base, Custom Permission & Groups
  • Workflow (OOTB, Design. Custom, Nintex)
  • Customization
  • Asp.Net Forms, InfoPath Forms
  • Threshold limit (Items, Lookup, Unique permission)
High-level content migration estimation view 


 List Item size is very low and associates with the large metadata, Workflows, Events etc.
  • Library item size quite big (files size like MBs) associated with versioning, large metadata, workflow, events etc.
  • File Share – No metadata, No Versioning
  • Video – Big size files.

How Migration API (Most of the tools use) works





How does version impact the estimation (which we usually miss)  






Conceptual View To Enrich SharePoint Enterprise Search

Search is one of the key features of the SharePoint Platform. It really helps business to grow and make their regular operations cost effective.
It really is vital to show the right content to the right people. I believe it’s big from asking customers and really feasible using the below pillars at least 70 percent of the time.

 
Information Architecture
  1. The organization has a rich profile of employees as compared to Google. It’s quite possible to get rich user profile properties with this data.
  2. Application defined schema and structure for storing & categorization of content.
  3. Integration with a different source like LOB, SAP, One drive Google drive, drop box etc.

     
Contextual Search
  1. Organizations have rich user profile attributes which can be derived from multiple sources 
  2. The content has logical categories within Site Collection, Subsites, List & Libraries
  3. Segment filters the content based on user region, locale etc.

     
Usability
  1. User experience is very crucial to catch the audience and meaningful UI.
  2. Re-configure the template as per department & area.
  3. Display trending results on the top (first page) i.e. most viewed, liked, comments & shared etc.

     
Metadata
  1. Rich and appropriate tags help to find the content. It’s really possible with automation jobs to find the matching content from taxonomy & defined weight-age of text.
  2. Metadata is required around schema like Sites, Folder, List & Library i.e. Static or Dynamic. It really helps to drill down the results.
  3. It really helps to build query suggestions. 

     

Mixed Data Type in Excel

Myth around MS-Excel as Data source using .Net (C#)
Recently, I observed in the couple of projects, people use MS-Excel as data source using
1.       Interop – (Without knowing the pre-requisites in production environment i.e. MS-Office not allowed in production environment)
2.       Third party tool (free & open source) – Use unsupported.Net Framework.
This article emphasis, known issue to use MS-Excel as data source using .Net (C#).
Problem Statement
Excel column decide the datatype based on a certain number of rows i.e. 8. If we are using excel with mixed datatype i.e. alphanumeric value where First 8 as the number and 9 as a string -> which return null as below source.

Excel Behavior
This is the default behavior of excel. It decides the column datatype based on first 8 rows.
Alternative Approach
1.       Read data using  Excel –cell range
2.       Third party open source tool having supported framework i.e. 4.6 onwards.
Best Approach (Recommended)
1.       Always use CSV file instead of Excel. Easy to traverse using file stream object.
2.       Registry Changes - If business allowed.
Excel file  as .xls
(Registry Key)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel\TypeGuessRows
Excel file is .xlsx
Registry Key Excel 2007:

HKEY_LOCAL_MACHINE\Software\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel\TypeGuessRows

Excel file is .xlsx
Registry Key Excel 2010:

HKEY_LOCAL_MACHINE\Software\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel\TypeGuessRows
Excel file is .xlsx
Registry Key Excel 2013:
HKEY_LOCAL_MACHINE\Software\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Excel\TypeGuessRows


Note: - Value should be 0 instead of 8.




IIS Binding and Registry Entry in IAAS Server


Configure DNS setting  Configure Internet facing SSL SharePoint Site using IAAS


IIS Binding and Registry Entry in IAAS Server

Step1:- Open IIS right click on the web application and “Edit Binding”











































Step 2:- On the “Site Binding” screen, click on Edit

























Step 3:- Select the certificate created in previous step and save the changes:


























Step 4:- Registry Entry in the Server

Create & Set DisableLoopBackCheck property =1





Configure the SharePoint 2013 Site with Host Header & SSL Cert

Configure the SharePoint 2013 Site with Host Header & SSL Cert

Step 1:-

How to create the Cert
http://manojmittalblogs.blogspot.in/2016/10/configure-internet-facing-ssl_9.html

Step 2:-

How to create Cert mapping url in azure portal
http://manojmittalblogs.blogspot.in/2016/10/configure-internet-facing-ssl.html

Step 3:-
Create the SharePoint Web Application using Central Administration or Powershell.
Remember you should use the application url which should have domain. like I create in

Example   https://devsp01.cloudapp.azure.com.

Hostheader name would be  devsp01.cloudapp.azure.com and port number  

Powershell Script:-

Claim based Web Application with Host Header:-

$ap = New-SPAuthenticationProvider
New-SPWebApplication -name "Development Application"-HostHeader " devsp01.cloudapp.azure.com " –Url “https://devsp01.cloudapp.azure.com” –Port 443 -ApplicationPool "Dev-ApplicationPool" -DatabaseName "WSS_Content_ Dev" -DatabaseServer "Domain\UserName" -ApplicationPoolAccount (Get-SPManagedAccount " Domain\UserName ") -AuthenticationProvider $ap

Configure SSL Certificate in IAAS server

Configure SSL Certificate  in IAAS Server

As I am doing the set up for development environment, So I am going to use self signed  Cert.

Step 1:-   Open PowerShell Window as admin run below command:

Syntax:
$cert = New-SelfSignedCertificate -DnsName <<yourdomain.com>> -CertStoreLocation "cert:\LocalMachine\My"

Example
$cert = New-SelfSignedCertificate -DnsName devsp01.cloudapp.azure.com -CertStoreLocation "cert:\LocalMachine\My



Step 2:-  Run below command to export the certificate:

 Syntax:
     Export-Certificate -Type CERT -Cert $cert -FilePath <<filePath>>.cer


Example
Export-Certificate -Type CERT -Cert $cert -FilePath  .\ devsp01.cloudapp.azure.com.cer

here certificate created at above mentioned file path location.

Step 3: Add certificate to Trusted Root Certification Authorities

Browse the Run window and type MMC
















Step 4: . Add/Remove snap in:































Step 5: -Select Certificated à Add à Computer account à Local Computer


























Step 6:- Select Local Computer




































Step 6:- Expand Certificates a Trusted Root Certificate Authorities a Certificates a All Tasks a Import









































Step 7:- Browse the created certificate































You are done here.

Happy Codding

Configure Internet facing SSL SharePoint Site using IAAS

Configure Internet facing SSL SharePoint Site using IAAS 

Step 1: Browse the Azure Portal and Select Virtual Machine from Left Hand Side and click the virtual machine , which server site user want to browse
















Step 2:- Click on the public IP address 













Step 3:- Click Configuration & enter the DNS label, domain will be set like  devsp01.cloudapp.azure.com, Click on save. 

Here you are ready with internet facing URL using IAAS platform.




























Step4:- Allow the port ->  Do the configuration in Network Security Group.

Go to the more services and type network in search box



























Step 5:- Select the Server and click inbound security rules























Step 6:- Set Inbound Rule with selected parameter

1. Priority
2. Services
3. Protocol
4. Action and click Save 


















Azure portal level configuration done and you are ready with URL i.e.  https://devsp01.cloudapp.azure.com

Next step - Continue with below sequence of articles

1. Create the SSL certification and Mapping 
http://manojmittalblogs.blogspot.in/2016/10/configure-internet-facing-ssl_9.html

2. SharePoint Site Host
http://manojmittalblogs.blogspot.in/2016/10/configure-internet-facing-ssl_83.html

3. IIS Binding & Registry entry
http://manojmittalblogs.blogspot.in/2016/10/configure-internet-facing-ssl_3.html


Happy coding..