What’s New for IT Professionals in SharePoint 2016 by Bill Baer

Notes:

  • Prerequisites:
    • Will support Windows Server 2012 R2 or Windows Server 10
    • Windows Management Framework 3.0
    • App Server Role, Web Server (IIS) Role
    • .NET Framework 4 (KB2898850) – 4.5.2 or if on Win10 4.5.6
    • SQL Server 2012 Native Client
    • Microsoft Identity Extensions
    • Microsoft Sync Framework Runtime v1.0 SP1 (x64)
    • Windows Server AppFabric 1.1 – will continue to support it
    • Windows Identity Foundation v1.1
    • Microsoft Information Protection and Control Client
    • Microsoft WCF Data Services
  • Standalone installations will no longer be supported; No more SQL Server Express
  • Upgrade from 2013 but not 2010
  • Same shared services will be available (those services that are not available in Online were backported)
  • Any backward compatible site collections will have to get brought to 2013 mode and then upgrading to 2016
  • Database attach to upgrade or Data Migrate
  • SAML auth becomes the default and first class citizen because it is cloud-ready; Windows Identity still supported; moving away from domain-based authentication
  • Supports STARTTLS encryption to improve messaging security so you can run on non-default ports
  • 3 Roles
    • User – “any request initiated by an end user is processed by that machine that is defined as a user role or a web server”; Any end user request should be managed end-to-end by a single machine
    • Robot Request – not user initiated – provisioning, timer jobs, search
    • Caching Services
  • New minRole topology
  • New grey wizard “Specify Server Role” screen
    • Special Load – custom definition; Reserved for services that needed to be isolated from other services; recommended for 3rd party services
    • Web Front End – Services end user requests. Servers assigned to this role are optimized for low latency
    • Search
    • Application (robots services role) – Services backend jobs or requests triggered by backend jobs. Servers assigned to this role are optimized for high throughput
    • Distributed Cache – Servers assigned to this role can load balance end user requests among the web front ends
    • Single Server Farm – no more SQL Server Express
  • Can still use psconfig or powershell -islocalserverrole
  • Health Analyzer Rules scans every role except Special Load; will define if server is “In Compliance” with role definitions
  • CA look-and-feel is mostly the same
  • Patches getting consolidated and will be smaller, execute faster and with zero downtime.
  • Patches will run online, not offline.
  • New Boundaries and Limits
    • Db – into the TB’s
    • Site Collections per Content Db – 100k site collections per content Db
    • List – Greater than 5000
    • MaxFile Size – increased to 10GB
    • Indexed items – 2x increase to 500 Million items
  • Moving away from file sync via soap over http by utilizing bits
  • Fast Site Creation – uses spsite copy command at the Db level bypassing feature activation
  • Traffic Management – Platform Resiliency – new endpoint running on web servers, establishes affinity between web and load balancers, intelligent routing based on variables
  • User Profile service no longer baked in – removed built-in FIMS, supports external now.
  • Project Server Db consolidated into Content Db
  • Durable Links – Url remains instact with rename or move using Resource Id’s. Enables discrete Url on visibility. Move file between site collections and link will still work. Renaming file does not change link since it’s based on resource id.
  • Advanced data analysis and reporting, real user monitoring.
    • SLAPPY
  • ODF support in document libraries
  • Classification ID’s for eDiscovery. Supports hybrid connectivity.
  • eDiscovery works across both on-prem and cloud
  • Cloud Search Service Application – unifies both indexes and search across retrieving a blended resultset instead of separate result blocks so Delve and OfficeGraph can be accessible from online but include on-prem results
  • Extranet Site publishing – publish internal sites to Internet, leverages O365 identity federation services
  • Hybrid Team sites
  • Follow doc online and it gets represented on prem
  • Hybrid configuration wizard type of functionality via a new resource center instead of Powershell mountain
  • Still a year left of development. Public preview at end of year. Hybrid search from o365 available later this year.

Site Content and Structure error

Whenever I tried to access my ‘Content and structure’ link in Site Settings under Site Administration, I would get an error and it would fail. After checking the logs, the following helped me to fix this issue:

First, I used the SharePoint Feature Administration and Cleanup Tool from CodePlex and cleaned out any errors. This changed the error in the logs.

There was now a list ID that was giving a problem. To find which list it was, I searched via the list ID in PowerShell:

Get-SPSite http://yourSite | Get-SPWeb  -Limit ALL | %{$_.Lists} | ?{$_.ID –eq “your-list-ID-no-brackets”} | ft Title, ParentWebURL, RootFolder

Then I deleted the list by name:

$web = get-spweb -Identity http://yourSite
$list = $web.lists["Name of Offending Library"]
$list.AllowDeletion = $true
$list.Update()
$list.Delete()

This script lists all of the titles and IDs per site:

$sitec = Read-Host 'Enter Site Collection (ex: http://yours.yourdomain.com)'
$subsite = Read-Host 'Enter Sub-Site(ex: departments or ENTER for "root")'
$site = Get-SPSite $sitec
$web = $site.OpenWeb("$subsite")
write-host "Site: " + $site.id
write-host "Web: " + $web.id
$web.lists | Format-Table title,id -AutoSize
$web.Dispose()
$site.Dispose()

After doing this, I was able to open the link without error.

Gmail scripts – Mark Read During Business Hours

I quickly threw this together. The following script would mark all Gmail email coming in to be read if it’s Monday through Friday between the hours of 9am and 5pm. This is done at http://script.google.com with the API from https://developers.google.com/apps-script/reference/gmail/.

Don’t forget to click on Resources > Current Project’s Triggers and have it run once a minute!

function markReadDuringBusHours() {
    var currentDate = new Date();
    var currentDay = currentDate.getDay();
    var currentHour = currentDate.getHours();
    var threads = GmailApp.getInboxThreads();
    if (currentHour > 8 && currentHour < 18 && currentDay > 0 && currentDay < 6)
    {
        GmailApp.markThreadsRead(threads);
    }
}

“Getting the most out of SharePoint” email

Once a user completes the creation of their My Site, an email will be automatically sent that looks like this:

Get the Most Out of SharePoint

As you can see, you may not want this to be sent out or, at least, have the ability to customize it. Unfortunately, it’s baked into SharePoint so your only options are either to intercept the email via Exchange or to customize files that could be replaced on a service update, patches, whatever.

To customize, read this. Is this how I get the most out of SharePoint?

The file in question is located in: C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\Resources

And to get rid of the Let’s Get Social dialog box, click here.

Add ‘Sign in as Different User’ back to SharePoint 2013 Drop Down

1.  Navigate to the C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\CONTROLTEMPLATES\Welcome.ascx file and open it in a text editor

2.  Add the following snippet before this line <SharePoint:MenuItemTemplate runat=”server” id=”ID_RequestAccess”


<SharePoint:MenuItemTemplate runat="server" ID="ID_LoginAsDifferentUser"
Text="<%$Resources:wss,personalactions_loginasdifferentuser%>"
Description="<%$Resources:wss,personalactions_loginasdifferentuserdescription%>"
MenuGroupId="100"
Sequence="100"
UseShortId="true"
/>

3.  Save and reload in browser. You’ll get the “Working on it…” screen before the site loads.

SharePoint 2013 Installation

This is guide for installing SharePoint 2013 Enterprise using a compilation of various posts with the plan built off of Todd Klindt’s basic installation guide.

  1. Confirm Service Accounts. Here’s another suggestion that has more detail
    • Make sp_install a local administrator on all SharePoint servers
  2. Install SQL 2012 SP1
  3. Run Prereq installer to Install Prereqs
  4. Install forgotten prereqs
  5. Install SharePoint 2013
  6. Run “Start-Transcript” in SharePoint 2013 Management Shell so you can track all the commands you are executing
  7. Create Farm
  8. Install any CUs
  9.  Create managed accounts
  10. Create content web app
  11. Create mysite web app. Here’s another resource. And finally TechNet
    • How to get those user photos in there from AD. Make sure to read the comments as well
    • If you set up the User Profile Service now, profile data will have temporary issues until you setup other services.
  12. Create App Management Service. Here’s the TechNet info on Apps. Here’s some important info regarding allowing anonymous access to Apps.
  13. Add SharePoint web apps to Hosts file
  14. Create State Service
  15. Create Usage Service app (see previous link)
  16. Create Managed Metadata Service
  17. Create Search Service
  18. Run a full crawl to verify everything works
  19. Create User Profile Service app if you haven’t already
  20. Create other service applications as needed
  21. Gpupdate /force & reboot
  22. Run all Health Analyzer rules
  23. Don’t forget the Workflow Manager and this for non-SSL:
    • register-SPWorkFlowService -spsite “http://yourSite” -WorkflowHostUri “http://workflowHost:12291″ -AllowOAuthHttp
    • And don’t forget to run Workflow Manager on every server in your farm.
  24. Create the Business Data Connectivity Service Application. Make sure you’re running the “Business Data Connectivity Service” in Services on Server before you create the Service Application.
  25. Install PerformancePoint 
  26. Report Server. No content-types?