Wednesday, April 29, 2009

Announcing Service Pack 2 for Office SharePoint Server 2007 and Windows SharePoint Services 3.0

Service Pack 2 for Office SharePoint Server 2007 and Windows SharePoint Services 3.0 has been released to the Microsoft Download Center. It includes all the fixes prior to SP2, and also several enhancements to improve server farm performance, availability and stability. Plus, a new stsadm operation has been added to help customers prepare for the upgrade to the next version of SharePoint.

Download Links

Service Pack 2 for Windows SharePoint Services 3.0, x86 & x64

Service Pack 2 for Office SharePoint Server 2007, x86 & x64

Installation Steps

To keep all the files in a SharePoint installation up-to-date, the following packages need to be applied on all servers in the farm. Service Pack 2 contains all fixes released through February of this year, so customers can install it directly on RTM build of the products.

Service Pack 2 for Windows SharePoint Services 3.0
Service Pack 2 for Windows SharePoint Services 3.0 Language Pack (if applicable)
Service Pack 2 for Office SharePoint Server 2007
Service Pack 2 for Office SharePoint Server 2007 Language Pack (if applicable)
After applying the preceding updates, run the SharePoint Products and Technologies Configuration Wizard or "psconfig –cmd upgrade –inplace b2b -wait” in command line. This needs to be done on every server in the farm with SharePoint installed. The version of content databases should be after successfully applying these updates.

For more in-depth guidance for the update process, we recommend that customers refer to the following articles. These articles provide a correct way to deploy updates, identify known issues (and resolutions), and provide information about creating slipstream builds

Content types in MOSS 2007

Content types are one of the new features in Windows SharePoint Services 3.0. It is same as "Template Object" in Microsoft Content Management Server 2002 (MCMS 2002).

It allows you to store multiple types of data in the same list or document library by data encapsulation. It encapsulates the data scheme and makes it independent of SharePoint list or library.

For examples, you can store contracts of both building and vehicle in the same document library or list in SharePoint although the data schema are different for each one.

For building contract, the columns or data will be - Tenant Name, Building No, Contract Details, etc. and for vehicle contract - Tenant Name, Vehicle Registration No, Tenant License No, Contract Details, etc.

All the two type above documents will reside in the same list or library by defining two content types in WSS 3.0 / MOSS 2007.

Sunday, April 26, 2009

MOSS 2007 Application Case Studies

Here is a nice blog for top 17 case studies for Microsoft Office SharePoint Server 2007 and several new MOSS-based web sites

SharePoint 2010 ......

The new version of SharePoint (SharePoint 14) called "SharePoint 2010" is on its way. It has been decided to change the name of the product. Hence there will be no more "MOSS".

Read more here

How to query SharePoint list data using web service

There are scenarios where we need to extract or query data of SharePoint using some custom code - say in console or winform application.

Here is the sample code and procedure

Add the web reference for the web service in your .net project http:///_vti_bin/Lists.asmx with alias as MyLists

Now use the below code

MyLists.Lists listService = new MyLists.Lists();
listService.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
listService.Url = "http:///_vti_bin/Lists.asmx";
// Instantiate an XmlDocument object
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
string listName = "Purchase Orders";
string viewName = "";//blank for default
/*Use the CreateElement method of the document object to create elements for the parameters that use XML.*/
XmlElement query = xmlDoc.CreateElement("Query");
XmlElement viewFields = xmlDoc.CreateElement("ViewFields");
XmlElement queryOptions = xmlDoc.CreateElement("QueryOptions");
//The below query applies filter "where Field1 = 1"
query.InnerXml = "" +
//The below string specified which are the fields to be returned in the result
//apart from the default fields
viewFields.InnerXml = "";
queryOptions.InnerXml = "FALSETRUE";
/* Declare an XmlNode object and initialize it with the XML response from the GetListItems method.
* The last parameter specifies the GUID of the Web site containing the list.
* Setting it to null causes the Web site specified by the Url property to be used.*/
System.Xml.XmlNode nodeListItems = listService.GetListItems(listName, viewName, query, viewFields, rowLimit, queryOptions);
DataSet ds = new DataSet();
XmlTextReader myReader = new XmlTextReader(new MemoryStream(ASCIIEncoding.Default.GetBytes(nodeListItems.OuterXml)));

Sunday, April 5, 2009

How to create minimal master page in moss 2007 ?

To create a minimal master page

  • Open SharePoint Designer.

  • On the File menu, click New, point to SharePoint Content, and then click the Page tab.

  • Double-click Master Page to create a new master page.

  • Click Design to show the master page in design view. You should see header and left margin areas and several content placeholders in the master page.

  • Click Code to show the master page in code view.

  • Copy the following code into the master page.

  • <%-- Identifies this page as a .master page written in Microsoft Visual C# and registers tag prefixes, namespaces, assemblies, and controls. --%>
    <%@ Master language="C#" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
    <%@ Import Namespace="Microsoft.SharePoint" %>
    <%@ Register Tagprefix="SPSWC" Namespace="Microsoft.SharePoint.Portal.WebControls" Assembly="Microsoft.SharePoint.Portal, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Register Tagprefix="PublishingWebControls" Namespace="Microsoft.SharePoint.Publishing.WebControls" Assembly="Microsoft.SharePoint.Publishing, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Register Tagprefix="PublishingNavigation" Namespace="Microsoft.SharePoint.Publishing.Navigation" Assembly="Microsoft.SharePoint.Publishing, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Register TagPrefix="wssuc" TagName="Welcome" src="~/_controltemplates/Welcome.ascx" %>
    <%@ Register TagPrefix="wssuc" TagName="DesignModeConsole" src="~/_controltemplates/DesignModeConsole.ascx" %>
    <%@ Register TagPrefix="PublishingVariations" TagName="VariationsLabelMenu" src="~/_controltemplates/VariationsLabelMenu.ascx" %>
    <%@ Register Tagprefix="PublishingConsole" TagName="Console" src="~/_controltemplates/PublishingConsole.ascx" %>
    <%@ Register TagPrefix="PublishingSiteAction" TagName="SiteActionMenu" src="~/_controltemplates/PublishingActionMenu.ascx" %>
    <%-- Uses the Microsoft Office namespace and schema. --%>
    <WebPartPages:SPWebPartManager runat="server"/>
    <SharePoint:RobotsMetaTag runat="server"/>

    <%-- The head section includes a content placeholder for the page title and links to CSS and ECMAScript (JScript, JavaScript) files that run on the server. --%>
    <head runat="server">
    <asp:ContentPlaceHolder runat="server" id="head">
    <asp:ContentPlaceHolder id="PlaceHolderPageTitle" runat="server" />
    <Sharepoint:CssLink runat="server"/>
    <asp:ContentPlaceHolder id="PlaceHolderAdditionalPageHead" runat="server" />

    <%-- When loading the body of the .master page, SharePoint Server 2007 also loads the SpBodyOnLoadWrapper class. This class handles .js calls for the master page. --%>
    <body onload="javascript:_spBodyOnLoadWrapper();">
    <%-- The SPWebPartManager manages all of the Web part controls, functionality, and events that occur on a Web page. --%>
    <form runat="server" onsubmit="return _spFormOnSubmitWrapper();">
    <wssuc:Welcome id="explitLogout" runat="server"/>
    <PublishingSiteAction:SiteActionMenu runat="server"/>
    <PublishingWebControls:AuthoringContainer id="authoringcontrols" runat="server">
    <PublishingConsole:Console runat="server" />
    <%-- The PlaceHolderMain content placeholder defines where to place the page content for all the content from the page layout. The page layout can overwrite any content placeholder from the master page. Example: The PlaceHolderLeftNavBar can overwrite the left navigation bar. --%>
    <asp:ContentPlaceHolder id="PlaceHolderMain" runat="server" />
    <asp:Panel visible="false" runat="server">
    <%-- These ContentPlaceHolders ensure all default SharePoint Server pages render with this master page. If the system master page is set to any default master page, the only content placeholders required are those that are overridden by your page layouts. --%>
    <asp:ContentPlaceHolder id="PlaceHolderSearchArea" runat="server"/>
    <asp:ContentPlaceHolder id="PlaceHolderTitleBreadcrumb" runat="server"/>
    <asp:ContentPlaceHolder id="PlaceHolderPageTitleInTitleArea" runat="server"/>
    <asp:ContentPlaceHolder id="PlaceHolderLeftNavBar" runat="server"/>
    <asp:ContentPlaceHolder ID="PlaceHolderPageImage" runat="server"/>
    <asp:ContentPlaceHolder ID="PlaceHolderBodyLeftBorder" runat="server"/>
    <asp:ContentPlaceHolder ID="PlaceHolderNavSpacer" runat="server"/>
    <asp:ContentPlaceHolder ID="PlaceHolderTitleLeftBorder" runat="server"/>
    <asp:ContentPlaceHolder ID="PlaceHolderTitleAreaSeparator" runat="server"/>
    <asp:ContentPlaceHolder ID="PlaceHolderMiniConsole" runat="server"/>
    <asp:ContentPlaceHolder id="PlaceHolderCalendarNavigator" runat ="server" />
    <asp:ContentPlaceHolder id="PlaceHolderLeftActions" runat ="server"/>
    <asp:ContentPlaceHolder id="PlaceHolderPageDescription" runat ="server"/>
    <asp:ContentPlaceHolder id="PlaceHolderBodyAreaClass" runat ="server"/>
    <asp:ContentPlaceHolder id="PlaceHolderTitleAreaClass" runat ="server"/>
    <asp:ContentPlaceHolder id="PlaceHolderBodyRightMargin" runat="server" />

  • On the File menu, click Save As, provide a unique file name with the .master extension, and then save the file to the master page gallery (/_catalogs/masterpage) in your site collection.