Home

Friday, February 16, 2007

Quick Overview: Installing Microsoft Office SharePoint Server 2007, Single Server

Here is a quick overview of the steps you might take to install Microsoft Office SharePoint Server 2007 in a single server farm environment.

Verify Prerequisites Microsoft Office Server System Requirements

Begin Installation
Set Up Wizard: Product Key, Agree to Terms
Set Up Wizard: Installation Type = Advanced
Set Up Wizard: Server Type = Complete
Installation Complete

Begin Configuration Wizard
Configuration Wizard: Connect to a Server Farm = No, I want to create a new server farm
Configuration Wizard: Database Settings
Configuration Wizard: Configure Security Settings = NTLM
Configuration Wizard: Confirmation
Configuration Wizard Complete

Begin Central Admin
Central Admin > Operations > Services on Server > WSS Search Settings: Set Service Account, Set Content Access Account
Central Admin > Operations > Services on Server: Start MOSS Search Service
Central Admin > Operations > Services on Server > MOSS Search Settings: Query and Indexing:
Check Use this server for indexing content
Check Use this server for serving search queries
Set Farm Search Service Account
Central Admin > Application Management > Create or Extend Web Application: Create a new Web application
Start > Run > CMD: iisreset /noforce
Central Admin > Application Management > Create or configure this farm's shared services: New SSP
Central Admin > Application Management > Manage this Farm's Shared Services > SSP Name: Create a new Web application
Central Admin > Application Management > Manage this Farm's Shared Services > My Site Location: Create a new Web application
Central Admin > Application Management > Manage this Farm's Shared Services: Verify Farm's Shared Services
Central Admin > Application Management > Create Site Collection (Collaboration Portal Template)
Central Admin Complete

Monday, February 12, 2007

How to Create a Filtered Roll-Up of Announcements for SharePoint V3 Home Page

I am constructing a Marketing Portal for a client using Office SharePoint 2007. Besides the home page, the site collection has four top level sites, "Advertising", "Direct Marketing", "Public Relations", and "Team Sites." "Team Sites" contains a number of sub-sites.

The client requested that I place an Announcements web part on each site so that the departments can post their own announcements to their own sites. They also requested that on the home page I display all of the announcements from Advertising, Direct Marketing, and Public Relations....but not to display those announcements that are posted to Team Sites or any of its sub-sites.

I had to think of a way to use out of box functionality to roll up some, but not all of the announcements within the site collection and display them on the home page. Below is an explanation of what I did:

1.
Site Settings > Galleries > Site Content Types Created two content types:


  • Site Collection Announcements Content Type
  • Team Sites Announcements Content Type

2.
Home Page > View All Site Content > Create > Communications > Announcements > Created two webparts:

  • "Template-SiteCollectionAnnouncements" for (Advertising, Direct Marketing, and Public Relations sites)
  • "Template-TeamSiteAnnouncements" (for the Team Sites)
3.
Announcement Web Part > List Settings > Advanced Settings > Content Types > Yes
Enabled management of content types on the lists.



4.
Anouncement Web Part > List Settings > Content Types > I deleted the default "Announcement Content Type" from each list

On "Template-SiteCollectionAnnouncements," I added the content type of "Site Collection Announcements Content Type"

On "Template-TeamSitesAnnouncements," I added the content type of Team Site Announcements Content Type

5.
I saved each Announcement list as a list template: "Template-SiteCollectionAnnouncements" and "Template-TeamSitesAnnouncements."

6.
On each of the sites, Advertising, Direct Marketing, and Public Relations, I created a new web part from the Template-SiteCollectionAnnouncements web part templates. On each of the Team Sites, I created a new web part from Template-TeamSitesAnnouncements. I added the web parts to the respective pages.

7.
To achieve the filtered roll up effect on the home page I added a Content Query Tool Part. I set the web part to show all items from all sites in the site collection where the content type is "Site Collection Announcements Content Type" and the list type is "Announcement."

In conclusion, I was able to achieve the desired results with out of box functionality. If you are using Content Query Tool Part and you are looking for a way to filter the list, consider doing what I did; create custom content types and filter out the content types within the Content Query Tool Part Query screen.

Thursday, February 08, 2007

SharePoint V3 STP's Containing SharePoint Designer Workflows

I finished creating a SharePoint V3 site that contains five custom list web parts and a total of ten SharePoint Designer workflows (each list has two workflows). I was anxious to find out what happens if I create a site template (.STP) from the site and then create a new site from that .STP file. I wanted to see what would happen to the workflow. I wanted to answer these questions:

"What happens when you create an STP from a SharePoint V3 site that has SharePoint Designer workflow?"
"How do I migrate workflows from one Web Application to another?"

Here is what I did:

  • Saved Site as a Template (Site Actions > Site Settings > Save Site as Template)
  • Created Site from Template (Site Actions > Create > Sites and Workspaces > Select Template)
Here is what I observed on the Site:

  • All five custom list web parts were available
  • The custom list columns were intact
  • The default custom list view "all items" was intact
  • The custom list current views showing on the site were only showing the title column (must do Site Actions > Edit Page > Edit Web Part > Modify Shared Web Part > Selected View [View Name] > OK and then the current view of web part is updated properly on the page)
  • After performing an action that would initiate a workflow, the workflow status became “Failed on Start (Retrying)”
Here is what I observed in SharePoint Designer:

  • The workflow definitions were intact (.ASPX, .XOML, .XOML.RULES, .XOML.WFCONFIG.XML)
  • I could open the workflows (File, Open Workflow)
  • The Conditions and Actions were intact
  • When I clicked “Check Workflow”, I got the message “The workflow contains no errors.”
  • When I clicked “Finish”, I didn't get any errors
So, I went back to the site and to the custom list that had “Failed on Start (Retrying)” message. I tried a second time to initiate the workflow. This time I watched the status go from “In Progress” to “Completed.” The workflow is one that produces an ID number on a list item and the ID number was present upon completion of workflow, so I know this workflow was working.

One by one I opened each workflow in SharePoint Designer and clicked “Finish.” Then I tested all ten workflows and they worked fine.

In summary, if you create a site template (.STP) from an existing site that contains SharePoint Designer workflows, then after you create a new site from that .STP file, you should expect the following clean up tasks:


  • Refresh the current view of all web parts that have workflow: Site > Site Actions > Edit Page > Edit Web Part > Modify Shared Web Part > Selected View [All Items] > OK
  • Refresh the workflows in SharePoint Designer: SharePoint Designer > File > Open Workflow > Finish

Wednesday, February 07, 2007

Resetting SharePoint Designer's Layout

As I was working with a SharePoint worfklow I accidentally closed a task pane and minimized another. SharePoint Designer suddenly looked foreign. Luckily there is a quick fix for this. If you ever want to reset SharePoint Designer back to the way it looked when you opened it for the first time, just click on Task Panes > Reset Workspace Layout.

Tuesday, February 06, 2007

Backup Script For Office SharePoint Server 2007

Create Backups Directory
Create a backup directory for storing the scheduled SharePoint backups (e.g. c:\backupsharepoint)

Create Bat File Directory
Create a directory for storing the backup script file (e.g. c:\scriptssharepoint)

Create Bat File
Create a bat file using the code below, modified for your environment. Use UNC paths when using in a server farm environment.

@echo off
echo ====================================================
echo Backup Script For Office SharePoint Server 2007
echo ====================================================
cd \program files\common files\microsoft shared\web server extensions\12\bin

@echo off
stsadm.exe -o backup -url http://servername -filename c:\backupssharepoint\backupsharepoint.dat -overwrite
@echo off
echo completed


Schedule bat file
Schedule the backup to run frequently, during off peak hours.

Open Start > Programs > Accessories > System Tools > Scheduled Tasks
Add a Scheduled Task

Scheduled Task Welcome Screen, Click Next
Click the program you want Windows to run, Click Browse
Select the backupsharepoint.bat file you created (e.g. c:\scriptssharepoint\backupsharepoint.bat)
Name the task, Schedule it (e.g. Daily)
Start Time, Frequency, Start Date
Username and Password (use a domain user account that has proper permissions and non expiring password )
Finish


Verify Backups
Keep the backup directory secure. Monitor the job to ensure the job is running properly. Perform test restores from the backup files.

Friday, February 02, 2007

Behaviors of Site Columns of the type Choice

I created a site column in Central Admin. Then I added the site column to a custom list. I was able to modify the choice options of the site column instance. This can be a good thing but not sure if it defeats the purpose of a site column. I found that if I want to reset the local instance back to the values of the main site column definition, then I can go back to Central Admin and update the site column, and the updates will override the modified instance that I had created in my list.

Copying a SharePoint Designer workflow

I am working on a SharePoint site that has multiple custom lists. Each list will have a SharePoint Designer workflow attached to it. The workflows are very similar to eachother. Each workflow is several branches long so it takes quite a bit of clicking to set one up.

I figured after I was done with the first workflow I would copy it, paste it, rename it, and point it to the second list, then change workflow conditions and actions accordingly. However, when I opened the workflow copy I discovered that the custom list assignment had become greyed-out and I am unable to point it to a different list.

This has got me wondering why Designer locks down the list name and if there is a way to work around this manually.

Error occurred on custom list, referring to a SharePoint Designer workflow

SharePoint Designer workflow doesn't clean up after itself very well. Here is an example.

Create list and add it to a SharePoint V3 page. Open SharePoint Designer and add a workflow to the list. SharePoint will add the workflow status to the current list view. This tells you the current state of the workflow.

Now that the workflow is created and the status of the workflow is visible on the custom list current view, go ahead and delete the workflow from SharePoint Designer. Next, go back to the custom list and perform an action that would have kicked off that work flow. You will see "error occurred" on the custom list current view when you do this even though the workflow no longer exists.

To fix this you have to modify the list view, remove the workflow status from the list view, then on the page where you are displaying the web part, modify web part and update view, refresh the screen. Doing this will remove the orphaned workflow status from the list view and it will also remove this orphaned workflow status option from the edit view screen.

Tuesday, January 30, 2007

Microsoft Office SharePoint Server 2007: Cannot connect to the configuration database

You receive a "Cannot connect to the configuration database" error message when you connect to your Windows SharePoint Services Web site. For troubleshooting this issue, refer to Microsoft KB Article 823287 .

This article covers the most common causes that would occur in a real environment. I want to add that I received this error in a virtual pc environment when I accidentally allocated 128MB to the vpc instead of the 1024 I intended. At 128MB the SharePoint server choked and sql didn't start properly and it resulted in this message. After recreating the vmc using 1024MB memory, then I was able to open the site with no problems.

Friday, January 26, 2007

MOSS 2007: The backup/restore failed because there is already another job scheduled.

If you run a backup/restore job from SharePoint V3 Central Admin and the job fails, then it may leave a job timer in the Jobs Definition page. You need to delete this timer before you can run the backup/restore utility successfully. If you don't delete the timer job then you may receive this error:

"The backup/restore failed because there is already another job scheduled. Delete the timer job from the Timer Jobs Definition page, and then restart the backup/restore job. "



In Central Admin > Operations > Global Configuration, click on Timer job definitions.



Click the timer job with the title of "backup/restore."
Delete the timer job.


Now you should be able to run the backup/restore from Central Admin.



Wednesday, January 24, 2007

Microsoft Office SharePoint Designer (Contributor Mode)

Ever find your SharePoint Designer in Contributor Mode?
Here is how to turn it off: Site > Contributor Settings > Disable Contributor Settings

Wednesday, January 10, 2007

File Naming Convention

I got in the habit of naming files a certain way so that I could archive them and not have to worry about categorizing them into the correct folders. If I need to find something I can sort and scroll or use desktop search to find it.

First thing about the naming convention, I don't put any spaces in the name. Second, I prefix the file name with the date e.g. YYYYMMDDFileName. If the day or month is a single digit number then I put a 0 in front of it so that the prefix is always the same length e.g. 20070110. Since files travel from system to system, this naming convention ensures that the created date won't be lost. It allows the files to be sorted by date. Thirdly, it provides a versioning mechanism because when you save the file again tomorrow the date is different.

If the document is a certain type such as note, template, invoice, quote, etc., then I put the type right after the date. E.g. 20070110InvoiceVendorName. This way when I sort I can find all of the same type on the same day.

Finally, I put the most unique part of the name at the end. E.g. 20070110InvoiceMicrosoft.

The name might look funny, but it works. And, when storing the files in a SharePoint environment you can always display the friendly title of the document on the document library view instead of the actual file name.

Tuesday, January 09, 2007

Software Solution Project Planning

I like to use the following six project phases when creating an software solution project plan. I always start with these phases at the top level, then indent detailed tasks and subtasks beneath each respective phase.

Discovery
Assessment
Design
Construction
Validation
Rollout

These project phases can be applied to projects small and large. It works for new projects or add-ons to existing projects. One pattern that occurs is that the series of phases will cylce. For example, perhaps you implemented a line of business web application. Over the course of time, the requirements change and enhancements are requested. You are naturally led back into the discovery phase where you begin the cycle again. You define what enhancements are needed, you design a solution, you build it, test it, and roll it out.

SharePoint V3 brings makes project charting more realistic for small projects. Previously, creating a project plan could take as long as a small project. However, with the project-lite features and a little bit of templating on your part to reuse previous efforts, its quick to set up the plan and execute. Doing this can help you and anybody else who has an interest in what you are doing.

Monday, January 01, 2007

SharePoint V3: Workaround for creating a unique id for list items and documents

SharePoint V3 does not provide a good way to uniquely id list items and/or documents. However, the SharePoint Designer workflow capabilities can be used to configure a workaround.
One way to ensure a unique id is to create the id number based on current date and time, down to the precision of a second. This method won't provide a sequential id number for items in a list or document library, but in many real life scenarios as long as the id number is unique, it will suffice.
SharePoint offers a calculation field type for lists and document libraries. This is great for performing the calculation of the id number. However, you do not want to store the id number in this type of field because it is dynamic and the value it generates will change based upon the system. What I mean is, if you generate a unique id off of the created field, then some how the created date is changed, the value of your calculation will be compromised. This happens if you move item from one web part to another. So, instead, it is best to store the id number in a text field where it is safe.
SharePoint V2 didn't allow you to copy a value from a calc field to a text field, but, V3 offers workflow and it allows you to do this.
In this example, I will demonstrate how to generate a unique id for custom list items. The result is a unique id (although not sequential) that is stored in a single line text field.

1. Create a site in the portal to contain the demo custom list
2. Create a custom list with the following fields

  • Title (single line text)
  • Notes (mulitple line text)
  • ItemIDText (single line text)
  • ItemIDCalc (calculated, single line of text)
3. Set the ItemIDCalc field to this regular expression:
=MID(YEAR([Created]),1,4)&IF(LEN(MONTH([Created]))=1,"0"&MID(MONTH([Created]),1,1),IF(LEN(MONTH([Created]))>1,MID(MONTH([Created]),1,2)))&IF(LEN(DAY([Created]))=1,"0"&MID(DAY([Created]),1,1),IF(LEN(DAY([Created]))>1,MID(DAY([Created]),1,2)))&IF(LEN(HOUR([Created]))=1,"0"&MID(HOUR([Created]),1,1),IF(LEN(HOUR([Created]))>1,MID(HOUR([Created]),1,2)))&IF(LEN(MINUTE([Created]))=1,"0"&MID(MINUTE([Created]),1,1),IF(LEN(MINUTE([Created]))>1,MID(MINUTE([Created]),1,2)))&IF(LEN(SECOND([Created]))=1,"0"&MID(SECOND([Created]),1,1),IF(LEN(SECOND([Created]))>1,MID(SECOND([Created]),1,2)))

4. Create a view for the list displaying all of the fields

5. Using Sharepoint Designer, open the site

6. File, New, Workflow

7.
Name the workflow as "ItemID Workflow"
Set the workflow to start automatically when item is created or manually
Click Next

8.
In Step 1 of workflow:
Set the condition as If Created equals ListName: Created
Set the action as Update item in ListName
Field = ItemIDText
Value = ListName: ItemIDCalc
Click Finish

9.
Add a new item to the list. Populate the Title and Notes field. Click ok. You will see that the item is created and that the ItemIDCalc field and ItemIDText Field automatically populate with a unique item id.

Monday, November 27, 2006

Microsoft Office Sharepoint Server 2007 (Beta)Setup ErrorsSetup is unable to proceed due to the following error(s):This product requires Windows Workf

When installing MOSS 2007 Beta2 on an SPS2003 environment during an upgrade attempt, I received the following error:

------------
Microsoft Office Sharepoint Server 2007 (Beta)Setup ErrorsSetup is unable to proceed due to the following error(s):This product requires Windows Workflow Foundation Beta 2 (Build 3.0.3807.7 or later).Please refer to this readme file for instructions to obtain these pre-requisites. Correct the issue(s) listed above and re-run setup.

-------------

My action steps were as follows:

1. Remove .NET 3.0 framework using the Pre-released Microsoft .NET Framework 3.0 Uninstall Tool

http://www.microsoft.com/downloads/details.aspx?familyid=AAE7FC63-D405-4E13-909F-E85AA9E66146&displaylang=en

2. Install Windows Workflow Foundation Runtime Components Beta 2_2(EN) for x86.exe

https://www.microsoft.com/downloads/details.aspx?familyid=5C080096-F3A0-4CE4-8830-1489D0215877&displaylang=en

After I completed these steps I was able to install MOSS 2007 Beta 2.

Saturday, November 25, 2006

The Value of Having a Separate "Admin" Portal

Sharepoint portal deployments can be complicated to manage. They can include several customizations that make restores, upgrades, and day to day maintenance more difficult to perform.

Think about all of the data that is necessary to maintain in order to effectively manage Sharepoint.

Contact information
Invoices, subscription information
License compliance reports
Hardware (make, model, sn, RAID, tech support information)
IP addresses
Port numbers
SSL certficates
Users, passwords
Portal area security hierarchies
Group memberships
Service identities
IIS host headers
IIS app pool identities
Area/site templates
Unghosted pages
Branding, modifications to OWS.css, Menu.css, SPS.css, ..OWSPERS.css, OWSmac.css, OWSnocr.css, Paystub.css
Custom image files
Custom animation files (swf files)
Third party add-ons
Custom web parts (dwp files, assembly files, aspx files)
Custom javascript e.g. custom_owj.js
Data view, custom data sources to line of business databases
Custom security, site groups, ad groups, audiences, web part
Connected web parts
Dependency information
Datasources pointing to Sharepoint content db
Linked servers
Instruction documents
Backup and restore procedure
Support procedures
Log files
Code templates
Branding templates
Answers
Notes

One solution I have found to be very helpful is to deploy a separate Sharepoint portal with the sole purpose of maintaining administrative information. I like to keep it vanilla so that I can quickly restore it independently from the main portal(s). I find that it is really easy to lock down the portal when you are only going to allow administrators to access it.

Tuesday, November 21, 2006

SQL Server 2005 install error 70233

While I was installing the SQL Server 2005 Prerequisites I came accross this error:

"Errors occurred during the installation: Beta Components Detected. Error 70233 installing .NET Framework 2.0."

After running the utility provided by the link below, the installation was able to successfully continue http://go.microsoft.com/fwlink/?LinkID=47598

Blog Archive

Followers