Monthly Archives: December 2006

3 Comments


!! THIS BLOG IS OBSOLETE SINCE MICROSOFT IS DELIVERING A GUIDE ON MSDN !!


 


I've just finished my guide about upgrading TFS V1 to WSS 3.0 and Microsoft immediately releases Service Pack 1 for TFS V1. This is good thing and I knew it was planned for half December, but I now have to write a second guide about extending your TFS V1 with SP1, while you already upgraded it to WSS 3.0. In the last blog I quoted Brian Harry who commented in my Blog "The last remaining issue that you may hit is when you try to upgrade to a future version of TFS. You may find yourself trying to hack your way through that too.". He was absolutely right, I had to do some stunts again. Most of the stunts are just faking your WSS 3.0 Team Site is a WSS 2.0 Team Site. The easiest way is to install SP1 before you upgrade to WSS 3.0. If so, my previous post still stands, otherwise read the steps below to continue your upgrade. Before you start upgrading your TFS its important to create a good planning for Backup and Restore. Just read this article about "Planning for Backup and Restore" on MSDN. This upgrade works for single- and dual server installments.


Downloading


Visual Studio 2005 Service Pack 1 was released last Thursday.  Here are the direct download links.




and the two for TFS



If you want to slipstream those packs check the blog post of Heath Stewart on How to slipstream Visual Studio 2005 Service Pack 1. For Detecting Visual Studio 2005 Service Pack 1 and Uninstall Visual Studio 2005 Service Pack 1 Beta before Installing the Release he also got some interesting articles.

If you want to read about all bug fixes solved in TFS SP1, read the following blogs Bug fixes in TFS SP1 and Update on Bug fixes in TFS SP1 of Brian Harry

Workgroup Edition Error

Before showing you the way the go, I like to mention if you're upgrading your TFS with SP1 (which you should) and you're using the Workgroup Edition, there are some problems if the server already is using 5 Licensed Users. The error which will certainly strike is 28002 Error Unknown when installing the KB919156 (Quiescing GDR) fix.



To prevent this error, you will have to remove one of the users, upgrade your server and add the user back in the list. In this fix and SP1, MS tries to add the installing user to the Licensed Users list, even if the installing user is already a member of the list. Marcel de Vries, who already blogged about this error in TFS SP1 Beta1, asked if this error will be fixed in the final release of the service pack. But is seems to be an issue for the RTM of the Service Pack as well.


How to fake a WSS 2.0 on WSS 3.0 server


I've created 4 sections in which I describe the changes compared to a normal install. Both installers (Feature- and Service Pack) are checking if TFS is configured correctly on WSS. When all steps are done it will finally install the updates for TFS.


Database 
To retrieve the STS_Content database, it using the proc_getDatabasesWithServer stored proc of the STS_Config_TFS database which is obsolete in WSS 3.0. Run the the SQL statement below, and this check won't fail anymore.



USE STS_Config_TFS
GO


CREATE PROCEDURE [dbo].[proc_getDatabasesWithServer]
(
      @DatabaseServiceId uniqueidentifier = null, 
      @VirtualServerId uniqueidentifier = null
) AS
      SET NOCOUNT ON
      SELECT 
            COUNT(*) 
      FROM 
            Databases
      INNER JOIN Services ON 
            Databases.DatabaseServiceId = Services.ServiceId
      INNER JOIN Servers ON
            Services.ServerId = Servers.ServerId
      WHERE
            Databases.VirtualServerId = @VirtualServerId AND
            Databases.SiteCountLimit >= 0     


      IF @@ROWCOUNT = 0
            RETURN 0


      SELECT
            Databases.DatabaseId,
            Servers.Address,
            Services.Instance,
            Databases.Name,
            Databases.UserId, 
            Databases.Password, 
            Databases.SiteCount, 
            Databases.SiteCountWarning, 
            Databases.SiteCountLimit, 
            Databases.VirtualServerId, 
            Databases.DatabaseServiceId, 
            Databases.LastModified, 
            Databases.LastModifiedUser, 
            Databases.LastModifiedServer, 
            Databases.Status, 
            Databases.Version, 
            Databases.Properties
      FROM
            Databases
            INNER JOIN Services ON 
                  Databases.DatabaseServiceId = Services.ServiceId
            INNER JOIN Servers ON
                  Services.ServerId = Servers.ServerId
      WHERE
            Databases.VirtualServerId = @VirtualServerId AND
            Databases.SiteCountLimit >= 0  
      RETURN 0


FileSystem
Because the WSS v2 site isn't active anymore you want the SharePoint Administration Tool to return the info about your WSS v3 site. This can be established by putting the SharePoint Administration Tool in the WSS v2 directory.


Open the Windows Explorer to copy the WSS v3 Administration Tool to the WSS v2 directory.



Open C:Program FilesCommon FilesMicrosoft Sharedweb server extensions60BIN
Rename stsadm.exe -> stsadm.exe.old
Open C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12BIN
Copy stsadm.exe to C:Program FilesCommon FilesMicrosoft Sharedweb server extensions60BIN



The next part I'll explain in the following section.


Open the Windows Explorer to create a dummy root folder for the Dummy Web Site.



Open C:Inetpub
Create a dummyroot folder


Webserver
When installing the Feature- and Service Pack the web server is also requested to deliver some information to the installers. The first checks if the WSS v2 administration site is installed on the server, and if it's configured for port 17012. During my previous guide I reconfigured the WSS v2 admin site to use 9999 and the WSS v3 admin site to use 17012. Luckily the installers don't check if the server is actually running, so you can change it without stopping the WSS v3 admin site. The other check checks if the Default Web Site is running and if it can be extended. This last check isn't possible with our current Default Web Site, because this site is already extended to WSS v3. This is the part where my dummy site comes in.


Add a Dummy Web Site



Click Start, click Control Panel, click Administrative Tools, and then click Internet Information Services (IIS) Manager.
Stop the Default Web Site


Right-click on Web Sites and add a new Web Site using the Wizard.


Description: Dummy Web Site
IP Address: All Unassigned
TCP Port: 80
Path: C:Inetpubdummyroot
Permissions: Read, Run scripts (such as ASP)


 


Change WSS v2 port to 17012



Click Start, click Control Panel, click Administrative Tools, and then click Internet Information Services (IIS) Manager.
Right-click the SharePoint Central Administration folder and then click Properties.
Change the TCP Port to 17012 without starting the site.



Install
Now having configured your server, you can install SP1 for TFS. Be sure al these screen will popup when installing the updates. You can also check your Add/Remove programs if the update succeeded. The update for the build will always succeed, because this update won't use TFS. 


 

When everything is installed correctly return to original state of you Web Server. So stop the Dummy Web Site and start the Default Web Site. The last thing you should do, is change the ports, so IIS can't make a mistake.


Summary
I showed you again, the it's possible to upgrade to WSS 3.0 and even install your Feature- and Service Packs afterwards. This is a good thing, so all you WSS 3.0 sites for TFS out there, keep on running. At my company we are using WSS 3.0 for TFS (dual-server), so we can eat our own Dogfood. This way I guarantee you I'll deliver a guide for upgrading to 'Orcas' as well.


 


18 Comments

Christmas do come early this year. The SharePoint team in Japan has just finished working on the next version of their popular team productivity application template, GroupBoard Workspace 2007. This is the first of the “Fantastic 40” Application Templates for Windows SharePoint Services 3.0 early next year

Overview
The GroupBoard Workspace template creates a space for a group or team to connect and share information in a collaborative environment, improving team efficiency and productivity. The template helps track team member whereabouts and status, and includes a built-in timecard list and organization chart. Meetings can be scheduled with attendees, and meeting rooms and other resources can be reserved. It also enables members to share phone messages and circulate memos.

Check out the following pics for some detailed info.

 
Portal


Time card

 
Scheduler

Summary
I repeat my first sentence by claiming Christmas do come early this year. I can't hardly wait till the other 39 Application Templates will be released.

 

13 Comments

Since the release of Reporting Services 2000 back in January of 2004, I've build lots of apps using this technology. On my newest assignment they requested me to implement two Reporting Services instances on the same machine. Their serverpark isn't that big, but they want to simulate a separated test en development environment. I immediately applied that this won't be a problem and since SQL Server 2005 contains Reporting Services Configuration it isn't that hard anymore. To begin this giant adventure you've install two instances of SQL Server 2005 Reporting Services (e.g. Test & Development) and choose the option to not configure Reporting Services. Finished this, you now have to create an additional Web site(s), so the separated Reporting Services instances are used independently.

To simulate two web servers on one machine, you need to install an extra IP address or use the same IP address in combination with a host header value. This time I choose the extra IP address because this satisfied the Helpdesk administrator the most ;-). To add an extra IP address open your Network Card properties, followed by opening the properties of the Internet Protocol (TCP/IP). Select the Advanced button and Add as many IP addresses as you want to have separate instances of Reporting Services.

 
IP Address configuring

When you've added the extra IP address, you can create an additional Web Site to your Web Server. Using the Web Site Creation Wizard, you can select one of the other IP addresses.


Web Site Creation Wizard

The next step is configure your Reporting Services using Reporting Services Configuration. For extra info about configuring check MSDN.


Internet Information Services (IIS) Manager

When everything is configured using this Tool, it still doesn't work the way you like too. The second instance is still connecting to your default instance because the default behavior of a Reporting Services instance is redirecting its requests to the localhost. To change this behavior you have to change some settings in the config files (RSReportServer.config, RSWebApplication.config) of Reporting Services.

For example in: C:Program FilesMicrosoft SQL ServerMSSQL.#Reporting ServicesReportServer open

RSReportServer.config

old value:
<UrlRoot>http://<servername>/reportserver</UrlRoot>

new value:
<UrlRoot>http://10.10.10.11/reportserver</UrlRoot>

For example in: C:Program FilesMicrosoft SQL ServerMSSQL.#Reporting ServicesReportManager open

RSWebApplication.config

old value:
<ReportServerUrl></ReportServerUrl>
<ReportServerVirtualDirectory>ReportServer</ReportServerVirtualDirectory>

new value:
<ReportServerUrl>http://10.10.10.11/reportserver</ReportServerUrl>
<ReportServerVirtualDirectory></ReportServerVirtualDirectory>

Note: It's very important that only one of the two values is filled, else an error will occur.

Run iisreset /noforce and you're now using multiple instance of Reporting Services on the same machine.

Check the following URL's:

Summary
The SQL Team did a great job for letting you choose how many instances you want to use on one machine. They're fully configurable and administrable and you're able to create a real test and development environment on one machine. Great job guys.

 

Technorati tags: , ,

 


What is the Microsoft Office Multi-Language Pack 2007?
The Microsoft Office Multi-Language Pack 2007 is an add-in product that can change the entire user experience of Office 2007 desktop applications by enabling each desktop to support many languages.. This includes Menus/User Interface, Help, Dictionary, Thesaurus, and Spell Checker. In addition to enhancing the user experience, a user can elect to use individual aspects of the pack, such as spell checker to proof a document in a language other than the default language set on their computer.


Obtain and install a Language Pack
When a copy of Microsoft Office is installed on a computer, it includes at least a Single Language Pack. However, many people and companies need to use more than one language. You can get Language Packs in the following ways:


Single Language Pack
A Single Language Pack enables the interface of some or all programs to support a specific language.


Multi-Language Pack
The Multi-Language Pack enables the interface of each program to support all available languages for that program. Essentially, the Multi-Language Pack is a set of all the available Single Language Packs bundled and sold together.


Mixed-Language Product
A Mixed-Language program or suite of Microsoft Office is sold as one language, but it contains programs in two or more languages. For example, Ukrainian Office contains some programs in Ukrainian, some in Russian, and some in English.


Multi-Language Product
In a Multi-Language program or suite of Microsoft Office, some programs are offered in more than one language.


What languages are available?
The MLP will include tools for the following languages:


Arabic, Brazilian Portuguese, Bulgarian, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hebrew, Hindi,   Hungarian, Italian, Japanese, Kazakh, Korean, Latvian, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian Latin, Simplified Chinese, Slovak, Slovenian, Spanish, Swedish, Thai, Traditional Chinese (HK), Traditional Chinese (Taiwan), Turkish, Ukrainian.


How to use the Language Pack.
This pack consists of 3 CDs. The first two CDs include all the Single Language Packs (SLP), each of which contain proofing tools (spell-checker, grammar checker, hyphenator, thesaurus…) as well as the localized user interface (UI) and localized Help for a given language.  The third disc will contain all the proofing tools by themselves.



Startup screen of the NL Office Language Pack


If a user just wants to add one or two proofing tools (say, they want to use a Russian or an Dutch speller, which is not part of the default English version of Office), they will be able to download the SLPs for those additional languages in which they are interested. But if someone is deploying many proofing tools languages and does not want the associated UI or are concerned about disc space, they will be able to purchase the boxed MLP and use the third disc. Enterprise customers that purchase the multilingual license will have access to any of these deployment methods.


 
Deselect all options if you only want to apply Proofing Tools for a certain language


Summary
This flexibility is designed to respond to demand from users. MS has regularly seen on newsgroups that many individual users are interested in adding one or two languages to their own configuration. Being able to directly download and purchase a single set of linguistic tools (a speller, a thesaurus and a grammar checker, for instance) for a given additional language will meet many users’ needs. You can change the language of the user interface or Help using the Microsoft Office 2007 Language Settings. Furthermore MS is still claiming Office 2003 Proofing Tools will not work with Office 2007. What a laugh 😉

 


Technorati tags:

4 Comments

This is the first blog of a series about discussing the improvements of installing SQL Server SP2.

If you've applied Service Pack 2 CTP2 to your SQL Server 2005 Reporting Services installation, you might have noticed the appearance again of "Select All" from the drop-down list for multi-valued parameters. If you would like to get an official patch before SP2 is released, you can contact Support Services and ask for Knowledge Base Article #919478.

     
           SQL Server 2005                    SQL Server 2005 SP1                 SQL Server 2005 SP2

Via Brian Welcker

Here's the story behind this disappearance.

With SQL Server 2005, we introduced multi-valued parameters, which allow for you to specify a set of values for a single report parameter. If you think about how multi-valued parameters work against a SQL source, you build a SELECT statement with an IN clause and the values get substituted before it is sent to the server, e.g.

SELECT name FROM customer WHERE country IN (@country)

becomes:

SELECT name FROM customer WHERE customer.country IN ('United States', 'Canada', 'Mexico')

The problem comes from the addition of "Select All" to the drop-down list. In summary, the functionality of the "Select All" checkbox is simply, "check all of the values in the list unless they are already all checked. In this case, then uncheck them all." While this functionality works fine with a small set of values, having several hundred values in an IN clause is not a very efficient SQL statement.

The performance implications for Analysis Services is even more significant; you can select all of the individual members of a dimension as well as the "All" member of a dimension. If your parameter contains the entire member hierarchy (not just a single level), selecting all of the items in the list can cause major performance issues.

A more efficient "Select All" function would actually modify the statement to exclude the clause entirely. Selecting "all countries" in the above statement would result in:

SELECT name FROM customer

This is quite a bit trickier than the simple parameter substitution logic as you need to maintain the integrity of the statement (What if there is more than one search condition?) Also, we would need to write query parsing routines for each language we supported (T-SQL, MDX, PL-SQL, etc.)

We thought a long time about how to address the performance issues of this feature in SP1. Ideally, you would be able to add a flag to the report definition that would say whether or not to add the "Select All" checkbox. However, as a policy, we don't change the report definition in service packs due to the upgrade and compatibility issues. We also thought about auto-detecting whether a report is against Analysis Services but couldn't really do this without changing the execution SOAP API. We thought about making it a flag in the configuration file but this would force people to decide one way or another for all reports. Finally, we thought about putting "Select All" at the end of the list instead of the beginning.

Summary
It’s good to know why the MS team removed the Select All in the first place. It had nothing to do with a bug or so, but it was all about performance. Since we are self-employed and responsible for our own queries it's nice to have back again. I know several people made all kind of solutions to fulfill the same needs, but nothing came really close to the current UI and behavior.

 

3 Comments

This is the second article about Ten Must-Have Tools Every TFS User Should Download Now.

Part I discusses:

Part II discusses:

You cannot expect to build a first-class project unless you use the best available tools. Besides well-known tools such as Visual Studio® .NET and Team Foundation Server, there are a multitude of small, lesser-known tools available from the .NET community. In this article, I'm going to introduce you to some of the best free tools available today that target project development. I'll walk you through a quick tutorial of how to use each of them, some of which will save you a minute here and there, while others may completely change the way that you work. Because I am squeezing so many different tools into this single article, I will not be able to cover each of them extensively, but you should learn enough about each to decide which tools are useful for your projects.

Workitem Event Subscription
In TFS there are a lot of things which can't be realized with the Team Explorer. These special methods are hidden for default user and can only be called by using the command-line. One of these things is subscribing to events. Lots of people have trouble creating filter expressions for event subscriptions, and managing subscriptions. We do have bissubscribe.exe tool that helps with creating subscriptions. But creating subscription expressions is hard because of its syntax. Also, that tool doesn't give a way to view existing subscriptions to unsubscribe them. This excellent tool will do this for you.

Note: This tool as name says only add WorkItem events to the TFS Server. It would be nice if you could add Filters to other event types as well.

http://blogs.msdn.com/narend/archive/2006/07/26/679440.aspx

TFSAlert
Is a .Net 3.0 smart client which monitors for user selected TFS events and will display a balloon window in the Windows TaskBar Notification Area. It is built on top of WCF where you can subscribe to any TFS event you feel fit. It's initial focus is around Team Build management but will also include features around Work Item tracking. For extra information about WCF, read this excellent blog series of my colleague.

Note: This tool has some commonalities with the email messages of Outlook. Outlook will also show you a balloon and will even store it in your Inbox, so you can easily find again. Only with this tool you'll get a specific balloon based on the event type. Unfortunately this balloons don't contains any hyperlinks for showing detailed information about the Workitem and its way for subscribing to events is to barbarian. You have to edit the app.config to subscribe to several events. It would be nice if they integrated some features of Workitem Event Subscription tool.

http://www.codeplex.com/Wiki/View.aspx?ProjectName=TfsAlert

TFS Bug Snapper
Tool that allows to simplify the process of attaching screen captures and bug descriptions to work items in Team Foundation Server.

Note: The tool works like hell, except it creates a Task WorkItem instead of Bug WorkItem. I don't know why Grant build it this way.

http://www.holliday.com.au/blog/tfs-bug-snapper-v10-released.html

TFS Permission Manager
Working with Team Foundation Server we have to perform various repeating task related to user declaration and permission setting.

Note: I know there is also another TFSAdmin tool, but this tool is a lot more stable than the other one. Besides this if you upgrade your TFS to WSS v3 as I described in my Guide, you won't be able to administrator WSS anymore.

http://blogs.microsoft.co.il/blogs/srlteam/archive/2006/11/27/TFS-Permission-Manager-1.0-is-Finally-out.aspx

Summary
While this article has been dedicated to freely available tools, there are also a host of tools that can be purchased for a reasonable price. I encourage you to check out these other options, as in some cases they can add some tremendous functionality to the TFS. This article has been a quick tour of some of the best freely available tools for TFS. Each of these tools may only do a small thing, but together they help to increase your productivity and enable you to create better projects.

Besides this Microsoft could integrate or add some off the tools from the TFS community to TFS. Microsoft could use a trimmed-UI, so only the users containing the right permissions, could see and use these tools. Maybe we see some of these in 'Orcas' or 'Hawaii'.

 

17 Comments


 


!! THIS BLOG IS OBSOLETE SINCE MICROSOFT IS DELIVERING A GUIDE ON MSDN !!


 


For users who want to install TFS SP1 after this upgrade an update of this blog is available. In the new blog I explain how to fake a WSS v2 site on a WSS v3 server. For new users, first install TFS SP1 and then follow this guide for upgrading to WSS 3.0.


For users who want to install TFS in a FQDN (Fully Qualified Domain Name) environment I added some blogs how to setup an environment like this.


The last time I wrote an article about upgrading your TFS V1 environment to WSS 3.0, I got a lot of reactions. Some where good, some where not. Most of the complaints where about "Can't you write a simple upgrade guide.". I'm aware that my previous post wasn't clear enough and I didn't use any steps in it. So this is the first thing I gonna set straight in this post. The previous post was also to complex and you had to do to much manual steps (e.g. Don't upgrade, upgrade the content database, reconfigure Reporting Services, e.t.c.). Luckily I found out you can do an upgrade after all. Other complaints I got that I was changing the Process Guidance Templates which isn't the proper way. This part really frustrated me to, so I deep dived into Team Foundation Server and searched for the problem which prevent me for creating a new site from the Team Explorer. The good news is, I found it, and have two solutions for it. One is for all administrators of TFS and the other is for the Microsoft Team. One thing still stands as Brian Harry commented in my Blog "The last remaining issue that you may hit is when you try to upgrade to a future version of TFS. You may find yourself trying to hack your way through that too.". I can't do anything about it right now, because I and the most of you don't know which parts Microsoft will patch when they deliver 'Orcas'. Of course its advisable to backup your system and databases before you do any upgrade. Furthermore I recommend you to download the latest MSF Process Guidance. All points which have been carried by Jason Barile are refuted in this blog.


Install Procedures:



  1. Update Windows
    Visit Windows Update (http://windowsupdate.microsoft.com/) and install all items in the Critical Updates and Service Packs group.


  2. Install Microsoft .NET 3.0
    Install Microsoft .NET Framework version 3.0, which is a prerequisite for WSS 3.0.


  3. Change WSS v2 port
    Click Start, click Control Panel, click Administrative Tools, and then click Internet Information Services (IIS) Manager.
    Right-click the SharePoint Central Administration folder and then click Properties.
    Change the TCP Port to a none existing port number (e.g. 9999).


  4. Install Microsoft Windows SharePoint Services 3.0.
    Select the default upgrade 'Yes, perform an automated in-place upgrade'.
    You should not change the default selections in any other feature areas.
    Click the Install Now button and accept the warning.
    Deselect Run the SharePoint Products and Technologies Configuration Wizard now and click on close.


  5. Pre-upgrade scan your WSS v2 sites
    Run prescan.exe /all from the command prompt.
    prescan.exe is located in C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12BIN.
    You must use the pre-upgrade scan tool to scan all Web sites in your environment to check if any errors exist before you perform an upgrade.


  6. Upgrade WSS v3
    Click Start, click Control Panel, click Administrative Tools, and then click SharePoint Products and Technologies Configuration Wizard.

    On the Configure SharePoint Central Administration Web Application page,
    check Specify port number: 17012 (Default port for TFS SharePoint)
    You should not change the default selections in any other feature areas.

    The wizard will now start 10 tasks to complete the upgrade in WSS.

    Update Fabrício Braz: We can't forget to emphasize that the SQL Server 2005 has to be set up to using both TCP/IP and named pipes for local and remote connections. Otherwise, the step 6 won’t work at all.


  7. Post-upgrade WSS v3
    When you hit Finish button the SharePoint 3.0 Central Administration site is opened and shows an upgrade status page in your browser at http://server:17012/_admin/UpgradeStatus.aspx. Please be very patient, because this post-upgrade could take quite some time. Check Step within the action compared to the Total steps in this action. When the upgrade status shows Finished, click on the Finalize Upgrade link, and click on the Complete Upgrade button.

    When the upgrade is finally finished you may configure your complete SharePoint Server (e.g Email, Search).

    Update Mike B: By default the account used for installing TFS only has permissions for creating new team projects. You can add other accounts by signing in at the http://{myserver}/default.aspx site with this account.


  8. Check your Reporting Server and WSS sites
    Open the reporting site in your browser at http://servername/reports.
    Open one of the team projects in your browser at http://servername/sites/teamproject.

    For sites that were customized in a Windows SharePoint Services-compatible design program in which the server administrator has chosen to keep the customizations during the upgrade, your home page will have the look and feel of the Windows SharePoint Services 2.0 site rather than the Windows SharePoint Services 3.0 site and will not include all of the Windows SharePoint Services 3.0 features. Site owners should consider discarding the customizations by using the Reset to site definition link on the Site Settings pages for those sites. (Caution: By doing this the MSF Agile look and all your report links will be removed.) This will give the customized pages the Windows SharePoint Services 3.0 default and uncustomized version of the page, including all of the Windows SharePoint Services 3.0 features. With e.g. SharePoint Designer, you can customize your Site Template again.


  9. Open Visual Studio Team Explorer to open your project using the new WSS v3 site.

You now have configured all your current project sites to use WSS v3. To create new Team Projects, you have to the following steps. These steps will not change any of your Process Templates and will not harm your TFS server in anyway. These steps will change the behavior of your WSS v3 site so TFS can communicate with it, like it's a WSS v2.


New project procedures:



  1. Add Process Template to the server
    Before you can use the WSS v3 to create a site, the template for the selected Process Template must be upgraded to a WSS v3 template, else you'll get the following error: "TF30267: Windows SharePoint Services version 2 templates are not supported in this version of the product."
    You can download a VSTS_MSFAgile.stp and VSTS_MSFCMMI.stp Template for WSS v3 here or you can create your own by doing the following steps.


    • Go to an upgraded site and save the site as Template by clicking on Site Settings.
    • Click on Save site as template.
    • Give the file and template the exact same name as which it is stored in your Process Template.
      You can find the site template name in the WssTasks.XML which you can open if you download the process from the Process Manager.
      For MSF for Agile Software Development -v4.x its VSTS_MSFAgile.
    • Download the file from site template gallery in the site and store it at C:

    Run stsadm from the command prompt to delete the WSS v2 template and add the WSS v3 template.
    stsadm can be found at C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12BIN

    stsadm syntax: stsadm -o deletetemplate -title <template title>

    For example: stsadm -o deletetemplate -title VSTS_MSFAgile


    stsadm syntax: stsadm -o addtemplate -filename <template file> -title <template title>

    For example: stsadm -o addtemplate -filename C:VSTS_MSFAgile.stp -title VSTS_MSFAgile

    Run iisreset /noforce


  2. Change the WSS Admin Webservice
    As soon as you try to upload a new Process Template or you want to create a new Team Project, you'll get the following error: "TF30162: The language id specified in the process template does not exist on the WSS server".


After a deep and thorough search, I found out the WssSiteCreator class of the ProjectCreationWizard calls a method VerifyLcidOnServer, which checks the LCID's on the WSS Server. This verification is done by using the GetLanguages method of the WSS Admin Webservice. This is where the problem comes in. In SharePoint v2 this method didn't return any XML namespace, so it was really easy to populate and to query with XPath. In SharePoint v3 GetLanguages returns a XML namespace, as it should be, like W3C recommends.


<Languages xmlns="">
  <LCID>1033</LCID>
</Languages>
Return GetLanguages WSS v2


<Languages xmlns="http://schemas.microsoft.com/sharepoint/soap/">
  <LCID>1033</LCID>
</Languages>
Return GetLanguages WSS v3


XmlNode xml = admin.GetLanguages();
XmlNodeList nodeList = xml.SelectNodes("LCID");
Current code MS Team is using for populating


XmlNode xml = admin.GetLanguages();
XmlDocument xmlDoc = xml.OwnerDocument;
 
XmlNamespaceManager xmlnsManager = new XmlNamespaceManager(xmlDoc.NameTable);
xmlnsManager.AddNamespace("mike", xml.NamespaceURI);
XmlNodeList nodeList = xml.SelectNodes("//mike:LCID", xmlnsManager);
Code MS Team should use for populating (This works for WSS v2 as for WSS v3) 

 



Because I don't have the sources of Team Foundation Server or WSS v3, I have to arrange something otherwise. In this code part I'll parse every method to the original Webservice except the GetLanguages method. In this method I'll copy all nodes and remove all the namespaces so the code of the TFS TeamExplorer will understand it. By doing this TFS thinks it's a WSS v2 machine. Maybe this solution isn't the best, but it works for me.


using System;
using System.ComponentModel;
using System.Collections;
using System.Data;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web;
using System.Xml;
using System.Net;
using System.Security.Permissions;
 
namespace SharePoint.WebService
{
    /// <summary>
    /// Summary description for Admin
    /// </summary>
    [WebService(Namespace = "http://schemas.microsoft.com/sharepoint/soap/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]
    public class Admin  : System.Web.Services.WebService
    {
        [WebMethod]
        public string CreateSite(string Url, string Title, string Description, int Lcid, string WebTemplate, string OwnerLogin, string OwnerName, string OwnerEmail, string PortalUrl, string PortalName)
        {
            AdminProxy.Admin spAdmin = new AdminProxy.Admin();
            spAdmin.Credentials = System.Net.CredentialCache.DefaultCredentials;
 
            return spAdmin.CreateSite(Url, Title, Description, Lcid, WebTemplate, OwnerLogin, OwnerName, OwnerEmail, PortalUrl, PortalName);
        }
 
        [WebMethod]
        public void DeleteSite(string Url)
        {
            AdminProxy.Admin spAdmin = new AdminProxy.Admin();
            spAdmin.Credentials = System.Net.CredentialCache.DefaultCredentials;
 
            spAdmin.DeleteSite(Url);
        }
 
        [WebMethod]
        public XmlNode GetLanguages()
        {
            AdminProxy.Admin spAdmin = new AdminProxy.Admin();
            spAdmin.Credentials = System.Net.CredentialCache.DefaultCredentials;
 
            XmlNode xmlNode = spAdmin.GetLanguages();
            XmlDocument xmlDoc = new XmlDocument();
 
            xmlDoc.LoadXml("<Languages></Languages>");
 
            foreach (XmlNode childNode in xmlNode.ChildNodes)
            {
                XmlNode targetNode = xmlDoc.CreateNode(childNode.NodeType, childNode.Prefix, childNode.Name, "");
                targetNode.InnerXml = childNode.InnerXml;
 
                xmlDoc.DocumentElement.AppendChild(targetNode);
            }
 
            return xmlDoc.SelectSingleNode("Languages");
        }
 
        [WebMethod]
        public void RefreshConfigCache(System.Guid VirtualServerId, bool AdminGroupChanged)
        {
            AdminProxy.Admin spAdmin = new AdminProxy.Admin();
            spAdmin.Credentials = System.Net.CredentialCache.DefaultCredentials;
 
            spAdmin.RefreshConfigCache(VirtualServerId, AdminGroupChanged);
        }
    }
}
Code of the new Admin Webservice 

 



A Compiled SharePoint.Webservice.dll and a new admin.asmx can be found here.

To use these files you must open the Windows Explorer and go to C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12ADMISAPI




Unfortunately you must change the trust level of the SharePoint site to be able to run this Webservice on your machine. Open the Windows Explorer and go to C:InetpubwwwrootwssVirtualDirectories#### (Random number, ShartePoint Central v3 Administration)




    • Edit the web.config in the current directory and change its trust level.
    • <trust level="WSS_Minimal" originUrl="" />
      <trust level="Full" originUrl="" /> (Full with a capital F)


Open the Windows Explorer and go to C:InetpubwwwrootwssVirtualDirectories####bin




    • Copy the downloaded or self compiled SharePoint.Webservice.dll in the directory.


Update Bart Gunneman : You need to change the trust level, because you deploy your new asmx into the bin folder of this website. If you deploy it into the GAC it should not, in theory, be necessary to raise the trust level.


Open the original admin Webservice in your browser at http://localhost:17012/_vti_adm/admin_org.asmx
Open the new admin Webservice in your browser at http://localhost:17012/_vti_adm/admin.asmx


You now have upgraded your TFS configuration to WSS v3. Everything should work now, like it did before. So you can use all all the features in Team Explorer like Show Project Portal..., New Document Library..., Upload Document... and New Folder. But you could also create new Team Projects and down- and upload new Process Templates. The last step in this guide is to cleanup everything which is leftover by the installation of TFS.


Cleanup procedures (Extra, Not Necessary):



  1. Uninstall WSS 2.0
    Click Start, click Control Panel, and then click Add or Remove Programs.
    Remove
    Microsoft Windows SharePoint Services 2.0

    When the program is removed click Start, click Control Panel, click Administrative Tools, and then click SharePoint 3.0 Central Administration. This will reconfigure your machine.

    Caution: After uninstalling WSS v2: Your security on the root web.config has changed


    Open the Windows Explorer and go to C:Inetpubwwwroot
    Open the security properties of
    web.config
    Click the Advanced button and select Allow inheritable permissions from parent to propagate to this object and all child objects.


Update: Don't remove WSS v2, you'll need it for updates.


Reboot
Reboot your system to make sure all changes are made successfully.


I have seen on some machines that after a reboot I also need to change the trust level of the SharePoint site itself, else the documents won't show up in the Team Explorer.


Open the Windows Explorer and go to C:Inetpubwwwroot




    • Edit the web.config in the current directory and change its trust level.
    • <trust level="WSS_Minimal" originUrl="" />
      <trust level="Full" originUrl="" /> (Full with a capital F)

To do a final test you could upload a new Process Template (Just download a template from the Process Manager. e.g MSF for Agile Software Development -v4.x and modify its name in the ProcessTemplate.xml)


Summary
My summary of the previous blog still stands and still hopes the MS Team will give us the support as soon as possible. Besides this I hope the most of you will test this Guide and help me to make it more complete. I only tested it on a TFS Single-Server, so maybe someone can test it on TFS Dual-Server as well. Furthermore it will be nice to test it on a clean machine, so TFS will do a full configuration of WSS v3. I'll test this the next coming week. Ok, there are some disadvantages (You must downgrade your trust level and do an upgrade of the Webservice), but compare to the advantages of WSS 3.0, at least give it a try. At my company we will use it too, so we can eat our own Dogfood. This way I guarantee you I'll deliver a guide for upgrading to 'Orcas' as well.

Update: This upgrade works for a single-, as a dual server installment. It's not possible to install TFS on WSS v3 from scratch.


 


On December 5, Microsoft announced the public availability of a Community Technology Preview (CTP) test build of PerformancePoint Server 2007. PerformancePoint Server is a highly-integrated performance management application, driven by the SQL Server platform and familiar Microsoft Office front end, allowing corporations to monitor, analyze, plan and make critical business decisions based on reliable data from all aspects of the company. Partners, customers and end-users are encouraged to visit the Web site at to download the application to begin building plans in a real-world environment and testing the overall power of the product for themselves.

If you're not a KPI (key-performance-indicator) jockey, you probably haven't paid much attention to Microsoft's PerformancePoint. But here's why it matters, in the grander Microsoft scheme of things.

Almost all of Microsoft's recent talk about Office has centered around the desktop application suite. But Microsoft also is angling for Office to be a front-end to back-end business applications. That's why Microsoft announced the release of OBA RAP for Supply Chain Management. OBA RAP is the abbreviation for Office Business Application Reference Application Pack. An RAP is a set of technical resources and guidance to enable architects and developers to design and build solutions using a reference application. If you want to know all about OBA read the blog Office Business Applications: What is it, and how can I get started? of Erika Ehrli (Site Manager for the Office Developer Center).  

Microsoft is expecting more OBA's from various third-party developers. OBA's are important to Microsoft because they provide yet another way to get Office entrenched in businesses. And via its related Line of Business Interoperability (LOBi) service, Microsoft is hoping to get SharePoint Server equally embedded inside corporate IT shops.

OBAs and LOBi are both part of Microsoft's overarching push to make Office more roles-based/verticalized. And it looks like Microsoft's planning a similar vertical — and horizontal — push with PerformancePoint Server, too.

Where is Office PerformancePoint heading for
Since Microsoft acquired ProClarity for its technology and its people, MS speeded up their entrance into the performance management space. Microsoft Business Scorecard Manager Server 2005 and ProClarity 6.2 where already often integrated as part of a customer solution. In the next picture I'll show you which areas the BSM and Proclarity are covering and at which areas OPS is aiming.


Performance Roadmap

Area 1

With Business Modeling, companies determine costs, capacity, activity levels and production volumes across the enterprise. Managers simulate, dynamically test, and compare alternate business scenarios and identify the optimal solution to maximize business performance and profitability.

Business Forecasting allows you to forecast your business needs. Define business scenarios and project your financial position. Manage your business, prepare detailed business forecasts including: sales, loans, salaries and investments.

Area 2

Pervasive Analytics is used to support and improve the decision-making process. And making faster and better decisions, based on the speed and format at which data is collected, sorted by relevance, and delivered, is key to a company’s survival and ability to stay competitive.

Area 3

Scorecarding / Dashboarding expands the reach of business intelligence and brings every employee into the performance management process through personalized Web-based scorecards.

Microsoft Resources:

 

12 Comments

An update of this blog is available. In the new blog I refuted all point which has been carried by Jason Barile. This blog describes of full Guide which every TFS administrator can follow to upgrade to WSS v3.


Before you read this post I must warn you, this solution is as is. I'm trained professional so don't do this at work. 😉 


According to Jason Barile, you will not be able to create project portals for TFS projects if you upgrade Windows SharePoint Services v2 to v3.


Via Jason: If you happen to upgrade your WSS2.0 to WSS3.0, you can expect the following behavior:




  • The Team Explorer's 'Documents' node will have a red x on it and will not expand. 
  • Team Project Creation Wizard will fail with the standard templates, only templates with all WSS functionality removed will work. 
  • You will not be able to browse to the site by right-clicking on the project and selecting 'Open Project Portal'. 

Although I believe him, I would like to test it myself. The first two bullets are really necessary to use it in your Team Project environment. The last bullet is not a show stopper, but as a developer it can be very handy for going to the portal or create document libraries, folders and documents from the Team Explorer.


Introduction
Why should you want to upgrade to WSS 3.0?


For Example:



  • Customize your sites quickly
  • Better control with master pages
  • Send e-mail to a SharePoint site
  • Get mobile access to a SharePoint list
  • Poll people more effectively with improved surveys
  • Receive updates about lists and libraries with RSS Feeds
  • Track your work with improved calendars
  • Copy documents easily to another location
  • Better management of versions
  • Better document recovery

Should I go on or should I show you how to upgrade.


How to install
When you try to install one of the default upgrades it can give you several errors and unfortunately this isn't the correct way for upgrading right now.


 
Upgrade WSS 2.0 -> 3.0


As you can see in the picture above the default instance of WSS 2.0 is created by the TFSSERVICE account. It isn't even possible to install and configure a WSS 2.0 site yourself (e.g. Create permissions, set databases). The configuration is done by the TFSSERVICE account, so that's maybe an issue why you can't upgrade. Mine TFSSERVICE account only has "Log on as a Service" policy enabled as mentioned in Rob Caron's installation guide. So select 'No, do not upgrade at this time'.


How to configure
After installing WSS 3.0 you can't extend your WSS 2.0 site, but you can create a new Web Application which is using the same site location (e.g C:inetpubwwwroot) and same content database (STS_Content_TFS) as your WSS 2.0 site uses. Before you create your new Web Application you first have to prescan the site with prescan.exe. Just use the /all attribute and the site is ready to upgrade. Use all values (as given) to overwrite your previous site, use port 80 to open it for TFS and name the site (e.g. SharePoint - 80). After the Application is created you need to reset IIS by using iisreset /noforce. This way the site will be reloaded and uses all his new configuration settings including those of SharePoint.



Upgrade your Team Project server


Check the result
Jason expected the following result "The Team Explorer's 'Documents' node will have a red x on it and will not expand." but it's working perfectly. You not only upgraded one Team Project site, but you upgraded all subsites of http://server/sites. Besides showing the documents in Team Explorer, you also use all the features in it (e.g Show Project Portal..., New Document Library..., Upload Document... and New Folder).



Bullet 1 is off the list


Still one red x to go. Check your Internet Information Services (IIS) Manager to see there are two sites configured at port 80. The 'Default Web Site' and the new configured site 'SharePoint - 80'. The report server doesn't work anymore cause you created a new Web Application. We have to reconfigure SSRS. You may delete your 'Default Web Site' because you just created a new one.


Reconfigure SSRS
Back in the old days 😉 configuring SSRS was quite a job. Luckily we now have the Reporting Services Configuration Manager. With this manager it's easy to create the two Virtual Directories with the correct setting and permissions needed. The only thing left is to change the Application Pool for both directories. You can do this in the Internet Information Services (IIS) Manager by selecting 'ReportServer' in the properties dialog of one of the directories. When you finished with this option you can click Refresh in the Reporting Services Configuration Manager and the Web Service Identity will be mark as correct. After doing this you can refresh your Team Explorer and look at the result. As you can see in the image everything works perfectly.


 
Complete the upgrade


How about new Team Projects
Having upgraded your old WSS 2.0 sites to WSS 3.0 sites you can ask yourself the question "Can I still create new Team Projects?". Jason expected the following "Team Project Creation Wizard will fail with the standard templates, only templates with all WSS functionality removed will work.". It's even worse because you can't use any template at all. I've tried to create a Site Template "VSTS_MSFAgile" (This name can be found in WssTasks.XML which is part of the Process Guidance) based on a previous project. As you can see in the next image it's not working.


 
Create a new Project


Finally I ended by downloading my default Process Guidance and cleared the WssTasks.XML. After customizing the Process Template I uploaded it to TFS. As you can see it's almost empty. I only added the portal tags, so the plugin won't fail.


 
Content of WssTasks.XML


By doing this you are able to create a new Team Project without having any errors. You now have to create a site using SharePoint Central Administration. It's up to you what site template you want to use because you could even use a Team Site template. The only important part is, is to create at the http://server/sites location and give it exactly the same name as your Team Project. You now have created a new site using WSS 3.0 which can be used in a TFS V1 environment. It's a good idea to create a default site definition which already has all the TFS documents for your process in it. Or you can just copy all files using the Web Client service by connecting to one of the created document libraries (e.g. http://server/sites/teamproject/process guidance). It's not perfect but it works, so bullet two is gone as well.



Newly created Team Project


Summary
I hope you're as excited as I'm and will soon upgrade you TFS environment to WSS 3.0. Ok, there are some disadvantages, but compare to the advantages of WSS 3.0, at least give it a shot. Of course this is as is, so Microsoft will not support this upgrade. As Jason mentioned in his blog "the upcoming service pack for TFS will not add support for WSS 3.0.  We are investigating options for supporting WSS3.0 and beyond in future releases of TFS." Why is Microsoft trying so hard to not use this feature in a service pack update. Why is the team trying so hard to push us in the direction of 'Orcas'. 'Orcas' is great update (Read Brian Harry post about the TFS roadmap, he doesn't even mention WSS 3.0) and I will certainly advise everybody to upgrade, but WSS 3.0 has nothing to do with 'Orcas'. It's just laziness of the team or orders from the management above. After upgrading to WSS 3.0, you can even install SP1 for TFS and uninstall WSS 2.0, without harming the system. If you've upgraded to SP1 and you uses Office 2007 this system really rocks. You get even more advantages, because Office 2007 integrates seamlessly with TFS and WSS 3.0.



Office 2007 using TFS


Please TFS Team help us



  • Jason bullet 1; Just make sure the WSS 2.0 databases are ready to update. So all people don't have to follow my workaround.
  • Jason bullet 2; Just update the plugin for SharePoint (Microsoft.ProjectCreationWizard.Portal). How hard can it be to use the services of WSS 3.0.
  • Jason bullet 3; No issue, just reboot your system after all these changes.

How hard can it be? Lots of people invested in a marvelous SDLC tool, why can't they upgrade easily to WSS 3.0. It's free, it's full off nice features and they are ready for future.


 


Announcing the release of the first "WPF/E" CTP

“WPF/E” is the Microsoft solution for delivering rich, cross-platform, interactive experiences including animation, graphics, audio, and video for the Web and beyond. Utilizing a subset of XAML (eXtensible Application Markup Language)-based Windows Presentation Foundation technology, “WPF/E” will enable the creation of content and applications that run within multiple browsers and operating systems (Windows and Macintosh) using Web standards for programmability. Consistent with Web architecture, the XAML markup is programmable using JavaScript and works well with ASP.NET AJAX. Broadly available for customers in the first half of 2007, “WPF/E” experiences will require a lightweight browser plug-in made freely available by Microsoft (Compare it with Flash of Adobe). It's time to export those XAML(WPF) programs to the web, download and install this browser plugin for IE and/or Firefox, on Windows or Macintosh.

Announcing the release of Microsoft Expression

Microsoft announced Microsoft Expression Studio today. I've been using Expression Blend in one of mine classes..

Microsoft Expression takes your creative possibilities to a new level. The professional design tools and innovative technologies in Expression give you the flexibility and freedom to bring your vision to reality—whether you are designing standards-based Web sites, rich user experiences on the desktop, or managing digital assets and content. Expression Studio includes the following products:

Expression Web 
is a professional design tool to create modern, standards-based sites which deliver superior quality on the Web.

 

Expression Design 
is a professional illustration and graphic design tool that lets you build compelling elements for both Web and desktop application user interfaces.

 

Expression Blend
is the professional design tool to create engaging, Web-connected, user experiences for Windows.

 

Expression Media
is a professional asset management tool to visually catalog and organize all your digital assets for effortless retrieval and presentation.

 

Scott Guthrie wrote an excellent blog about WPF/E. Start downloading WPF/E today and go to some of the samples or download one of the Expression Studio's and start design your own UI's.