I know, Sharepoint 2007 is pretty old. However, this week a client wanted FBA for his WSS 3 environment, so no problemo for the Sharepoint pro. I haven’t done a FBA config for Sharepoint 2007 before, so I did a bit of googling and couldn’t find a very explaining article that covers the whole configuration. There were a few handy sites, including the MSDN, which helped me out getting what I needed.

Further on it will be explained in detail, but here is a summary already:

  • ASP.NET membership database (aspnet_regsql.exe)
  • Extended web application with zone internet
  • Edit web.config of the default web application and the extended web application
  • Install http://fba.codeplex.com/ wsp

Install ASP.NET membership database

Run the tool aspnet_regsql.exe at C:WindowsMicrosoft.NETFrameworkv2.0.50727

Choose the option to configure SQL Server for application services.

Choose the name of the database server in the server field. Choose Windows authentication and type a database name in the Database dropdown field. In this case we creat a database with the name fbadb.

Click next and Finish to complete the creation of the membership database.

Set the right SQL permissions

Because we wan´t to use integrated security with the connection we need to give the application pool identity the appropriate permissions on the membership database. First of all we need to know what the application pool identity is. For that you can go to the IIS Manager and select the Sharepoint site.

Click Advanced Settings… and note the Application Pool

Then click on Application Pools and select the noted application pool

Click Advanced Settings … and note the identity, in our case this is the Network Service

Now, go to SQL management studio and give that user the db_owner permissions on the FBA database we just created.

Extended web application with zone internet

Open Central Administration. Go to Create or extend web application in Application Management and click Extend an existing web application. In web application select the web application you wish to create FBA for.

However we are extending a web application, we need to create a new IIS web site so leave that option on.
I want to  create a subsite for the FBA authentication, so I did set the port back to port 80 and set the host header to extranet.mydomain.com

Allow anonymous authentication and here you can also choose to use SSL or not. I choose not to use SSL. The last thing to do is to set the zone to Internet.

You can go to the url of the extended web application to check if the configuration works.

Last thing to do is to enable FBA on the extended web application. Go back to Central Administration and then click Authentication providers under Application Security. Then click on the Internet zone.

In this screen select the Forms authentication type. Two new fields appear: Membership provider name and Role manager name. This are the names of the membership and role provider we are going to configure in the next step. I’m using FBA for Membership provider name and FBARole for the role manager name.

Click Save and all central admin settings are set.

Edit web.config of the default web application and the extended web application

Next thing to do is to add a few items to the web.config of the web application and the extended web application:

  • Peoplepicker wilcard for FBA
  • Connectionstring for the FBA Database
  • Membership provider for FBA Users
  • Role manager for FBA Roles

Go to the web.config of the web application (not the extended web application) and search for the </sharepoint> closing tag and the <system.web> starting tag; they should be next to eachother.

Just above </SharePoint> you find the following piece of code:

<PeoplePickerWildcards>      
  <clear />      
  <add key="AspNetSqlMembershipProvider" value="%" />      
</PeoplePickerWildcards>
replace this with the next code:
<PeoplePickerWildcards>      
  <clear />      
  <add key="AspNetSqlMembershipProvider" value="%" />      
  <add key="FBA" value="%" />    
</PeoplePickerWildcards>

Now add a new ConnectionString section between the </sharepoint> and <system.web> tags:

<connectionStrings>    
  <add name="fbaSQL" connectionString="server=localhost;database=fbadb;Trusted_Connection=true" />  
</connectionStrings>

Because I run the database and Sharepoint on the same server I’m using localhost. If you are using a different database server you need to replace localhost with the database server name or ip here, pretty obvious.

Last thing to do is to add a membership and role section in the <system.web> tag. Add the following piece of code just below <system.web> and above <securityPolicy>:

<membership defaultProvider="FBA">      
  <providers>        
    <add connectionStringName="fbaSQL" applicationName="/" name="FBA" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"            
      enablePasswordRetrieval="false"            
      enablePasswordReset="true"            
      requiresQuestionAndAnswer="false"            
      requiresUniqueEmail="true"            
      minRequiredPasswordLength="5"            
      minRequiredNonalphanumericCharacters="0"            
      passwordFormat="Hashed" />      
  </providers>    
</membership>    
<roleManager enabled="true" defaultProvider="FBARole">      
  <providers>        
    <add connectionStringName="fbaSQL" applicationName="/" name="FBARole" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>      
  </providers>    
</roleManager>

This web.config is done. Now do the same for the web.config of the extended web application.

Install http://fba.codeplex.com/ wsp

Download FBAManagement.wsp and Deploy.cmd from http://fba.codeplex.com/releases/view/2986 and save both files into the same folder. We need to edit some values in the Deploy.cmd so once downloaded go to the folder and rightclick Deploy.cmd and click edit. Now replace both http://aspnet with http://<yoursharepointsite>. Also remove the bin from “stsadm -o addsolution -filename binFBAManagement.wsp” so it reads only “stsadm -o addsolution -filename FBAManagement.wsp”. The code should look like this:

@echo Deploying FBAManagement solution

@set PATH=C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12BIN;%PATH%

stsadm -o deactivatefeature -name FBAUserRoleManagement -url http://mysharepoint -force
stsadm -o deactivatefeature -name FBAConfigurationManagement -force

stsadm -o retractsolution -name FBAManagement.wsp -immediate
stsadm -o execadmsvcjobs
stsadm -o deletesolution -name FBAManagement.wsp -override
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename FBAManagement.wsp
stsadm -o execadmsvcjobs

stsadm -o deploysolution -name FBAManagement.wsp -immediate -allowgacdeployment
stsadm -o execadmsvcjobs

stsadm -o activatefeature -name FBAConfigurationManagement
stsadm -o activatefeature -name FBAUserRoleManagement -url http://mysharepoint
stsadm -o execadmsvcjobs

Save the file and execute it as administrator. Don’t be scared with the file not found and solution not found messages for the first few lines, because thats entirely normal.

Result

All configuration is done. Go to the site settings of the sitecollection. Under site collection administration you find two new links. With Manage FBA Users you can add and edit users and with Manage FBA Roles you can add and edit roles, which is pretty straightforward.

To test FBA you can add a user and give the user some permissions by adding it to the Team Site Members group. Now, login with the user on the extended web application and see the result.

This post explains how to create a new master page with a custom stylesheet and some custom images. We do this with the following steps:

  • Install  master page picker
  • Create a new master page
  • Create a stylesheet
  • Create an images folder
  • Prepare master page
  • Edit master page
  • Deploy master page

Install master page picker
First we need a feature that is going to deploy our new master page to the sitecollections. Because the Foundation version doesn’t have a master page selector, I used this fantastic very-easy-to-install feature:

http://blog.thedesigndrifter.com/?p=1112

It also enables us to change the master page from within the sitecollection properties.

Create new master page
The next thing to do is to copy the existing master page.

From within Sharepoint Designer you can go to the Master Pages section and copy the v4.master in the same folder and rename it to whatever you want. I generally choose the clients name.

Tip! In the folder you also find a default.master and a minimal.master file. The default.master is the old 2007 master page. The minimal.master is a master page with only the base controls, no layout whatsoever. I always use a copy of the v4 master page and not the minimalistic one, because it’s more efficient to tweak the existing master page instead of creating a new one based on the minimal.master.

Create stylesheet
We also want to apply our own custom stylesheet to the masterpage so let’s create a stylesheet.

Go to the folder Common FilesMicrosoft SharedWeb Server Extensions14TEMPLATELAYOUTS1033STYLESThemable and create an empty mystyle.css file.

Create an images folder
Now create a new folder inside the Common FilesMicrosoft SharedWeb Server Extensions14TEMPLATEIMAGES named myimages.

Tip! We create a new folder to keep our images separated so they won´t be mixed up with the ones that come with Sharepoint. Another reason is that future editing would be easier because our images are easier to find, naturally.


Prepare master page
We are going to prepare our master page to use our custom stylesheet.

Go to Sharepoint Designer and open the edit view for the mymaster.master and click the code view. Now insert the line

<sharepoint:CSSRegistration Name="/_layouts/1033/Styles/Themable/mystyle.css" After="corev4.css" runat="server"/>

just before the </head> tag. Then save the file and accept the warning for the customized page. The After=”corev4.css” ensures that the style elements in our custom stylesheet override the default css.

Edit master page
In this example I’m going to change the color of the selected ribbon header from it’s dark grey to a solid blue color. Now browse to the sharepoint page and check the html source to find out which class is being used by the selected ribbon header. In my example the class for the header of the selected ribbon is .ms-cui-tts > .ms-cui-tt-s > .ms-cui-tt-a > .ms-cui-tt-span (do you wanna know how to find these style classes easily? Check the next tip). Now we go to our mystyle.css and create this class here and give it our blue color style.

.ms-cui-tts > .ms-cui-tt-s > .ms-cui-tt-a > .ms-cui-tt-span {
    color: #0069b0;
}

Save the CSS file.

Tip! I highly recommend the usage of developer tools for your browser. I always use Google Chrome with the built-in developer tools. They are very accurate and easy to use. In Chrome, rightclick the item you wish to know the style from and click Inspect element. At the right side of the window you find matched CSS Rules. You can copy a CSS rule and paste it in your mystyle.css and tweak it the way you want it.

Deploy master page
Now we wan’t to test our new master page. Before we can do that we need to select it with the master page picker we installed in the first step.

Go to your sitecollection  settings and go to the Master Page Picker which can be found under the Look and Feel category. Our new master page will be displayed in the list, select it and click ok to apply our new master page to the sitecollection.

Now go to the site and check our result. The selected ribbon header text color is now blue, thumbs up!

Images
When you use images in your stylesheet or master page then put the image in the myimages folder and reference it with the following url

/_layouts/images/myimages/.png

Get classnames for hover items
Tip! It may be difficult to find the hover style of some elements. In Google Chrome you can do this by rightclicking the item and leave your cursor where it is and browse the menu with up and down keys on the keyboard, then select Inspect element and press enter. At the rightside of the window you now find the classnames for the hover of the item.

UPDATE:

Some readers ran into  an error when using their new master page. The error reads The expression prefix ‘SPUrl’ was not recognized. Please correct the prefix or register the prefix in the section of configuration. This is because SharePoint Foundation doesn’t support the SPUrl prefix out of the box.

There problem is with this line of code in the master page:
<sharepoint:CSSRegistration
Name="<% $SPUrl:~sitecollection/_layouts/1033/Styles/Themable/mystyle.css %>"
After="corev4.css" runat="server"/>

A simple solution is to just simplify the code to this
<sharepoint:CSSRegistration
Name="/_layouts/1033/Styles/Themable/mystyle.css"
After="corev4.css" runat="server"/>

A more time-consuming but maybe better way is this: http://buyevich.blogspot.com/2010/10/spurl-for-wss-30-or-sharepoint.html

ANOTHER UPDATE:

If you want your master page to automatically get applied with every new site you create, please read this post:

http://jeffreypaarhuis.wordpress.com/2011/10/21/your-master-page-automatically-on-newly-created-subsites/

I have done a few years of sharepoint developing now. When I began to write small webparts in Sharepoint I was very enthusiastic about the features of the Sharepoint framework and thought it was as easy and solid as writing ASP.NET. Now I know better, developing Sharepoint masterpages, webparts, workflows, etc. is not all beer and skitties. Also when you haven’t encountered any troubles yet, you will get to it! So don’t waste your effort on developing the wrong way.

Here are some points of what I consider “Sharepoint 2007 developing and designing: Best practices”

Developing

  • Sharepoint Designer is crap. It´s instable and unfinished. So, try to avoid it where possible. Try to use Visual Studio instead.
  • Use Microsofts Visual Studio extensions for WSS. Always use the latest version: CTP, Beta or RC? It all did work for me, so just use it. Here’s a link to the latest version: http://www.microsoft.com/downloads/details.aspx?familyid=FB9D4B85-DA2A-432E-91FB-D505199C49F6&displaylang=en
  • Always use embedded resources, never copy your images, css or javascripts to a folder in the 12 hive. An article on how to use embedded resources can be found here: http://aspalliance.com/726
  • Important! Before developing get you’re Functional Requirements straightened out. It is very important to know if you are going to create an application that is going to be updated (frequently) AND/OR needs to work in other environments, for example an ASP.NET environment AND/OR if it needs to be compatible with other/future versions of sharepoint. If it does, and the most cases will be, then mind the following points
    • Try to use the Sharepoint controls in the Microsoft.SharePoint.WebControls namespace as less as possible. Some controls contain some bugs and off course this way you can easily use the same application in an ASP.NET webpage or implement it in another version of Sharepoint.
    • Create a tiered application. Create for every tier a new project. Create a SharepointData project which handles all data between your project and sharepoint, like users, groups, properties, lists, libraries
    • Try to avoid the use of the IWebEditable interface and the EditorPart class. Handle configurations in a second webpart where only an admin can touch it.

Designing (Master pages)

  • Again. SharePoint Designer is crap, but with designing a master page we cannot evade the piece of beta-software Microsoft has shipped with SharePoint. So, good luck with the frustrations.
  • A disadvantage of Sharepoint is that you cannot deploy a masterpage centralized, you have to do a copy-paste job to create the same look on all sites. Fortunately I have a feature for globally deploying masterpages. In a few steps you can build your own feature, it’s very easy. Here is the article: http://www.dontpapanic.com/blog/?p=36
  • WARNING! NEVER EVER overwrite the default masterpage located at 12TEMPLATEGLOBAL but use it only to copy, it would be wise to make a backup of it.
  • I discourage the use of a minimalistic masterpage.  Use the default sharepoint masterpage located at <%System Drive%>Program FilesCommon FilesMicrosoft SharedWeb Server Extensions12TEMPLATEGLOBAL as you’re base masterpage. Generally implementing a new design will take less effort when tweaking the default masterpage, than creating a new one based on a minimalistic base masterpage.

These are the important points that have been in my head for a while, finally they got stored in HTML and are they readable for others. Did I miss something or do you have any tips yourself? I ‘ll be glad to know.

Sharepoint Hotfixes

June 23rd, 2009 | Posted by Jeffrey Paarhuis in Good to know - (0 Comments)

At http://mastermoss.wordpress.com I got this very handy list of hotfixes to common sharepoint issues.

MOSS – Potential memory leak within our LDAP security provider when using Forms Authentication.http://support.microsoft.com/kb/939599

WSS – Invalid link sent in InfoPath12 Form Server workflow email. http://support.microsoft.com/kb/939592

WSS – Tool to rename domain named site (Office Live). http://support.microsoft.com/kb/939535

SEARCH – Search does not return files with a space in the filename. The filename property is stored with an encoded %20 instead of a space. http://support.microsoft.com/kb/939592

MOSS – User Profile doesn’t get updated from AD. http://support.microsoft.com/kb/939592

SEARCH – Managed Property created through OM are being recreated when search crawl happens (full or incremental) (MSAP).http://support.microsoft.com/kb/939654

WSS – Response.End() after blob streaming causing performance impact on x64 platform. http://support.microsoft.com/kb/939077

SEARCH – Duplicate Best Bets should not be allowed (MSIT). http://support.microsoft.com/kb/939077

WSS – Content deployment – The file ‘XXXX’ is not checked out… (DHS). http://support.microsoft.com/kb/939188

WSS – CDCR:Tool request to automate site collection repartitions (Office Live). http://support.microsoft.com/kb/939035

WSS – NAME.DLL wrong versioning causes crash in IE in OWSSUPP.DLL. http://support.microsoft.com/kb/938888

WSS – Special character encoding problem during content deployment in combination with variations.http://support.microsoft.com/kb/938536

SEARCH – Modified date in search result is shown as yesterday/tomorrow date. http://support.microsoft.com/kb/938537

SEARCH – “View by Modified Date” does not work fine after Incremental Crawl. http://support.microsoft.com/kb/938536

WSS – One-Time timer jobs cause 2 hour delay in backup and restore when DST in effect. http://support.microsoft.com/kb/938663

MOSS – The kpi creation succeeds and shows kpi with green status if the cell has ‘#NAME?’ because of incorrect formula calculation.http://support.microsoft.com/kb/938182

WSS – Attachment for item in content approval enabled List disappears after edited. http://support.microsoft.com/kb/938183

WSS – Unable to use ‘e-mail as a link’ feature in WSS 3.0. http://support.microsoft.com/kb/938241

SEARCH – Cannot search for anything beyond the first slide of a PowerPoint (ppt) presentation.http://support.microsoft.com/kb/937901

SEARCH – Search does not index or return results when DB Status is set offline. http://support.microsoft.com/kb/938569

WSS – DocLib with > 1000 folders with unique permissions causes error in sitedata webservice.http://support.microsoft.com/kb/937901

WSS – Groups on a higher site level will be deleted when subsite was created by an own template and deleted later.http://support.microsoft.com/kb/937901

WSS – Cannot delete a field of type “Computed” from the document library. http://support.microsoft.com/kb/937901

SEARCH – Define a scope when using the AdvancedSearchWebPart for entering the parameters and the CoreResultsWebPart to execute the search and display the results. http://support.microsoft.com/kb/938568WSS – Track Passport users by their PUID(Office Live). http://support.microsoft.com/kb/937498

WSS – CDCR:Request for external blob storage API (Office Live). http://support.microsoft.com/kb/938499

WSS – Non-RFC compliant extra ‘:’ in initial Workflow email causes mail to be interpreted as TEXT on non-Exchange systems.http://support.microsoft.com/kb/937906

MOSS – Users unable to create MySite. http://support.microsoft.com/kb/937207

SEARCH – Unable to search content of protected charts in Excel. http://support.microsoft.com/kb/937203

WSS – Check the canary header in addition to the form body (Office Live). http://support.microsoft.com/kb/937203

SEARCH – Lists with a null description are not returned when order determined by description field.http://support.microsoft.com/kb/937775

SEARCH – The Notes URL could not be converted in from http:// to notes:// even it is defined in the Server Name Mappings.http://support.microsoft.com/kb/937203

SEARCH – Browser Back button in “Advanced Search” hides search criteria in use (also for the following searches).http://support.microsoft.com/kb/936877

SEARCH – The word breaker for Traditional Chinese Names in the CHT version of MOSS is not Correct.http://support.microsoft.com/kb/937039

SEARCH – Override DB level permissions by using Readers Fields at the document level. http://support.microsoft.com/kb/936877

WSS – Need tool to clean up problem sites caused by the inheriting permissions bug OfficeQFE:18616.http://support.microsoft.com/kb/935958

SEARCH – Lag time when starting a crawl increases based on number of documents in system.http://support.microsoft.com/kb/936867

WSS – Documents do not maintain ‘modified by’ user information after export/import operation using stsadm.exe.http://support.microsoft.com/kb/936867

WSS – Inheriting permission causes destructive error : User can never access to the site collection.http://support.microsoft.com/kb/937038

WSS – In AD creation mode, Create User sends email even though check box is unchecked.http://support.microsoft.com/kb/936867

WSS – Web Part page Relative URL path is broken and result in “File Not found” unexpectedly.http://support.microsoft.com/kb/936867

SEARCH – Search queries intermittently timeout. http://support.microsoft.com/kb/936867

WSS – Forefront virus scanner generates error causing document upload to fail. http://support.microsoft.com/kb/936867

WSS – Removing user from site collection causes content deployment to fail. http://support.microsoft.com/kb/936867

SEARCH – Sites that require forms-based authentication or cookie-based authentication are not crawled in SharePoint Server 2007.http://support.microsoft.com/kb/934577

SEARCH – The starting of master merge failed on the AnchorProject and left the indexes marked as being already involved in merge. Subsequent merges do not start. http://support.microsoft.com/kb/936877

MOSS – You receive the following error message when you search for a GUID in SharePoint Server 2007: An error occurred while retrieving data from AdventureWorksInstanceBad. Administrators, see the server log for more information.http://support.microsoft.com/kb/934793

SEARCH – SharePoint Server 2007 cannot index a Microsoft Exchange public folder.http://support.microsoft.com/kb/934793

WSS – Issues that may occur when you use the volume shadow copy service (VSS) reference writer in Windows SharePoint Services 3.0http://support.microsoft.com/kb/935605

SEARCH – If you set the Hint property of a Full Text Query object to OptimizeWithFullTextIndex and then query the computer that is running Windows SharePoint Services 3.0, the order of the results is sorted incorrectly.http://support.microsoft.com/kb/934790

WSS – Error message when you try to install a feature in Windows SharePoint Services 3.0: “The ‘UserSelectionMode’ attribute is not allowed.http://support.microsoft.com/kb/934613

WSS – When you run a program that uses the SPWorkflowManager.ForceDehydrateHttpContextWorkflows() event to work with files that are saved in a Windows SharePoint Services 3.0 document library, the expected Web page is not displayed. Additionally, you receive the following error message: Service Unavailablehttp://support.microsoft.com/kb/934790

WSS – When you upload a file to multiple Windows SharePoint Services 3.0 document libraries, an alert creation e-mail message is sent from the document libraries as expected. However, an alert notification e-mail message is sent from only one document library. You would expect an alert notification e-mail message to be sent from all the document libraries to which you uploaded the file.http://support.microsoft.com/kb/934790

WSS – When you use the ItemAdding event to add a new file to a Windows SharePoint Services 3.0 document library, the path of the document library folder cannot be found.http://support.microsoft.com/kb/934790

WSS – A file that is attached to an e-mail message is not put in a Windows SharePoint Services 3.0 document libraryhttp://support.microsoft.com/kb/934882

SEARCH – You browse a Windows SharePoint Services 3.0 Web site that contains different language subwebs. When you search one language subweb for an item that does not exist, you receive an error message as expected in that language subweb. However, when you search for an item that does not exist in a different language subweb, you unexpectedly receive an error message in the first language subweb that you searched.http://support.microsoft.com/kb/934790

WSS – You run an SQL query to change the properties for a user that you created on a Windows SharePoint Services 3.0 Web site. When you run the PeoplePicker tool to search for a user, the original user is unexpectedly found. You would expect the PeoplePicker tool to use the changes that you made to the user’s properties when it searches for a user.http://support.microsoft.com/kb/934790

WSS – You add two List Web Parts to a page of a Windows SharePoint Services 3.0 Web site. The second List Web Part is connected to receive data from the first List Web Part. When you click the option button for an item in the first List Web Part, only that list item appears in the second List Web Part as expected. However, if you sort the results of the first List Web Part and then click the option button for a different item in the list, all list items unexpectedly appear in the second List Web Part.http://support.microsoft.com/kb/934790

WSS – The Web File Properties dialog box displays incorrect properties for a document that is saved in a Windows SharePoint Services 3.0 document libraryhttp://support.microsoft.com/kb/934253

WSS – A default column value is saved to a document regardless of the content type of the document in a Windows SharePoint Services 3.0 document libraryhttp://support.microsoft.com/kb/932922

SEARCH – No results are returned in the search results when you search for people by site membership in SharePoint Server 2007http://support.microsoft.com/kb/935196

WSS – E-mail alerts do not work when the server that is running Windows SharePoint Services uses port translation.http://support.microsoft.com/kb/933818

SEARCH – You cannot search Microsoft Excel workbooks in a Windows SharePoint Services document library.http://support.microsoft.com/kb/933818

SEARCH – Users receive search error messages and event ID 10038 error messages are logged in the Application log on Web front-end servershttp://support.microsoft.com/kb/933819

SEARCH – No documents are returned in the search results when a user searches for Lotus Notes content in SharePoint Server 2007http://support.microsoft.com/kb/933939SEARCH – When SharePoint Server 2007 crawls a Microsoft Exchange Server 2003 public folder, the following error message is logged to the gatherer log: “The item could not be accessed on the remote server because its address has an invalid syntax”http://support.microsoft.com/kb/933586

MOSS – When you select the Re-encrypt all credentials by using the new encryption key option to reencrypt credentials in a Single Sign-On (SSO) environment, the “IX_SSO_Credentials” index is renamed to “IX_SSO_Temp_Credentials.” When the SSO database is queried, the query fails.http://support.microsoft.com/kb/932917

MOSS – A URL that contains an extra slash mark may take longer to open on a server that is running SharePoint Server 2007http://support.microsoft.com/kb/932918

SEARCH – Complex remote links are not crawled when the links are in the same SharePoint Server 2007 portalhttp://support.microsoft.com/kb/932901

SEARCH – When you use the FulltextSqlQuery object to perform a full-text search of a server that is running SharePoint Server 2007, the search results may be sorted in random order.http://support.microsoft.com/kb/932917

WSS – You cannot disable VSAPI scans when you schedule manual scans of content in SharePoint Server 2007 and in Windows SharePoint Services 3.0http://support.microsoft.com/kb/933138

WSS – The file name of a file that you download from the Document Center is changed to use UTF-8 canonical format and is missing the file name extensionhttp://support.microsoft.com/kb/932914

WSS – You cannot create a content database after you install Windows Internal Database SP2http://support.microsoft.com/kb/932914

MOSS – You run a program that uses the SharedWebService.OnlineServerAddresses Web service to determine the URL for its search service. When several requests are made to the same Web service at the same time, a deadlock situation may occur.http://support.microsoft.com/kb/932919

WSS – Previously published pages that are no longer published cause duplicate links to appear in the Windows SharePoint Services 3.0 content database.http://support.microsoft.com/kb/932621

WSS – You receive the following error message when you try to open a form in Windows SharePoint Services 3.0: “The Page is modified. Please reopen it”http://support.microsoft.com/kb/932621

SEARCH – You cannot crawl case-sensitive Web content in SharePoint Server 2007http://support.microsoft.com/kb/932619

WSS – One or more custom programs do not finish successfully when you run multiple custom programs that use the BreakRoleInheritance function in the Windows SharePoint Services 3.0 object model.http://support.microsoft.com/kb/932056

WSS – When you try to show an error message in a Windows SharePoint Services 3.0 Web site programmatically by using the ItemCheckingIn() event, the custom error message text is not shown. Instead, you receive a garbled error message that may resemble the following error message: 1!.512s!http://support.microsoft.com/kb/931636

WSS – You cannot select the values for a custom field when you try to edit the properties on the FldEditEx.aspx page on a Windows SharePoint Services 3.0 Web site.http://support.microsoft.com/kb/932055

SEARCH – You cannot perform a search query after you upgrade to Windows SharePoint Services 3.0 on a Windows Small Business Server 2003-based computer.http://support.microsoft.com/kb/931008

SEARCH – When you search a Windows SharePoint Services 3.0 Web site and then click View by Modified Date, you receive the following error message: “Your search cannot be completed because of a service error. Try your search again or contact your administrator for more information.”http://support.microsoft.com/kb/931636

SEARCH – When you perform an incremental crawl on a Windows SharePoint Services 3.0 Web site, the crawl may stop when one or more of the following conditions are true; No changes are found, No new links are found or No new updates are found.http://support.microsoft.com/kb/931496

WSS – Changes that you make to the “List View” Web Part are not retained after you save the site as a template in Windows SharePoint Services 3.0.http://support.microsoft.com/kb/926284

WSS – When you try to delete a message in Windows SharePoint Services 3.0 programmatically, you receive a null reference exception message.http://support.microsoft.com/kb/931636

WSS – Microsoft Windows SharePoint Services 3.0 currently does not comply with daylight saving time (DST) in Western Australia for the years 2006 to 2009.http://support.microsoft.com/kb/932347

SEARCH – If the parent farm contains two or more start addresses that contain the same host in SharePoint Server 2007, efforts to provision the content sources fail.http://support.microsoft.com/kb/931496

OUTLOOK – When you locate a Windows SharePoint Services 3.0 custom list in Microsoft Office Outlook 2007, CPU usage that is reported in Task Manager may reach 100 percent. Additionally, CPU usage does not decrease until you exit Outlook 2007.http://support.microsoft.com/kb/935515

WSS – When you locate a Windows SharePoint Services 3.0 custom list in Outlook 2007, CPU usage as reported in Task Manager may reach 100%. Additionally, CPU usage does not decrease until you exit Outlook 2007.http://support.microsoft.com/kb/931637