Home

Monday, March 21, 2011

SPS Boston: SharePoint 2010 Search Driven Design Patterns: Better Portal Designs with Fewer Compromises

Event:
SharePoint Saturday Boston
Saturday, April 9th, 2011

Session Title:
SharePoint 2010 Search Driven Design Patterns: Better Portal Designs with Fewer Compromises

Abstract:
When designing a SharePoint 2010 Intranet, collaboration portal, or business process solution we are faced with many decisions and challenges. While our objectives for user experience, information architecture, security model, and administrative model are driven primarily by business requirements, technology limitations tend to force certain decisions on us.  This session explores search driven portal design patterns and explains how we can leverage the SharePoint Server 2010 Search feature area in creative ways, leading to better portal designs with fewer compromises.

Slides:
20110730 0100PM SharePoint Saturday Search Driven Design Patterns - Bisciotti.pdf

Tuesday, March 01, 2011

Naming Convention for SharePoint Databases

Naming conventions are obviously important to SharePoint farms.  Having a naming convention drastically improves efficiency related to configuration tasks, troubleshooting, documentation, and knowledge transfer.  While I use naming conventions for various aspects of a SharePoint farm, this post explains a naming convention I use for SharePoint databases.

Here it is:
FarmAbbreviation_DatabaseCategory_Component_InstanceNumber_DatabaseType_InstanceNumber

Farm Abbreviation:  A consistent abbreviation used to prefix all objects in a farm including IIS Application Pool, IIS Web Site, IIS Web Site directory, and databases.
Database Category:  WebApp for Web Application and SvcApp for Service Application.
Component:  Name of the Web Application or name of the Service Application.
Instance Number:  Two digit, incremental number of component instance.
Database Type:  For Web Applications, this is ContentDB.  Some service applications use multiple databases so Database Type describes which one it is.
Instance Number:  Two digit, incremental number of Database Type.

Examples:

The first content database for a Web Application named "Intranet", in a Farm abbreviated as "SPF01" would read as follows:
SPF01_WebApp_Intranet_01_ContentDB_01

An additional content database added to the "Intranet" Web Application would be incremented by 1, as follows:
SPF01_WebApp_Intranet_01_ContentDB_02

The Reporting database of a Web Analytics Service Application would read like this:
SPF01_SvcApp_WebAnalytics_01_ReportingDB_01

SharePoint 4.0: PowerShell Get-SPDatabase | Select Name


This is just a quick tip about using PowerShell to retrieve a list of SharePoint databases.  When you run Get-SPDatabase, you are provided the Name, Id, and Type of SharePoint databases.  However, by default, the entire name might not be legible.



While there are extensive ways to do formatting in PowerShell, some times you just need a quick command to read the database names in entirety.  So, if you run Get-SPDatabase | Select Name, only the database name is brought in entirety.



Thursday, February 03, 2011

Links: Windows Server Catalog

The Windows Server Catalog (http://www.windowsservercatalog.com) Web site is a useful reference.  It includes software and hardware testing status, third party compatibility and certification, and server virtualization validation program information.

Tuesday, February 01, 2011

SharePoint Saturday Hartford Speaker Social on Friday January 28

Despite being the last one to arrive at the SharePoint Saturday Hartford Speaker Social on Friday January 28, 2011, there was still enough time to goof around for a while before we had to sit down for dinner.  Here, I managed to remain upright for a photo with Talbott Crowell, Geoff Varosky, and Fernando Leitzelar. 

Sunday, January 23, 2011

SPS Hartford: SharePoint 2010 Search Driven Design Patterns: Better Portal Designs with Fewer Compromises

Event:
SharePoint Saturday Hartford
Saturday, January 29, 2011

Session Title:
SharePoint 2010 Search Driven Design Patterns:  Better Portal Designs with Fewer Compromises

Abstract:
When designing a SharePoint 2010 portal for collaboration or business process facilitation we are faced with many challenges. While our intentions for user experience, Information Architecture, and security model are driven primarily by business requirements, technology limitations tend to force us into certain decisions.  This session explains how search driven design patterns can result in better portal designs with fewer compromises.

Slides:
 20110730 0100PM SharePoint Saturday Search Driven Design Patterns - Bisciotti

Thursday, January 20, 2011

Error: SharePoint Server 2010 Installation, SharePoint Configuration Failed

Description:

After configuring the operating systems and SQL Server instance in a multi-tiered server farm, I installed the SharePoint Server 2010 prerequisites and server binaries on the first Web front end.  Next, I opened PowerShell and began creating a new farm from the command line.  After only the first step, I received the error shown below.

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

PS C:\Windows\system32> New-SPConfigurationDatabase -DatabaseName "FarmName_Configuration_Database_01" -DatabaseServer "FarmDBSQLAlias" -A
dministrationContentDatabaseName "FarmName_Content_Database_01" -Passphrase (ConvertTo-SecureString "FarmPassPhrase" -AsPlaintext -Force) -FarmCredentials (Get-Credential)
...
New-SPConfigurationDatabase : CREATE FILE encountered operating system error 3(The system cannot find the path specifie
d.) while attempting to open or create the physical file 'I:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\
MSSQL\Data\FarmName_Configuration_Database_01_log.LDF'.
CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
At line:1 char:28
...

So, I navigated to the log directory: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS and opened up the current PSCDiagnostics log file.


CTRL + F "error" brought me to this error:

...
01/20/2011 17:46:26 10 ERR Exception: System.Data.SqlClient.SqlException: CREATE FILE encountered operating system error 3(The system cannot find the path specified.) while attempting to open or create the physical file 'I:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\FarmName_Configuration_Database_01_log.LDF'.
CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
...

Solution:

After viewing the log file message, I immediately knew what the cause of the error was.  The SQL Server default path for LDF was not accessible because it hadn't been created yet.  During the SQL Server 2008 R2 installation, I specified a particular default drive letter for MDF and LDF.  After the installation, I changed the default path location for LDF's to a different drive letter, however, the new folder path (I:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data) didn't exist yet!

The fix was simply to go to the I: drive letter and create the necessary folder paths that I had set as the default LDF location for the SQL instance.

Note:  When you install SQL Server 2008 R2 and you encounter the screen that asks for the default locations, be sure to set the MDF first and then the LDF second.  The reason is that if you do the MDF path second, the installation wizard will reset your LDF location back to the MDF setting.  It's just one of those things!

Links: Microsoft SQL Server 2008 R2 Feature Pack

Microsoft SQL Server 2008 R2 Feature Pack
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=CEB4346F-657F-4D28-83F5-AAE0C5C83D52
  • Microsoft® SQL Server Report Builder 3.0 for Microsoft® SQL Server 2008 R2
  • Microsoft® SQL Server® PowerPivot for Microsoft® Excel
  • Microsoft® SQL Server® 2008 R2 Reporting Services Add-in for Microsoft® SharePoint® Technologies 2010
  • Microsoft® SQL Server® 2008 Reporting Services Add-in for Microsoft® SharePoint® Technologies 2007
  • Microsoft® SQL Server® 2008 R2 Policies
  • Microsoft® Sync Framework 2.0 Software Development Kit (SDK)
  • Microsoft® SQL Server® Compact 3.5 SP2 For Windows Mobile
  • Microsoft® SQL Server ®Compact 3.5 SP2 Server Tools
  • Microsoft® SQL Server® Compact 3.5 SP2 Books On-line
  • Microsoft® SQL Server® JDBC Driver 3.0
  • Microsoft® Connector 1.1 for SAP BW for SQL Server® 2008 R2
  • Microsoft® System CLR Types for SQL Server® 2008 R2
  • Microsoft® SQL Server® 2008 R2 Remote Blob Store
  • Microsoft® SQL Server® 2008 R2 Books On-line
  • Microsoft® SQL Server® 2008 R2 Upgrade Advisor
  • Microsoft® SQL Server® 2008 R2 Native Client
  • Microsoft® Core XML Services (MSXML) 6.0 SP 1
  • Microsoft® OLEDB Provider for DB2
  • Microsoft® SQL Server® 2008 R2 Command Line Utilities
  • Microsoft® SQL Server® Service Broker External Activator for SQL Server® 2008 R2
  • Microsoft® Windows PowerShell Extensions for SQL Server® 2008 R2
  • Microsoft® SQL Server® 2008 R2 Shared Management Objects
  • Microsoft® SQL Server® 2008 R2 ADOMD.NET
  • Microsoft® Analysis Services OLE DB Provider for Microsoft® SQL Server® 2008 R2
  • Microsoft® SQL Server® 2008 R2 Analysis Management Objects
  • Microsoft® SQL Server® 2008 Data Mining Add-ins for Microsoft® Office 2007
  • Microsoft® Datamining Viewer Controls For Microsoft® SQL Server® 2008
  • Microsoft® SQL Server® Migration Assistant
  • Microsoft® SQL Server® 2008 R2 Best Practices Analyzer
(Microsoft, 2011)

Reference

Microsoft (2011). Microsoft SQL Server 2008 R2 Feature Pack. Retrieved January 20, 2011 from http://www.microsoft.com/downloads/en/details.aspx?FamilyID=CEB4346F-657F-4D28-83F5-AAE0C5C83D52.

Wednesday, January 19, 2011

Error: SharePoint Server 2010 Setup Errors, Prerequisites Needed

Description:

After running SharePoint Server 2010 setup.exe, Setup Errors occur.




Setup is unable to proceed due to the following error(s):

This product requires the Windows Identity Foundation.
This product requires Microsoft Sync Framework Runtime v1.0 (x64).
This product requires Microsoft SQL Server 2008 Native Client. Install SQL Server 2008 Native Client and re-run setup.
Windows Server Features or Role Services required by this product are not enabled. For a complete list, refer to the link below.
This product requires Microsoft Filter Pack 2.0.
This product requires Internet Information Services (IIS) 7.0 or higher, with ASP.NET v2.0 set to 'Allow' in the list of IIS Web Server Extensions.
This product requires the IIS 6 Management Compatibility component to install.
This product requires Hotfix for Microsoft Windows (KB976462) or above.

For the list of pre-requisites needed to install the product please refer to:
http://go.microsoft.com/fwlink/?LinkId=106209



Solution:

1. Windows Identity Foundation
http://www.microsoft.com/downloads/details.aspx?FamilyID=eb9c345f-e830-40b8-a5fe-ae7a864c4d76&displaylang=en

2. Microsoft Sync Framework Runtime v1.0 (x64)
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=C88BA2D1-CEF3-4149-B301-9B056E7FB1E6&displaylang=en

3. Microsoft SQL Server 2008 Native Client
Installing SQL Server Native Client
http://msdn.microsoft.com/en-us/library/ms131321.aspx

4. Windows Server Features or Role Services
Start > All Programs > Administrative Tools > Server Manager
Add Roles and Features:
i. Application Server
ii. File Services
iii. Web Server (IIS)

5. Microsoft Office 2010 Filter Packs
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5CD4DCD7-D3E6-4970-875E-ABA93459FBEE&displaylang=en

6. Internet Information Services (IIS) 7.0 or higher, with ASP.NET v2.0 set to 'Allow' in the list of IIS Web Server Extensions.
i. Start > All Programs > Administrative Tools > IIS Manager
ii. ISAPI and CGI Restrictions
iii. Confirm that ASP.NET V2.0 is set to "Allow"

7. Hotfix for Microsoft Windows (KB976462) or above.
A hotfix for the.NET Framework 3.5 Service Pack 1 is available for Windows 7 and for Windows Server 2008 R2 as a prerequisite for Microsoft Office SharePoint Server 2010
http://support.microsoft.com/kb/976462


Reference

Microsoft TechNet (July, 2010). Hardware and software requirements (SharePoint Server 2010). Retrieved January 20, 2011 from http://technet.microsoft.com/en-us/library/cc262485.aspx.

Windows Server: How to Configure SQL Server Client Alias Using CLICONFG

In certain multi-tiered SharePoint Server farms, it does make sense to implement SQL Server Client Aliases on Web and App Servers to abstract the connection SharePoint Server uses to connect to its database server. Using SQL Server Client Aliases makes it easy to point SharePoint to a different database server, if a need arises, because it can be done through modification of the alias configuration (e.g. redirect to a standby database server, online and ready to go, standby server having a different server name than the original, production database server).

Considerations for SQL Server Client Alias configurations should be made prior to installing SharePoint Server. When deciding whether or not to implement SQL Server Client Aliases, you might think about these items:
  • Just because you can doesn’t mean you should - what need is driving this configuration?
  • Apply the “so what” test - what are the risks of doing versus not doing?
  • Thirdly, it probably makes sense to have server naming conventions in place before you go and abstract things by adding one more layer of names - will aliases confuse anybody?
1. Start > Run > Type “cliconfg” > Enter. This brings up the SQL Server Client Network Utility.

2. On the General tab, enable “TCP/IP” protocol.


3. On the Alias tab, add the server alias configuration.


4. Keep the defaults on the DB-Library Options tab.



5. Review the Network Library information on the Network Libraries tab. Click Apply and OK.


6. At this point the Alias has been created and the SharePoint installation may proceed.

Sunday, January 09, 2011

SharePoint 4.0: Search Core Results Web Part Internal Error

Description:

Search results page error caused by Core Results Web Part after modifying the Fetched Properties.

Error:
"Internal server error exception:
Troubleshoot issues with Microsoft SharePoint Foundation
Correlation ID: aba98106-d203-48bf-bdc9-bf2f8dd15bcd"


Solution:

In addition to the Column Name tags, the Fetched Properties must be properly opened and closed with Columns and /Columns tags, respectively. One possible cause for this error is that thet Fetched Properties XML is missing the opening and closing tags.

Monday, January 03, 2011

Windows Server: ADO.NET Data Services Update for .NET Framework 3.5 SP1

This update is required in order to install SharePoint Server 2010 on Windows Server 2008 R2.

"The ADO.NET Data Services framework consists of patterns and libraries that enable the creation and consumption of REST-based data services for the web. This update to the Microsoft .NET Framework 3.5 SP1 provides additional features which extend the functionality provided in version 1.0 of the ADO.NET Data Services framework."
(Microsoft, 2010)

Reference

Microsoft (2010). ADO.NET Data Services Update for .NET Framework 3.5 SP1 for Windows 7 and Windows Server 2008 R2. Retrieved January 3, 2011 from http://www.microsoft.com/downloads/details.aspx?FamilyID=79D7F6F8-D6E9-4B8C-8640-17F89452148E&displaylang=fi&displaylang=en.

Microsoft (2010). A hotfix for the.NET Framework 3.5 Service Pack 1 is available for Windows 7 and for Windows Server 2008 R2 as a prerequisite for Microsoft Office SharePoint Server 2010. Retrieved January 3, 2011 from http://support.microsoft.com/kb/976462.

Tuesday, December 28, 2010

Windows Server: Enable Execution of PowerShell Scripts

This post describes the steps to enable execution of PowerShell scripts on the Windows Server operating system.

1. Click Start, All Programs, and click "Administrative Tools"

2. Right-Click Windows Powershell Modules, Select "Run as Administrator"

3. At the command prompt (PS C:\Windows\system32>), type the following:
Set-ExecutionPolicy RemoteSigned

4. The Execution Policy Change prompt will display. Respond with "Y":

Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might exposeyou to the security risks described in the about_Execution_Policies help topic.
Do you want to change the executionpolicy?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y

Monday, December 27, 2010

Windows Server 2008: MSInfo32 and Winver

System Information - To locate OS version, edition, and many details about hardware and software components.

Start > Run > Type "MSInfo32" and press Enter



About Windows - To locate OS version, edition, service pack level, and memory.

Start > Run > Type "Winver" and press Enter

Monday, December 13, 2010

Microsoft Word 2010: Hanging Indent

This post explains the steps to format a list with a hanging indent, using Microsoft Word 2010. In this example, I am starting out with a list of references which are indented to the left.


1. Highlight the text to be formatted.
2. On the Ribbon, next to the word "Paragraph" click the chevron to open the paragraph formatting window.
3. Beneath the Indentation heading, set the "Special" field to "Hanging" and set the "By" field to "0.5."
4. Click OK


5. At that point, the list should be reformatted with a hanging indent.

SharePoint 4.0: Locating or Verifying Farm Version Number

This post explains how to tell the version of a SharePoint 2010 server farm. In order to verify the complete farm, it is necessary to verify the version of DLLs as well as the Configuration Database.

A. Verify the version of DLLs.
Steps:
On each server where SharePoint 2010 is installed:
1. Open Windows Explorer.
2. Navigate to \Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI
3. For each of the following DLLs, locate the file. Right-click the file > Properties > Details.
4. Note the version

OWSSVR.DLL (SharePoint Foundation)



Microsoft.SharePoint.dll (SharePoint Foundation)


Microsoft.SharePoint.Portal.dll (SharePoint Server)
B. Verify the version of the Configuration Database
Steps:
From SharePoint 2010 Central Administration:
1. Navigate to SharePoint 2010 Central Administration > System Settings > Manage servers in this farm.
2. Note the "Configuration database version."

SharePoint 4.0: Records Center Behaviors? or Bugs!


I have been busy developing a proof-of-concept (POC) environment based on some design patterns involving SharePoint 2010 Records Center and Search. In this POC, Records Center is acting as a top level site collection and is storing quite a bit of content. There are numerous content types and site columns, carefully planned and configured on the site collection, to support tagging Records Center documents with lots of metadata.

In this POC environment, I have dedicated a Web application to Records Center and for discussion purposes, the URL of the site collection can be http://recordscenter.domain.com. As I write this blog post, it is December 13, 2010. My SharePoint 2010 environment is running at version 14.0.5128.5000, which reflects RTM with the October 2010 Cumulative Updates. The SharePoint Foundation and SharePoint Server DLLs, and SharePoint Database are all current with the same version. I have tested with Site Collection Publishing and Site Publishing features enabled and disabled.

During the testing process, I have discovered some unexpected behaviors related to Records Center. Microsoft Support may stamp these with the trusty "By Design" label, but since I am currently in the process of pushing these issues through the Microsoft Support channels, I cannot speak to their response at this time. I do know that these behaviors are inconvenient and troublesome. Below is a list.

A. Cannot template a sub-site beneath a Records Center site collection.
To recreate the issue, follow these steps:
1. Start from a Records Center site collection.
2. Create a sub-site using the blank site template.
3. Attempt to save the site as a template.


Problem: Error: An unexpected error has occurred.




B. Cannot export a document library and then import it as a different name, in a Records Center site collection.
To recreate the issue, follow these steps:
1. Start from a Records Center site collection.
2. Create a sub-site using the blank site template.
3. Create a document library in the blank sub-site.
4. Using STSADM, export the document library to a .cmp file.
E.g.
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN>
stsadm.exe -o export -url
http://webapplication/subsite/library -filename \\server\fileshare\templatelibrary.cmp -includeusersecurity -nologfile

5. Using STSADM, import the document library .cmp file, as a different name.
E.g.
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN>
stsadm.exe -o export -url http://webapplication/subsite/library -filename file://server/fileshare/templatelibrary.cmp -includeusersecurity -nologfile
...
Finished with 15 errors.A list, survey, discussion board, or document library with the specified title already exists in this Web site. Please choose another title.

Problem: Error: The .cmp file cannot be imported because an existing document library having the same title (different than name, which affects the document library URL) already exists.
This behavior might make sense in a Records Center given the Content Organizer and its functionality which routes documents, based on content type, to appropriate document libraries using the Title of the document library. Still, templating document libraries in a Records Center is especially important, since Records Center typically have well defined site columns. It is only natural that we will want to template document libraries efficiently in a Records Center.

References
Microsoft SharePoint Team Blog (2010, December). October 2010 Cumulative Updates for SharePoint & Project Server 2010 Republished. Retrieved December 13, 2010 from http://sharepoint.microsoft.com/blog/Pages/BlogPost.aspx?pID=957.

Microsoft Support (2010, October). Description of the SharePoint Server 2010 Cumulative Update Server Hotfix Package (MOSS server-package): October 26, 2010. Retrieved December 13, 2010 from http://support.microsoft.com/default.aspx?scid=kb;EN-US;2394320.

Microsoft Support (2010, December). Hotfix Request. Retrieved December 13, 2010 from http://support.microsoft.com/hotfix/KBHotfix.aspx?kbln=en-us&kbnum=2394320.

Tuesday, December 07, 2010

SharePoint 4.0: Where to Locate Details for Errors with Correlation ID

The Correlation ID error seemed to be especially common in Beta versions of SharePoint Server 2010. However, I have managed to surface this one a few times in RTM. The screen print below illustrates what the error looks like on the Web page.

The error doesn't provide much information about the root cause. So, to uncover the details, it makes sense to investigate further by examining the log files. Here is how to do that:

1. Note the date and time of the error message.
2. Open a local console or RDP session to a SharePoint server in the farm.
3. From Windows Explorer, navigate to Program Files > Common Files > Microsoft Shared > Web Server Extensions > 14 > Logs.
4. Sort the log files by Date Modified, Descending. Then, open the file containing the event using a text editor, such as Notepad.
5. CTRL +F to locate instances of the word "Error." Then match the date/time stamp.

It isn't likely that this information will provide a direct answer, but at least you have more words to work with while researching.

Thursday, December 02, 2010

SQL Server 2008: Edit Top 200 Rows

SQL Server 2005 and earlier versions had an Open Table command available when you right-click a table. This allows you to open the table and make edits to fields. In SQL Server 2008, the Open Table command is replaced with the Edit Top Rows command. The default for this is 200, which of course, is obnoxious.

To change this setting, follow these steps from SQL Server Management Studio (SSMS):
  • Tools > Options (This opens the General Scripting Options Dialog Box)
  • SQL Server Object Explorer > Commands
  • Table and View Options: Value for Edit Top Rows command (Change this value)

After modifying the setting, you will see that the menu is updated accordingly.

Reference
Microsoft (2010). Options (SQL Server Object Explorer/Commands). Retrieved December 2, 2010 from http://msdn.microsoft.com/en-us/library/cc280381.aspx.

Monday, October 25, 2010

Focus More on Birdhouse Less on Hammer

Mauro Cardarelli recently plugged something I said, "focus more on the birdhouse and less on the hammer." If Mauro hadn't used that analogy with me a few times before, I probably would have used a different one like, "focus more on the crazy noodles and less on the fork."

The birdhouse analogy refers to the focus of conversations and presentations at SharePoint related conference sessions, meetings, and discussions.  My underlying criticism is that it seems that the community has become more focused on what the SharePoint platform can do and not focused enough on the business solutions that we are building with the platform.  I think the community stands to gain a lot if more emphasis was placed on what we are building with the platform, why, and how we measure value to the businesses receiving these solutions.

I understand that we do need to know the SharePoint product well in order to develop useful business solutions with it.  However, I think it is easy for us become consumed by the SharePoint platform; and its capabilities and limitations and lose sight of the fact that SharePoint is merely a vehicle that helps us get to a destination.  The business solutions are the true end game, not the platform and tools we use to build the solutions.  Some of the design patterns and methodologies we find to be effective may even be transferrable to other technologies. 

As workers, we in the SharePoint community are responsible for ensuring that the solutions we develop will provide the outcomes that the sponsors and stakeholders expect. I think that if we spend too much time trying to figure out the best ways to get "there," and too little time on establishing complete and clear visions of where "there" is, then we are missing the target.  As a community, I think we may miss valuable opportunities to share lessons learned and best practices for solving common business problems using the SharePoint platform. 

When we only focus only on the hammer, we miss the point.  Let's have more conversations and presentations about the birdhouse, how we designed it, why we designed it a certain way, and what we learned from the whole experience.

Blog Archive

Followers