All posts in SharePoint 2016

While I was doing a SharePoint 2016 install at a customer, I got hit by the The tool was unable to install Web Server (IIS) Role error when trying to install the SharePoint 2016 prerequisites on a Windows Server 2016.

The tool was unable to install Web Server (IIS) Role

I know back in SharePoint 2013 this happened a lot, and there was a support article for it called The Products Preparation Tool in SharePoint Server 2013 may not progress past “Configuring Application Server Role, Web Server (IIS) Role”. This article gave us the following PowerShell cmdlets to run, that would basically install some of the features and roles that SharePoint Needs.

When trying to run this on Windows Server 2016, we get this error: Add-WindowsFeature : ArgumentNotValid: The role, role service, or feature name is not valid: ‘Application-Server,AS-Web-Support,AS-TCP-Port-Sharing,AS-WAS-Support,AS-HTTP-Activation,AS-TCP-Activation,AS-Named-Pipes,AS-Net-Framework’. The name was not found.

The tool was unable to install Web Server (IIS) Role

That is because the Application-Server role has actually been deprecated from Windows Server 2016. Some of its features have been added to the WAS role. The correct cmdlet you need to run for a Windows Server 2016 installation is :

And make sure to replace the D:\sources\sxs to the actual path of your sources file. The sources file is on your Windows Server 2016 installation media, and you need to specify it and have it mounted on your computer (or copied somewhere) for the prerequisite install to work properly! Everything should work properly afterwards to run the prerequisite installer! In theory, a reboot is not needed, but I always prefer to do one after activating that many features just in case!

5/5 (12)

Please rate this

Microsoft just published a new support article stating that you cannot use calculated fields to display HTML anymore. I know a lot of people were using this to for example show KPIs, or do some conditional formatting. This change was announced on June 13th 2017 and taking effect as of June 13th 2017 , so not giving companies a lot of time before things start breaking … however an Administrator can open a support ticket and extend this functionality until September 10th , when this will completely stop working.

For SharePoint On-Premises, Microsoft will include a new Web-Application level setting in SharePoint 2013/2016 starting in the July 2017 PU which will allow you to either enable or block this feature at the Web Application level. Here is the full announcement:

Calculated Fields

In Microsoft SharePoint lists and libraries, calculated fields that are running in the classic UI mode can be used to display results based on Excel-like formulas. This is a long standing capability, and is documented in Calculate data in lists or libraries.

Some users have added HTML markup or script elements to calculated fields. This is an undocumented use of the feature, and we will begin blocking execution of custom markup in calculated fields in SharePoint Online from June 13, 2017 onwards. We are also providing this as a configurable option for on-premises in SharePoint Server 2016 and SharePoint Server 2013 via the June 2017 and subsequent Public Updates.

More Information

SharePoint Online

We are changing calculated fields to escape special characters. In some circumstances, this mean that calculated fields that contain any unsupported markup will not display any value. Instead, they’ll be blank in the list view.

This change will take effect on June 13, 2017. Administrators can request an extension through September 10, 2017 at the latest. During this time, special characters will not be escaped in calculated fields. This request can be submitted through Microsoft Support. However, beginning September 10, 2017, all unsupported markup will be ignored.

SharePoint Server 2013 and SharePoint Server 2016

The June 2017 Public Update (PU), and subsequent PUs will include a new web application setting that’s called CustomMarkupInCalculatedFieldDisabled. This setting will enable an on-premises administrator to configure whether or not calculated fields in a given web application will escape special characters.

Here’s the default behavior for existing and new web applications at the time of the update installation.

Web app type Default setting
Newly created web app after the update is installed Escape special characters in calculated fields
Existing web app after the update is installed Don’t escape special characters in calculated fields

You can also view it on Microsoft Support Here: Handling HTML markup in SharePoint calculated fields. Does this change affect you or your users? How do you plan to go around it for those different needs? Will you be requesting an extension until September 10th?

Share the info the comments so we can all help each other and make sure to share this on Social Media so your colleagues will also be aware of the change!

Follow me on Social Media and Share this article with your friends!

Leave a comment and don’t forget to like the Absolute SharePoint Blog Page   on Facebook and to follow me on Twitter here  for the latest news and technical articles on SharePoint.  I am also a Pluralsight author, and you can view all the courses I created on my author page.
5/5 (4)

Please rate this

When creating a new Site Collection by PowerShell, we have the option to apply the Site Template Directly, however you must know the Template ID for that site. For example you will need to give PowerShell the #STS1 to create a team site.  Here is the SharePoint 2016 Site Template ID List for you to use in your own PowerShell scrips. This is really all the available templates, however some of them are obsolete (as marked in their description), so do not use them.

SharePoint 2016 Site Template ID

An example to create a Team site would be:

 

Template ID

Title

Description

ACCSRV#0 Access Services Site Microsoft Access Server
ACCSVC#0 Access Services Site Internal Microsoft Access Server Internal
ACCSVC#1 Access Services Site Microsoft Access Server
APP#0 App Template A base template for app development. It provides the minimal set of features needed for an app.
APPCATALOG#0 App Catalog Site A site for sharing apps for SharePoint and Office
BDR#0 Document Center A site to centrally manage documents in your enterprise
BICenterSite#0 Business Intelligence Center A site for presenting Business Intelligence content in SharePoint.
BLANKINTERNET#0 Publishing Site This template creates a site for publishing Web pages on a schedule, with workflow features enabled. By default, only Publishing subsites can be created under this site. A Document and Picture Library are included for storing Web publishing assets.
BLANKINTERNET#1 Press Releases Site This template creates the Press Releases subsite for an Internet-facing corporate presence website.
BLANKINTERNET#2 Publishing Site with Workflow A site for publishing Web pages on a schedule by using approval workflows. It includes document and image libraries for storing Web publishing assets. By default, only sites with this template can be created under this site.
BLANKINTERNETCONTAINER#0 Publishing Portal A starter site hierarchy for an Internet-facing site or a large intranet portal. This site can be customized easily with distinctive branding. It includes a home page, a sample press releases subsite, a Search Center, and a login page. Typically, this site has many more readers than contributors, and it is used to publish Web pages with approval workflows.
BLOG#0 Blog A site for a person or team to post ideas, observations, and expertise that site visitors can comment on.
CENTRALADMIN#0 Central Admin Site A site for central administration. It provides Web pages and links for application and operations management.
CMSPUBLISHING#0 Publishing Site A blank site for expanding your Web site and quickly publishing Web pages. Contributors can work on draft versions of pages and publish them to make them visible to readers. The site includes document and image libraries for storing Web publishing assets.
COMMUNITY#0 Community Site A place where community members discuss topics of common interest. Members can browse and discover relevant content by exploring categories, sorting discussions by popularity or by viewing only posts that have a best reply. Members gain reputation points by participating in the community, such as starting discussions and replying to them, liking posts and specifying best replies.
COMMUNITYPORTAL#0 Community Portal A site for discovering communities.
DEV#0 Developer Site A site for developers to build, test and publish apps for Office
EDISC#0 eDiscovery Center A site to manage the preservation, search, and export of content for legal matters and investigations.
EDISC#1 eDiscovery Case This template creates an eDiscovery case. Users create locations where they can preserve or export data.
ENTERWIKI#0 Enterprise Wiki A site for publishing knowledge that you capture and want to share across the enterprise. It provides an easy content editing experience in a single location for co-authoring content, discussions, and project management.
GLOBAL#0 Global template This template is used for initializing a new site.
GROUP#0 Group A site template used to create a Group.
MPS#0 Basic Meeting Workspace A site to plan, organize, and capture the results of a meeting. It provides lists for managing the agenda, meeting attendees, and documents.
MPS#1 Blank Meeting Workspace A blank meeting site for you to customize based on your requirements.
MPS#2 Decision Meeting Workspace A site for meetings that track status or make decisions. It provides lists for creating tasks, storing documents, and recording decisions.
MPS#3 Social Meeting Workspace A site to plan social occasions. It provides lists for tracking attendees, providing directions, and storing pictures of the event.
MPS#4 Multipage Meeting Workspace A site to plan, organize, and capture the results of a meeting. It provides lists for managing the agenda and meeting attendees in addition to two blank pages for you to customize based on your requirements.
OFFILE#0 (obsolete) Records Center (obsolete) This template creates a site designed for records management. Records managers can configure the routing table to direct incoming files to specific locations. The site also lets you manage whether records can be deleted or modified after they are added to the repository.
OFFILE#1 Records Center This template creates a site designed for records management. Records managers can configure the routing table to direct incoming files to specific locations. The site also lets you manage whether records can be deleted or modified after they are added to the repository.
OSRV#0 Shared Services Administration Site This template creates a site for administering shared services
POINTPUBLISHINGHUB#0 PointPublishing Hub A site template used to create a pointpublishing hub site.
POINTPUBLISHINGPERSONAL#0 PointPublishing Personal A site template used to create a pointpublishing personal site.
POINTPUBLISHINGTOPIC#0 PointPublishing Topic A site template used to create a pointpublishing topic site.
POLICYCTR#0 Compliance Policy Center
PPSMASite#0 PerformancePoint
PRODUCTCATALOG#0 Product Catalog A site for managing product catalog data which can be published to an internet-facing site through search. The product catalog can be configured to support product variants and multilingual product properties. The site includes admin pages for managing faceted navigation for products.
PROFILES#0 Profiles This template creates a profile site that includes page layout with zones
PROJECTSITE#0 Project Site A site for managing and collaborating on a project. This site template brings all status, communication, and artifacts relevant to the project into one place.
PWA#0 Project Web App Site Microsoft Project Web App
PWS#0 Microsoft Project Site A site that supports team collaboration on projects. This site includes documents, issues, risks, and deliverables which may be linked to tasks in Project Web App.
SGS#0 Group Work Site This template provides a groupware solution that enables teams to create, organize, and share information quickly and easily. It includes Group Calendar, Circulation, Phone-Call Memo, the Document Library and the other basic lists.
SPS#0 SharePoint Portal Server Site This template is obsolete.
SPSCOMMU#0 Community area template This template is obsolete.
SPSMSITE#0 Personalization Site A site used for hosting personal sites (My Sites) and the public People Profile page. This template needs to be provisioned only once per User Profile Service Application, please consult the documentation for details.
SPSMSITEHOST#0 My Site Host A site used for hosting personal sites (My Sites) and the public People Profile page. This template needs to be provisioned only once per User Profile Service Application, please consult the documentation for details.
SPSNEWS#0 News Site This template is obsolete.
SPSNHOME#0 News Site A site for publishing news articles and links to news articles. It includes a sample news page and an archive for storing older news items.
SPSPERS#0 SharePoint Portal Server Personal Space This web template defines a Personal Space for an individual participating on a SharePoint Portal.
SPSPERS#10 Storage And Social SharePoint Portal Server Personal Space This web template defines a minimal Personal Space with Storage, on-demand Social and Multilingual User Interface with document parser disabled at web level features for an individual participating on a SharePoint Portal.
SPSPERS#2 Storage And Social SharePoint Portal Server Personal Space This web template defines a minimal Personal Space with both Social and Storage features for an individual participating on a SharePoint Portal.
SPSPERS#3 Storage Only SharePoint Portal Server Personal Space This web template defines a minimal Personal Space with Storage features for an individual participating on a SharePoint Portal.
SPSPERS#4 Social Only SharePoint Portal Server Personal Space This web template defines a minimal Personal Space with Social features for an individual participating on a SharePoint Portal.
SPSPERS#5 Empty SharePoint Portal Server Personal Space This web template defines a empty Personal Space.
SPSPERS#6 Storage And Social SharePoint Portal Server Personal Space This web template defines a minimal Personal Space with Storage and on-demand Social features for an individual participating on a SharePoint Portal.
SPSPERS#7 Storage And Social SharePoint Portal Server Personal Space This web template defines a minimal Personal Space with Storage, Social and Multilingual User Interface features for an individual participating on a SharePoint Portal.
SPSPERS#8 Storage And Social SharePoint Portal Server Personal Space This web template defines a minimal Personal Space with Storage, on-demand Social and Multilingual User Interface features for an individual participating on a SharePoint Portal.
SPSPERS#9 Storage And Social SharePoint Portal Server Personal Space This web template defines a minimal Personal Space with Storage, on-demand Social with document parser disabled at web level features for an individual participating on a SharePoint Portal.
SPSPORTAL#0 Collaboration Portal A starter site hierarchy for an intranet divisional portal. It includes a home page, a News site, a Site Directory, a Document Center, and a Search Center with Tabs. Typically, this site has nearly as many contributors as readers and is used to host team sites.
SPSREPORTCENTER#0 Report Center A site for creating, managing, and delivering Web pages, dashboards, and key performance indicators that communicate metrics, goals, and business intelligence information.
SPSSITES#0 Site Directory A site for listing and categorizing important sites in your organization. It includes different views for categorized sites, top sites, and a site map.
SPSTOC#0 Contents area Template This template is obsolete.
SPSTOPIC#0 Topic area template This template is obsolete.
SRCHCEN#0 Enterprise Search Center A site focused on delivering an enterprise-wide search experience. Includes a welcome page with a search box that connects users to four search results page experiences: one for general searches, one for people searches, one for conversation searches, and one for video searches. You can add and customize new results pages to focus on other types of search queries.
SRCHCENTERLITE#0 Basic Search Center A site focused on delivering a basic search experience. Includes a welcome page with a search box that connects users to a search results page, and an advanced search page. This Search Center will not appear in navigation.
SRCHCENTERLITE#1 Basic Search Center The Search Center template creates pages dedicated to search. The main welcome page features a simple search box in the center of the page. The template includes a search results and an advanced search page. This Search Center will not appear in navigation.
STS#0 Team Site A place to work together with a group of people.
STS#1 Blank Site A blank site for you to customize based on your requirements.
STS#2 Document Workspace A site for colleagues to work together on a document. It provides a document library for storing the primary document and supporting files, a tasks list for assigning to-do items, and a links list for resources related to the document.
TBH#0 In-Place Hold Policy Center A site to manage policies to preserve content for a fixed period of time.
TENANTADMIN#0 Tenant Admin Site A site for tenant administration. It provides Web pages and links for self-serve administration.
visprus#0 Visio Process Repository A site for viewing, sharing, and storing Visio process diagrams. It includes a versioned document library and templates for Basic Flowcharts, Cross-functional Flowcharts, and BPMN diagrams.
WIKI#0 Wiki Site A site for a community to brainstorm and share ideas. It provides Web pages that can be quickly edited to record information and then linked together through keywords
5/5 (3)

Please rate this

Service Accounts are a very big part of installing every version of SharePoint, however everyone has a different way of setting them up. And once you install your SharePoint with a set of service accounts, it’s not always easy to change them. Let’s take a look at the SharePoint 2016 Service Accounts that I reccomend.

SharePoint 2016 Service Accounts

Every SharePoint administrator you ask, will have a different opinion on how many service accounts you need and whether you should have dedicated service accounts for some Service Applications or certain administration tasks. Even if all SharePoint Administrators have different opinions, it doesn’t mean some are wrong and some are right, there is no real “golden” solution that will be good for every SharePoint farm out there. From my experience with SharePoint, here are the Service Accounts that I recommend for your SharePoint 2016 implementation.

SharePoint 2016 Service Accounts

The following Service Accounts can be named according to your companies naming convention. Local Security Policies only need to be configured if you have Group Policies that will take those away.

Account

Description

Local / Application Permissions

Local Security Policy

SP_Admin

This account will be used to Install and configure the SharePoint farm initially. After the initial setup, you can grant the farm administrator rights to your SharePoint Administrators account so they can log in and manage SharePoint with their own account.

  • Domain User
  • Local Administrator on the SharePoint Servers
  • Member of the following SQL Roles
    • DB Creator
    • Security Admin
Back up files and directories

Debug Programs

Manage auditing and Security log

Restore files and directories

Take ownership of files or other objects

SP_Farm

Runs the SharePoint Timer and Administration Service

  • Domain User
  • Member of the following SQL Roles
    • DB Creator
    • Security Admin

Allow log on locally

Adjust memory quotas for a process

Impersonate a client after authentication

Log on as a batch job

Log on as a service

Replace a process level token

SP_Services

Runs the Application Pool for most of your Service Applications. There are some service applications that require more rights and a dedicated Service Account is recommended. We’re converting those a bit lower in this blog post!

  • Domain User

Adjust memory quotas for a process

Log on as a batch job

Log on as a service

Replace a process level token

Impersonate a client after authentication

SP_Pool

Runs the Application Pool for your Web Applications.

  • Domain User

Impersonate a client after authentication

Log on as a batch job

Lon as a service

SP_Crawl

The Default Content Access Account for the Search Service Application. This account is sued to crawl the content of your SharePoint Web Applications.

  • Domain User
  • This account needs to have Read Access on all your Web Applications (given automatically)
SP_Sync

Used to synchronize profiles between AD and SharePoint Server 2016

  • Domain User
  • Needs to have “Replicate Directory Changes” in the Active Directory >> Tutorial here
SP_C2WTS

Used to run the Claims to Windows Token

Service

  • Domain User
  • Local Administrator on all SharePoint Servers running the C2WTS service

Act as part of the operating system

Impersonate a client after authentication

Log on as a service

SP_SU

Object cache account (Super User). Must not be an account that will ever be used to log in to the site.

  • Domain User
  • Full Control on your Web Applications
SP_SR

Object cache account (Super Reader). Must not be an account that will ever be used to log in to the site.

  • Domain User
  • Full Read on your Web Applicationss

SQL Service Accounts

The following Service Accounts are recommended for your dedicated SQL Server hosting SharePoint databases and can be named according to your companies naming convention. Local Security Policies only need to be configured if you have Group Policies that will take those away.

Account

Description

Local / Application Permissions

Local Security Policy

SP_SQLAdmin

This account will be used to Install and configure the SQL Server initially. After the initial setup, you can grant the SQL Admin rights to your SQL Administrators account so they can log in and manage SQL with their own account.

  • Domain User
  • Local Administrator on the SQL Server
Back up files and directories

Debug Programs

Manage auditing and Security log

Restore files and directories

Take ownership of files or other objects

SP_SQLEngine

This account will run the Database Engine service

  • Domain User
Log on as a service

Replace a process-level token

Bypass traverse checking

Adjust memory quotas for a process

Perform Volume Maintenance Tasks (Only If you want to enable Instant File Initialization)

SP_SQLAgent

This account will run the SQL Server Agent Service

  • Domain User
Log on as a service

Replace a process-level token

Bypass traverse checking

Adjust memory quotas for a process

Other Accounts Depending on your Scenario

Depending on what features you plan to use in your SharePoint 2016 implementation, here are some other Service Accounts that I recommend:

Account

Description

Local / Application Permissions

Local Security Policy

SP_WFM

This account would be used as the RunAs account for the Workflow Manager and Service Bus Farms. If you want, you could create a dedicated account for each.

  • Domain User
  • Local Administrator on the WFM Servers
  • Full Control to the Web Applications where Workflow Manager will be used

Impersonate a client after authentication

Log on as a service

Log on as a batch job

SP_Access

This account would be used to run the Service Application Pool for the Access Apps for SharePoint Service Application. The reason of a dedicated service account is that this account requires special permissions in SQL as well as special settings on the Access App Services Service Application

  • Domain User
  • Member of the following SQL Roles
    • DB Creator
    • Security Admin
  • Read/Write permission to the config cache folder located at C:\ProgramData\Microsoft\SharePoint\Config
  • The IIS Application Pool running the Access App Services Service Application needs to have “Load User Profile” at True. Navigate to the IIS Application Pools , and from Advanced Settings, change “Load User Profile” to True.

Adjust memory quotas for a process

Log on as a batch job

Log on as a service

Replace a process level token

Impersonate a client after authentication

SP_PowerPivot

The PowerPivot unattended data refresh account is a designated account for running PowerPivot data refresh jobs in a SharePoint farm.

  • Domain User
  • Read permissions to external data sources

General Recommendations for SharePoint 2016 Service Accounts

Whatever accounts you choose, here are some recommendations that you need to follow for your SharePoint 2016 service accounts.

First of all, the length of your Service Accounts Username should be less than 20 (including domain name). This is due to the SAM-Account-Name attribute (also known as the pre–Windows 2000 user logon name) which is limited to 20 characters in the AD Schema. For example, CORP\SP16Prod_SuperReader is 25 characters and would be too long.

My second recommendation is to use different service accounts for each environment. For example, your production might have a SP_Services, while your QA account would be SPQ_Services. This makes sure that nothing in a farm can affect the other one, and if you ever want to test for example changing the password of the managed account, or giving the password of the QA account to someone else, you will not compromise the security and stability of your production SharePoint farm.

Follow me on Social Media and Share this article with your friends!

Leave a comment and don’t forget to like the Absolute SharePoint Blog Page   on Facebook and to follow me on Twitter here  for the latest news and technical articles on SharePoint.  I am also a Pluralsight author, and you can view all the courses I created on my author page.
4.88/5 (41)

Please rate this

The Machine Translation Services Service Application is a Service Application that allows users and developers to translate not only sites, but their content as well to other languages. The Machine Translation Services is interacted through APIs, and the users do not have a “Translate Document” button, unless of course, their developers created a custom action for them.

Test the Machine Translation Service Application with PowerShell

As a SharePoint IT Professional, I don’t want to write code simply to test a Service Application. Luckily, PowerShell is there for us! By using PowerShell, we can convert a document from Word to PDF, and test that this service application is working properly!

To test the Machine Translation Service Application works properly, you can run a PowerShell script that uses CSOM to call the required functions. We have created the sample script below.

We first have to get the URL of the site where the document is stored, as well as get the username and password of the user who will request the translation.

We then need to get the current document location in the $input variable, and the new document location in the $output variable

Next up, we connect to our site using CSOM, and start the translation job.

If we put it all together it looks like this:

If it finishes sucesfully and you see your  new document, you know what your Machine Translation Service Application works, and you can now let your developers create custom solutions to take benefit from this Service Application.

 

Did you find this article useful?

If yes, you will love Deploying SharePoint 2016: Best Practices for Installing, Configuring, and Maintaining SharePoint Server 2016 written by myself, and SharePoint Server MVP Trevor Seward! Get it now at the links below!
4.7/5 (10)

Please rate this

The Word Automation Services Service Application is a Service Application that automatically converts documents supported by the Word client application into formats such as PDF and XPS. In a simpler way to explain it, the Word Automation Services takes the “Save As” functionality of the Word client, and replicates the functionality on SharePoint.

However, the Word Automation Service Application, does not have a user interface to test that it was configured properly. The only way to actually Test the Word Automation Service Application is trough code, which as a SharePoint IT Professional, I don’t want to write code simply to test a Service Application. Luckily, PowerShell is there for us! By using PowerShell, we can convert a document from Word to PDF, and test that this service application is working properly!

We will first load the assembly required to call Word Automation Services functions.

We then create new Object of type ConversionJobSettings specifying the Output format is PDF.

We then create a new object of type ConversionJob and give it our Service Application Proxy Name, in our case Word Automation, as well as the $jobsettings object. We then set the $Job.Usertoken to the SharePoint SPWeb where the document is stored.

 

Lastly, we add the properties for the file that we want converted. We give it the URL to the Word Document, as well as the URL to the future PDF document, which does not exist yet. We then Start the Job.

The Word Automation Services job runs asynchronous, meaning that we won’t know when it will run directly from PowerShell, however we can force the job to run right away by starting the Word Automation timer job.

If we put it all together, the script looks like this:

 

To see the status of the job, run the following PowerShell cmdlet where “Word Automation” is the name of your Word Automation Services Application.

Initially it will show as InProgress since we force started the Timer Job as seen in the screenshot below.

Test the Word Automation Service Application

Once the job is completed, it will either show as Succeeded or Failed. If everything was configured correctly, it should show as Succeeded as seen in the screenshot below, and you should see your PDF document in your document library.

Test the Word Automation Service Application

Did you find this article useful?

If yes, you will love Deploying SharePoint 2016: Best Practices for Installing, Configuring, and Maintaining SharePoint Server 2016 written by myself, and SharePoint Server MVP Trevor Seward! Get it now at the links below!

Follow me on Social Media and Share this article with your friends!


Leave a comment and don’t forget to like the Absolute SharePoint Blog Page   on Facebook and to follow me on Twitter here  for the latest news and technical articles on SharePoint.  I am also a Pluralsight author, and you can view all the courses I created on my author page.
5/5 (1)

Please rate this

One of the new features included in SharePoint Server 2016, and also available with SharePoint 2013 as long as you have the required PU, is the Cloud Hybrid Search. The Cloud Hybrid Search has many advantages, especially for end users and if you don’t know what it’s about, check out my overview I did on CMSWire.

The Instructions on how to setup the Cloud Hybrid Search, enabled by the Cloud Search Service Applications do show you how to configure everything so you can search both On-Premises content as well as SharePoint Online content from the SharePoint Online Admin Center. What they don’t include is how to enable your On-Premises Search Center to also see those results. Since the index is fully in the cloud, as soon as you enable the Cloud Search Service Application, your On-Premises search boxes and Search Center will start returning absolutely nothing.

Cloud Search Service Application On-Premises

That is because, the default Result Source of your Search Service Application is looking for items in the On-Premises Search Index, which is empty since everything is shipped to Office 365. What we will need to do in order to get this fixed, is configure a result source that uses Hybrid Federated Outbound Search to Office 365, and get the results from that Search Index. Luckily, if you didn’t have Server-to-Server trust already setup before configuring the Cloud Hybrid Search, the On-Boarding process has already configured that for you, so you don’t have anything else to do except the steps in this blog. So navigate your Central Administration, and then to the administration page of your Cloud Search Service Application.

Cloud Search Service Application On-Premises

From there, go to Result Sources, and create a new Result Source. Enter a good name and description, so everyone else in your organization knows what this Result Source does, and in the Protocol, select “Remote SharePoint”. In the Remote Service URL, enter your main SharePoint Online site collection which is always https://companyname.sharepoint.com. You can easily find this from your SharePoint Online Administration Center.

Cloud Search Service Application On-Premises

In the Type, select SharePoint Search Results, and in the Query Transform, you can customize the Query according to your business needs. In the Credentials Information section, select “Default Authentication”

Cloud Search Service Application On-Premises

Click Save, and return to the Result Sources page. From the Result Sources Page, select the dropdown near the Result Source you just created and then select “Set as Default”

Cloud Search Service Application On-Premises

Simply go do a search from your Document Library Search Boxes or from the Search Center, and you will start seeing Search Results again!

Cloud Search Service Application On-Premises

Cloud Search Service Application On-Premises

If you want to learn more about SharePoint Hybrid and the Cloud Hybrid Search, check out my Pluralsight course on Implementing a Hybrid SharePoint 2013/2016 Infrastructure by clicking the small banner below!

4.65/5 (17)

Please rate this

I am extremely happy to announce that my fourth Pluralsight course has been released this weekend, and this one is on a subject that is quite popular these days: SharePoint Hybrid!

Hybrid SharePoint Infrastructure

As more and more organizations want to deploy a hybrid SharePoint environment to benefit from the advantages of both SharePoint on-premises and SharePoint Online, IT professionals need to learn how to implement and configure SharePoint in hybrid mode. In this course, Implementing a Hybrid SharePoint 2013/2016 Infrastructure, you’ll gain the ability to configure a hybrid SharePoint infrastructure from A to Z. First, you will learn how to configure server-to-server authentication between SharePoint on-premises and SharePoint Online so they can securely exchange information. Next, you’ll learn how to enable inbound connectivity to allow Office 365 to connect to your SharePoint on-premises for certain features. Finally, you’ll learn how to implement all the hybrid features that SharePoint has to offer such as hybrid sites, hybrid OneDrive for Business, hybrid BCS, and hybrid cloud and federated search. When you’re finished with this course, you will have the skills and knowledge needed to configure a hybrid SharePoint infrastructure for your organizations and/or clients. This course also covers the hybrid portion of the 70-339 exam, so listening to it will definitely be useful if you want to get your SharePoint MCSE Certification!

Hybrid SharePoint Infrastructure

You can find the course on Pluralsight at http://spvlad.com/SharePointHybrid or by clicking on the banner below!

Hybrid SharePoint Infrastructure

If you don’t have a Pluralsight Subscription, check out how to get a free 3 months on my blog post over here: https://absolute-sharepoint.com/2015/12/free-pluralsight-6-month-subscription.html ! If you enjoy the course and you learned a lot, you can share it on social media by directly retweeting the tweet below!

Follow me on Social Media and Share this article with your friends!

Leave a comment and don’t forget to like the Absolute SharePoint Blog Page   on Facebook and to follow me on Twitter here  for the latest news and technical articles on SharePoint.  I am also a Pluralsight author, and you can view all the courses I created on my author page.
4.5/5 (18)

Please rate this

After a popular session at Collab365 Conference last week where Microsoft Learning talked about the SharePoint 2016 exams, they finally released the information on their site as well. The exam number is 70-339 and is called Managing Microsoft SharePoint Server 2016. According to the Collab365 Conference session, the 70-339 exam will be the only SharePoint exam required for the SharePoint 2016 MCSE certification. The date on the Microsoft learning site for the exam release is June 20th, so in a bit more than a month.

SharePoint 2016 MCSE

The 70-339 exam will test you on the following topics:

  • Design SharePoint infrastructure (15–20%)
  • Plan authentication and security (15–20%)
  • Plan workload optimization (15–20%)
  • Plan productivity solutions (15–20%)
  • Manage search capabilities (10–15%)
  • Plan and configure cloud services (5–10%)
  • Monitor and optimize a SharePoint environment (10–15%)

The path for the SharePoint 2016 MCSE is not yet released, but if we look at the MCSE: Messaging (Exchange 2016) exam path, the path for the SharePoint 2016 MCSE would be the following:

  • 70-346 (Managing Office 365 Identities and Requirements)
  • 70-347 (Enabling Office 365 Services)

After successfully completing steps 1 and 2, you’ll earn a Microsoft Certified Solutions Associate (MCSA): Office 365 certification.

  • 70-339 (Managing Microsoft SharePoint Server 2016 (in development))

To view more information about the exam from the Microsoft Learning site, check out the exam here: https://www.microsoft.com/en-us/learning/exam-70-339.aspx .

Opinions on 70-339 (Managing Microsoft SharePoint Server 2016)

I know the exam is still under development and the description might change, but as I am reading the exam objectives, there are a lot of strange descriptions. Let’s look at the Exam Objectives in detail. Those are my personal opinions and the bullets will start with “Vlad: “. Feel free to give me your opinions on the exam , or on my opinions in the comments.

Design SharePoint infrastructure (15–20%)

  • Design information architecture
    • Design an inter-site navigational taxonomy; design site columns and content types; design keywords, synonyms, promoted results, managed properties, durable links, and document library accessibility; plan information management policies; plan compliance features, such as document fingerprinting and item-level encryption; plan search for sensitive and non-sensitive content; plan managed site structures; plan term sets; plan for support of Open Document Format (ODF); plan mobile navigation
      • Vlad: Glad to see that planning the Sensitive and non-sensitive information, especially that DLP is only mapped per site collection, so that certainly makes sense. Durable Links is also mentioned, although I don’t see what you can plan for it, except use it or not use it. Also, I never heard about document fingerprinting and Item-level encryption in SharePoint before. Something I will have to read more on.
  • Design a logical architecture
    • Plan application pools; plan web applications; plan for software boundaries; plan content databases; plan host-header site collections; plan Fast Site Collection creation; plan zones and alternate access mapping
  • Design a physical architecture
    • Design a server farm topology (traditional, streamlined, hybrid) by using MinRole (user roles, robot services roles, cache services roles); design Central Administration deployment; design a storage architecture, including ReFS; configure basic request management; define individual server requirements; define service topologies; plan server load balancing; plan a network infrastructure; plan for large file support; plan an app hosting model
      • Vlad: The first phrase confuses me; how can I plan a traditional topology by using MinRole? It should read (Traditional, streamlined, MinRole), and then it should maybe have talked about On-Premises and Hybrid.
  • Plan an installation
    • Identify and configure installation prerequisites, implement scripted deployment, plan Access Services deployment, plan Project Server installation, implement patch slipstreaming, plan and install language packs, plan and configure service connection points, plan installation tracking and auditing, plan and install Office Online Server, implement managed paths for Office 365 migrations, configure SharePoint hybrid cloud settings
      • Vlad: Not sure what “Managed Paths for Office 365 Migrations” is. Should we only use the two Office 365 Managed Paths (/sites, /teams) On-Premises as well? Also, what can we track and audit in the install?
  • Plan a hybrid cloud environment
    • Plan for deployment of Office Online; configure server-to-server authentication; configure OAuth; configure Audiences and hybrid features, to include Search, OneDrive for Business, Team Sites, extensible App Launcher, and hybrid picker tools
      • Vlad: Why is Office Online in the Hybrid cloud? Already that Microsoft confused a lot of clients because Office Online Server, is on-premises, but clients think that it’s in Office 365 only. By putting it in the “Hybrid Cloud” category, it will confuse people even more.

Plan authentication and security (15–20%)

  • Plan and configure authentication
    • Plan and configure Windows authentication, plan and configure anonymous authentication, plan connection encryption (TLS, SMTP), plan and configure identity federation, configure claims providers, configure site-to-site (S2S) intra-server and OAuth authentication, configure connections to Access Control Service, configure authentication for hybrid cloud deployment
  • Plan and configure authorization
    • Plan and configure SharePoint users and groups, plan and configure People Picker, plan and configure sharing (hints, one-click, create and share), plan and configure permission inheritance, plan and configure anonymous access, plan web application policies
      • Vlad: One Click Share is a permission nightmare.
  • Plan and configure platform and farm security
    • Plan and configure security isolation, services lockdown, and antivirus settings; plan and configure certificate management; plan for Kerberos support for service applications; plan and configure information rights management (IRM), delegated farm administration, and delegated service application administration; plan and configure managed accounts; plan and configure blocked file types; plan and configure web part security, including WOPI support
  • Create and configure a User Profile Service (UPA) application
    • Configure a UPA application, configure social permissions, plan and configure sync connections of MIM 2016 synchronization, configure profile properties, configure claims integration with UPA
  • Manage site and site collection security
    • Manage site access requests, manage App permissions, manage anonymous access, manage permission inheritance, configure permission levels, configure HTML field security
  • Provision and configure web applications
    • Create managed paths, configure Alternate Access Mappings (AAM), configure SharePoint Designer settings

Plan workload optimization (15–20%)

  • Create and maintain site collections
    • Provision Fast Site Collection Creation, configure Host header site collections, configure self-service site creation, maintain site owners, maintain site quotas, configure site policies, configure a team mailbox, plan Sites Page Pinning
  • Plan SharePoint high availability and disaster recovery solutions
    • Plan for service distribution, plan for service instance configuration, plan for physical server distribution, plan for network redundancy, plan for server load balancing, plan for SQL Server aliases, plan for SQL Server clustering, plan for SQL Server AlwaysOn Availability Groups, plan for SQL Server Log Shipping, plan for storage redundancy, plan for login replication
  • Plan backup and restore
    • Establish a SharePoint backup schedule, establish a SQL Server backup schedule, plan a non-production environment content refresh, plan for farm configuration recovery, plan for service application recovery, plan for content recovery, configure a recovery solution using SQL Database running in Azure and other Azure backup solutions
      • Vlad: Happy to see Azure here for DR, but wonder what the “Other Azure Backup solutions” are.
  • Plan and configure social workloads
    • Plan communities, plan My Sites, plan OneDrive redirection, plan social permissions, plan user profiles, plan activity feeds, plan connections, configure Yammer settings
      • Vlad: OneDrive redirection and Yammer should be in Hybrid, not here.
  • Plan and configure a Web Content Management (WCM) workload
    • Plan and configure channels, plan and configure product catalog and topic pages, plan and configure Design Manager, plan and configure content deployment, plan and configure display templates, plan and configure variations
  • Plan and configure an Enterprise Content Management (ECM) workload
    • Plan and configure E-Discovery; plan and configure document routing; plan and configure co-authoring; plan and configure durable links; plan and configure record disposition and retention; plan large document repositories; plan and configure software boundaries; plan and configure Data Loss Prevention, In-Place Holds, and Document Deletion features
      • Vlad: How can we configure Software boundaries J ? Also there is nothing to configure with Durable Links… everything is done when connecting Office Online Server to SharePoint.

Plan productivity solutions (15–20%)

  • Evaluate content and customizations
    • Perform migration pre-check tasks, analyze content database test results, configure web application authentication for upgrade, resolve orphan objects, resolve missing file system components, resolve configuration conflict issues
  • Plan an upgrade process
    • Plan removal of servers in rotation, configure a parallel upgrade, configure read-only access for content, configure upgrade farms, measure upgrade performance, plan an installation sequence, plan and migrate SharePoint on-premises to SharePoint Online or a hybrid topology
      • Vlad: Plan Remove of servers in rotation, I hope it’s from the NLB and not the farm. Wonder what they will cover in the migrating to SharePoint Online… how to use a third party? The FastTrack isn’t anything technical, so doubt it will be covered, and the PowerShell cmdlets are still very basic.
  • Create and configure app management
    • Create and configure the App Store, create and configure subscriptions, configure marketplace connections, configure DNS entries, configure wildcard certificates
      • Vlad: Aren’t those Add-ins now J?
  • Create and configure productivity services
    • Create and configure Office Online Server, Microsoft Access services, Microsoft Visio services, Microsoft Word Automation services, Microsoft PowerPoint Conversion services, and Translation Services; configure hybrid OneDrive for Business with Profile Redirection and Extensible App Launcher; plan and install Office Online Server, SharePoint Insights, and SharePoint Server Telemetry features
      • Vlad: Office online Server again, didn’t we already plan and configure for it 3x? J. Also, a lot of Hybrid here again… and Office Online Server in the middle of hybrid features, even if it has nothing to do with Hybrid. SharePoint Insights isn’t even yet released in beta, so hopefully no questions on it at launch and… “SharePoint Server Telemetry features”. That’s something I never heard off before, so maybe this is a leak of an upcoming feature in the first Feature Pack? Who knows… but hopefully they won’t test on it June 20th.
  • Create and configure a Business Connectivity Service (BCS) and Secure Store application
    • Import and configure BCS models, configure BCS model security, configure BCS for search, generate a Secure Store master key, manage Secure Store target application permissions, create Secure Store target applications, configure hybrid BCS
      • Vlad: Hybrid BCS is a different beast than BCS… wonder why this is here and not in the hybrid section.
  • Manage SharePoint solutions and applications
    • Manage sandbox solution quotas, configure sandbox solution management, deploy farm solutions, upgrade farm solutions, deploy Apps, upgrade Apps

Manage search capabilities (10–15%)

  • Create and configure Enterprise search
    • Plan and configure a search topology, plan and configure content sources, plan and configure crawl schedules, plan and configure crawl rules, plan and configure crawl performance, plan and configure security trimming, choose and configure hybrid search
  • Create and configure a Managed Metadata Service (MMS) application
    • Configure proxy settings for managed service applications, configure content type hub settings, configure sharing term sets, plan and configure content type propagation schedules, configure custom properties, configure term store permissions, configure managed metadata service (MMS) imports
  • Manage search
    • Manage result sources; manage query rules; manage display templates; manage Search Engine Optimization (SEO) settings; manage result types; manage a search schema; manage federated search, including integration with Delve and Office Graph
      • Vlad: Delve + Office Graph don’t work with Federated Search. Hope they mean Cloud Hybrid Search.
  • Manage taxonomy
    • Manage site collection term set access, manage term set navigation, manage topic catalog pages, configure custom properties, configure search refinement, configure list refinement
  • Plan and configure a search workload
    • Plan and configure search result relevancy, plan and configure index freshness, plan and configure result sources, plan and configure the end-user experience, plan and configure a search schema, analyze search analytics reports

Plan and configure cloud services (5–10%)

  • Plan and configure a BI infrastructure
    • Plan and configure Performance Point, plan and configure reporting services, plan and configure PowerPivot, plan and configure Excel Services (Office Online only), plan and configure PowerView, plan and configure BI security
      • Vlad: Again a comment about Office Online + BI being in Hybrid. Why is BI in the Cloud Services Category, when Office Online Server has NOTHING to do with Office 365? Again more confusion to make clients think that Office Online Server is not on-premises.
  • Create and configure work management
    • Configure a connection to Exchange, activate and configure a connection to Microsoft Project Server 2016, manage trusts, plan Exchange configuration for E-Discovery
      • Vlad: Why is this in the Cloud Services section? Project Server 2016 is on Premises, as well as Exchange 2016.
  • Plan and configure cloud and federated hybrid search
    • Plan and configure on-premises and Office 365 search and encrypted metadata when content is transferred to the search index in Office 365, configure user specific queries and inbound/outbound or bi-directional hybrid topologies

Monitor and optimize a SharePoint environment (10–15%)

  • Monitor a SharePoint environment
    • Define monitoring requirements, configure performance counter capture, configure page performance monitoring, configure usage and health providers, monitor and forecast storage needs, monitor SharePoint hybrid cloud deployments
  • Tune and optimize a SharePoint environment
    • Plan and configure SQL optimization, execute database maintenance rules, plan for capacity software boundaries, estimate storage requirements, plan and configure caching and a caching strategy, tune network performance, plan and configure Zero Downtime Patching
      • Vlad: You can’t really configure Zero Down Time Patching (ZDT). You can plan for it, you can plan your upgrade sequence, but there is nothing to configure for ZDT.
  • Troubleshoot a SharePoint environment
    • Establish baseline performance, perform client-side tracing, perform server-side tracing, analyze usage data, enable a developer dashboard, analyze diagnostic logs, troubleshoot SharePoint hybrid cloud issues

What do you think about the exam contents? Anything missing, anything that shouldn’t be there? Should this have been two different exams? One for On-Prem and one for Hybrid? Let me know in the comments!

Follow me on Social Media and Share this article with your friends!


Leave a comment and don’t forget to like the Absolute SharePoint Blog Page   on Facebook and to follow me on Twitter here  for the latest news and technical articles on SharePoint.  I am also a Pluralsight author, and you can view all the courses I created on my author page.
4.77/5 (13)

Please rate this

A few weeks ago, I started playing with Hybrid SharePoint Server 2016 scenarios, to see if there are any differences with SharePoint 2013. As I am mostly an IT Pro, usually I never did the OData Source myself, but had a developer set that up for me. This time, I was in my lab, and I was both the DEV and the SharePoint Admin that had to do the IT part. (Talk about DevOps). That and the fact that I had quite a lot of problems with getting it to work with Entity Framework 6, I decided to do a blog post for all the SharePoint Admins and Developers out there that want to create a SharePoint 2016 External Content Type with an OData Source.

This blog will really be a step by step that everyone could follow, so if you are a more experienced dev, you can probably skip most of the screenshots, but I am sure that if you’re an IT Pro and first time doing this, you will find it valuable.

Intro

Our Goal for this blog post is to get the following table, in SharePoint Server 2016. The Hybrid configuration will be done in another blog post, for this one, we simply want to make it work in SharePoint 2016 On-Premises.

You will need to have access to a SharePoint Development machine with Visual Studio, as well as a IIS server where you can deploy your WebService at after (This can be done on the SharePoint Server).

Note, and this one is especially for people (like me) who will simply do this for testing. You need to have a Primary Key in your table for this to work. Without a Primary Key, you will get strange errors. For production, I hope this will not be a problem, but if you create a quick Database for testing, make sure your table has a PK defined.

Creating the OData Source

Create a new Project of type ASP.NET Web Application and name it as you wish. (For this scenario, we disabled the checkbox for Application Insights , since we don’t want to use /configure it).

Creating a SharePoint 2016 External Content Type trough OData in VS 2015 with EF6

In the next page, select Empty, since we want an Empty Web Application where we will add our own stuff.

Creating a SharePoint 2016 External Content Type trough OData in VS 2015 with EF6

Now, we will need to start adding items in this Project, so right click on the project name, Add, and Add New Item.

Select ADO.Net Entity Data Model under the Data tab, and give it a proper name such as “ContosoModel”

In the Entity Data Model Wizard, choose EF Designer from Database.

Creating a SharePoint 2016 External Content Type trough OData in VS 2015 with EF6

On the “Choose your Data Connection” page, click on “New Connection”

Enter the Connection Information for your business needs. If you use Windows Authentication, it will use the account that the Application Pool you run your Web Services Site runs it to access the Database. (Once deployed). There are multiple other ways to configure it depending on your business needs, but for this demo, we will use Windows Authentication.

Creating a SharePoint 2016 External Content Type trough OData in VS 2015 with EF6

After you configure it, click on Test Connection to make sure that everything is configured correctly.

Back to the “Choose Your Data Connection” Page, you will have your connection selected, and you can optionally change the connection setting in the Web Config.

Creating a SharePoint 2016 External Content Type trough OData in VS 2015 with EF6

Choose Entity Framework 6.x so we use the latest version available for our project.

On the next page, choose all the tables that you want included in the OData Service and give a good name to your Model Namespace.

If everything worked correctly, you will see a next page, with the columns of your table(s) in a designer. If you don’t, check out the error log at the bottom of your Visual Studio

After this is done, we need to add another item to our Project!

Creating a SharePoint 2016 External Content Type trough OData in VS 2015 with EF6

This one is the WCF Data Service, which should be under the Web Tab. Make sure to give it a proper name.

A page will appear, mostly Pre-populated

And here is where it gets a bit tricky. The first thing we have to do is replace the “public
class
WcfDataService1 : DataService< /* TODO: put your data source class name here */ >

Where we will have to replace it with DataService<
ContosoEntities> . (The connection string we created in Web.Config when creating our connection earlier). However, this will fail. The reason is that, Visual Studio wrongly defaults to using “DataService”, when this will not work with Entity Framework 6. We will need to make some changes!

In the Top Bar, under Tools > NuGet Package Manager, open the Package Manager Console

In the Console, run the following command to get the Entity Framework Provider Package “Install-Package Microsoft.OData.EntityFrameworkProvider –Pre”. It should successfully install as seen in the following screenshot.

At the top of your file, add the “using System.Data.Services.Providers;line to load the proper classes.

A bit lower in the file, change the DataService<ConnectionStringName> to EntityFrameworkDataService<ContosoEntities> (Where ContosoEntities, is the connection string name you defined earlier in this blog post)

Lower again, in this example, I used the “UserVerboseErros = true”, for debugging, but you can delete that line for production. More important, make sure to do a config.SetEntityAccesRules(“TableName”) EntitySetRights.(rights); . In my case, I gave them AllRead.

The Project is now ready, so I created a IIS Site called WebServices, as well as an Application called Contoso.

From Visual Studio, Click on “Publish ProjectName”

From now on, the procedure might vary depending on where you’re publishing your project to. The screenshots I will put here are for deploying on localhost. On the First Page, select “Custom”

Enter a Profile Name for this custom Profile

Enter the Server where you wish to deploy it (in my case localhost) and the Site name in format IISSiteName\ApplicationName

Also enter what the destination name will be, depending on the bindings you use on your IIS Site. Once you click on Validate Connection, you should see a green checkbox that appears near the button.

In the Database, select the available Connection String.

On the next page, you will see the items that will be deployed, and since it’s a new deployment we will see a bunch of them. Simply click on Publish and it should only take a few seconds.

If Everything works correctly, You should be able to navigate to the URL where you deployed your webservice /Servicename.svc and see something similar to this. An XML with your tables inside!

Next step, is to go to webservice/servicename.svc/TableName?TOP10 (Tablename IS Case Sensitive!) For example. https://webservices.learn-sp2016.com:55124/Contoso/Contoso.svc/CUSTOMERS?top10 . The result will depend on the browser. On IE you will see a RSS Feed Screen, with as you see, 6 results, but we can’t see the results.

On Chrome, you will see an XML, and if you look closely, you will actually see the customer data in there!

Cool , so our OData Service works, and is able to show data from the SQL Database in the Browser. You can now close that Visual Studio solution, and start a new one! This time, is of type “SharePoint Add-in”. And don’t worry, we will not actually deploy it, so you don’t need to have Add-ins Configured for this to work. You will however need a Dev Site Collection!

Enter the URL of your Dev Debugging Site, and then SharePoint-Hosted.

For the API version, I will select SharePoint 2016, since that’s where I want to deploy this Add-in

We will now need to add a New Item, Content Type for an External Data Source. And strangely, this is not in the “New Item” pop up as before, but directly on the Add!

For the OData Service URl, enter the URL to your Service, and give it a name!

Select the Table(s) on which you want to create External Content Types and make sure to leave the checkbox at the bottom checked.

After this is done, you should have two .ECT files in your Project.

Open the ECT file with the built in XML text editor in Visual Studio

In the top of the document, within the Model element, you will see a Name attribute. This Name attribute is the name you selected when you connected to the OData source, such as NorthwindCustomersModel. The value of this name is the same in all of the ECT files created from the entities, but it has to be unique in order to use it in SharePoint. You will need to change the name based on the ECT you are using , for example CustomersTable

Now, navigate to your project, copy this ECT File to somewhere on your desktop

You can then go into Central Admin, BCS Service Application and upload the ECT File. Also, If you didn’t already do it, make sure you have set the permissions!

Afterwards, make sure to use “Set Metadata Store”, to give it the required permissions

After that is done, go to any Site Collection, and add an “External List”

Select your External Content Type

And everything should work!

You now managed to show data in SharePoint, by using Business Connectivity Services consuming an OData Source! If you want to configure Hybrid BCS , you will need to follow a future blog post that will start from this point. I will link to it once it’s live!

4.92/5 (12)

Please rate this