Monday, December 21, 2009

SYMPTOMS

You use Microsoft Office SharePoint Designer 2007 to add a Custom List Form Web Part on a Microsoft Windows SharePoint Services 3.0 site. Then, you try to attach a file by clicking Attach File in the custom form on the Web site. When you do this, you receive the following error message:
This form was customized not working with attachment.


RESOLUTION

To resolve this problem, follow these steps:
Apply hotfix 953749.For more information about how to do this, click the following article number to view the article in the Microsoft Knowledge Base:
953749 (http://support.microsoft.com/kb/953749/ ) Issues that are fixed in Windows SharePoint Services 3.0 by the Windows SharePoint Services 3.0 Infrastructure Update
Edit the XSL code in the .aspx page. To do this, follow these steps, as appropriate for your situation. Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure. However, they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements. For custom edit item forms and for custom new item forms
In the XSL code block, locate the following code.

Replace the lines of code that you located in step 2a with the following lines of code.

ListForm













Note The XSLT code must have the ControlMode set to "New" for custom new item forms and to "Edit" for custom edit item forms.
Locate the following line of code.

Paste the following code above the line of code that you located in step 2c.








Note This code sample is for a custom edit item form. If you use a custom new item form, replace ControlMode=”Edit” with ControlMode=”New” in the code. Additionally, in the __designer:bind attribute, the first parameter for the ddwrtDataBind function should be "'i'" (insert) for a custom new item form and "'u'" (update) for a custom edit item form. For example, the code may resemble the following code.

Save the form.For display forms
Open the Custom List form.
Move the cursor to the table cell in the custom form control where you want the attachment to be displayed. Then, right-click the cell, point to Insert, and then click Row Below. A new table row that has two column cells is created.
Move the cursor to the left table cell of the new row, and then type Attachments.
Move the cursor to the right-side table cell of the new row, switch to Code view, and then enter the following code.

Save the form.Notes
If you make more changes to the page, SharePoint Designer 2007 may automatically add a unique ID to the attachment code that you added. For example, “” is changed to “.” This process may cause JavaScript errors on the page. If this issue occurs, delete the “{generate-id}” tags that are added automatically.
You may receive the following error message:
An unexpected error has occurredTo resolve this issue, move the Custom List form outside the Web Part zone.
You receive the following a JavaScript error message:
Can't move focus to the control because it is invisible, not enabled, or of a type that does not accept the focus.If you receive this error message, make sure that the ListForm Web Part that is on the page by default is still there. Then, set the Layout to Hidden, and close the Web Part. To do this, follow these steps:
Right-click the List form Web Part in SharePoint Designer.
Click Web Part Properties, and then click Layout.
In the Layout dialog box, click to select Hidden, and then close the Web Part.




Customize the NewForm.aspx

To begin our modification journey let’s start by opening up a team site in the browser and taking a look at the default New Item page that we have to work with. Figure 1 shows the home page for the Technical issues team site that we will be modifying.

Figure 1: Technical Issues home page
By selecting the Add new announcement link we are presented with the standard Announcements: New Item page (Figure 2) for adding announcements to our list. Note the columns that are currently available for data entry: Title, body and Expires.

Figure 2: Announcements: New Item page
To modify this page we must open it in SharePoint Designer 2007 and then add a new custom List Form Web Part that displays only the fields that we wish our users to modify. Start Designer and then connect to the website that contains the list whose form you wish to modify, in our case that would be the Technical Issues Team site as shown in Figure 3.

Figure 3: Technical Issues site loaded into Designer 2007
Next we need to open up the relevant NewForm.aspx page. In the Folder List expand Lists and then expand the list you want to work with. Again, we are going to modify the Announcements list so expand Announcements and select NewForm.aspx.

Figure 4: NewForm.aspx in the Announcements list
As you can see in Figure 5, the Announcements: New Item page contains a customized List Form Web Part that will display the fields we noted earlier when we opened the page in the browser. While we can edit the properties of this particular web part, we cannot edit the contents, nor do we want to delete the web part from the page as this can break the NewForm.aspx page and cause it to error out when you try to actually use it in your site. Stick with me because we are going to cover how to deal with this as we go though this tutorial. For now, we want to add some space below the current web part so that we may add our own custom list form to do with as we like.

Figure 5: The default NewForm.aspx page
Select the area just below the current list form and press Enter twice to give yourself some room to work with. Next, to add our custom list form go to your tool bar and select Insert>SharePoint Controls>Custom List Form.. as shown in Figure 6.

Figure 6: Add a new Custom List Form
Selecting the Custom List Form will bring up the List or Document Library Form dialog shown in Figure 7 where we need to choose which list we are tying this new web part to as well as the type of form we want to create. In our example we are keeping the default Announcements list since we are creating a new Announcements form as well as selecting the New item form radio button because we want to use this web part to create new announcements for our site. If we were going to modify the web part for a different document library or list within our site we would need to choose that library or list from the drop down menu. If instead of creating a new item, we wanted to use this form to edit an already existing item; we would select the Edit item form radio button instead.

Figure 7: List or document library selection dialog
When finished you should have your new list form web part as displayed in Figure 8.

Figure 8: Newly added List Form web part
As mentioned earlier, the form we are using is pulling its data fields from the columns that are defined in the list or library that we are connecting the web part with. What if we want to create our own columns or collect information about items that are not currently part of the list or library? To do this we would need to add additional columns from already existing Site columns or simply create our own to suit our needs. To accomplish this task we must venture into the settings of the list or library that contain the items we want to collect or modify data from.
We’ll start by selecting the View All Site Content link at the top of our Quick Launch menu at the left hand side of the browser window. This will bring up the All Site Content screen as seen in Figure 9. Next we must select the list we are working with, in our case that would still be Announcements.

Figure 9: The All Site Content page
Once you are in the list or library that you want to add information to, select the Settings menu and then select List Settings, (Figure 10).

Figure 10: List Settings menu option
On the settings page for your list or library you will see a section titled Columns, (Figure 11). It is here that we can add columns from the already defined site columns in SharePoint or create a new column to collect whatever data we need for the items in our list.

Figure 11: Create or add new columns section
When you have defined the metadata types that you wish to collect on your list items, we need to make those columns available in our new List Form Web part. To do that, we’ll go back to SharePoint Designer 2007 and add the form elements into our new form.
In the Toolbox task pane you’ll notice a section labeled SharePoint Controls (Figure 12). If the Toolbox is not visible in your Designer, go to the Task Panes menu item and select Toolbox. Expand the SharePoint Controls and you’ll see the various elements that can be inserted into your form to allow you to collect the data that is relevant to your list items. These elements directly map to the column data types that are defined when you add or create a new column in any library or list within SharePoint.

Figure 12: SharePoint Controls in the Toolbox task pane
Select the data view control that maps to the type of field whose data you wish to collect and drag it from the toolbox and drop it into your new list form. This will bring up a control dialog in which you will map the control to the column in your list whose data you are interested in. You’ll notice in Figure 13 that we dropped a text box into our form and we are going to map it to the Modified By field in our Announcements list.

Figure 13: Mapping a list field to a data view control
Next we merely give our new control the proper label, (Figure 14) and then save our new NewForm.aspx page.

Figure 14: Adding the label for our control
Since we are modifying the default page you will receive a warning (Figure 15) that the page is being altered from the site definition. Select Yes to save the changes.

Figure 15: Site definition warning dialog
Now we can view our new New Item page in the browser and see just what we have done. As you can see in Figure 16 there are now two list form web parts on the page; our original web part with the default configuration of fields, and our new web part with its modified content.

Figure 16: New Item page with two list forms
Since we want to present only a single form for our users to fill out, with only the items we have selected for them to modify, we must hide the original web part on the page. To accomplish this we again return to Designer 2007 and the NewForm.aspx page we have been working with.
Select the original ListFormWebPart and hide it by right-clicking and selecting Web Part Properties from the popup menu. (Figure 17)

Figure 17: Selecting Web Part Properties popup
In the Announcements properties expand Layout and check the box for Hidden (Figure 18). Again, we don’t want to delete the default web part since this can break the page and cause it to error when trying to load within SharePoint. Remember to save the new page.

Figure 18: Hiding the default Announcements web part
We now have our Announcements: New Item page that only displays the elements that we want to expose to our users as seen in Figure 19.

Figure 19: The new Announcements: New Item page
Using the principles shown here you can create a form to display any of the content columns that are associated with your lists and libraries in your SharePoint deployment. But what about exposing different columns to different sets of users? By applying what we have learned here you can create separate web parts that expose only the columns you want exposed for each set of users and then apply audience filtering to make them accessible to the proper groups.
So what about removing elements from the Edit Item form so that metadata isn’t improperly changed when a user edits the properties of an existing document? Let’s take a quick look at the Edit item page for a document library where content types are enabled. Notice in Figure 20 in our Problem Reports library App Crash document properties there is a field to select the content type that is associated with this document. A misinformed user could potentially change the content type associated with this document and thereby change the metadata or even workflow’s attached with this document type.

Figure 20: Edit Item page showing Content Type selection box
To prevent this situation for occurring we need to modify the default EditForm.aspx page that is associated with this document library. To do that we need to use Designer, just as we did when modifying the NewForm.aspx page earlier.
Start by connecting to the site that contains the document library (our Technical issues site) and then locate the library you want to work with (Problem Reports in our case). Expand the library and you will see the associated forms as shown in Figure 21. This time we want to modify the EditForm.aspx page so open it with Designer.

Figure 21: Selecting the library to work with
Now just as we did with our previous NewForm.aspx page we need to add a new list form web part to the page and hide the existing default web part from our users. This time, however, when we insert our new web part we must be sure to connect it with the proper library (Problem Reports) as shown in Figure 22 and then select the proper form type (Edit item form) that we are creating as shown in Figure 23.

Figure 22: Connecting the form to the proper library

Figure 23: Configuring the List Form Web Part
From there it is simply a matter of configuring the field types, adding the proper SharePoint controls and saving our page. Figure 24 shows the modified Problem Reports library Edit Item page without a content type selection box.

Figure 24: Edit Item page without the Content Type selection box
So there you have it. You can now modify your default forms to display just the fields you want them to while hiding the ones you need to. I hope you have found this tutorial useful and if you should have questions or comments, please let us know. Till next time…

Customize the NewForm.aspx

To begin our modification journey let’s start by opening up a team site in the browser and taking a look at the default New Item page that we have to work with. Figure 1 shows the home page for the Technical issues team site that we will be modifying.

Figure 1: Technical Issues home page
By selecting the Add new announcement link we are presented with the standard Announcements: New Item page (Figure 2) for adding announcements to our list. Note the columns that are currently available for data entry: Title, body and Expires.

Figure 2: Announcements: New Item page
To modify this page we must open it in SharePoint Designer 2007 and then add a new custom List Form Web Part that displays only the fields that we wish our users to modify. Start Designer and then connect to the website that contains the list whose form you wish to modify, in our case that would be the Technical Issues Team site as shown in Figure 3.

Figure 3: Technical Issues site loaded into Designer 2007
Next we need to open up the relevant NewForm.aspx page. In the Folder List expand Lists and then expand the list you want to work with. Again, we are going to modify the Announcements list so expand Announcements and select NewForm.aspx.

Figure 4: NewForm.aspx in the Announcements list
As you can see in Figure 5, the Announcements: New Item page contains a customized List Form Web Part that will display the fields we noted earlier when we opened the page in the browser. While we can edit the properties of this particular web part, we cannot edit the contents, nor do we want to delete the web part from the page as this can break the NewForm.aspx page and cause it to error out when you try to actually use it in your site. Stick with me because we are going to cover how to deal with this as we go though this tutorial. For now, we want to add some space below the current web part so that we may add our own custom list form to do with as we like.

Figure 5: The default NewForm.aspx page
Select the area just below the current list form and press Enter twice to give yourself some room to work with. Next, to add our custom list form go to your tool bar and select Insert>SharePoint Controls>Custom List Form.. as shown in Figure 6.

Figure 6: Add a new Custom List Form
Selecting the Custom List Form will bring up the List or Document Library Form dialog shown in Figure 7 where we need to choose which list we are tying this new web part to as well as the type of form we want to create. In our example we are keeping the default Announcements list since we are creating a new Announcements form as well as selecting the New item form radio button because we want to use this web part to create new announcements for our site. If we were going to modify the web part for a different document library or list within our site we would need to choose that library or list from the drop down menu. If instead of creating a new item, we wanted to use this form to edit an already existing item; we would select the Edit item form radio button instead.

Figure 7: List or document library selection dialog
When finished you should have your new list form web part as displayed in Figure 8.

Figure 8: Newly added List Form web part
As mentioned earlier, the form we are using is pulling its data fields from the columns that are defined in the list or library that we are connecting the web part with. What if we want to create our own columns or collect information about items that are not currently part of the list or library? To do this we would need to add additional columns from already existing Site columns or simply create our own to suit our needs. To accomplish this task we must venture into the settings of the list or library that contain the items we want to collect or modify data from.
We’ll start by selecting the View All Site Content link at the top of our Quick Launch menu at the left hand side of the browser window. This will bring up the All Site Content screen as seen in Figure 9. Next we must select the list we are working with, in our case that would still be Announcements.

Figure 9: The All Site Content page
Once you are in the list or library that you want to add information to, select the Settings menu and then select List Settings, (Figure 10).

Figure 10: List Settings menu option
On the settings page for your list or library you will see a section titled Columns, (Figure 11). It is here that we can add columns from the already defined site columns in SharePoint or create a new column to collect whatever data we need for the items in our list.

Figure 11: Create or add new columns section
When you have defined the metadata types that you wish to collect on your list items, we need to make those columns available in our new List Form Web part. To do that, we’ll go back to SharePoint Designer 2007 and add the form elements into our new form.
In the Toolbox task pane you’ll notice a section labeled SharePoint Controls (Figure 12). If the Toolbox is not visible in your Designer, go to the Task Panes menu item and select Toolbox. Expand the SharePoint Controls and you’ll see the various elements that can be inserted into your form to allow you to collect the data that is relevant to your list items. These elements directly map to the column data types that are defined when you add or create a new column in any library or list within SharePoint.

Figure 12: SharePoint Controls in the Toolbox task pane
Select the data view control that maps to the type of field whose data you wish to collect and drag it from the toolbox and drop it into your new list form. This will bring up a control dialog in which you will map the control to the column in your list whose data you are interested in. You’ll notice in Figure 13 that we dropped a text box into our form and we are going to map it to the Modified By field in our Announcements list.

Figure 13: Mapping a list field to a data view control
Next we merely give our new control the proper label, (Figure 14) and then save our new NewForm.aspx page.

Figure 14: Adding the label for our control
Since we are modifying the default page you will receive a warning (Figure 15) that the page is being altered from the site definition. Select Yes to save the changes.

Figure 15: Site definition warning dialog
Now we can view our new New Item page in the browser and see just what we have done. As you can see in Figure 16 there are now two list form web parts on the page; our original web part with the default configuration of fields, and our new web part with its modified content.

Figure 16: New Item page with two list forms
Since we want to present only a single form for our users to fill out, with only the items we have selected for them to modify, we must hide the original web part on the page. To accomplish this we again return to Designer 2007 and the NewForm.aspx page we have been working with.
Select the original ListFormWebPart and hide it by right-clicking and selecting Web Part Properties from the popup menu. (Figure 17)

Figure 17: Selecting Web Part Properties popup
In the Announcements properties expand Layout and check the box for Hidden (Figure 18). Again, we don’t want to delete the default web part since this can break the page and cause it to error when trying to load within SharePoint. Remember to save the new page.

Figure 18: Hiding the default Announcements web part
We now have our Announcements: New Item page that only displays the elements that we want to expose to our users as seen in Figure 19.

Figure 19: The new Announcements: New Item page
Using the principles shown here you can create a form to display any of the content columns that are associated with your lists and libraries in your SharePoint deployment. But what about exposing different columns to different sets of users? By applying what we have learned here you can create separate web parts that expose only the columns you want exposed for each set of users and then apply audience filtering to make them accessible to the proper groups.
So what about removing elements from the Edit Item form so that metadata isn’t improperly changed when a user edits the properties of an existing document? Let’s take a quick look at the Edit item page for a document library where content types are enabled. Notice in Figure 20 in our Problem Reports library App Crash document properties there is a field to select the content type that is associated with this document. A misinformed user could potentially change the content type associated with this document and thereby change the metadata or even workflow’s attached with this document type.

Figure 20: Edit Item page showing Content Type selection box
To prevent this situation for occurring we need to modify the default EditForm.aspx page that is associated with this document library. To do that we need to use Designer, just as we did when modifying the NewForm.aspx page earlier.
Start by connecting to the site that contains the document library (our Technical issues site) and then locate the library you want to work with (Problem Reports in our case). Expand the library and you will see the associated forms as shown in Figure 21. This time we want to modify the EditForm.aspx page so open it with Designer.

Figure 21: Selecting the library to work with
Now just as we did with our previous NewForm.aspx page we need to add a new list form web part to the page and hide the existing default web part from our users. This time, however, when we insert our new web part we must be sure to connect it with the proper library (Problem Reports) as shown in Figure 22 and then select the proper form type (Edit item form) that we are creating as shown in Figure 23.

Figure 22: Connecting the form to the proper library

Figure 23: Configuring the List Form Web Part
From there it is simply a matter of configuring the field types, adding the proper SharePoint controls and saving our page. Figure 24 shows the modified Problem Reports library Edit Item page without a content type selection box.

Figure 24: Edit Item page without the Content Type selection box
So there you have it. You can now modify your default forms to display just the fields you want them to while hiding the ones you need to. I hope you have found this tutorial useful and if you should have questions or comments, please let us know. Till next time…

Error During Trace Log Creating WSS3.0

Diagnose
Windows SharePoint Services 3.0 could not create, or write to, the trace log. This trace log contains information that is useful in troubleshooting issues.

This error might be caused by one of the following conditions:

The account that Windows SharePoint Services 3.0 is using does not have sufficient rights to the trace log.

The hard disk or partition does not have enough room.

To find the location of the log file folder
In Central Administration, on the left navigation pane, click Operations.

In the Logging and Reporting section, click Diagnostic Logging.

On the Diagnostic Logging page, in the Trace Log section, the path to the log file is displayed in the Path box.

The account that Windows SharePoint Services 3.0 is using does not have sufficient rights to the trace log
To check the permissions assigned to the log file folder
If you do not know the location of the folder, see the "To find the location of the log file folder" procedure. By default, the location is "Program Files\Common Files\Microsoft Shared\web extensions\12\LOGS" but the location can be changed in Central Administration.

Navigate to the folder, right-click the folder, and then click Properties.

On the Security tab, the WSS_ADMIN_WPG Windows group should have Full Control and the WSS_WPG Windows group should have Read & Execute, List Folder Contents, and Read permissions or higher on the folder. If they do not, assign these permissions by using the procedure in the "Assign sufficient permissions" section.

The hard disk or partition does not have sufficient room
To check the space on the disk or partition
If you do not know the location of the folder, see the "To find the location of the log file folder" procedure. By default, the location is "Program Files\Common Files\Microsoft Shared\web extensions\12\LOGS" but the location can be changed in Central Administration.

Navigate to the disk or partition, right-click it, and then click Properties.

On the General tab, check the free space. The drive or partition should have at least 500 MB for the log files. Note: the space required for the log files depends upon the diagnostic logging settings. To see these settings, use the "To find the location of the log file folder" procedure.

Resolve
To resolve this issue, use the resolution that corresponds to the cause you identified in the Diagnose section. After performing the resolution, see the "Verify" section to confirm that the feature is operating properly.

Cause Resolution
The account that Windows SharePoint Services 3.0 is using does not have sufficient rights to the trace log
Assign sufficient permissions to the trace log

The hard disk or partition does not have enough room
Free up disk space or relocate the trace log


Assign sufficient permissions to the trace log
Windows SharePoint Services 3.0 could not write to the trace log because the account that Windows SharePoint Services 3.0 is using does not have sufficient permissions to the trace log or its parent directory. This trace log contains information that is useful in troubleshooting issues.

Ensure that the WSS_ADMIN_WPG Windows group has Full Control and the WSS_WPG Windows group has Read & Execute, List Folder Contents, and Read permissions or higher on the folder containing the trace log. To perform this procedure, you must be a member of the Administrators group on the local computer.

Free up disk space or relocate the trace log
Windows SharePoint Services 3.0 could not write to the trace log. This trace log contains information that is useful in troubleshooting issues.

You can free up space on the drive containing the trace log by removing unneeded files. To perform this procedure, you must be a member of the Administrators group on the local computer.

You can change the location of the trace log to a partition that has more drive space.

To change the location of the trace log file
In Central Administration, on the left navigation pane, click Operations.

On the Operations page, in the Logging and Reporting section, click Diagnostic logging.

On the Diagnostic Logging page, in the Trace Log section, type the new location for the trace log file in the Path box.

Click OK.

Thursday, October 29, 2009

Useful Tools for SharePoint

Useful Tools for SharePoint
The following are the tools which are very frequently used in SharePoint Projects.SharePoint DesignerSharePoint Designer is a WYSIWYG HTML editor and web design application from Microsoft exclusively for SharePoint sites.
Download link: http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=baa3ad86-bfc1-4bd4-9812-d9e710d44f42&displaylang=en

U2U CAML BuilderA tool for creating and executing CAML queriesDownload link: http://www.u2u.be/res/Tools/CamlQueryBuilder.aspx

SP Dispose CheckA tool for writing safe code using SharePoint Object Model to prevent memory leaks
Download link: http://code.msdn.microsoft.com/SPDisposeCheckWSPBuilderA tool for creating SharePoint Solution Package (WSP) WSS 3.0 & MOSS 2007Download link: http://www.codeplex.com/wspbuilder

STSDEVA tool for creating easy deployable solutionDownload link: http://www.codeplex.com/stsdevSharePoint Manager 2007It a SharePoint object model explorer tool, enables you to browse every site on the local farm and view every property.Download link: http://www.codeplex.com/spm

WSS/MOSS Log file readerA tool to View, search and filter SharePoint ULS log files directly from within Central Administration.Download link: http://www.codeplex.com/wssmosslogfilereader

SharePoint Logging SpyA tool to allow real time diagnostics of multiple servers in a SharePointDownload link: http://www.codeplex.com/sharepointloggingspy

SharePoint Test Data Population ToolA tool for capacity planning and performance testing that populates data for testing SharePoint deploymentsDownload link: http://www.codeplex.com/sptdatapop

AD ExplorerIt is an advanced Active Directory (AD) viewer and editor which allows manipulation of AD objectsDownload link: http://technet.microsoft.com/en-us/sysinternals/bb963907.aspx

IE Developer ToolbarA tool that aims to aid in design and debugging of web pagesDownload link: http://www.microsoft.com/downloads/details.aspx?FamilyId=E59C3964-672D-4511-BB3E-2D5E1DB91038&displaylang=en
Note: “Internet Explorer 8” includes the features of IE Developer Toolbar built in, instead of a separate product; known as Developer Tools rather than Developer Toolbar.

ReflectorA tool for disassemble Assemblies
Download link: http://www.red-gate.com/products/reflector

GhostDocA tool that helps developers writing XML documentation comments
Download link: http://www.roland-weigelt.de/ghostdoc

Resource RefactoringA tool to extract hard coded strings from the code to resource files
Download link: http://www.codeplex.com/ResourceRefactoring

FiddlerIt is a Web Debugging Proxy which logs all HTTP(S) traffic between your computer and the Internet.
Download link: http://www.fiddlertool.com/

Tuesday, October 27, 2009

PDF File Search in Moss

Hidden truth is, Sharepoint doesn't have any of its own search mechanisms. Its just a postman between the client and the database server, where all the sharepoint content is stored. Sharepoint server takes the request string and builds a query to be passed to the SQL server. Upon the query, SQl server passes the string to its own engine!SharePoint only searches the .txt, .htm, .doc, .xls, and .ppt. Coz, SQL Server can crawl through the base file extensions. PDF is a Binary file type can't really be searched with the SQL full text search engine, as it cant understand the format of PDF. So, Adobe came out with its ownfree filters.

Adobe 5.0 iFilter Download

Adobe 6.0 iFilter DownloadYou need to follow the installation procedure in the documentation.

Additional procedure for Adobe v8 iFilter:Adobe v8 comes along with the iFilter. So, no need to install a iFilter for Adobe V8 on a 32- bit windows.
1.

Add the filter-extension to the File types crawled:Start -> Program -> Microsoft Office Server -> SharePoint 3.0 Central Administration -> Search Settings -> File Types -> New File Type (Add extension pdf here)

2.

Modify the following Registry keys by changing their "Default" value to the new CLSID of the Adobe IFilter: {E8978DA6-047F-4E3D-9C78-CDBE46041603}HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\12.0\Search\Setup\ContentIndexCommon\Filters\Extension\.pdfDefault -> {E8978DA6-047F-4E3D-9C78-CDBE46041603}HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\Search\Setup\ContentIndexCommon\Filters\Extension\.pdfDefault -> {E8978DA6-047F-4E3D-9C78-CDBE46041603}

3.

Add the Installation directory of the Adobe Reader v.8 to the System Path.For example, if the Reader is installed on "C:\Program Files\Adobe", then add"C:\Program Files\Adobe\Reader 8.0\Reader"or"C:\Program Files\Adobe\Reader 9.0\Reader" to the system path by:Right Click on My Computer -> Properties -> Advanced -> Environment Variables -> Path (Under System Variables) -> Edit -> (Add "C:\Program Files\Adobe\Reader 8.0\Reader").This effectively tells the adobe IFilter where to pick up the dependent DLLs.

4.

Copy the .gif file that you want to use for the icon to the following folder on the server:SharePoint Server 2007-Drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Template\Images

5.

Edit the DOCICON.xml file to include the .pdf extension.Navigate to SharePoint Server 2007 -Drive:\Program Files\Common Files\Microsoft Shared\Web server extensions\12\Template\XmlOpen the Docicon.xml file.Add an entry for the .pdf extensionSave the DOCICON.xml

6.

Recycle the search service:Run->cmd

iisreset & Stop and Start osearch

7. Now we can crawl and search PDF documents with v.8 Reader.For 64-bit windows,

you need to download the iFilter seperately. iFilter that comes along with the Adobe V8 installation supports only the 32-bit OS.SQL Server's search engine deals with the base types and with the addition of new iFilters, it can go right with the associated formats. Microsoft comes out with a free iFilter for RTF. Other available IFilters for PDF, RTF, MSG, ZIP are fount at IFilterShop.

Java Script Error while editing the content editor

This error is due to the JavaScript plug-ins (HtmlEditor.js or BFORM.js) files in the 1033 folder on the 12 hive. When you add the SP1, it did not update these two files to compliance with .js codes in 'content editor' web parts. These kind of issues occur when you miss the installation sequence, i.e. SP1 was added after the java script plug-ins. Thus, unable to control the files later.

Steps to recover:
If you have more than one severs running in the form, go to the server in the form, where the Content editor popups are working fine.
Go to: C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033
Replace the HtmlEditor.js , BFORM.js and OWS.js with the healthy server's files.While trying to edit(edit->modify shared webpart-> rich text editor) a Content Editor Webpart, Rich text editor window will popup.Due to the popup blocker flags on the browsers, this popup window will be blocked. To avoid this, Microsoft added the fix within the servive packs that will go and edit the javascript plug-ins on the MOSS 2007 . This update goes with the installation of the WSS SP1.

SSP Access Denied Issue

Problem definition:Even though you are the farm administrator, site collection admin for the ssp, you get access denied error, when you click on the 'User profiles and properties'.Sharepoint Central Admin -> SharedServices1 -> User Profiles and My Sites -> User profiles and properties'

Fix:
Go to Personalization services permissions link located under the User Profiles and My Sites section on the shared services1 page.Sharepoint Central Admin -> SharedServices1 -> User Profiles and My Sites -> Personalization services permissions
Add users/group. Add yourself with the manage user profiles permissions.If you are the admin then add the user who complained about the access.

How to fix Modify Navigation menu that Disable and Modify Pages Library Settings missing in MOSS 2007

stsadm -o activatefeature -filename publishing\feature.xml -url http://URL -force
stsadm -o activatefeature -filename publishingresources\feature.xml -url http://URL -force
stsadm -o activatefeature -filename publishingSite\feature.xml -url http://URL -force
stsadm -o activatefeature -filename publishingweb\feature.xml -url http://URL -force
stsadm -o activatefeature -filename publishinglayouts\feature.xml -url http://URL -force
stsadm -o activatefeature -filename navigation\feature.xml -url http://URL -force
(Obviously, replace the URL above with the URL of the site collection)

Tuesday, July 14, 2009

Server Error in '/' Application.
--------------------------------------------------------------------------------


This type of page is not served.
Description: The type of page you have requested is not served because it has been explicitly forbidden. The extension '.mdb' may be incorrect. Please review the URL below and make sure that it is spelled correctly.

Requested Url: /directory/file_requested.mdb


SOLUTION DETAILS:
STOP IIS
Login to Server -> IIS -> Websites
Right click on the web application -> properties
Home Directory -> Configuration
Scroll down the 'ISAPI' extensions -> select '.mdb' -> Remove.
iisreset

Thursday, April 30, 2009

Making Changes to MOSS and WSS Accounts and Passwords

Making Changes to MOSS and WSS Accounts and Passwords

Perform these changes in the order listed below to modify the service accounts for Windows SharePoint Services (WSS) v3.0 or Microsoft Office SharePoint Server (MOSS) 2007. The first section is for WSS and the second is MOSS. They are mostly the same with some minor changes in each.



WSS Environments:


Central Admin AppPool
Make this change via the command line


Stsadm –o updatefarmcredentials –userlogin -password
Other Website AppPools
Make this change via the command line

Stsadm –o updateaccountpassword –userlogin -password [-noadmin]
Use –noadmin if the Central Admin AppPool is the same account as other Web AppPools
WSS Search
Make this modification via the Central Administration website

Central Administration website > Operations > Services on Server > Windows SharePoint Services Search
Update the Configurable Password In Service Account AND\OR Content Access Account as Needed


MOSS Environments:

Central Admin AppPool
Make this change via the command line


Stsadm –o updatefarmcredentials –userlogin -password


Other Web Front End AppPools
Make this change via the command line


Stsadm –o updateaccountpassword –userlogin -password [-noadmin]
Use –noadmin if the Central Admin AppPool is the same account as other Web AppPools
Microsoft Office SharePoint Server Search
Make this modification via the Central Administration website

Central Administration website > Operations > Services on Server > Office SharePoint Search
Update the password in Service Account
Office 2007 SSP & Excel
Make this modification via the Central Administration website

Central Administration website > Application Management > Create or Configure This Farm's Shared Services > Hover over SSP in Farm > Edit Properties > Update the SSP Service Credentials
Office Server Crawl/Index Account
Make this modification via the Central Administration website

SSP Admin UI -> Search Settings -> Default Content Access Account
Update Account and PW as needed
Notes
Stsadm –o updatefarmcredentials and stsadm –o updateaccountpassword should do the trick for everything but the SSPs. Run updateaccountpassword across on specific boxes if you are having NLB or connection issues

Central admin app pool ID - Database Access Account:
Make this change via the command line

stsadm.exe -o updatefarmcredentials -userlogin -password
Other Application Pool IDs:
Make this change via the command line

Stsadm.exe –o updateaccountpassword –userlogin -password [-noadmin]
SSP Service credentials
Making Changes to MOSS and WSS Accounts and Passwords

Central Administration website > Application Management > Manage this Farm's Shared Services > access the ECB for the SSP you need to change > click on "Edit Properties" > on "Edit Shared Services Provider" page, in "SSP Service Credentials" set the account/password (also set the account/password for any Process account that need access to the SSP (typically done when configuring IFSS)
Command Line
stsadm.exe -o editssp
-title
[-newtitle ]
[-sspadminsite ]
[-ssplogin ]
[-ssppassword ]
[-indexserver ]
[-indexlocation ]
[-setaccounts ]
[-ssl ]

MOSS Search Service credentials:
Two options

Central Administration website -> Operations > Services on Server > Office SharePoint Server Search > update the account information in the "Service Account" section
stsadm -o osearch -farmserviceaccount -farmservicepassword
WSS Search Service credentials:
Two options

Central Administration website > Operations > Services on Server > Windows SharePoint (help) Search > update the account information in the "Service Account" section and in the "crawl account" section
stsadm -o spsearch -farmserviceaccount -farmservicepassword
MOSS SSO:


Use the SCM to update the password for the SSO service account; restart SSO Service
Once this is done, open the Central Administration website > Operations > Manage settings for Single Sign-On > update account information
Profile Import account:

SSP Admin > User profiles and properties > Configure Profile Import > update account information in the "default access account" section
Excel: Should be re-set when you change the information for the SSP Service account

Monday, April 27, 2009

Remove Orphan Entries From Sharepoint 2007

Step1: Run the given sql Query.
Reference URL: http://blogs.technet.com/corybu/

Copy Follwoing Code:
Use MSDB
Drop table orphanlist

CREATE TABLE [dbo].[orphanlist](
[farm] [varchar](250) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[databasename] [varchar](250) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[SiteID] [uniqueidentifier] NULL,
[sitepath] [varchar](250) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[type] [varchar](250) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
)

drop table orphan_hopper
declare
@dbname as varchar(250),
@cmdstr as varchar(2000),
@dbid as varchar(250),
@configdb as varchar(250)

/** only change the following line and nothing else, change spskills_config_db to your config db name **/
select @configdb = 'spskills_config_db'

/** Change nothing below this line **/
select @cmdstr =
'select distinct b.name as ''databasename'', b.id as ''dbid'' into orphan_hopper
from
[' + @configdb + '].dbo.sitemap as a inner join
[' + @configdb + '].dbo.objects as b on a.databaseid=b.id inner join
[' + @configdb + '].dbo.objects as c on c.id=a.applicationid inner join
[' + @configdb + '].dbo.objects as d on b.parentid=d.id inner join
[' + @configdb + '].dbo.objects as e on d.parentid=e.id '
exec (@cmdstr)

DECLARE DBCursor CURSOR For
Select databasename, dbid
From orphan_hopper

OPEN DBCursor
FETCH NEXT FROM DBCursor into @DBName, @dbid

WHILE @@FETCH_STATUS =0
BEGIN
INSERT INTO orphanlist([Type], farm, databasename,[sitepath], SiteID)
EXEC
('
select ''Potential ConfigDB orphan:'' + '''+@dbname+''' as [Type], '''+@configdb+''' as [farm], '''+@dbname+''' as [databasename],path as [sitepath], id as [SiteID] from ['+@configdb+'].dbo.sitemap where id not in (select id from ['+@dbname+'].dbo.sites) and databaseid = '''+@dbid+'''
union
select ''Potential ConfigDB orphan:'' + '''+@dbname+''' as [Type], '''+@configdb+''' as [farm], '''+@dbname+''' as [databasename],path as [sitepath], id as [SiteID] from ['+@configdb+'].dbo.sitemap where id not in (select siteid from ['+@dbname+'].dbo.webs where parentwebid is null) and databaseid = '''+@dbid+'''
union
select ''Potential ContentDB orphans:'' + '''+@dbname+''' as [Type], '''+@configdb+''' as [farm], '''+@dbname+''' as [databasename],fullurl as [sitepath], siteid as [SiteID] from ['+@dbname+'].dbo.webs where parentwebid is null and siteid not in (select id from ['+@configdb+'].dbo.sitemap where databaseid = '''+@dbid+''')
union
select ''Potential ContentDB orphan:'' + '''+@dbname+''' as [Type], '''+@configdb+''' as [farm], '''+@dbname+''' as [databasename],fullurl as [sitepath], siteid as [SiteID] from ['+@dbname+'].dbo.webs where parentwebid is null and siteid not in (select id from ['+@dbname+'].dbo.sites)
')
FETCH NEXT FROM DBCursor into @DBName, @dbid
END
CLOSE DBCursor
DEALLOCATE DBCursor

select * from orphanlist



Step2: Delete the Content DB
stsadm.exe -o deletecontentdb -url http://ServerName -databasename wss_content -databaseserver ServerName
Operation completed successfully.

Step3: Add Content DB
stsadm.exe -o addcontentdb -url http://ServerName -databasename wss_content -databaseserver ServerName
Operation completed successfully.

Friday, April 24, 2009

Exception from HRESULT: 0x80040E14

Exception from HRESULT: 0x80040E14
If any of you have come across this error "Exception from HRESULT: 0x80040E14" while trying to do a STSADM restore, it's a very simple problem. It means the SQL server has run out of space for either the logs or the data file. Simply delete some un-needed files from the HDD that the SQL server is writting to and it fixes the problem.

Tuesday, April 7, 2009

Sharepoint 2007 Custom Search

Points we need to make sure before using Search Option

Open the project "SharePoint.Search".
Go to the method "ExecuteFullTextSqlQuery" In SearchResults.ascx.cs page, where we can see query which retrieves data

"SELECT FileExtension, Rank, ContentClass, Path, Title, Abstract, IsDocument FROM SCOPE()"

Go to Central Administration,

Shared Services Administration: SharedServices1 > Search Settings > Managed Properties

Open Metadata Property Mappings page

Check All the fields which is specified in the query exist or not .

If the fields doesn't exist, go to New Managed Property at the top and add the field.

Check the checkbox "Use in Scope"

Common errors which may occur are :

Property doesn't exist or is used in a manner inconsistent with schema settings.
Possible reason : Field doesn't exist in Metadata Property Mappings

Your query is malformed. Please rephrase your query
Possible reason : Query is nor formatted properly

After doing this, again if the data is not coming, Comment the line
//sbFullTextSqlQuery.Append(" \"Scope\" = '" + _scope + "' ");

Because this may give error as "Scope in your query does not exist"

To know more about how this works, check this links

http://msdn2.microsoft.com/en-us/library/bb608305.aspx
http://www.ureader.com/msg/12294188.aspx




The code below says about how we can customize sharepoint search option


protected void btnSearch_Click(object sender, EventArgs e)
{
ResultTableCollection resultTableCollection = FetchRelevantSearchResults();
ResultTable relevantResultsResultTable = resultTableCollection[ResultType.RelevantResults];

DataTable relevantResultsDataTable = new DataTable();
relevantResultsDataTable.Load(relevantResultsResultTable, LoadOption.OverwriteChanges);

if (relevantResultsDataTable != null)
{
grdSearch.DataSource = relevantResultsDataTable;
grdSearch.DataBind();
}

}
// Fetch search result
private ResultTableCollection FetchRelevantSearchResults()
{
ResultTableCollection resultTableCollection = null;

SPSecurity.RunWithElevatedPrivileges(delegate()
{
try
{
ExecuteFullTextSqlQuery(out resultTableCollection);
}
catch (Exception ex)
{

}
});

return resultTableCollection;
}

// Call CAML query
private void ExecuteFullTextSqlQuery(out ResultTableCollection resultTableCollection)
{
// Guid _currentSiteGuid = SPContext.Current.Site.ID;



//using (SPSite _SPSite = new SPSite(_currentSiteGuid))
//http://mossdev:6076
//http://mossdev:35643/
using (SPSite _SPSite = new SPSite("http://mossdev:35643"))
{
using (FullTextSqlQuery _FullTextSqlQuery = new FullTextSqlQuery(_SPSite))
{
_FullTextSqlQuery.StartRow = 0;
_FullTextSqlQuery.RowLimit = 2;
_FullTextSqlQuery.HighlightedSentenceCount = 3;
_FullTextSqlQuery.EnableStemming = true;
_FullTextSqlQuery.TrimDuplicates = true;
_FullTextSqlQuery.Culture = CultureInfo.CurrentCulture;
_FullTextSqlQuery.KeywordInclusion = KeywordInclusion.AnyKeyword;
if (SPSecurity.AuthenticationMode != AuthenticationMode.Windows)
{
_FullTextSqlQuery.AuthenticationType = QueryAuthenticationType.PluggableAuthenticatedQuery;
}
else
{
_FullTextSqlQuery.AuthenticationType = QueryAuthenticationType.NtAuthenticatedQuery;
}
_FullTextSqlQuery.ResultTypes = ResultType.RelevantResults;

StringBuilder sbFullTextSqlQuery = new StringBuilder(string.Empty);
sbFullTextSqlQuery.Append("SELECT ");
sbFullTextSqlQuery.Append(" FileExtension, Rank, ContentClass, Path, Title, Abstract, IsDocument ");
sbFullTextSqlQuery.Append("FROM ");
sbFullTextSqlQuery.Append(" SCOPE() ");
sbFullTextSqlQuery.Append("WHERE ");
sbFullTextSqlQuery.Append(" FREETEXT(defaultproperties, 'raj') ");
sbFullTextSqlQuery.Append("AND ");
sbFullTextSqlQuery.Append(" \"Scope\" = 'Knowledge Objects' ");
sbFullTextSqlQuery.Append("AND ");
sbFullTextSqlQuery.Append(" ( ");
sbFullTextSqlQuery.Append(" (IsDocument = 1 AND ContentClass = 'STS_ListItem_DocumentLibrary') ");
sbFullTextSqlQuery.Append(" OR ");
sbFullTextSqlQuery.Append(" (IsDocument = 1 AND ContentClass = 'STS_ListItem_850') ");
sbFullTextSqlQuery.Append(" OR ");
sbFullTextSqlQuery.Append(" (ContentClass = 'STS_Web') ");
sbFullTextSqlQuery.Append(" ) ");
sbFullTextSqlQuery.Append("ORDER BY ");
sbFullTextSqlQuery.Append(" Rank DESC ");
// sbFullTextSqlQuery = new StringBuilder();
//sbFullTextSqlQuery.Append("SELECT Title, Abstract, Rank FROM scope() WHERE scope='All Sites' ");

//sbFullTextSqlQuery.Append("SELECT Account,CreatedBy FROM scope() ");

// fields needs mapping Title,Abstract,

// sbFullTextSqlQuery.Append("SELECT FileExtension, Rank, contentclass, Path,IsDocument FROM SCOPE() WHERE FREETEXT(defaultproperties, 'company') AND Scope = 'Knowledge Objects' AND ( (IsDocument = 1 AND ContentClass = 'STS_ListItem_DocumentLibrary') OR (IsDocument = 1 AND ContentClass = 'STS_ListItem_850') OR (ContentClass = 'STS_Web') ) ORDER BY Rank DESC") ;

//sbFullTextSqlQuery.Append("SELECT FileExtension,contentclass,Rank,Path,IsDocument FROM SCOPE() WHERE FREETEXT(defaultproperties, 'company')");
//sbFullTextSqlQuery.Append("AND ");
//sbFullTextSqlQuery.Append(" ( ");
//sbFullTextSqlQuery.Append(" (IsDocument = 1 AND ContentClass = 'STS_ListItem_DocumentLibrary') ");
//sbFullTextSqlQuery.Append(" OR ");
//sbFullTextSqlQuery.Append(" (IsDocument = 1 AND ContentClass = 'STS_ListItem_850') ");
//sbFullTextSqlQuery.Append(" OR ");
//sbFullTextSqlQuery.Append(" (ContentClass = 'STS_Web') ");
//sbFullTextSqlQuery.Append(" ) ");
//sbFullTextSqlQuery.Append("ORDER BY ");
//sbFullTextSqlQuery.Append(" Rank DESC ");



//sbFullTextSqlQuery.Append("SELECT ");
//sbFullTextSqlQuery.Append("Title,Abstract, FileExtension, Rank, ContentClass, Path,IsDocument ");
//sbFullTextSqlQuery.Append("FROM ");
//sbFullTextSqlQuery.Append(" SCOPE() ");
//sbFullTextSqlQuery.Append("WHERE ");
//sbFullTextSqlQuery.Append(" FREETEXT(defaultproperties, 'company') ");

_FullTextSqlQuery.QueryText = sbFullTextSqlQuery.ToString();

resultTableCollection = _FullTextSqlQuery.Execute();
}

_SPSite.RootWeb.Dispose();
}
}

Wednesday, February 25, 2009

Dooly's Domain: Publishing InfoPath Forms - Updating Content Type Failed

I'm also getting the same issue. Can u help me, how to fix this issue.

Monday, January 12, 2009

Configure MOSS 2007 Site Usage Reports

Three Quick Steps to Configure Site Usage Reporting

Enable Usage Logging in Central Administration
A. On the Central Administration home page, click Operations.
B. On the Operations page, in the Logging and Reporting section, click Usage analysis processing.
C. On the Usage Analysis Processing page, in the Logging Settings section, select Enable logging.
D. Type a log file location and number of log files to create.
E. In the Processing Settings section, select Enable usage analysis processing, and then select a time to run usage processing.

Enable Usage Reporting on SSP Admin Page
A. On the SSP home page, in the Portal Usage Reporting section, click Usage reporting.
B. On the Configure Advanced Usage Analysis Processing page, in the Processing Settings section, click Enable advanced usage analysis processing.
C. In the Search Query Logging section, select Enable search query logging.

Activate the Reporting Feature for the Site Collection
A. On the Site Actions menu, click Site Settings.
B. On the Site Settings page, in the Site Collection Administration section, click Site collection features.
C. On the Site Collection Features page, click the Activate button for the Reporting feature.

After site usage reporting is enabled the site administrators and site collection administrators will be able to view reports detailing:

Requests and queries in the last day and the last 30 days
Average number of requests per day over the last 30 days
Requests per day over the last 30 days
Top page requests over the last 30 days
Top users over the last 30 days
Top referring hosts over the last 30 days
Top referring pages over the last 30 days
Top destination pages over the last 30 days
Top search queries for the last 30 days
Search results top destination pages
Number of search queries per day over the previous 30 days
Number of search queries per month over the previous 12 months
Top search queries over the previous 30 days
Search Queries per search scope over the previous 30 days
Site collection administrators will be able to view reports detailing:

Total amount of storage used by the site collection
Percent of storage space used by Web Discussions
Maximum storage space allowed
Number of users for all sites in the hierarchy
Total hits and recent bandwidth usage across all sites

Wednesday, January 7, 2009

Adding a 'Save site as template' Link to Site Settings in WSS v3/MOSS 2007 using a CustomAction Feature



The SaveSiteAsTemplate feature will consist of a Feature.xml and an Elements.xml file.
Feature.xml declares the Feature itself, and Elements.xml further defines the CustomAction for the Look and Feel menu on a Site Settings page.
To get started, create a folder named SaveSiteAsTemplate below the Features folder located at C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES on your WSS v3 server. Create Feature.xml and Elements.xml from the code below and place each file in the SaveSiteAsTemplate folder you just created.

Feature.xml



Note the Scope attribute in the Feature element of Feature.xml. Scope can be set to either Farm, WebApplication, Site or Web. Also notice that the ElementManifest element points to Elements.xml.

Elements.xml







Setting the Location of the CustomAction to Microsoft.SharePoint.Settings and the GroupId to Customization is what decides where the link will be render in the UI.
Next, install the feature into WSS v3 by using the stsadm tool. Stsadm.exe is located in C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN on your WSS v3 server.
stsadm -o installfeature -name SaveSiteAsTemplate


Finally, activate the new feature on your WSS Site by going to Site Settings > Site Features and clicking the Activate button for the new Save Site As Template feature.





You should now see a “Save site as template” link under the Look and Feel menu of the Site Settings page.








Apply top level site UI to all the Sub sites

1. Create the Top Level Sites as per the requirement

2. Change the UI as per the requirement

3. Save the Changed UI as Custom Template

Site Action --> Site Settings --> Save “Site as Template”

A) Enter the FileName: CustomTemplate (Change the file name as per the requirement)
B) Template Name: CustomTemplate (Change the template name as per the requirement)
C) Template Description: CustomTemplate (Change the Description as per the requirement)
D) Finally click ok

4. Active on "Office SharePoint Server Publishing Infrastructure" features.

Site Action --> Site Settings --> Site Collection Administration --> Site Collection Features --> Activate "Office SharePoint Server Publishing Infrastructure" features

5. Activate "Office SharePoint Server Publishing" features

Site Action --> Site Settings --> Site Administration --> Site Features --> Activate "Office SharePoint Server Publishing" features

6. Create the Sub site and inherit the UI from Top Level Site

Site Action --> Create or Create Site

A) Title: As per the requirement
B) Description: As per the requirement
C) URL name: As per the requirement
D) Select a Template: Click the Custom Tab --> Must Select the "CustomTemplate".
E) User Permission: As per the requirement
F) Finally click "Create" option.

7. Apply Top Level site header to sub site

Go to Top Level Site --> Site Action --> Modify All Site Settings --> Look and feel --> Master Page

A) Site Master Page --> Select Default.master --> Check "Reset all sub sites to inherit this Site Master Page setting" check box

B) System Master Page --> Select Default.master --> Check "Reset all sub sites to inherit this system master page setting" check box

C) Finally click ok