Friday, October 17, 2008

Step by step installation of Service Pack1 for Microsoft Office SharePoint Server 2007 - MOSS 2007 SP1

These steps assume following SharePoint topology:

1. SPSRVR1: Query Server and SharePoint Central Administration Site

2. SPSRVR2: Index Server and Dedicated Web Front End server for crawling

3. SPDB: Database Server – SQL Server 2005

Note: We have heterogeneous environment, where SPSRVR1 and SPSRVR2 have Windows Server 2003 Enterprise Edition with SP1-32 bit (x86) and SPDB has Windows Server 2003 Enterprise Edition with SP1-64 bit. We have installed Microsoft Office SharePoint Server 2007 Standard Edition-32 bit (x86) with SQL Server 2005 Standard Edition with SP1-64 bit.

SharePoint Topology overview:

ExchangeServer2003:
Windows SharePoint Services Outgoing E-Mail

SPSRVR1:
Central Administration
Office SharePoint Server Search (Query Role)
Windows SharePoint Services Help Search
Windows SharePoint Services Incoming E-Mail
Windows SharePoint Services Web Application

SPSRVR2:
Office SharePoint Server Search (Index Role with dedicated web front end (SPSRVR2) for crawling)
Windows SharePoint Services Web Application

SPDB:
Windows SharePoint Services Database

Steps to install Service Pack1 for Microsoft Office SharePoint Server 2007:

1. Stop Word Wide Web Publishing Services on SPSRVR1 server. Use following batch file,
“C:\Stop And Start All SharePoint Services\Stop SharePoint Services SPSRVR1.bat”

2. Stop Word Wide Web Publishing Services on SPSRVR2 server. Use following batch file,
“C:\Stop And Start All SharePoint Services\Stop SharePoint Services SPSRVR2.bat”

3. Download and Run (double click on .exe file) WSS 3.0 SP1 on SPSRVR1 server.

4. Read the license terms and click “Accept” button.

5. Click “Continue”.

6. At the reminder message click “OK”.

7. At the installation complete message click “OK”.

8. If SharePoint Products and Technologies Configuration wizard starts, CANCEL/CLOSE it.

9. Repeat steps 3-8 for SPSRVR2 server.

10. Download and Run (double click on .exe file) MOSS 2007 SP1 on SPSRVR1 server.

11. Read the license terms and click “Accept” button.

12. Click “Continue”.

13. At the reminder message click “OK”.

14. At the installation complete message click “OK”.

15. At the end of the software update installation, SharePoint Products and Technologies Configuration wizard starts, if it does NOT then go to Start > All Programs > Microsoft Office Server > SharePoint Product and Technologies Configuration Wizard to start it manually.

16. On the SharePoint Products and Technologies Configuration wizard welcome screen, click “Next” button.

17. Click “Yes” if it notifies for services might need to be restarted.

18. On completing SharePoint Products and Technologies Configuration wizard, click “Next”.

19. When the dialog box about installation in a server farm appears, do NOT click “OK”. Instead leave each server with the following dialog box displayed.

“You must run setup to install new binary files for every server in your server farm. If you have multiple servers in your server farm, run setup and the configuration wizard on the other servers now, and then return to this server and click “OK” to continue.”

20. Repeat steps 10-19 for SPSRVR2 server.

21. Return to SPSRVR1 server and click “OK” button to finalize the installation.

22. SharePoint Products and Technologies Configuration wizard will go through configuration steps (typically from step1-9).

23. On the configuration successful page, click “Finish”.

24. Verify installation. Open SharePoint Central Administration site, Click Operations > Topologies and Services > Servers in Farm and verify version number next to each server, it should be 12.0.0.6219. You may check log files to review any errors while installing updates (SP1). Log files can be found at C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS with the name “Upgrade.log”.

25. Go to SPSRVR2 server and click “OK” button to finalize the installation.

26. Go through steps 22-24 for SPSRVR2 server.

27. After you verify that the installation of Service Pack1 was successful for both the servers – SPSRVR1 and SPSRVR2 servers, start Word Wide Web Publishing Services on SPSRVR2 server and then on SPSRVR1 server. Use following batch files,

“C:\ Stop And Start All SharePoint Services\Start SharePoint Services SPSRVR2.bat”

“C:\ Stop And Start All SharePoint Services\Start SharePoint Services SPSRVR1.bat”

28. Verify access to SharePoint application – SharePoint sites. It should be available to all (Intranet).

Note: It would be a good idea to reboot all the SharePoint servers in the farm after installing Service Pack 1 for Microsoft Office SharePoint Server 2007 – MOSS 2007.

Here are the batch files to stop and start all SharePoint services while updating the SharePoint server farm,

1. Stop SharePoint Services SPSRVR1.bat/SPSRVR2.bat:

echo This script will stop all SharePoint and IIS Services. Press any key to continue...

pause

net stop w3svc
net stop "HTTP SSL"
net stop SPAdmin
net stop spsearch (SPSRVR1 server only)
net stop SPTimerv3
net stop SPTrace
net stop oSearch
net stop smtpsvc (SPSRVR1 server only)
net stop msdtc
net stop iisadmin

pause

2. Start SharePoint Services SPSRVR1.bat/SPSRVR2.bat:

echo This script will start all SharePoint and IIS Services. Press any key to continue...

pause

net start w3svc
net start "HTTP SSL"
net start SPAdmin
net start spsearch (SPSRVR1 server only)
net start SPTimerv3
net start SPTrace
net start oSearch
net start smtpsvc (SPSRVR1 server only)
net start msdtc
net start iisadmin

pause

Note: You may stop and start World Wide Web publishing service (w3svc) only while installing Service Pack 1 for your Microsoft Office SharePoint Server 2007 however we decided to stop and start all SharePoint and IIS services.

References:
Download WSS 3.0 SP1 and for description KB Article 936988
Download MOSS 2007 SP1 and for description KB Article 936984
Download WSS 3.0 Post SP1 hot fixes and for description KB Article 941422
Download MOSS 2007 Post SP1 hot fixes (request Microsoft for download) and for description KB Article 942819
More updates – KB Article 956056
More information regarding SharePoint 2007 Post Service Pack 1 hot fixes
Troubleshoot errors that occur when you run the SharePoint Products and Technologies Configuration Wizard
Prompted unexpectedly to restart the computer after you install a 2007 Office service pack or a 2007 Office update

Wednesday, October 8, 2008

Query Server is not responding and SharePoint Search is broken

This post is in reference to my previous post regarding SharePoint Search issue. I have tried to add detailed resolution steps for that issue.

Issue: Query Server does not respond for content index propagation and SharePoint search does not work for searching new contents. It may work for searching old contents.

These steps assume following SharePoint topology:

1. SPSRVR1: Query Server and SharePoint Central Administration Site
2. SPSRVR2: Index Server and Dedicated Web Front End server for crawling
3. SPDB: Database Server – SQL Server 2005

Note: We have heterogeneous environment, where SPSRVR1 and SPSRVR2 have Windows Server 2003 Enterprise Edition with SP1-32 bit (x86) and SPDB has Windows Server 2003 Enterprise Edition with SP1-64 bit. We have installed Microsoft Office SharePoint Server 2007 Standard Edition-32 bit (x86) with SQL Server 2005 Standard Edition with SP1-64 bit.

Create a new folder (e.g. “Applications2”) on SPSRVR1 (Query Server) for content index propagation. There is no need to share it. SharePoint will do it automatically and remove sharing for “Application” folder (original location for content index propagation). It is highly recommended to create a new folder (“Application2”) at the same level as its original folder (“Application”).

Run following command on SPSRVR1 (Query Server)

Note: Do not move existing content index from old location (“Application”) to a new location (“Application2”) manually. In fact, SharePoint does it automatically once you create a new location for content index propagation and run above command

E:\Program Files\Microsoft Office Servers\12.0\Data\Office Server\Applications on SPSRVR1 – Query Server (Currently it is 4.84 GB with the items in index = 1271197)

E:\Program Files\Microsoft Office Servers\12.0\Data\Office Server\Applications on SPSRVR2 – Index Server (Currently it is 12 GB with the items in index = 1271197)

Above command should reinitialize Query Server for Shared Service Provider- SSP in your SharePoint Server farm. Check Search Settings from SharePoint Central Administration site. Index Server should start propagating content index to a new location on Query Server with the message stating “Propagating to new Query Server (Name of the Query Server).

Once “Indexing Status” and “Propagation Status” are idle, you should start “Full Crawl” to crawl the new contents and update the content index which will be propagated to a new location on Query Server automatically.

This should fix your issue and SharePoint search should be working fine for searching new as well as old contents after you finish “Full Crawl”.

Thursday, September 25, 2008

Test Database Connectivity and DOS command to create file of any size

Here are the steps to test database/database server connectivity from any remote computer.

These steps assume that you have deployed small, medium or large SharePoint server farm and you have established Remote Desktop Connection to one of the Front End Web Servers or Application Servers using account which has full database access privileges and you want to test database connectivity.

For example, following screen shots were taken while testing database connectivity from Front End Web Server - "SPWeb"

1. Establish Remote Desktop Connection to "SPWeb" using "domain\SPAdmin" AD account.

Note: AD Account - "domain\SPAdmin" was used for installing MOSS 2007 and it was assigned DBCreator and SecurityAdmin server roles on SQL Server.

2. Create a new text document.

3. Rename and change the file extension of text document to .udl extension (e.g. DBTest.udl).

4. Double click on DBTest.udl. It will take you to "Connection" tab by default.

5. Select "Provider" tab on the top and choose "Microsoft OLE DB Provider for SQL Server" under "Select the data you want to connect to: " and OLE DB Provider(s) menu. Click "Next" button at the bottom.

6. When you hit next button on previous screen ("Provider" tab), it will bring you back to "Connection" tab.

Step 1: Enter the name of the database server to test the database connectivity (e.g. "Database Server")

Step 2: Select "Use Windows NT Integrated security" option. This is because you are testing database connectivity from "SPWeb" Front End Web Server and you are already logged into that server using AD account "domain\SPAdmin" which has full database access privileges.

Now, click "Refresh" button.

7. This will take few seconds (5-20 seconds) and it will load all the database names to pull down menu.

8. You may select one of the SharePoint databases (e.g. SharePoint_Config_DB) and hit "Test Connection" button at the bottom. It should popup window with "Test connection succeeded." message.

Conclusion: I wanted to test database connectivity from Front Web Server - "SPWeb". So I established Remote Desktop Connection to "SPWeb" using AD Account "domain\SPAdmin", which has full database access privileges on all the SharePoint databases. I used "DBTest.udl" file to test connectivity to "SharePoint_Config_DB" database (SharePoint Configuration database) on database server - "Database Server".

This may help verifying database connectivity and if this test fails, you need to troubleshoot database connectivity issues before you start looking in to the SharePoint errors/issues.

DOS command to create file of any size:

fsutil file createnew C:\Brij\One_MB_File.doc 1024000

Above command will create 1 MB file called "One_MB_File.doc" at C:\Brij location.

You can provide any file extension - e.g. .txt, .xls, .ppt, .pdf etc.

This command may help in creating files for upload/download test in SharePoint or any other application.

Thursday, September 18, 2008

Error when you assign workflow to a SharePoint group and its work around

I want to create a simple out of the box “Approval Workflow” and assign it to a SharePoint group. Let’s create approval workflow for “Project Document Library”,

Click “Workflow settings” under “Permissions and Management” menu of document library settings,

Select “Approval” for the workflow template,

I am assigning this workflow to “Workflow Approvers” SharePoint group. As we can see, “Assign a single task to each group entered(Do not expand groups)” checkbox is not selected by default. We will keep this default setting and see what happens,

Click “OK” and add this workflow. Once you add a new document to “Project Document Library” instead of starting workflow it will show you following error,

Also, it will show “Error Occurred” status for Approval Workflow as shown below,

So here is how you can fix this issue. You need to select “Assign a single task to each group entered(Do not expand groups)” checkbox when you assign it to a SharePoint group otherwise it will not start the workflow and result in error.

This will start the approval workflow and update its status accordingly. We can see “In Progress” status and “Approved” status, once the document is approved as shown below,

Tuesday, September 16, 2008

How to check out or check in multiple documents?

I uploaded multiple documents to “Shared Documents” library, which resulted in all the documents “Checked Out”.

Note: All the documents will be checked out when you upload them. This happens only when you have “Require documents to be checked out before they can be edited” is turned on in document library settings as shown below,

Now, I would like to “Check In” all the documents of “Shared Documents” library at the same time – All at once.

Go to Site Actions > Site Settings or Site Actions > Site Settings > Modify All Site Settings,

Click “Content and structure” under “Site Administration” category,

Click Actions > Check In

Enter appropriate Check In comments,

This will check in all the documents as shown below,

Thursday, September 11, 2008

Display concatenated columns in Calendar view and customize pages for adding or editing list items

In this post, I am going to talk about two things:

- How to display more than one columns in SharePoint Calendar view

- How to customize ASPX pages/forms used for adding, editing or displaying list items using SharePoint Designer

So let’s start with how to display concatenated columns in Calendar view. Here is the simple Calendar Month view,

First requirement is, I want to add an additional column for organizer of the event and display title and time instead of just title in Calendar month view. I am going to add “Organizer” column to Calendar by creating a new column and selecting “People or Group” in column type so that I can select organizer of an event from AD users. Also it is set to display name of a person in organizer column.

As shown below, I can select organizer from AD users now,

My second requirement is to display more than one column in Calendar month view. I want to display “Title” and “Time” instead of just “Title”. So create a new column for the Calendar and select “Calculated (calculation based on other columns)” for column type. Next step is to define formula for this column. I have used following formula,

=Title&" | "&TEXT ([Start Time],"HH:MM AM/PM") &"-"&TEXT ([End Time],"HH:MM AM/PM")

Which will convert start time and end time to “Hours: Minutes AM/PM” string and then append it to “Title” of the event.

Finally I need to change column to display in month view of Calendar to “TitleAndTime” as shown below,

That’s it! You are done. Now you can see “Title” and “Time” in month view of Calendar.

Now, let’s see how we can customize ASPX pages (forms) to add, edit or display list items. I will walk you through the steps for customizing “NewForm.aspx” for adding a new event to a Calendar. To start with let’s open that SharePoint site in SharePoint Designer 2007. Once the SharePoint site is opened in SharePoint Designer, Go to the “Lists” and expand “Calendar”, Right click on “NewForm.aspx” and select “New From Existing Page” as shown below,

I would recommend you to save this page with different name at the same location - “Lists > Calendar”. So that “NewForm.aspx” page will remain intact and you will have an option to switch it back to original page in case you mess up this form while customizing it. So I am going to store it as “NewForm2.aspx”

Now we can start customizing “NewForm.aspx” page. The requirement is to keep only Title, Location, Start Time, End Time and Organizer columns and delete the rest. Here are the steps,

Select “PlaceHolderMain (Custom)” and click “Default to Master’s Content”,

Select “Yes” on the confirmation window,

“NewForm2.aspx” will look like this after following above steps,

With “PlaceHolderMain (Custom)” selected, Select “Insert” menu on the top and select “SharePoint Controls > Custom List Form…” as shown below,

Select “Calendar” in list and “Event” in content type. Also, select “New item form (used to add new items to the list)” in type of form to create,

“NewForm2.aspx” form will look like this after following above steps,

Now, we want to select all unwanted columns from this page – “NewForm2.aspx”. Select rows for Description, All Day Event, Recurrence and Workspace fields; Right click it and select Delete > Delete Rows to delete all these rows,

Here is how “NewForm2.aspx” looks like after customizing it as per above requirements,

Finally we want to set this page – “NewForm2.aspx” as default form when somebody adds a new event item to the Calendar. In order to do that, Right click on “Calendar” and select “Properties”,

Select “Supporting Files” tab and change new item form to “NewForm2.aspx” page with the help of “Browse” button,

Save all your changes and you are done!

Go to the Calendar of a SharePoint site and click “New” button to add a new event. You will have “NewForm2.aspx” page opened for adding new items,

Similarly you can customize pages/forms used for editing or displaying list items.