Service Pack 1 for SharePoint 2013 and more… [updated]

A bit more than a year ago Microsoft released SharePoint 2013 (RTM: 10/11/2012, GA: 2/28/2013). A couple of days ago Office 2013 Service Pack 1 (2/25/2014) is released, which include Office 2013, SharePoint 2013 and Exchange Server 2013.

With regards to SharePoint the following links are useful:

  • SharePoint Foundation 2013
  • SharePoint Server 2013
  • Project Server 2013
  • Office Web Apps 2013
  • Duet Enterprise
    • Duet Enterprise for Microsoft SharePoint and SAP Server 2.0 Service Pack 1 (SP1), KB 2817426

A more in-depth article on updates included in Service Pack 1 is found on the Microsoft Engineering Team blog, check out Announcing the release of Service Pack 1 for Office 2013 and SharePoint 2013.

Don’t forget to update your Workflow Manager 1.0 with Cumulative Update 1.0 for both Workflow Manager and Service Bus.

[23/04 update: SharePoint 2013 Service Pack 1 was pulled by Microsoft. Yesterday they re-released Service Pack 1, check this post for more information http://blogs.technet.com/b/stefan_gossner/archive/2014/04/22/sp1-for-sharepoint-2013-has-been-rereleased.aspx]

Hide “Fabulous 40” templates

The Fabulous 40 (a.k.a. Fab40 or Application Templates) are a set of 40 application templates for Windows SharePoint Services 3.0. These were installed on a lot of SharePoint 2007 environments.

When upgrading to SharePoint 2010 these templates become a challenge. The sites based on the Site Admin Templates (.STP) will be upgraded. After the upgrade these will likely work, but you can’t create any new sites based the STP templates, because SharePoint 2010 does not support STP files for site templates.

Sites which are based on the Server Admin Templates (.WSP) are more challenging because some Fab40 templates cannot be used for creating new sites in SharePoint 2010. To perform an upgrade you need to install the templates which are currently in use in the SharePoint 2007 environment.

To keep the new SharePoint 2010 environment as clean as possible you want to disable the creation of new sites based on the Fab40. You could choose to update the XML files on the file system (webtemp files in 14-hive), but the downside of this is you need to update all servers in the farm and when a new server is added this needs to be adjusted manually.

So I started looking into the order SharePoint reads the webtemp files when the application pool process (W3WP.exe) spins up on initial load. I used Process Monitor to research the file access in the “C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\1033\XML\” folder. Based on the order shown in the screenshot below, it seems the “webtemp???.xml” files are loaded on alphabetical order. 

Process Monitor - Capturing the W3WP.exe process

Meaning if I would place a webtemp XML file which filename starts with “webtempaaa” it would load first and equally the filename “webtempzzz” would load at the end. Since underscores “_” are often used I wanted to check that particular filename as well. It seems a filename “webtemp_” is loaded at the end, instead of at the start (what I assumed).

The next question is: “Does SharePoint keep the settings which it reads in the first files or do these settings get overridden by settings in files loaded afterwards?”. The answer to this is it only stores the settings which it reads first. Meaning if I want to hide the templates I need to add a webtemp file with the name “webtempaaaHideFab40.xml”. Within the file I need to hide all the Fabulous 40 Server Admin Templates.

The XML file below shows the contents of the “webtempaaaHideFab40.xml” file:

<?xml version="1.0" encoding="utf-8" ?> <!-- Hides all Fabulous 40 templates, filename needs to begin with "webtempaaa..." to be loaded as the first one --> <Templates xmlns:ows="Microsoft SharePoint"> <Template Name="absence" ID="75811" SetupPath="SiteTemplates\absence" > <Configuration ID="0" Title="Absence and Vacation Schedule " Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="projmulti" ID="75819" SetupPath="SiteTemplates\projmulti" > <Configuration ID="0" Title="Budgeting and Tracking Multiple Projects" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="BT" ID="75801"> <Configuration ID="0" Title="Bug Database" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="callcenter" ID="75812" SetupPath="SiteTemplates\callcenter" > <Configuration ID="0" Title="Call Center" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="projchange" ID="75818" SetupPath="SiteTemplates\projchange" > <Configuration ID="0" Title="Change Request Management" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="comproc" ID="75813" SetupPath="SiteTemplates\compproc" > <Configuration ID="0" Title="Compliance Process Support Site" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="CM" ID="75802"> <Configuration ID="0" Title="Contacts Management" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="DR" ID="75803"> <Configuration ID="0" Title="Document Library and Review" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="eventplan" ID="75814" SetupPath="SiteTemplates\eventplan" > <Configuration ID="0" Title="Event Planning" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="exreports" ID="75815" SetupPath="SiteTemplates\exreport" > <Configuration ID="0" Title="Expense Reimbursement and Approval Site" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="helpdesk" ID="75816" SetupPath="SiteTemplates\helpdesk" > <Configuration ID="0" Title="Help Desk" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="IT" ID="75804"> <Configuration ID="0" Title="Inventory Tracking" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="itteam" ID="75817" SetupPath="SiteTemplates\itteam" > <Configuration ID="0" Title="IT Team Workspace" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="JRIM" ID="75805"> <Configuration ID="0" Title="Job Requisition and Interview Management" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="KB" ID="75806"> <Configuration ID="0" Title="Knowledge Base" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="LL" ID="75807"> <Configuration ID="0" Title="Lending Library" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="PATM" ID="75808"> <Configuration ID="0" Title="Physical Asset Tracking and Management" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="projsing" ID="75820" SetupPath="SiteTemplates\projsing" > <Configuration ID="0" Title="Project Tracking Workspace" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="RER" ID="75809"> <Configuration ID="0" Title="Room and Equipment Reservations" Hidden="True" DisplayCategory="Application Templates" /> </Template> <Template Name="ST" ID="75810"> <Configuration ID="0" Title="Sales Lead Pipeline" Hidden="True" DisplayCategory="Application Templates" /> </Template> </Templates>

Approaches to migrating your service applications

While working my way through TechNet documentation, I came across this very interesting table! It describes supported methods for service application migration.

The forth column shows the support for read-only database. You can find more information on read-only databases here: Run a farm that uses read-only databases (SharePoint Server 2010) [http://technet.microsoft.com/en-us/library/dd793608.aspx].

Service application

Database

Supported approach

Supports read-only

Notes

Access Services

None

not available

not available

 

Application Discovery and Load Balancing

None

not available

not available

Application Registry Service

Application Registry Service

Recreate

No

Business Data Connectivity

Business Data Connectivity

· Database attach

· Recreate

Excel Services

none

not available

not available

Microsoft SharePoint Foundation Subscription Settings

Subscription

Database attach

Managed Metadata Service

Managed Metadata Service

· Database attach

· Recreate

PerformancePoint Services

PerformancePoint Services

Recreate

PowerPoint Service

None

not available

not available

Project Server service application

· Draft

· Published

· Archive

· Reporting

Database attach

No

· Requires synchronization between the databases

· Need to configure time stamps or log marking

For more information, see Database-attach full upgrade to Project Server 2010

SharePoint Server Search

· Search Administration

· Crawl

· Property

· Recreate

· SharePoint backup and restore

No

· The index partitions are copied to the new farm and then restored on the new database server.

· The search topology is exported and then restored to the new server.

Secure Store

Secure Store

· Database attach

· Recreate

The pass phrase for the new database must be identical to the source database.

Security Token Service

Recreate

State Service

State

Recreate

No

Usage and Health Data Collection

Logging

Recreate

No

User Profile

· Profile

· Synchronization

· Social tagging

· Database attach

· Recreate

Profile requires the restoration of an encrypted FIM key

Visio Graphics Service

None

not available

not available

Web Analytics Service

· Staging

· Reporting

· Database attach

· Recreate

Word Automation Service

Word Automation Services

Recreate

not available

Word Viewing Service

None

not available

not available

 

Upgrading MOSS2007 to SharePoint 2010 results in navigation error

Having issues with navigation after an upgrade from MOSS2007 to SharePoint 2010 using the publishing template? We did! After an upgrade the navigation returned errors instead of menu items. We encountered these issues when the Dutch language pack was installed, because the Pages library has been translated/renamed to “Paginas”.

SharePoint Upgrade navigation errors Dutch Language Pack

Microsoft has provided a solution described in KB 2484317. The root cause of the issue is described as:

With Microsoft Office SharePoint Server 2007 we stored new Publishing Pages in a library called Pages. In SharePoint 2010 it has been translated to Paginas as the default for Dutch. The navigation code assumes that any changes from the default are noted in a specific property, which is not the case for upgraded Dutch sites that have been created with the 2007 default name.

The solution to this problem is pretty easy, a simple PowerShell script will restore your navigation.

$site = Get-SPSite("http://WebApplicationURL") foreach ($web in $site.AllWebs) { Write-Output("web:" + $web.ServerRelativeUrl); $pageslistid = $web.AllProperties["__PagesListId"] if ([String]::IsNullOrEmpty($pageslistid)) { Write-Output($web.ServerRelativeUrl +" doesn't have a pages list id set - skipping"); } else { $pageslistguid = new-object System.Guid($pageslistid) $pageslist = $web.Lists[$pageslistguid] $pagesurl = $pageslist.RootFolder.Url $pb = $web.Properties; $pb.Add("__PagesListName", $pagesurl); $pb.Update(); Write-Output($web.ServerRelativeUrl +" set pages list to " + $pagesurl); } }

SharePoint Features and Solution Upgrading slide deck DevDays

Last Thursday I presented at DevDays 2011 in The Hague (NL). All sessions are recorded and can be viewed on Channel 9. It was a great time!

SharePoint features and solution upgrading

This was a level 300 session about SharePoint features and solutions upgrading.

The feature and solution framework used for the deployment of custom SharePoint solutions was introduced in SharePoint 2007. With SharePoint 2010 some major improvements have been made to the framework to allow for feature versioning and upgradability. This provides new ways to deal with application lifecycle management.

This presentation covers the feature and solution framework, explains when to use the feature upgrade and talks about upgrading existing activated and non-activated features. During the session different demos will be build supporting the different scenarios.

You can download the slide deck here:

Download PowerPoint

 Enjoy the video on my session on Channel 9!

Channel9 SharePoint Features en Solution Upgrading