SlideShare a Scribd company logo
1 of 80
SharePoint 2016
Platform Adoption
Lessons Learned and Advanced
Troubleshooting
Level 300 / Technical
SHAREPOINT SATURDAY OTTAWA
October 28, 2017
Thank you Sponsors!!
Platinum
Gold
Silver
Bronze Breakfast
SharePint
Salon A
@4:45
pm
Please drink responsibly . We will be happy to call a cab for you
Sponsored By
About Me
• SharePoint / .NET solution and technical architect
• Over 20 years experience developing business
solutions for private industry & government
• Recent clients include DND, StatCan, HoC, Justice,
NRC, NSERC, DFAIT, CFPSA, MCC, OSFI
• Specialize in Microsoft technologies
• Speaker at user groups and conferences
Thank you to my sponsor
• CloudShare – Environments Made Easy
• http://www.cloudshare.com/
Overview
• Lessons Learned
• Adoption
• Features
• Security
• Host names
• Advanced Troubleshooting
• Central Admin on the Blink
• BDC Service App Association Failure
• Resource failed to load
• Host Named SC in iFrame
• HTTP Protocol of New Site Collection
Adoption
• Very simple / smooth
• No major differences in project core workloads
• Publishing Portal site collection with EN / FR
variations
• Design Manager package
• WET 4
• BDC .NET Connector
• Search service app
• Display templates
What Is New and Sort-Of Useful
• Smaller MinRole farm
• New capability of Feature Pack 1 / Nov 2016 public
update
• Front-end with Distributed Cache
• Application with Search
• Admin Actions Logging (Central Admin and
PowerShell)
• New capability of Feature Pack 1 / Nov 2016 public
update
• No GUI or browse tooling available, access via
PowerShell
• Retained for a maximum of 31 days
What Is New and Sort-Of Useful
• SharePoint Framework
• New capability of Feature Pack 2 / Sept 2017 public
update
• YADeF4SP – Yet Another Development Framework For
SharePoint, hope this one sticks
• Highlights include
• New page and web part model
• Easy integration with SharePoint data
• Responsive and mobile-ready experiences and apps
• Modern web client-side development
What Has Improved?
• PSConfig (PU)
• Recovery from cancel or abort/error
• Restarting of app pools
• Synonyms weighted the same as the original query
terms (PU)
• Ampersand and other special characters in file
name (RTM)
• Both drag & drop to library in browser and Explorer View
What Got Worse?
• Retrieve user crawled properties with PowerShell
• Only OOTB crawled properties are retrieved by
PowerShell
• Get-SPEnterpriseSearchService
Application -Identity "Search" |
Get-SPEnterpriseSearchMetadata
CrawledProperty -Category 'Business
Data' | ft
Name Category Name Is Mapped To
Contents
Is Name
Enum
Schema
Id
Variant
Type
docaclmeta Business Data False False 0 0
EntityName Business Data False False 0 0
EntityNamespace Business Data False False 0 0
MinRole / Service Instances
• Enforces predefined set of service instances per
server role
• Attempts to auto-restart service instance if it stops
• Does not repair service instance if it won’t restart
or is corrupted
• Use Install-SPService to repair / re-
provision service instance
• Per server node not entire farm
• https://technet.microsoft.com/en-
us/library/ff607705(v=office.16).aspx
Admin vs Farm Account
• Admin account is not the same as Farm account
• Admin account
• Farm setup and patching
• PSCONFIG
• Configure and manage farm and servers
• Farm account
• Central Admin app pool identity
• Timer Service identity
Admin vs Farm Account
• Account logged in when SharePoint farm is created
(psconfig) becomes db_owner for farm config and
central admin databases
• Account logged in when service apps and web apps
are created in PowerShell becomes db_owner for
their databases, with limited exceptions
• However, Farm account is automatically owner for
some of these
Admin vs Farm Account
• Important when SQL is hosted and SP admins have
limited access / permissions to SQL Server
• Important when installing and configuring those
service apps that have Farm account as dbo
Admin vs Farm Account
Services with Farm Account as dbo no matter what:
• Business Connectivity
• Secure Store
• Why?
Admin vs Farm Account
• Even reputable authorities confound Admin and
Farm accounts
• Eg well-known Vlad Catrinescu blog post,
SharePoint 2013 Service Accounts Best Practices
Explained
• As of Mar 27, 2017, more than four years after
originally published
FQDN versus Non-FQDN
• Modern DNS config resolves both to same host
• However HTTP request still carries original
hostname
• SharePoint and IIS may need AAM / bindings
defined for both otherwise won’t respond
• Do you really want / need to support both?
• If not, consider a rewrite rule to canonical form
• Use generic bindings
FQDN versus Non-FQDN
• Agnostic bindings for IIS are most flexible
• If multiple web apps IP Address could be specific IP
or All Unassigned
FQDN versus Non-FQDN
• Rewrite Non-FQDN to canonical FQDN
• CACHE_URL is to capture protocol, no server variable for
that
<rule name="Non-FQDN to FQDN" enabled="true"
stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll"
trackAllCaptures="false">
<add input="{SERVER_NAME}" pattern="^hnsc-group$"
negate="true" />
<add input="{SERVER_NAME}" pattern="^[^.]*$" />
<add input="{CACHE_URL}" pattern="^(.+)://" />
</conditions>
<action type="Redirect“
url="{C:1}://{SERVER_NAME}.XXX.ca:{SERVER_PORT}{PATH_INFO
}" />
</rule>
Advanced Troubleshooting Tools
• Google! + Experience + Intuition
• ULS Viewer
• PowerShell
• F12 Developer Tools in browser / Developer
Dashboard
• SharePoint Manager 2013
• SharePoint 2013 Search Tool
• dotPeek
• Fiddler and Wireshark
#1 Troubleshooting Technique
• Google Search !
• + Judicious keywords !
Central Admin On The Blink
• Refresh Central Admin but page is blank!?
• No error msg
• No correlation Id
• Entirely blank browser window
Central Admin On The Blink
• Try again in new browser tab!?
• Now standard browser 404 response
• But how does Central Admin go away so
completely?!
Central Admin On The Blink
• Check and restart Central Admin IIS website and
app pool
• Hostname and server ping succeeds
Central Admin On The Blink
• Check ULS, filter to Show Errors Only, a sea of red
Central Admin On The Blink
SQL database login for
‘XXX_DEV_SharePoint_Conf
ig' on instance
‘XXX_DEV_SP16' failed.
Additional error
information from SQL
Server is included
below. Login failed for
user ‘YYYXXX-D_Farm'.
Cannot continue the
execution because the
session is in the kill
state. A severe error
occurred on the current
command. The results,
if any, should be
discarded.
Central Admin On The Blink
• Check SQL Server Management Studio
• Farm account is Deny access to database engine
Central Admin On The Blink
• There were numerous legacy service accounts
• In the process of disabling these we went one too
far!
• Denied the Farm account access to the farm SQL
server
• Reset Farm account to:
• Permission to connect to database engine: Grant
• Central Admin came back online
Conclusion
• ULS log had a simple and straightforward error msg
• Sometimes you get lucky with ULS!
• But not often!
ULS – View Logs From All Server
Nodes!
BDC Service App Issue
• Dev team reports BDC .NET Connector deployment
fails
• Dev team workaround:
• Switch web app service app associations from Default to
Custom and include BDC service app
• Even though Default and Custom groups show the
same service app associations
Service App Associations in Central
Admin
• Default associations vs custom associations
• BDC actions in Central Admin and PowerShell fail
with Default associations assigned, succeed with
Custom associations
BDC: Configure for Profile Page Host
site Issue
• Possibly related issue in BDC service app Configure
command for Profile Page Host site
• The default BDC Service on site http://informatics-
pot16-dev.XXX.ca/ does not match current BDC Service.
BDC: Configure for Profile Page Host
site Issue
• ULS logs show a divergence but no clear leads for
troubleshooting
PowerShell Discrepancy vs Central
Admin
• Discrepancy in default proxy group: PowerShell
compared to Central Admin
• SPWebApplication.ServiceApplicationProxy
Group.DefaultProxies
• Picasso BDC Proxy is missing!
Display Name Type Name
Managed Metadata Connection Managed Metadata Service Connection
Picasso Search Proxy Search Service Application Proxy
Picasso User Profile Service User Profile Service Application Proxy
Secure Store Proxy Secure Store Service Application Proxy
State Service Proxy State Service Proxy
Usage and Health Usage and Health Data Collection Proxy
Fix: Force Add Service App Proxy to
Default Group
• PowerShell to add Picasso BDC Proxy to Default
associations group
• Add-
SPServiceApplicationProxyGroupMember
$pg -Member 5b29056d-2206-426a-b9db-
096a3a43fd60 # Picasso BDC Proxy
• No change in how Central Admin displays Default
service app associations list
• Resolves issue in BDC service app Configure command
for Profile Page Host site
• True fix versus using Custom association group work
around
Root Cause – Solution Deployment Script
• BDC service app deployed by solution PowerShell
script
• New-SPBusinessDataCatalogServiceApplication
cmdlet also creates a proxy but does not permit
assigning it’s name
• New-
SPBusinessDataCatalogServiceApplicationProxy
cmdlet permits assigning the proxy name
• Solution deployment script combined these and
Remove-SPServiceApplicationProxy cmdlet
• In a funky way that left the farm confused about
the state of the Default association group
Conclusion
• Inspect farm config with PowerShell as it may be
more accurate than Central Admin
Resources Failed to Load
• “Test User” / Restricted Reader experience
• No correlation id for ULS lookup
Resources Failed to Load
• Network Request and Response clearly shows
which file
Resources Failed to Load
• Various files not published with major version
SharePoint Developer Dashboard
• Similar to F12 Dev Tools, but server-side focus
• Deep ASP.NET / SharePoint page info
• Enable with PowerShell
Conclusion
• Use browser F12 Developer Tools and other tools
• Inspect HTTP requests, responses, content, and
browser errors
• Rapidly zero in on page or item related problems
• Inspect ASP.NET / SharePoint page lifecycle and
Server Object Model (SSOM) API calls
SharePoint Manager 2013
Search Query Tool
Search Query Tool
Host Named SC in iFrame
• Dev team reports that BDC service app
Create/Upgrade profile pages screen started having
an issue
• This content cannot be displayed in a frame
Host Named SC in iFrame
• But that it opens fine a new tab or window
Host Named SC in iFrame
• You might recognize the issue immediately:
• Same Origin policy for framing
• Or Google
• Request domain is sps-adds-d01.XXX.ca
• Target domain is informatics-pot16-dev.XXX.ca
• But can F12 Dev Tools tell us more about root cause
/ resolution?
Host Named SC in iFrame
• Console errors are not relevant
• /_layouts/15/CreateProfileDialog.aspx appears to
be the culprit
• Response aborts after that
Host Named SC in iFrame
• Response Headers for
/_layouts/15/CreateProfileDialog.aspx
Host Named SC in iFrame
• Where does the X-FRAME-OPTIONS setting come
from?
• Not IIS website HTTP Response Headers
Host Named SC in iFrame
• Try inserting our own HTTP Response Header, but
creates duplicate
Host Named SC in iFrame
• Add control to master page:
• <WebPartPages:AllowFraming
runat=”server” />
• But what is going on under the covers?
Host Named SC in iFrame
Host Named SC in iFrame
Host Named SC in iFrame
Conclusion
• SharePoint forces X-FRAME-OPTIONS: SAMEORIGIN
• No farm or IIS config will override this
• HttpModule can override
• Or just live with browser framing warning msg
HTTP Protocol of New Site Collection
• How to control the protocol of the URL of a new
site collection?
• 3rd party Create Host-Named Site Collection
• OOTB Create Site Collection
Analyze Internals of an Application
Page
• /_admin/SharePointHNSC/createhostnamedsite.as
px
Analyze Internals of an Application
Page
• C:Program FilesCommon Filesmicrosoft
sharedWeb Server
Extensions16TEMPLATEADMINSharePointHNSC
Analyze Internals of an Application
Page
• 300 Lines of ASP.NET and JavaScript: How to find
protocol element?
Analyze Internals of an Application
Page
• Browser > F12 Developer Tools > DOM Explorer
Analyze Internals of an Application
Page
• HTML element in createhostnamedsite.aspx
Analyze Internals of an Application
Page
• Identify page class’ code behind assembly
Analyze Internals of an Application
Page
• Identify page class’ code behind – from source code
Analyze Internals of an Application
Page
• Identify page class’ code behind assembly
Analyze Internals of an Application
Page
• Open assembly in dotPeek from JetBrains
(ReSharper)
Analyze Internals of an Application
Page
• Locate references to HTML element by its Id
Analyze Internals of an Application
Page
• Analyze markup and code to determine source of
element InnerText
Analyze Internals of an Application
Page
• Analyze markup and code to determine source of
element InnerText
• <SharePoint:WebApplicationSelector
id="Selector" runat="server“
OnContextChange="OnContextChange"
AllowAdministrationWebApplication="fa
lse" />
• SPWebApplication currentItem =
this.Selector.CurrentItem;
• this.SpanUrlProtocol.InnerText =
currentItem.GetResponseUri(SPUrlZone.
Default).Scheme +
Uri.SchemeDelimiter;
HTTP Protocol of New Site Collection
• Central Admin force default zone protocol for new
site collection to match default zone protocol for
web app container
• AAM of web app container needs to satisfy
platform workloads HTTP vs HTTPS
HTTP Protocol of New Site Collection
• Swap HTTP / HTTPS AAMs of web app container
HTTP Protocol of New Site Collection
• Swap HTTP / HTTPS AAMs of web app container
HTTP Protocol of New Site Collection
• Success: Switched default protocol for new site
collection
• 3rd party Create Host-Named Site Collection
• OOTB Create Site Collection
Conclusion
• Get comfortable with reading disassembled
Microsoft assemblies to delve into actual logic of
Central Admin application pages
• Also works for PowerShell cmdlets which are often
written in C# / .NET
Fiddler and Wireshark
• Show a degree of detail no available in F12 Dev
Tools and SP Dev Dashboard
Next Steps – Try Out These Tools
• ULS Viewer
• PowerShell
• F12 Developer Tools in browser / Developer
Dashboard
• SharePoint Manager 2013
• SharePoint 2016 Client Browser
• SharePoint 2013 Search Tool
• dotPeek
• Fiddler and Wireshark
Contact Me
• John Calvert, Chief Architect
• Software Craft, Inc.
• John (a) softwarecraft dot ca
• Softwarecraft dot ca
• (a) softwarecraft99

More Related Content

What's hot

Automating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointAutomating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointTalbott Crowell
 
SharePoint REST vs CSOM
SharePoint REST vs CSOMSharePoint REST vs CSOM
SharePoint REST vs CSOMMark Rackley
 
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...J.D. Wade
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery GuideMark Rackley
 
SharePoint Performance: Best Practices from the Field
SharePoint Performance: Best Practices from the FieldSharePoint Performance: Best Practices from the Field
SharePoint Performance: Best Practices from the FieldJason Himmelstein
 
The Path through SharePoint Migrations
The Path through SharePoint MigrationsThe Path through SharePoint Migrations
The Path through SharePoint MigrationsBrian Caauwe
 
Data sources in share point 2010
Data sources in share point 2010Data sources in share point 2010
Data sources in share point 2010Kathy Hughes
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...Nik Patel
 
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshopIntroduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshopMichael Blumenthal (Microsoft MVP)
 
Understanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST APIUnderstanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST APIChris Beckett
 
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...European Collaboration Summit
 
SharePoint 2010 for Business, Intranet Leadership Forum
SharePoint 2010 for Business, Intranet Leadership ForumSharePoint 2010 for Business, Intranet Leadership Forum
SharePoint 2010 for Business, Intranet Leadership ForumKathy Hughes
 
SharePoint 2013 Client Side Rendering
SharePoint 2013 Client Side RenderingSharePoint 2013 Client Side Rendering
SharePoint 2013 Client Side RenderingBill Wolff
 
JavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersJavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersRob Windsor
 
O365 Saturday - Deepdive SharePoint Client Side Rendering
O365 Saturday - Deepdive SharePoint Client Side RenderingO365 Saturday - Deepdive SharePoint Client Side Rendering
O365 Saturday - Deepdive SharePoint Client Side RenderingRiwut Libinuko
 
Gabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File ExampleGabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File Examplelinkedinsys
 
What's New for the BI workload in SharePoint 2016 and SQL Server 2016
What's New for the BI workload in SharePoint 2016 and SQL Server 2016What's New for the BI workload in SharePoint 2016 and SQL Server 2016
What's New for the BI workload in SharePoint 2016 and SQL Server 2016SPC Adriatics
 
Build your Business Services using ADF Task Flows
Build your Business Services using ADF Task FlowsBuild your Business Services using ADF Task Flows
Build your Business Services using ADF Task FlowsDataNext Solutions
 

What's hot (20)

Automating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointAutomating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePoint
 
SharePoint REST vs CSOM
SharePoint REST vs CSOMSharePoint REST vs CSOM
SharePoint REST vs CSOM
 
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide
 
SharePoint Performance: Best Practices from the Field
SharePoint Performance: Best Practices from the FieldSharePoint Performance: Best Practices from the Field
SharePoint Performance: Best Practices from the Field
 
The Path through SharePoint Migrations
The Path through SharePoint MigrationsThe Path through SharePoint Migrations
The Path through SharePoint Migrations
 
Data sources in share point 2010
Data sources in share point 2010Data sources in share point 2010
Data sources in share point 2010
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
 
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshopIntroduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
 
SharePoint Performance
SharePoint PerformanceSharePoint Performance
SharePoint Performance
 
Understanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST APIUnderstanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST API
 
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
 
SharePoint 2010 for Business, Intranet Leadership Forum
SharePoint 2010 for Business, Intranet Leadership ForumSharePoint 2010 for Business, Intranet Leadership Forum
SharePoint 2010 for Business, Intranet Leadership Forum
 
SharePoint 2013 Client Side Rendering
SharePoint 2013 Client Side RenderingSharePoint 2013 Client Side Rendering
SharePoint 2013 Client Side Rendering
 
JavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersJavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint Developers
 
O365 Saturday - Deepdive SharePoint Client Side Rendering
O365 Saturday - Deepdive SharePoint Client Side RenderingO365 Saturday - Deepdive SharePoint Client Side Rendering
O365 Saturday - Deepdive SharePoint Client Side Rendering
 
Gabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File ExampleGabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File Example
 
What's New for the BI workload in SharePoint 2016 and SQL Server 2016
What's New for the BI workload in SharePoint 2016 and SQL Server 2016What's New for the BI workload in SharePoint 2016 and SQL Server 2016
What's New for the BI workload in SharePoint 2016 and SQL Server 2016
 
Build your Business Services using ADF Task Flows
Build your Business Services using ADF Task FlowsBuild your Business Services using ADF Task Flows
Build your Business Services using ADF Task Flows
 
Infopath controls
Infopath controlsInfopath controls
Infopath controls
 

Similar to SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting

O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenNCCOMMS
 
SPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst PracticesSPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst PracticesScott Hoag
 
Identity Management in SharePoint 2013
Identity Management in SharePoint 2013Identity Management in SharePoint 2013
Identity Management in SharePoint 2013SPC Adriatics
 
SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)Brian Culver
 
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...Datapolis
 
Deploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePointDeploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePointDenny Lee
 
SharePoint 2013 – the upgrade story
SharePoint 2013 – the upgrade storySharePoint 2013 – the upgrade story
SharePoint 2013 – the upgrade storySPC Adriatics
 
[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI Scenarios[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI ScenariosEuropean Collaboration Summit
 
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenariosDeep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenariosSajith C P Nair
 
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013J.D. Wade
 
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013Kashish Sukhija
 
What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013J.D. Wade
 
A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms
A Real World Guide to Building Highly Available Fault Tolerant SharePoint FarmsA Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms
A Real World Guide to Building Highly Available Fault Tolerant SharePoint FarmsEric Shupps
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf
 
SharePoint 2013 in a hybrid world
SharePoint 2013 in a hybrid worldSharePoint 2013 in a hybrid world
SharePoint 2013 in a hybrid worldJethro Seghers
 
SharePoint 2010 – Installation and maintenance – best practices
SharePoint 2010 – Installation and maintenance – best practicesSharePoint 2010 – Installation and maintenance – best practices
SharePoint 2010 – Installation and maintenance – best practicesToni Frankola
 
Case Study: A Complex SharePoint Migration
Case Study: A Complex SharePoint MigrationCase Study: A Complex SharePoint Migration
Case Study: A Complex SharePoint MigrationMatthew J. Bailey , MCT
 
FAST for SharePoint Deep Dive
FAST for SharePoint Deep DiveFAST for SharePoint Deep Dive
FAST for SharePoint Deep Diveneil_richards
 
Sp2010 high availlability
Sp2010 high availlabilitySp2010 high availlability
Sp2010 high availlabilitySamuel Zürcher
 

Similar to SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting (20)

O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
 
SPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst PracticesSPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst Practices
 
Identity Management in SharePoint 2013
Identity Management in SharePoint 2013Identity Management in SharePoint 2013
Identity Management in SharePoint 2013
 
SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)
 
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...
 
SharePoint 2016 Upgrade Planning
SharePoint 2016 Upgrade PlanningSharePoint 2016 Upgrade Planning
SharePoint 2016 Upgrade Planning
 
Deploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePointDeploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePoint
 
SharePoint 2013 – the upgrade story
SharePoint 2013 – the upgrade storySharePoint 2013 – the upgrade story
SharePoint 2013 – the upgrade story
 
[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI Scenarios[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI Scenarios
 
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenariosDeep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
 
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
 
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
 
What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013
 
A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms
A Real World Guide to Building Highly Available Fault Tolerant SharePoint FarmsA Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms
A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release Pipelines
 
SharePoint 2013 in a hybrid world
SharePoint 2013 in a hybrid worldSharePoint 2013 in a hybrid world
SharePoint 2013 in a hybrid world
 
SharePoint 2010 – Installation and maintenance – best practices
SharePoint 2010 – Installation and maintenance – best practicesSharePoint 2010 – Installation and maintenance – best practices
SharePoint 2010 – Installation and maintenance – best practices
 
Case Study: A Complex SharePoint Migration
Case Study: A Complex SharePoint MigrationCase Study: A Complex SharePoint Migration
Case Study: A Complex SharePoint Migration
 
FAST for SharePoint Deep Dive
FAST for SharePoint Deep DiveFAST for SharePoint Deep Dive
FAST for SharePoint Deep Dive
 
Sp2010 high availlability
Sp2010 high availlabilitySp2010 high availlability
Sp2010 high availlability
 

More from John Calvert

Azure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons LearnedAzure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons LearnedJohn Calvert
 
Lessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azureLessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azureJohn Calvert
 
What's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-PremisesWhat's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-PremisesJohn Calvert
 
SharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What MattersSharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What MattersJohn Calvert
 
Transform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSSTransform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSSJohn Calvert
 
SharePoint 2013 APIs
SharePoint 2013 APIsSharePoint 2013 APIs
SharePoint 2013 APIsJohn Calvert
 
Migrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical PerspectiveMigrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical PerspectiveJohn Calvert
 
How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013John Calvert
 
IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?John Calvert
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET DeveloperJohn Calvert
 
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShareCloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShareJohn Calvert
 
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShareCloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShareJohn Calvert
 

More from John Calvert (12)

Azure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons LearnedAzure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons Learned
 
Lessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azureLessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azure
 
What's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-PremisesWhat's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-Premises
 
SharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What MattersSharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What Matters
 
Transform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSSTransform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSS
 
SharePoint 2013 APIs
SharePoint 2013 APIsSharePoint 2013 APIs
SharePoint 2013 APIs
 
Migrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical PerspectiveMigrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical Perspective
 
How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013
 
IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
 
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShareCloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
 
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShareCloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
 

Recently uploaded

PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 

Recently uploaded (20)

PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 

SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting

  • 1. SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting Level 300 / Technical SHAREPOINT SATURDAY OTTAWA October 28, 2017
  • 3. Salon A @4:45 pm Please drink responsibly . We will be happy to call a cab for you Sponsored By
  • 4. About Me • SharePoint / .NET solution and technical architect • Over 20 years experience developing business solutions for private industry & government • Recent clients include DND, StatCan, HoC, Justice, NRC, NSERC, DFAIT, CFPSA, MCC, OSFI • Specialize in Microsoft technologies • Speaker at user groups and conferences
  • 5. Thank you to my sponsor • CloudShare – Environments Made Easy • http://www.cloudshare.com/
  • 6. Overview • Lessons Learned • Adoption • Features • Security • Host names • Advanced Troubleshooting • Central Admin on the Blink • BDC Service App Association Failure • Resource failed to load • Host Named SC in iFrame • HTTP Protocol of New Site Collection
  • 7. Adoption • Very simple / smooth • No major differences in project core workloads • Publishing Portal site collection with EN / FR variations • Design Manager package • WET 4 • BDC .NET Connector • Search service app • Display templates
  • 8. What Is New and Sort-Of Useful • Smaller MinRole farm • New capability of Feature Pack 1 / Nov 2016 public update • Front-end with Distributed Cache • Application with Search • Admin Actions Logging (Central Admin and PowerShell) • New capability of Feature Pack 1 / Nov 2016 public update • No GUI or browse tooling available, access via PowerShell • Retained for a maximum of 31 days
  • 9. What Is New and Sort-Of Useful • SharePoint Framework • New capability of Feature Pack 2 / Sept 2017 public update • YADeF4SP – Yet Another Development Framework For SharePoint, hope this one sticks • Highlights include • New page and web part model • Easy integration with SharePoint data • Responsive and mobile-ready experiences and apps • Modern web client-side development
  • 10. What Has Improved? • PSConfig (PU) • Recovery from cancel or abort/error • Restarting of app pools • Synonyms weighted the same as the original query terms (PU) • Ampersand and other special characters in file name (RTM) • Both drag & drop to library in browser and Explorer View
  • 11. What Got Worse? • Retrieve user crawled properties with PowerShell • Only OOTB crawled properties are retrieved by PowerShell • Get-SPEnterpriseSearchService Application -Identity "Search" | Get-SPEnterpriseSearchMetadata CrawledProperty -Category 'Business Data' | ft Name Category Name Is Mapped To Contents Is Name Enum Schema Id Variant Type docaclmeta Business Data False False 0 0 EntityName Business Data False False 0 0 EntityNamespace Business Data False False 0 0
  • 12. MinRole / Service Instances • Enforces predefined set of service instances per server role • Attempts to auto-restart service instance if it stops • Does not repair service instance if it won’t restart or is corrupted • Use Install-SPService to repair / re- provision service instance • Per server node not entire farm • https://technet.microsoft.com/en- us/library/ff607705(v=office.16).aspx
  • 13. Admin vs Farm Account • Admin account is not the same as Farm account • Admin account • Farm setup and patching • PSCONFIG • Configure and manage farm and servers • Farm account • Central Admin app pool identity • Timer Service identity
  • 14. Admin vs Farm Account • Account logged in when SharePoint farm is created (psconfig) becomes db_owner for farm config and central admin databases • Account logged in when service apps and web apps are created in PowerShell becomes db_owner for their databases, with limited exceptions • However, Farm account is automatically owner for some of these
  • 15. Admin vs Farm Account • Important when SQL is hosted and SP admins have limited access / permissions to SQL Server • Important when installing and configuring those service apps that have Farm account as dbo
  • 16. Admin vs Farm Account Services with Farm Account as dbo no matter what: • Business Connectivity • Secure Store • Why?
  • 17. Admin vs Farm Account • Even reputable authorities confound Admin and Farm accounts • Eg well-known Vlad Catrinescu blog post, SharePoint 2013 Service Accounts Best Practices Explained • As of Mar 27, 2017, more than four years after originally published
  • 18. FQDN versus Non-FQDN • Modern DNS config resolves both to same host • However HTTP request still carries original hostname • SharePoint and IIS may need AAM / bindings defined for both otherwise won’t respond • Do you really want / need to support both? • If not, consider a rewrite rule to canonical form • Use generic bindings
  • 19. FQDN versus Non-FQDN • Agnostic bindings for IIS are most flexible • If multiple web apps IP Address could be specific IP or All Unassigned
  • 20. FQDN versus Non-FQDN • Rewrite Non-FQDN to canonical FQDN • CACHE_URL is to capture protocol, no server variable for that <rule name="Non-FQDN to FQDN" enabled="true" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{SERVER_NAME}" pattern="^hnsc-group$" negate="true" /> <add input="{SERVER_NAME}" pattern="^[^.]*$" /> <add input="{CACHE_URL}" pattern="^(.+)://" /> </conditions> <action type="Redirect“ url="{C:1}://{SERVER_NAME}.XXX.ca:{SERVER_PORT}{PATH_INFO }" /> </rule>
  • 21. Advanced Troubleshooting Tools • Google! + Experience + Intuition • ULS Viewer • PowerShell • F12 Developer Tools in browser / Developer Dashboard • SharePoint Manager 2013 • SharePoint 2013 Search Tool • dotPeek • Fiddler and Wireshark
  • 22. #1 Troubleshooting Technique • Google Search ! • + Judicious keywords !
  • 23. Central Admin On The Blink • Refresh Central Admin but page is blank!? • No error msg • No correlation Id • Entirely blank browser window
  • 24. Central Admin On The Blink • Try again in new browser tab!? • Now standard browser 404 response • But how does Central Admin go away so completely?!
  • 25. Central Admin On The Blink • Check and restart Central Admin IIS website and app pool • Hostname and server ping succeeds
  • 26. Central Admin On The Blink • Check ULS, filter to Show Errors Only, a sea of red
  • 27. Central Admin On The Blink SQL database login for ‘XXX_DEV_SharePoint_Conf ig' on instance ‘XXX_DEV_SP16' failed. Additional error information from SQL Server is included below. Login failed for user ‘YYYXXX-D_Farm'. Cannot continue the execution because the session is in the kill state. A severe error occurred on the current command. The results, if any, should be discarded.
  • 28. Central Admin On The Blink • Check SQL Server Management Studio • Farm account is Deny access to database engine
  • 29. Central Admin On The Blink • There were numerous legacy service accounts • In the process of disabling these we went one too far! • Denied the Farm account access to the farm SQL server • Reset Farm account to: • Permission to connect to database engine: Grant • Central Admin came back online
  • 30. Conclusion • ULS log had a simple and straightforward error msg • Sometimes you get lucky with ULS! • But not often!
  • 31. ULS – View Logs From All Server Nodes!
  • 32. BDC Service App Issue • Dev team reports BDC .NET Connector deployment fails • Dev team workaround: • Switch web app service app associations from Default to Custom and include BDC service app • Even though Default and Custom groups show the same service app associations
  • 33. Service App Associations in Central Admin • Default associations vs custom associations • BDC actions in Central Admin and PowerShell fail with Default associations assigned, succeed with Custom associations
  • 34. BDC: Configure for Profile Page Host site Issue • Possibly related issue in BDC service app Configure command for Profile Page Host site • The default BDC Service on site http://informatics- pot16-dev.XXX.ca/ does not match current BDC Service.
  • 35. BDC: Configure for Profile Page Host site Issue • ULS logs show a divergence but no clear leads for troubleshooting
  • 36. PowerShell Discrepancy vs Central Admin • Discrepancy in default proxy group: PowerShell compared to Central Admin • SPWebApplication.ServiceApplicationProxy Group.DefaultProxies • Picasso BDC Proxy is missing! Display Name Type Name Managed Metadata Connection Managed Metadata Service Connection Picasso Search Proxy Search Service Application Proxy Picasso User Profile Service User Profile Service Application Proxy Secure Store Proxy Secure Store Service Application Proxy State Service Proxy State Service Proxy Usage and Health Usage and Health Data Collection Proxy
  • 37. Fix: Force Add Service App Proxy to Default Group • PowerShell to add Picasso BDC Proxy to Default associations group • Add- SPServiceApplicationProxyGroupMember $pg -Member 5b29056d-2206-426a-b9db- 096a3a43fd60 # Picasso BDC Proxy • No change in how Central Admin displays Default service app associations list • Resolves issue in BDC service app Configure command for Profile Page Host site • True fix versus using Custom association group work around
  • 38. Root Cause – Solution Deployment Script • BDC service app deployed by solution PowerShell script • New-SPBusinessDataCatalogServiceApplication cmdlet also creates a proxy but does not permit assigning it’s name • New- SPBusinessDataCatalogServiceApplicationProxy cmdlet permits assigning the proxy name • Solution deployment script combined these and Remove-SPServiceApplicationProxy cmdlet • In a funky way that left the farm confused about the state of the Default association group
  • 39. Conclusion • Inspect farm config with PowerShell as it may be more accurate than Central Admin
  • 40. Resources Failed to Load • “Test User” / Restricted Reader experience • No correlation id for ULS lookup
  • 41. Resources Failed to Load • Network Request and Response clearly shows which file
  • 42. Resources Failed to Load • Various files not published with major version
  • 43. SharePoint Developer Dashboard • Similar to F12 Dev Tools, but server-side focus • Deep ASP.NET / SharePoint page info • Enable with PowerShell
  • 44. Conclusion • Use browser F12 Developer Tools and other tools • Inspect HTTP requests, responses, content, and browser errors • Rapidly zero in on page or item related problems • Inspect ASP.NET / SharePoint page lifecycle and Server Object Model (SSOM) API calls
  • 48. Host Named SC in iFrame • Dev team reports that BDC service app Create/Upgrade profile pages screen started having an issue • This content cannot be displayed in a frame
  • 49. Host Named SC in iFrame • But that it opens fine a new tab or window
  • 50. Host Named SC in iFrame • You might recognize the issue immediately: • Same Origin policy for framing • Or Google • Request domain is sps-adds-d01.XXX.ca • Target domain is informatics-pot16-dev.XXX.ca • But can F12 Dev Tools tell us more about root cause / resolution?
  • 51. Host Named SC in iFrame • Console errors are not relevant • /_layouts/15/CreateProfileDialog.aspx appears to be the culprit • Response aborts after that
  • 52. Host Named SC in iFrame • Response Headers for /_layouts/15/CreateProfileDialog.aspx
  • 53. Host Named SC in iFrame • Where does the X-FRAME-OPTIONS setting come from? • Not IIS website HTTP Response Headers
  • 54. Host Named SC in iFrame • Try inserting our own HTTP Response Header, but creates duplicate
  • 55. Host Named SC in iFrame • Add control to master page: • <WebPartPages:AllowFraming runat=”server” /> • But what is going on under the covers?
  • 56. Host Named SC in iFrame
  • 57. Host Named SC in iFrame
  • 58. Host Named SC in iFrame
  • 59. Conclusion • SharePoint forces X-FRAME-OPTIONS: SAMEORIGIN • No farm or IIS config will override this • HttpModule can override • Or just live with browser framing warning msg
  • 60. HTTP Protocol of New Site Collection • How to control the protocol of the URL of a new site collection? • 3rd party Create Host-Named Site Collection • OOTB Create Site Collection
  • 61. Analyze Internals of an Application Page • /_admin/SharePointHNSC/createhostnamedsite.as px
  • 62. Analyze Internals of an Application Page • C:Program FilesCommon Filesmicrosoft sharedWeb Server Extensions16TEMPLATEADMINSharePointHNSC
  • 63. Analyze Internals of an Application Page • 300 Lines of ASP.NET and JavaScript: How to find protocol element?
  • 64. Analyze Internals of an Application Page • Browser > F12 Developer Tools > DOM Explorer
  • 65. Analyze Internals of an Application Page • HTML element in createhostnamedsite.aspx
  • 66. Analyze Internals of an Application Page • Identify page class’ code behind assembly
  • 67. Analyze Internals of an Application Page • Identify page class’ code behind – from source code
  • 68. Analyze Internals of an Application Page • Identify page class’ code behind assembly
  • 69. Analyze Internals of an Application Page • Open assembly in dotPeek from JetBrains (ReSharper)
  • 70. Analyze Internals of an Application Page • Locate references to HTML element by its Id
  • 71. Analyze Internals of an Application Page • Analyze markup and code to determine source of element InnerText
  • 72. Analyze Internals of an Application Page • Analyze markup and code to determine source of element InnerText • <SharePoint:WebApplicationSelector id="Selector" runat="server“ OnContextChange="OnContextChange" AllowAdministrationWebApplication="fa lse" /> • SPWebApplication currentItem = this.Selector.CurrentItem; • this.SpanUrlProtocol.InnerText = currentItem.GetResponseUri(SPUrlZone. Default).Scheme + Uri.SchemeDelimiter;
  • 73. HTTP Protocol of New Site Collection • Central Admin force default zone protocol for new site collection to match default zone protocol for web app container • AAM of web app container needs to satisfy platform workloads HTTP vs HTTPS
  • 74. HTTP Protocol of New Site Collection • Swap HTTP / HTTPS AAMs of web app container
  • 75. HTTP Protocol of New Site Collection • Swap HTTP / HTTPS AAMs of web app container
  • 76. HTTP Protocol of New Site Collection • Success: Switched default protocol for new site collection • 3rd party Create Host-Named Site Collection • OOTB Create Site Collection
  • 77. Conclusion • Get comfortable with reading disassembled Microsoft assemblies to delve into actual logic of Central Admin application pages • Also works for PowerShell cmdlets which are often written in C# / .NET
  • 78. Fiddler and Wireshark • Show a degree of detail no available in F12 Dev Tools and SP Dev Dashboard
  • 79. Next Steps – Try Out These Tools • ULS Viewer • PowerShell • F12 Developer Tools in browser / Developer Dashboard • SharePoint Manager 2013 • SharePoint 2016 Client Browser • SharePoint 2013 Search Tool • dotPeek • Fiddler and Wireshark
  • 80. Contact Me • John Calvert, Chief Architect • Software Craft, Inc. • John (a) softwarecraft dot ca • Softwarecraft dot ca • (a) softwarecraft99

Editor's Notes

  1. At the end of the day, please ensure your evaluation is signed and handed in for door prizes. The draw takes place in The Observatory
  2. MinRole – Feature Pack 1 2 core servers before SQL / OOS / HA / DR, etc Planning for a MinRole server deployment in SharePoint Server 2016 https://technet.microsoft.com/en-ca/library/mt743704(v=office.16).aspx Admin Logging Using Administrative Actions logging in SharePoint Server 2016 https://technet.microsoft.com/en-us/library/mt790698(v=office.16).aspx Feature Pack 1 / Nov 2016 Public Update Same regression testing as standard Public Update, less than Service Pack, install at your own risk Get-SPServer | FT -Property Address, Role, CompliantWithMinRole
  3. Modern web client-side development = using modern web technologies and tools in your preferred development environment with open source tooling
  4. Recent Public Updates include improvement to PSConfig and Search synonym weighting: Restarts services that it stopped even if cancelled or aborted due to error Streamlines stopping and starting of IIS app pools
  5. Install-SPService, per Trevor Seward, MVP, in answers.microsoft.com
  6. SQL + SAN storage: assign both dbo to database and also rights to storage folder BDC .NET Connector deployment woes when not logged in as Farm account, even with permissions granted to Admin account
  7. SQL + SAN storage: assign both dbo to database and also rights to storage folder BDC .NET Connector deployment woes when not logged in as Farm account, even with permissions granted to Admin account
  8. TODO: T-SQL to view database owners Why: Security perhaps?
  9. Errors in this blog post: SP_Admin not SP_Farm should have “Configure and manage the server farm”, probably a copy & paste error SP_Admin should be clearly marked as a user account not a service account Important if you User Rights Assignments “Log on as a service” and not “Log on locally as a user”
  10. {CACHE_URL} is used to capture protocol since there is no IIS server variable for this, at least as of IIS 8.x
  11. https://blogs.technet.microsoft.com/wbaer/2014/08/22/uls-viewing-like-a-boss-uls-viewer-is-now-available/ http://spm.codeplex.com http://sp2013searchtool.codeplex.com/ https://www.jetbrains.com/decompiler/ http://www.telerik.com/fiddler https://www.wireshark.org/ https://zimmergren.net/tools-for-your-sharepoint-2013-development-toolbox/
  12. ULS Viewing Like a Boss (ULS Viewer is now available) – MSDN Blogs https://blogs.technet.microsoft.com/wbaer/2014/08/22/uls-viewing-like-a-boss-uls-viewer-is-now-available/
  13. PowerShell script error msg and ULS log: TBD
  14. Using the Developer Dashboard https://msdn.microsoft.com/en-us/library/office/ff512745(v=office.14).aspx SharePoint Developer Dashbord https://andikrueger.wordpress.com/2016/05/11/sharepoint-developer-dashbord/ (SPWebService.ContentService).SPDeveloperDashboardSettings.DisplayLevel = [On | OnDemand | Off]
  15. SharePoint Manager 2013 https://spm.codeplex.com/ Sometimes allows you to see and modify items that you can’t via the browser and it would take a bunch of code via API
  16. SharePoint Search Query Tool https://sp2013searchtool.codeplex.com/ Works with SharePoint 2013 / 2016 / Online
  17. IFraming SharePoint-hosted pages in apps https://blogs.msdn.microsoft.com/officeapps/2012/12/12/iframing-sharepoint-hosted-pages-in-apps/
  18. IFraming SharePoint-hosted pages in apps (MSDN Blogs) https://blogs.msdn.microsoft.com/officeapps/2012/12/12/iframing-sharepoint-hosted-pages-in-apps/ Permissive XFrame Header http://ventigrate.codeplex.com/wikipage?title=Permissive%20XFrame%20Header
  19. Technique: Use dotPeek to examine code in page load of: * /_admin/createsite.aspx * /_admin/SharePointHNSC/createhostnamedsite.aspx
  20. Technique: Use dotPeek to examine code behind / assembly of: /_admin/createsite.aspx /_admin/SharePointHNSC/createhostnamedsite.aspx Story is more complicated with createsite.aspx because: Assembly is not in GAC, instead at C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\CONFIG\ADMINBIN\Microsoft.SharePoint.ApplicationPages.Administration.dll HTML element is modified client-side by JavaScript from a hidden form variable, rather than being set from SharePoint web control Microsoft.SharePoint.WebControls:WebApplicationSelector The latter because OOTB page is designed for two contexts, one during Farm Config Wizard Mode
  21. Technique: Use dotPeek to examine code in page load of: * /_admin/createsite.aspx * /_admin/SharePointHNSC/createhostnamedsite.aspx
  22. Plain HTML element not an ASP.NET control or JavaScript
  23. Plain HTML element not an ASP.NET control or JavaScript
  24. Delve deeper into page class’ code behind and assembly
  25. Delve deeper into page class’ code behind and assembly
  26. Delve deeper into page class’ code behind and assembly
  27. Delve deeper into page class’ code behind and assembly
  28. dotPeek – https://www.jetbrains.com/decompiler/
  29. Technique: Use dotPeek to examine code in page load of: * /_admin/createsite.aspx * /_admin/SharePointHNSC/createhostnamedsite.aspx