in

SharePoint Blogs

The Best Place for SharePoint-related Blogs

tchmiel's blog

Tom's SharePoint Findings

July 2007 - Posts

  • How to upgrade a custom wssv2 site definition to wssv3 default team site

    In wssV2, we had created a simple custom site definition which was based on the default STS team site.

    We changed the site id, the watermark on the Quick Launch and add a custom Server Control. This custom Server Control was just a modified version of the MiniNavigator Server Control described in Nigel Bridport's blog here.

       

    However in wssV3, site navigation is available for free and thus, we wanted to obsolete our custom site definition in favor of reverting back to a standard team site, avoiding the maintenance of our custom site definition going forward.

       

    If one looks at the upgrade definition file syntax for wssv2 to wssv3, there is no way to map from one site id in wssv2 to a different wssv3 site id.

       

    To workaround this limitation:

       

    1. In wssv2, we reverted the site definition template ids from our custom number back to the standard site template id of "1", by following the steps in Jeff Holiday's

      Changing Custom Site Definition Template IDs - SharePoint 2003 blog post.

         

      But before you try this, let me reiterate Jeff's warnings first:

      "Always make sure to backup all databases and files prior to making any changes.

      NOTE: Microsoft does not support editing SharePoint SQL tables directly…"

         

    2. After step 1, our site home page became corrupted. Following the "How to restore a corrupted Windows SharePoint Services" topic in the following the Microsoft knowledge base article,

      KB:832811 - Restore a corrupted Windows SharePoint Services home page,

      Our wssv2 site was now based on the STS team site definition.

         

    3. We were then able to upgrade our wssv2 sites to wssv3 sites using the standard wssv2 to wssv3 upgrade process. And we no longer have a dependency on our old wssv2 site definition.

         

      Our custom site definition wasn't heavy customized, buy your mileage my vary.

         

      Tom

         

         

  • FPRPC Call: How to determine if server is 2003 or 2007

       

    To programmatically determine if you are connecting to a server running wssv2 or wssv3 via a FPRPC call, use the server version RPC. 

       

    If the major version is 6, then it's WSS v2. 

    If the major version is 12, then it's WSS v3.

       

    =====================

       

    GET /_vti_bin/shtml.dll/_vti_rpc HTTP/1.1

    X-Vermeer-Content-Type: application/x-www-form-urlencoded

    Host: troys1

    Accept: */*

    Content-Length:21

    Connection: Keep-Alive

       

    method=server+version

       

    HTTP/1.1 200 OK

    Connection: close

    Date: Thu, 25 Jan 2007 22:47:57 GM3

    Server: Microsoft-IIS/6.0

    X-Powered-By: ASP.NET

    MicrosoftSharePointTeamServices: 12.0.0.4518

    Content-type: text/html; charset=utf-8

    Set-Cookie: WSS_KeepSessionAuthenticated=80; path=/

       

    <html><head><title>vermeer RPC packet</title></head>

    <body>

    <p>method=server version

    <p>server version=

    <ul>

    <li>major ver=12

    <li>minor ver=0

    <li>phase ver=0

    <li>ver incr=4518

    </ul>

    </body>

    </html>

       

       


Need SharePoint Training? Attend a SharePoint Bootcamp!

Posts (c) their respective authors. Everything else (c) 2007 SharePoint Experts