Friday, April 04, 2008

Creating a WSS 3.0 Solution package from Reporting Services Web Part package

You can use Reporting Services SharePoint 2.0 Web Parts in WSS 2.0 and WSS 3.0 to access report server content on a SharePoint site from a native mode SQL Server 2005 report server or from a SQL Server 2000 Reporting Services report server.

There are two web parts as part of the Reporting Services Web Part. They are
  • Report Explorer – This allows you to connect to Report Manager on the report server computer. You can browse available reports on a report server and subscribe to individual reports.
  • Report Viewer – This allows you to display a report, it provides a toolbar that you can use to navigate pages, search for content, or export the report.
The Report Services (RS) Web Parts was introduced in SQL Server 2000 Reporting Services Service Pack 2 (SP2) and continue to be available in current releases of SQL Server. These Web Parts are provided as a Web Part package and is installed with SQL Server Reporting Services. You can install the RS Web Parts by running the STSADM.EXE using the following syntax (assuming you have installed the web parts in the default location)

STSADM.EXE -o addwppack -filename "C:\ Program Files\Microsoft SQL Server\90\Tools\Reporting Services\SharePoint\RSWebParts.cab" -globalinstall

For the web parts to work properly you have to install it on all the Web Front End (WFE) servers. This is a time consuming task if you have a large farm. Below, I will describe a step by step procedure to create a solution out of the web part package. I will use WSPBuilder, a SharePoint Solution Package creation tool for WSS 3.0 and MOSS 2007.

Steps to Create the Solution Package

1. Download the WSPBuilder application and extract to c:\WSPBuilder folder. Update the System “PATH” environment variable to include this directory.

2. Open the RSWebParts.cab using winzip.exe and extract the contents of the cab file to folder c:\RSWebPartsPkg. The contents of the cab file are shown in Figure 1.

Figure 1: RS Web part package cab file contents

3. Create a directory c:\RSWebParts and create the following structure as shown in Figure 2 under it.

Figure 2: Directory structure needed for WSPBuilder to create the solution package.

4. Copy the contents of directories de, es, fr, it, ja, ko, zh-chs and zh-cht from c:\ RSWebPartsPkg to c:\RSWebParts\80\resources directory.

5. Copy SPExplore.dwp and SPViewer.dwp files from c:\ RSWebPartsPkg to c:\RSWebParts\80\wpcatalog directory.

6. Copy report_explorer.gif and report_viewer.gif file from c:\ RSWebPartsPkg to c:\RSWebParts\80\wpresources\RSWebParts directory.

7. Copy RSWebParts.dll file from c:\ RSWebPartsPkg to c:\RSWebParts\GAC directory.

8. You need Microsoft.SharePoint.dll and Microsoft.SharePoint.Security.dll from WSS 2.0 version. Copy these dlls to c:\WSPBuilder\2003 directory. Without these files you will not be able to build the solution package.

9. Now open up a command prompt and change directory to c:\RSWebParts directory.

10. Execute the following command from the command prompt to create the solution package. See Figure 3.
WSPBuilder.exe -DllReferencePath c:\WSPBuilder\2003

Figure 3: Run WSPBuilder to create the RS Web Parts Solution Package

Installing the Solution Package

Following are the steps to install the RSWebParts solution package.

1. On the computer that has the installation of the WSS 3.0 or MOSS 2007, open a Command Prompt window and navigate to the folder C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN.

2. Add the RSWebParts.wsp solution the SharePoint farm using the following command
STSADM -o addsolution -filename RSWebParts.wsp

3. Next deploy the added solution using the following command
STSADM -o deploysolution -name RSWebParts.wsp -allcontenturls -immediate –allowgacdeployment

The Web Parts are now deployed on all the WFEs and are ready to be used.

Tuesday, March 04, 2008

Installing Language Packs for Office SharePoint Server 2007

Language packs enables Administrators of sites and site collections to create sites and site collections using different languages other than the install language. The language packs needs to be installed on all the web front-end servers in a farm. My suggestion would be to install the language packs on all the servers on the farm. So that if you need to convert an application server into a web front end server, you can do it with minimum effort.
Language packs are available for the following languages:
· Arabic
· Bulgarian
· Catalan
· Chinese (Simplified)
· Chinese (Traditional)
· Croatian
· Czech
· Danish
· Dutch
· English
· Estonian
· Finnish
· French
· German
· Greek
· Hebrew
· Hindi
· Hungarian
· Italian
· Japanese
· Korean
· Latvian
· Lithuanian
· Norwegian (BokmÃ¥l)
· Polish
· Portuguese (Brazil)
· Portuguese (Portugal)
· Romanian
· Russian
· Serbian (Latin)
· Slovak
· Slovenian
· Spanish
· Swedish
· Thai
· Turkish
· Ukrainian
Before you install language packs on your front-end Web servers, you must do the following:
· Install the necessary language files on your front-end Web servers.
· Install Office SharePoint Server 2007 on each of your front-end Web servers.
· Run the SharePoint Products and Technologies Configuration Wizard on each of your front-end Web servers.
Most language files are installed by default on the Microsoft Windows Server 2003 operating system. However, you must install supplemental language files for East Asian languages and languages that use complex script or require right-to-left orientations. Below are the steps to install the supplemental language support.

Installing Supplemental language support
Supplemental language support for complex script and right-to-left languages needs to be installed if you are installing the language pack for the following languages:
· Arabic
· Armenian
· Georgian
· Hebrew
· Indic
· Thai
· Vietnamese
Supplemental language support for East Asian languages needs to be installed if you are installing the language pack for the following languages:
· Chinese
· Japanese
· Korean
Following are the procedures to install supplemental language support on Windows 2003 server for
· Complex script and right-to-left languages
· East Asian languages

1. Go to Control Panel from the Start menu
2. Double click on Regional and Language Options in the control panel

3. Select the Languages tab in the Regional and Language Options window


4. Under Supplemental language support, Select the appropriate check boxes against :
· Install files for complex script and right-to-left languages
· Install files for East Asian languages

5. Click the OK button.
You will be prompted to insert the Windows 2003 install CD.
After installing the files, restart the server when prompted.


Downloading and installing the language pack
You download the language packs using the following URLs
http://www.microsoft.com/downloads/details.aspx?familyid=318D8562-58BD-4329-B1F6-F1941A38BC7F&displaylang=en (SharePoint Server 2007 x64 bit)
http://www.microsoft.com/downloads/details.aspx?familyid=2447426b-8689-4768-bff0-cbb511599a45&displaylang=en&tm (SharePoint Server 2007 x32 bit)

In the download page select the appropriate language from the drop-down and click on the change button. After the page refreshes, click on the Download button to get the language pack.
Once the download is complete use a tool like ISOBuster to extract the contents. Once extracted, click on setup.exe to install the language pack after accepting the license agreement.
After completing the language pack setup you must rerun the SharePoint Products and Technologies Configuration wizard using the default settings. If you do not run the SharePoint Products and Technologies Configuration Wizard after you install a language pack, the language pack will not be installed properly.


Once the download is complete use a tool like ISOBuster to extract the contents. Once extracted, click on setup.exe to install the language pack after accepting the license agreement.After completing the language pack setup you must rerun the SharePoint Products and Technologies Configuration wizard using the default settings. If you do not run the SharePoint Products and Technologies Configuration Wizard after you install a language pack, the language pack will not be installed properly.

Creating a Site collection using the installed language pack
1. In Central Administration click on Create Site Collection link in the Application Management tab.In the create site collection page go to Template Selection section and select a language from the drop-down.



3. Once you select the language, the template names and description in the Template selection section will be displayed in the selected language. Select the template to use for the site collection and click ok.


4. The new site collection will be rendered using the selected language.

Friday, February 29, 2008

How to Enumerate the Shared Service Providers using SharePoint Object Model.

SharePoint Object Model does not expose the SharedResourceProviders collection as a public property. It is a non-public member of the ServerFarm object.

This said, we can still access the SharedResourceProviders property using the magic of "reflection". Below is the code to enumerate the Shared service propviders.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
using Microsoft.Office.Server;

namespace Velavan.EnumSSPs
{
class Program
{
static void Main(string[] args)
{
EnumSharedServiceProviders();
}

private static void EnumSharedServiceProviders()
{
//Get the default server context
ServerContext sc = ServerContext.Default;

//Use reflection to get the m_ServerFarm Property
object serverFarm = sc.GetType().GetField("m_ServerFarm", BindingFlags.Instance BindingFlags.NonPublic).GetValue(sc);

//Use reflection to get the ShareResourceProviders collection
object sharedResourceProviders = serverFarm.GetType().GetProperty("SharedResourceProviders").GetValue(serverFarm, null);

//Enumerate all Shared Service providers
foreach (object sharedResourceProvider in sharedResourceProviders as IEnumerable)
{
Console.WriteLine("SSP - " +
sharedResourceProvider.GetType().GetProperty("Name").GetValue(sharedResourceProvider, null) as string);
}
}
}
}


make sure you add the references to
Microsoft.Office.Server.dll and
Microsoft.SharePoint.dll