SharePoint 2010 Is Only Indexing PDF File Title & Properties

About a year after configuring Adobe ifilter for SharePoint, a user complained that SharePoint is only indexing PDF file title and properties; it’s not indexing content within the PDF file.
While double checking Adobe ifilter configuration based on this Microsoft article, I realized that step 11 registry key was missing opening and closing curly brackets { }
Since SharePoint was returning PDF’s while searching, no one realized for a year that it’s not searching within the PDF files.       

SharePoint Fails to Recognize InfoPath People Picker Field’s Value

Browser based InfoPath form saves People Picker fields value as “text” therefore SharePoint fails recognize this field’s value as a user ID. In SharePoint this would be an issue if you are trying to filter your list based on user ID.
To fix this you’ll have to create a new “People or Group” column in forms library where InfoPath form is published and create a workflow which would copy InfoPath PeoplePicker fields value to the field created in SharePoint. Following are detailed steps to accomplish this.
1.      Create a new “Person or Group” column in SharePoint where you are saving your InfoPath forms      
2.      In SharePoint Designer create following workflow:
a.      No condition
b.      Action
1.      Select “Update List Item”


2.      Click “this list”
3.      Click “Add”
4.      For “Set this field” chose column which you’ve created in SharePoint forms library
5.      For “To this value” chose People Picker field you’ve created in InfoPath form



 


Data View Webpart Randomly Generates Error

One of my developers complained that one of his dashboard, which he built using out of the box data view webpart randomly displays following error message. Refreshing the page would get rid of the error.

Based on Correlation ID I found following detailed error message in ULS logs:
Error while executing web part: System.StackOverflowException: Operation caused a stack overflow.     at Microsoft.Xslt.NativeMethod.CheckForSufficientStack()     at (XmlQueryRuntime , XPathNavigator , IList`1 , IList`1 , Double , Double )     at (XmlQueryRuntime , XPathNavigator )     at (XmlQueryRuntime , XPathNavigator , String )     at (XmlQueryRuntime , XPathNavigator , String )     at (XmlQueryRuntime )     at Root(XmlQueryRuntime )     at System.Xml.Xsl.XmlILCommand.Execute(Object defaultDocument, XmlResolver dataSources, XsltArgumentList argumentList, XmlWriter writer, Boolean closeWriter)     at System.Xml.Xsl.XmlILCommand.Execute(IXPathNavigable contextDocument, XmlResolver dataSources, XsltArgumentList argumentList, XmlWriter results)     at System.Xml.Xsl.XslCompiledTransform.Transform(IXPathNavigable input, XsltArgumentList arguments, XmlWriter results)     at Microsoft.SharePoint.WebPartPages.DataFormWebPart.ExecuteTransform(XslCompiledTransform xslCompiledTransform, XsltArgumentList xmlArguments, Boolean bDeferExecuteTransform)     at Microsoft.SharePoint.WebPartPages.DataFormWebPart.PrepareAndPerformTransform(Boolean bDeferExecuteTransform)

How did I fix it:
This error told me that XSLT Query is timing out.
First I ran following PowerShell commands to get default timeout settings:
$SPFarm = Get-SPFarm
$SPFARM.XSLTTransformTimeOUT

I got 1. This means 1 second.

Now I changed 1 second to 6 seconds by running following command:

$SPFarm = Get-SPFarm
$SPFARM.XSLTTransformTimeOUT = 6
$SPFarm.Update()

SharePoint Sub Site Appears in "Content and Structure" But Wouldn’t Come Up

I was asked by one of the developer to delete a site collection in development environment and recreate it from production database. I successfully backed it up from production and recreated it in development.
Entire site collection came up but one sub site. What was interesting that I could see the sub site under “Content and Structure” and “Site Hierarchy” but got 404 error when browsed it.
Initially, I thought maybe something went wrong during backup/restore process so I did backup and restore again.  But no luck. I deleted sub site from “Content and Structure” and tried recreating a blank sub site with the same URL but I got an error saying “Sub site name cannot be used as a site name. Site names cannot contain certain words and cannot begin with an underscore. Please enter a different name”.  Now I was even more confused because before backup/restore this sub site worked fine.
After checking a lot of things such as ULS logs etc. I decided to check “Managed Path” and here it was. As soon as I deleted site URL from it, site came up fine. Developer who asked me to backup and restore had created a managed path when I deleted to site collection to be restored. Therefore, I could see the site under “Content and Structure” but couldn’t browse it.

SharePoint Hierarchy Commands Within PowerShell

I thought I’d share a list of SharePoint Hierarchy within PowerShell I’ve compiled long time ago. It has helped me and hopefully it will help someone else as well.
Web Site Hierarchy:
SPWebApplication
SPSite
SPWeb
SPList
SPField
SPListItem

Farm Hierarchy:
SPFarm
SPServerCollection
SPServer
SPServiceInstance

Output formatting options:
Format-Custom
Format-List
Format-Table
Format-Wide   

The root of the certificate chain is not a trusted root authority. Event ID: 8311

SharePoint 2010 server started logging “The root of the certificate chain is not a trusted root authority” error message and some of the browser based infopath forms also started saying “You do not have permissions to access a Web service that provides data required for this form to function correctly”.

Error message was clear that I had to add web site certificates (and entire certificate chain) to “Manage Trust” in Central Administration but I had already done that. (check out this great post to learn what I am talking about http://godwinsblog.cdtech.in/2010/12/sharepoint-2010-root-of-certificate.html)

After doing some troubleshooting it turned out that certificates I added were downloaded via browsing web site from the server and that was the problem. My environment is muti domain and network environment therefore certificate path on server and end user machines is different. As soon as I added same certificate chain as end users browsers, issue got resolved.

How to install SharePoint 2013 and SQL 2012 on Server 2012 -- Part III


Part III -- How to Install SharePoint Server 2013

In Part I, I’ve described how to install Server 2012 and in Part II, SQL Server 2012. In this part I’ll cover SharePoint Server 2013.
1.       Before installing SharePoint 2013, prerequisites needs to be installed first. If server has access to the internet SharePoint Prepration Tool can download prerequisites automatically. If server doesn’t have access to internet, following article explains which softwares you need and where to download them from  http://technet.microsoft.com/en-us/library/cc262485(v=office.15).aspx#section4.  After downloading and installing prerequisties, restart your server and follow this blog from step 5.

2.       Browse to SharePoint 2013 installation files folder and double click “prerequisites installer”

3.       On Products Prespration Tool window, click “Next”

4.       After all of the prerequisites has been installed, click “Next” and reboot server

5.       After reboot, browse to SharePoint 2013 installation files folder and double click “setup.exe”

6.       Enter product key and click “Continue”

7.       Accept  terms and click “Continue”

8.       Keep defaults and click “Install Now”

9.       Wait for SharePoint 2013 to install

10.       Check “Run the SharePoint Products Configuration Wizard now” and click “Close”

11.       Click “Next”

12.       Click “Yes”

13.       Choose “Create a new server farm” and click “Next”

14.       Type database server name, database server user name,  password, and click “Next”

15.       Type a password to be used as “Passphrase”. Safeguard this password, you’ll need it to add more servers in the farm

16.       Keep default for right now, you could change authentication down the road if you need to. Click “Next”

17.       Review configuration information and click “Next”

18.       Wait for configuration to complete

19.       Click “Finish”

20.       SharePoint 2013 has been successfully installed on Server 2012!



How to install SharePoint 2013 and SQL 2012 on Server 2012 -- Part II



Part II -- How to Install SQL Server 2012

In Part I, I’ve described how to install Server 2012 and this part explains how to install SQL Server 2012.
 
1.       Browse to SQL installation files
2.       Click “Setup.exe”
3.       On main “SQL Server Installation Center”, click “Installation”
4.       Click “New SQL Server stand-alone installation or add features to an existing installation”


5.       Enter the product key and click “Next”

6.       Check  “I accept the license terms” and click “Next”
7.       Wait for files to be installed on the system and click “Install”


8.       If nothing failed you’ll be able click “Next” to move future, if something failed you’ll have to fix failed component and re-run this set up. You could click “Show details” button to see status.

9.       Choose “SQL Server Feature Installation” and click “Next”


10.       Choose “Database Engine Services” and  “Management Tools-Basic” and click”Next”

11.       If everything passed, click “Next”

12.       Keep dfaults and click “Next”

13.       Click “Next”

14.       Type SQL server service accounts and passwords which were created in Part I of this blog and click “Next”

15.       Click “Add” to add user to be SQL Server Administrator and click “Next”

16.       If you want to send error reports to Microsoft automatically, check checkbox and click “Next”

17.       If everything passed, click “Next”

18.       Click “Install”


19.       SQL Server has been completed successfully, click “Close”


How to install SharePoint 2013 and SQL 2012 on Server 2012 -- Part I

Couple of weeks ago I had decided to play with SharePoint 2013 Preview version on Server 2012 Release candidate with SQL server 2012.  This blog post covers what I had to do to build development environment. Since I built this environment  just to play with SharePoint 2013, I installed Domain Controller, SQL Server 2012, and SharePoint 2013 on same virtual machine. I’ve split this blog in following posts:


Part I:    How to Install Server 2012 Release Candidate


1.        Insert Server 2012 installation media into your CD/DVD drive and reboot your server



2.       Read and click “I accept the license terms for using Windows” check box and click “Accept”

3.       Choose “Country”, “Language”, “Keyboard Layout” from dropdown’s and click “Next”




4.       Choose “Password” for administrator account and click “Finish”
       a.       Password must meet complexity requirements

5.       Press “Ctrl+Alt+Delete” to sign in

6.       Enter your “Password” and hit enter

7.       As soon as you are logged in “Server Manager Dashboard” will come up
8.       Click “Add roles and features”

9.       Click “Next”

10.       Choose “Role-based or feature-based installation” and click “Next”

11.       Verify local server name and click “Next”

12.       Choose “Active Directory Domain Services”, “Web Server” and click “Next”

13.       Leave default options and choose “.Net Framework 3.5 Features”, “HTTP Activation” and click “Next”

14.       Leave defaults options. Expand “Web Server”, choose everything but “WebDev Publishing” and click “Next”

15.       Confirm features and roles which are being installed and click “Install”

16.       Wait for installation process to complete

17.       Click “Promote this server to a domain controller”

18.       Choose “Add a new forest”

a.       Enter “Domain name” under “Root domain name”

b.      Click “Next”

19.       Choose “Forest and Domain”  function levels

20.       Choose Domain Controller capabilities

21.       Type “Password” for DSRM

22.       Click “Next”

23.       Type “NetBios Domain Name” and click “Next”

24.       Leave defaults  or define location of “AD DS database, log files, and SYSVOL” and click “Next”


25.       Click “Next” 

26.       Click “Install”

27.       Server will restart automatically



28.       After restart. Go to start menu (in case you don’t know how to go there hold “Ctrl and ESC” keys)

29.       Click “Active Directory Users and Computers”

30.       For right now create at least 2 service accounts. One for SQL and one for SharePoint. You’ll need more service accounts but I’ll cover that later.

31.       Server 2012 has been installed and configured. Now I am ready to install SQL Server 2012.