Error: The root of the certificate chain is not a trusted root authority – Register-SPWorkflowService – SharePoint 2013

When I was trying to register Workflow Service with SharePoint 2013 Server, I was getting error “The root of the certificate chain is not a trusted root authority”.

The reason for this error is while registering the service we point to workflow site with https as shown below, this site has a certificate which the SharePoint server doesn’t trust.

Register-SPWorkflowService –SPSite “http://spapp/sites/dev/” –WorkflowHostUri “https://wfserver:12290/” –AllowOAuthHttp

There are 2 things to check.

  1. Check if the WorkflowHostUri is having a Fully Qualified Domain (FQD) instead of machine name.
  2. Check if the SharePoint server trusts the workflow site’s certificate

1. Use FQD. Hence instead of using machine name for WorkflowHostUri, use full domain name, like https://wfserver.domain.com:12290/
2. Make sure the SharePoint Server trusts the certificate of Workflow site. For that do the following

  1. In the server browse the site https://wfserver.domain.com:12290/ and check if you get Certificate trust error, if so proceed to next point
  2. Start Management Power Shell as Administrator in the workflow server and run the following 2 commands
  3. $rootCert = (Get-SPCertificateAuthority).RootCertificate
  4. $rootCert.Export(“Cert”) | Set-Content C:\SharePointRootAuthority.cer -Encoding byte
  5. Navigate to the SharePoint Server and open run or command prompt and type MMC and hit Enter. This will open Console1.
  6. In Console1 navigate to file in the ribbon menu and select “Add/Remove snap-in”
  7. Add “Certificates” to the right hand side and then click “OK”. You will prompted with the Certificates snap-in. I selected “Computer account”>Next>Local computer>Finish>OK
  8. Import the certificate “C:\SharePointRootAuthority.cer” into “Trusted root certification authority” location. You can complete this by right clicking on “Trusted root certification authority” and selecting All Tasks > Import

Source:
Microsoft MSDN Forum, EPM Partners

SharePoint 2013 Service Applications

The following table lists SharePoint 2013 Service Applications which can help in deciding which edition of SharePoint 2013 can be purchased based on the solution design and scenario.

SharePoint 2013 Service ApplicationFoundationStandardEnterpriseOffice 365
Access Services
Access Services 2010
App Management Service
Business Data Connectivity Service
Excel Services Application
Machine Translation Service
PerformancePoint Service Application
PowerPoint Automation Services
Managed Metadata Service Application
Search Service Application
Secure Store Service
Site Subscription Settings Service
State Service
User and Health Data Collection Service
User Profile Service Application
Visio Graphics Service
Word Automation Services
Work Management Service Application
Workflow Service Application

 

SharePoint 2013 New Features & Changes


Following is the list of new features & changes in SharePoint 2013 which I have gathered based on the glances through various sites and books.

Shredded Storage

  1. Reduces size of content database when storing file version
  2. Reduced size of content database helps in backup timelines
  3. Shredded storage optimizes network traffic between web server and SQL server by reducing the need to transfer the entire document
  4. Since only changes are sent back and forth between client and server, a document is available in Office Document Cache (ODC – a feature implemented in Office 2010) even when SharePoint server is offline
  5. User can start working on a document while it is downloading
  6. MS-FSSHTTP (File Sync via SOAP over HTTP) helps in optimized faster document transfers between MS Office client and SharePoint which improves usability of office applications when a user saves a version and continues editing while saved version is being uploaded to SharePoint (Note: This was already available in Office 2010/SharePoint 2010 and now has been improved)
  7. SharePoint 2013 now uses MS-FSSHTTP for document transfer not only between Client and SharePoint Server but now with SQL Server also.

SQL Improvements

  1.  All Databases now conform to SQL Azure compliance criteria
  2.  Redundant, unused tables and track links indices are removed
  3.  I/O operations while browsing document libraries have been optimized
  4.  Utilization of Sparse Columns (A feature implemented in SQL Server 2008) for wide list (Using rows for column data when max columns in a row sql is reached) has been reduced
    Improvements on dependency of large list

Request Management

  1.  Route HTTP requests to different servers based on specific workloads
  2.  Recognize incoming request by looking into headers, request IP address or subnets
  3.  Based on the incoming request, can prioritize by redirecting to another server or blocking that request etc.
  4.  Request Management Rules can help route specific set of incoming request to specific set of servers. For example a rule might route a request which needs more processing to a server with high static (Identifies a server capability being powerful or weak) & health (Dynamic health of a server) weight
  5. If Catch All (*) rule is not implemented, SharePoint routes the request to the server which it thinks is healthy

Workflow

  1. A dedicated Workflow Manger Farm (Not installed by default and only utilized by SharePoint 2013 workflow and not SharePoint 2010/Legacy workflow) can offload the workflow processing from SharePoint Server improving SharePoint’s performance
    Note: SharePoint 2013 workflow templates are not available by default as SharePoint 2013 still uses only 2010 templates. Hence to utilize Workflow Manager Farm, 2013 templates needs to be created

Caching

  1. SharePoint 2013 now uses distributed cache, hence each server in farm doesn’t need to fetch same content from DB for similar requests going to specific server. Instead they share that content across servers and hence roundtrip to content db from each server for same request is reduced
  2. Feeds, Search (Content Search Web Part) & Logon Tokens utilize distributed cache

UI

  1. Minimal Download Strategy (MDS) now helps in loading part of the page instead of whole page when content get’s changed
    Note: MSD is not enabled for publishing sites and custom controls migrated from 2010 to 2013( Custom controls needs to be edited with MsdCompliantAttribute set and re-compiled)
    SharePoint 2013 now uses HTML5 for themes.
    Note: Since HTML5 is used as themes, creating one with Office applications to create themes is limited
  2. SharePoint 2013 has improvements in rendering content in Mobile environment
  3. Addition of geolocation field will help maintain location data in list column
  4. Contemporary view is used if Mobile supports HTML5 else Classic View is downloaded

Service Applications

  1. New Machine Translation Service uses bing to translate sites, files, pages and term sets
  2. New Workflow Management Service helps aggregate tasks from MS Exchange 2013, MS Project Server 2013 & MS SharePoint 2013 to user’s my-site with 2-way sync between them
  3. New App Management Service help manage new SharePoint Apps
  4. Search Service Application is now totally re-engineered based on SharePoint 2010 Enterprise Search and FAST Search and hence FAST search is no more a available
  5. All flavours of SharePoint 2013 (Foundation, Standard & Enterprise) use same search object model
  6. Managed Metadata Service now has properties for Tags and Tags can be pinned to avoid duplication
  7. Search Service Application now has inbuilt Web Analytics, and Web Analytics is no longer a separate service application

Office Web Apps

  1. This is now a separate product and separate license
  2. This will be installed on it’s own server in a farm and hence management/Scaling of either this or SharePoint is far more easier
    Note: Viewing office documents in SharePoint 2013 doesn’t require Office Web Apps and respective license, but if editing is required then both are required
  3. Documents can be now viewed in full screen mode
  4. PowerPoint and Word now supports multi-authoring
  5. Search result in SharePoint can show a preview of office documents when Office Web Apps is available and user hovers over the link in the search result

Business Connectivity Service

  1. BCS now has an additional connection protocol which is OData
  2. Event Receivers for external data changes is a new feature
  3. External Content Type can be scoped to SharePoint Apps as opposed to Service Application level in SharePoint 2010

Access Service

  1. Access Service has been completely re-built
  2. Access Service 2010 is for sites built from Access web database definition
  3. Access Service now stores data in SQL Server 2012 and developers/advanced users can directly interact with SQL Server for more advance report generations

Authentication

  1. SharePoint 2013’s has extended claims based authentication utilizing OAuth 2.0 and dedicated server for STS authentication
  2. Because of this new extended auth, new scenarios are possible with MS Exchange 2013, MS Lync 2013, SharePoint App Store/App Catalogue and any other service supporting server to server auth protocol
  3. Claims is now recommended as opposed to classic in SharePoint 2010 due to new improved claims which didn’t work with People Picker and SSRS (2008 R2) in 2010
  4. Classic mode web applications can now be only created using PowerShell
  5. Additional Logging is now added to troubleshoot authentication issues

Web Applications

  1. Host Named site collections is the new recommendation instead of path based site collections but needs to be analysed before implementing as some extended and hosting in multiple web apps are not supported
  2. Document Workspace, All types of Meeting Workspace Template, Group Work & Personalization site templates have been removed but migration from 2010 to 2013 is allowed and will work in 2013

Development

  1. Everything now is an app. Be it a list, a library, a custom solution etc
  2. Apps now run isolated from SharePoint Server but integrated with SharePoint Server
  3. In addition to Farm & Sandboxed solutions, Extended Client Object model is new for code to run external applications
  4. Apps can be published and made available in on-premises or cloud based market places
  5. SharePoint Apps is now preferred instead of sandboxed solutions

Windows 8 Pro’s Boot-to-VHD is a good news for an indie SharePoint developer !

SharePoint & Windows

SharePoint & Windows

A post describing SharePoint’s high resource usage and how Windows 8’s Boot to VHD will help to run SharePoint host with more dedicated resource.

Trailer….

For people like me who has to depend on resource hungry SharePoint servers, life is difficult as a developer and IT designer.

Most of the time we have to run the server inside a virtual environment and most of the time it would be a standalone server.

The problem….

Initially with SharePoint 2010 you could get away with at-least 6GB RAM allocated to a guest OS. But with SharePoint 2013 you require at least 12GB for a better experience and most of the machines come with 8GB or 16 GB RAM.

The problem is, your host OS will take at least 2GB RAM which for SharePoint can make life and death kind of experience even though Windows is perfectly capable of keeping SharePoint alive with paging (Virtual RAM) and have the storage drive on a never ending marathon run !

For virtual environment, the following are the options we generally have.

  • Microsoft Virtual PC (Free)
  • VMWare Workstation (Costly)
  • Oracle Virtualbox (Free)
  • Windows Server 2008/2012 R2’s Hyper-V (Super Costly)

Out of these, VirtualPC and Hyper-V natively use VHD container format for guest OS. Others too have these (Thanks to Microsoft’s Open Specification Promise) but mostly they use proprietary format.
When Windows 7 was rolled out, the Enterprise & Ultimate editions had the native Boot-to-VHD support.

What is Boot To VHD ?
Refers to the ability of a physical computer to mount and boot from an operating system contained within a VHD – (PS: Shamelessly copied the text from wikipedia)

Again to the problem….
Consider a scenario where you own a VM host system with 8GB RAM and run a VM guest with 6GB RAM for SharePoint 2010. This worked mostly fine. Then comes the SharePoint 2013 which requires even more ram, at-least 2GB in addition. Now you are in soup, you can wait forever to see the guest OS, aka Windows Server 2008 R2 or Windows Server 2012’s desktop to show up!

Solution….
Gain as much RAM as possible from host or upgrade the system to have more RAM. You will be in luck for desktop systems. Laptops, you are mostly in trouble.

Windows 7…..
Luckily with Windows 7(Enterprise/Ultimate) you could boot physical computer to a VHD and utilize all the resources. That’s good news, now you have all the RAM available for the SharePoint. The bad news is Enterprise is available for volume licensing only and Ultimate prohibitively costly.

Windows 8…..(forget Windows 8 RT, that thing can’t even run a standalone app!, but still a good OS for daily basic usage, so Microsoft is forgiven!)
Then comes Windows 8 with even more simpler editions. A regular version, professional version & an enterprise version. Compared to Windows 7, Windows 8 Pro is affordable and can be bought by an individual.
The best news is, Windows 8 Pro comes with Client Hyper-V and supports Boot To VHD.

So now as an indie SharePoint developer, you have a host OS which can be bought, has a virtualization capability and supports Boot To VHD.

Assuming you bought the host OS, i.e. Windows 8 Pro, its time to utilize it for better SharePoint development experience.
PS: I am going to explain only Boot-to-VHD part. Enabling Hyper-V in Window 8 Pro or installing SharePoint are out of scope for this post. Get help from trusted friend Google’s Search or Microsoft’s Bing.

After a long story…Main Picture…..

Enabling boot-to-VHD…..

  1. Create a VM Guest using Hyper-V and make a note of the location where the VHD file is located.
  2. In VM Host, go to Control Panel, Administrative Tools, Computer Management. Go to Disk Management under Storage.




  1. In Action menu, click Attach VHD. Now you should have a volume with drive letter. Make a note of the drive letter. In this case it’s D:\



  1. Now launch a command prompt as administrator.
  2. Take a backup of current boot information by using the following command
bcdedit /export C:\bcdcurrentbackup

  1.  Now let’s add the VHD’s Windows to boot by using the following command (The drive letter we noted will be used here)
bcdboot D:\Windows

  1.  Reboot the machine and you should be able to see the multi boot screen.

  1. Choose the SharePoint’s guest OS to boot.

You can use bcdedit command to rename the description of the Windows in multi boot screen.

Removing boot-to-VHD…

  1. Open command prompt in admin mode
  1. As mentioned in point 5 above take a backup of the boot system file
  2. View list of current boot entries by typing the following
bcdedit



  1. Make a note of the guid in the entries. In this case it’s {4ff0aa40-b17f-11e3-beaa-bc5ff4cf029e}
  2. Delete the entry by typing the following command
bcdedit /delete {4ff0aa40-b17f-11e3-beaa-bc5ff4cf029e}


SharePoint 2010 – Disaster Recovery

Recently out of normal development routine I was discussing with my development team regarding the IT side of SharePoint 2010.

One of the aspects we were discussing about was the “Disaster Recovery.” Being developers, “Disaster Recovery” was a mere term rather than an important IT aspect for them and I fastly realized it was slightly boring for them.

Post discussion I decided to give them some links so that they can refer when needed. Found out following were some of the links they can quickly read and understand.

Disaster Recovery for SharePoint 2010
Configure Disaster Recovery Farm with SharePoint 2010
SharePoint Server 2010 – 10 Steps to Disaster Recovery