Wednesday, November 12, 2008

Installing, Configuring and Managing SharePoint Services

Windows Server 2003 R2 includes Windows SharePoint Services. In this post, we will cover the basic installation and configuration steps needed in order to get a standalone Windows SharePoint Service 3.0 installation up and running on Windows Server 2003 system.

  1. Install the Application Server (IIS) role on your Windows Server 2003 system.
  2. Install the Mail server (POP3, SMTP) role on your system.
  3. Download and install the Microsoft .NET Framework 3.0. Make sure to download the version (32-bit or 64-bit) that matches your operating system.
  4. Verify that ASP.NET v2.0.50727 is allowed by opening the Internet Services Manager, choosing Web Services Extensions, choosing ASP .NET v2.0.50727, and clicking the Allow button.
  5. Download Windows SharePoint Services 3.0 from Microsoft. Don't install Windows SharePoint Services through Add/Remove Programs, because this is not the latest version of the service. For the x64 version of SharePoint, go here.
  6. Execute the downloaded file named SharePoint.exe.
  7. When asked, choose a Basic installation. The Basic installation also includes a run-time database.

Figure 1

Choose an installation type.

  1. Windows SharePoint Services 3.0 will install using the default configuration.
  2. The Windows SharePoint Services configuration wizard will run. This step, among other things, creates a SharePoint configuration database, installs services, and creates sample data.

To utilize your new SharePoint site, open a Web browser and browse to your server's name.

This is a very short introduction of the installation procedure. A detailed Explanation, Installation and Configuration method is as follows.

What is Windows SharePoint Services?
Windows SharePoint Services is the little brother of Microsoft's SharePoint Portal Server. Although Windows SharePoint Services isn't quite as powerful as SharePoint Portal Server, it can really go a long way toward helping your company become better organized.

In addition to helping to archive documents, this Windows Server 2003 component also allows employees to build their own collaborative Web sites. Employees can use these Web sites for retrieving commonly used documents, discussing things going on within the department, and having online meetings. Perhaps the best part of Windows SharePoint Services, though, is that it's free for anyone running Windows Server 2003.

Before you begin
As you can see, Windows SharePoint Services is as powerful as it is useful. Before you can install the component, however, you need to do a little prep work.

For starters, you must locate a suitable server. The server must be running Windows Server 2003 Standard, Enterprise, Datacenter, or Web Edition. The server must also be running Microsoft's ASP.NET and IIS 6.0. As you may know, IIS has a lot of optional components. You must therefore verify that the common files, the Simple Mail Transfer Protocol (SMTP) Service, and the World Wide Web services are all installed and running. None of these components is installed by default.

It's very important to note that you should not install Windows SharePoint Services onto a server that is already hosting a Web site or running a Web application, including Microsoft Exchange. Previously existing Web applications will be disabled during the SharePoint Services installation. Furthermore, the installation process will also disable Kerberos authentication for IIS. Windows SharePoint Services uses NTLM authentication in lieu of Kerberos.

To install the necessary components, select the Add/Remove Programs command from Control Panel. When you do, Windows will display the Add Or Remove Programs dialog box. Click the Add/Remove Windows Components button. When you do, the Windows Components Wizard will appear.

At this point, scroll through the list of components until you find Application Server. Select Application Server, then click the Details button to reveal the individual Application Server components. Select ASP.NET. With the Application Server screen still open, select Internet Information Services (IIS) and click the Details button.

You'll see a list of the various IIS components. The Common Files and the World Wide Web Service should be selected by default, but you'll have to manually select SMTP Service and click OK to return to the Application Server screen. Click OK again to return to the Windows Components Wizard screen. Click Next, and Windows will install all of the necessary files.

Another requirement is that the server must be running a version of SQL Server 2000. Before you stop reading the article, I should tell you that Windows Server 2003 comes with it's own SQL Server engine. This means that smaller organizations don't have to go out and buy SQL Server. The built-in engine is called MSDE (Microsoft Database Engine). It is just like SQL Server, but it has some major limitations.

First, MSDE is designed to slow down significantly if it's used by more than five users simultaneously. In this way, it will work well for small offices, but bigger organizations will want to use a full-blown version of SQL. A second limitation is that it doesn't support databases over two gigabytes in size. This may sound like a big database, but if your users index a lot of documents, the database can grow to be larger than two gigabytes fairly quickly. The final limitation is that MSDE does not offer any administrative tools. If you want to do any administrative work at all on MSDE, you'll have to do it from either a command line or a script. As you can see, MSDE is great for small offices or for development environments, but larger organizations should use SQL Server. For the purposes of this article, we will use a normal copy of SQL Server 2000 running Microsoft SQL Server 2000 Developer Edition with Service Pack 3A.

Once SQL Server or MSDE is installed, there are a few other minor requirements. The server must be a part of a Windows NT, 2000, or 2003 domain, although it doesn't necessarily have to be a domain controller. The server must also have a Pentium III or higher processor, 512 MB of RAM, and 550 MB of free disk space.

Keep in mind, however, that these are only the requirements for installing Windows SharePoint Services. There is a good chance that the databases could grow to be several gigabytes in size, so plan your disk space requirements accordingly.

Finally, the clients will be accessing Windows SharePoint Services through a Web browser. It is therefore important that the clients are running a supported Web browser. Supported Web browsers include:

* Internet Explorer 6

* Internet Explorer 5.5 with Service Pack 2

* Internet Explorer 5.01 with Service Pack 2

* Netscape Navigator 6.2 or higher

Netscape Navigator is based on Mozilla 1.0, so Mozilla and Mozilla-based browsers such as Firebird may work. However, because Microsoft doesn't specifically support them, you may be on your own.

Acquiring Windows SharePoint Services
At the time that Windows Server 2003 was released, Windows SharePoint Services wasn't finished, so Microsoft decided to make the Windows SharePoint Services a downloadable feature pack. You can download Windows SharePoint Services from Microsoft's Windows SharePoint Services Web site. The download consists of a 34-MB, self-extracting executable file named STSV2.EXE.

Installing Windows SharePoint Services
Now that you've finished the necessary prep work, it's time to actually install SharePoint Services. To do so, copy the STSV2.EXE file that you downloaded earlier to an empty folder on your server and then double-click the file. When you do, Windows will extract the Setup files and launch the Setup program.

The Setup wizard's initial screen simply asks you to accept the end-user license agreement. Accept the agreement and click Next. The next screen asks whether you want to perform a typical installation or a server farm installation. If you choose to perform a typical installation, Setup will install SharePoint Services, configure IIS to make its default Web site a SharePoint team site, and install the SQL Server desktop engine (WMSDE, a version of MSDE). On the other hand, if you choose to perform a server farm installation, IIS will not be altered and WMSDE will not be installed. It will be up to you to manually set up the various Web sites and to specify the path to the SQL Server. For the purposes of this article, we will be performing a server farm installation.

Click Next and you'll see a summary of the options you have chosen. If the summary appears to be correct, click Install to begin the installation process. On my 2.8-GHz Pentium 4 test server, the file copy portion of the installation took less than a minute to complete. After the files had been copied, Setup ran a script to reconfigure IIS and then launched the configuration screen for the Windows SharePoint Services. In all, the entire process took about a minute and a half to complete.

Configuring Windows SharePoint Services

When Setup completed, it should have opened the Configure Administrative Virtual Server screen, shown in Figure A. This screen allows you to select which IIS application pool Windows SharePoint Services will use. Since this is a fresh install, we will configure my test server to use a brand new application pool.

Figure A

You must either select or create an application pool for IIS to use.

To create an application pool, select the Create New Application Pool radio button and enter a name for the pool. You must then tell SharePoint to use a predefined security account or you must specify the credentials for an account. Click OK to create the new application pool.

After creating the application pool, you'll see a message indicating that the application pool has been created, but that IIS must be restarted. Prior to clicking OK on this screen, you must open a Command Prompt window and enter the IISRESET command. IISRESET will stop and restart the IIS services. When the process completes, close the Command Prompt window, return to the Application Pool Changed screen, and click OK.

The next screen you'll see, shown in Figure B, allows you to configure the connection to the SQL database and to the Active Directory. Begin by entering the name of your SQL Server. In this particular case, I've installed SQL Server 2000 onto the same server that I'm using to run SharePoint Services, so I would enter that server's name.

Figure B

You must provide SharePoint Services with some database and Active Directory information.

The Configure Database section also asks for the name of the SQL Server database. Windows SharePoint Services tends to have problems recognizing any databases that you might have created ahead of time, so it's best to just let the configuration wizard create the database for you. Fill in the database name, but don't select the check box indicating that the database already exists. Just below the database name field, the configuration screen asks which type of authentication you want to use. I recommend using Windows authentication. SQL authentication is less secure and is typically used only by applications that don't support NTLM authentication.

Now that you've filled in all of the database-related fields, let's look at the Active Directory Account Creation section. I'm assuming that your server is already a part of a domain as outlined in the requirements earlier. If this is the case, the users should already have Active Directory accounts, so you can simply select the Users Already Have Domain Accounts radio button and click OK.

You'll now see the Windows SharePoint Services Central Administration screen, which is shown in Figure C. Make a note of the URL for this screen, because you can use this URL to access the Central Administration console in the future if you need to make changes to SharePoint Services.

Figure C

The Central Administration screen is used to configure virtually all aspects of SharePoint Services.

The Central Administration screen is broken down into several sections:

* Virtual Server Configuration

* Security Configuration

* Server Configuration

* Component Configuration

Generally speaking, the Virtual Server Configuration section is used to do things like installing SharePoint Services on a new virtual server, configuring settings across all virtual servers, or creating a top-level Web site. The Security Configuration section allows you to manage SharePoint users and administrators, block specific file types, and configure antivirus settings. The Server Configuration section lets you specify the e-mail, database, and Web servers. Finally, the Component Configuration section lets you manage components that work across all virtual servers, such as full-text searches, usage analysis, quotas, locks, and data retrieval services.

Creating a SharePoint Web site
In the real world, you would normally create a corporate-level SharePoint Web site. This would typically serve as your corporate Intranet, offering employees access to things like company news, HR forms, and maybe a calendar of events. You would then set some permissions that would allow individual departments to create their own collaborative Web sites. A full-scale deployment is beyond the scope of this article, but I want to at least show you how to create a corporate-level Web site and set some permissions.

Setting administrative permissions
Begin the process by specifying the SharePoint Administrator. You can do this by clicking the Set SharePoint Administrators Group link. Then enter the domain and user name for the user that you want to have administrative control over SharePoint Services. For example, I want to give administrative control to the Administrator account in the domain TEST, so I would enter TEST\Administrator into the Group Account Name field and click OK.

Creating a top-level Web site
The next step in the process is to create a top-level Web site. This corporate-level Web site should be accessible to all authenticated users. Begin by clicking the Create A Top Level Web Site link. A screen will prompt you to click the virtual server that you want to perform the task on. By default, the list will be empty, so click the Complete List link to populate it.

At this point, click the Default Web Site link. When you do, Windows will display the Extend Virtual Server screen. Verify that the virtual server name is Default Web Site and then click the Extend And Create A Content Database link. You'll now see the Extend And Create Content Database screen, shown in Figure D.

Figure D

The Extend And Create Content Database screen allows you to configure the virtual server.

The first thing you'll have to do is select or create an application pool for the virtual server. Just select the application pool that you created earlier. Now scroll down to the bottom half of the screen, shown in Figure E.

Figure E

This is the bottom half of the Extend And Create Content Database screen.

The next section is the Site Owner section. By default, the site owner is the local Administrator. You might want to change this to a domain administrator. You must also specify the site owner's e-mail address.

In the next section, you must enter the database server and database name, if appropriate. By default though, the Use Default Content Database Server check box is selected. If this check box is selected, you aren't required to fill in any of the fields in this section.

Next is the Custom URL section. Normally, you would have a main site name with sites created beneath it. For example, if your main site was called POSEY, and you wanted to create a new site called SITE1, you would enter /SITE1 into the Custom URL Path field. The URL for the new site would then be http://POSEY/SITE1. Since this is the default site, however, just enter / as the custom URL. You will enter real URL names only for future sites that fall beneath the default site.

The final two sections are the Quota Template and the Site Language sections. Leave the Quota Template set to No Quota and leave the Site Language set to English. Click OK to create the site.

After a couple of minutes, you'll see a message saying that the new site has been successfully created. Click the link in the message to open the site within a new browser window. When you attempt to open the site, you'll be asked to enter logon credentials. Enter the user name and password for the site owner and click OK. You'll now see the Template Selection screen, shown in Figure F. This allows you to select a template that will govern the overall look and feel of your Web site. (You can also exit the site on your own, but this is beyond the scope of this article.) Select a template that works for you and click OK.

Figure F

Select a template and click OK.

After you select a template and click OK, you'll see the Web site that you've just created, as shown in Figure G. As I mentioned earlier, everything that you see in Figure G is customizable, including the site name and logo.

Figure G

This is the newly created Web site.

I'll discuss site customizations in a future article. For now though, I want to show you how to grant access to the site that you've just created. Select the Modify This Workspace link in the site that you've just created, then select the Site Settings command. You'll now see the Site Settings page. Click the Manage Users link to view the Manage Users screen, which allows you to add or remove users and groups.

As you add users and groups, you can select the role that they are assigned. For example, an Administrator has full control of the Web site, while a Reader has read-only access to the site. A Contributor can add content to the site, while a Web Designer can create lists, document libraries, and even alter the pages within the site.

Tuning Sharepoint Services :

To configure WSPS, you need to start the administration tool at Start | Administrative Tools | SharePoint Central Administration. That will open the Windows that you see in Figure H.

Figure H

The SharePoint Central Administration tool is where you configure the system.

The purpose of WSPS is to provide your users with the ability to create shared workspaces. You can enable the ability for your users to create their own sites by enabling “self-service site creation.” This is accomplished by selecting the Select From Default Virtual Server option on the main administration screen. Next, click the name of your virtual server, in this case, Default Web Site, as shown in Figure I.

Figure I

Click the default virtual server to continue.

This actually opens up the Virtual Server Settings window (Figure J) where you can configure all options for this particular virtual server and the related Web site collections.

Figure J

Here is the virtual server configuration screen.

Click the Configure Self-Service Site Creation option on this screen to allow users to create their own top level Web site.

Figure K

Here is where you enable the Self-Service Site Creation option.

On the screen shown in Figure K, select the radio button to turn on this feature and click OK. Enabling this option adds an announcement to the selected site indicating that this feature is now enabled (Figure L). A link is added to allow users to carry out this operation.

Figure L

An announcement and a link is added to the Web site.

When a user follows the link provided, he is asked to fill out a form with details about what the new site will contain.

Windows SharePoint Services administrative overview
The top level SharePoint window has a number of options. Tables A-Dprovide an overview of what you can accomplish with these options.

Table A: Virtual Server Configuration options



Extend or upgrade virtual server

Allows you to make enhancements to a virtual server

Create a top-level Web site

Creates a new top level SharePoint site

Delete site collection

Deletes a top level site and all subsites of the selected site

Configure virtual server settings

Configures the settings related to the virtual server that is selected on the next page; security, collection management, e-mail settings, databases, and more are configurable from this option

Table B: Security Configuration options



Set SharePoint administration group

Allows you to specify a group in addition to the local Administrators group that can administer this SharePoint server

Manage site collection owners

Views and changes the owners for a site collection; in addition to having site collection administrator privileges, the selected users will receive quota or autodeletion notices

Manage Web site users

Adds new users to a SharePoint site

Manage blocked file types

Defines file extensions to restrict; SharePoint can be configured to disallow files of certain types to be stored in the collection

Configure antivirus settings

Configures the option that scans files being added to the collection (if required), if you have antivirus software installed on the server

Table C: Server Configuration



Configure default e-mail server settings

Provides e-mail server settings that will be used for all virtual servers

Manage Web server list

Manages servers in the farm using this page; you can remove servers from the list or click on a server name in the list to start the management process for that server

Set default content database server

Specifies which SharePoint server should be responsible for content management; content databases are created here unless otherwise specified

Set configuration database server

Specifies the server that will be responsible for storing SharePoint configuration information

Configure HTML Viewer

Configures service that allows Office files to be displayed in HTML; some SharePoint components require the use of the HTML Viewer

Configure virtual server for central administration

Changes the IIS application pool used by SharePoint

Table D: Component Configuration



Configure full-text search

Enables full-text searching if you are using a version of SQL Server that supports it

Configure usage analysis processing

Enables and configures usage analysis based on the log files

Manage quotas and locks

Limits the number of users allowed to access a site collection and the locks (quotas) on the collection

Configure data retrieval service settings

Allows you to configure data retrieval services such as OLAP and SOAP to access the SharePoint site

Team Web site overview
The default site installed by SharePoint provides a good glimpse into how this service works. Back in Figure G you can see the options in the left hand column: Documents, Pictures, Lists, Discussions and Surveys. Each option is aptly named and describes the function that it performs.

The documents option provides you with pseudo-document management capabilities. From here (Figure M), you can upload documents to the site repository, sign documents out, edit documents, discuss a document, view a document’s version history, and much more. Document workspaces can also be created for simplified collaboration.

Figure M

SharePoint has various document management capabilities.

Likewise, a picture album can be created and the images manipulated, discussed, sorted, downloaded, mailed, etc. Pictures are uploaded using the Add Picture button and new folders are created with New Folder. Figure N shows a look at the Pictures screen.

Figure N

You can also manage Pictures in SharePoint.

SharePoint is a powerful way for workgroups to keep up with what’s going on. If the document management features weren’t enough, the lists section might convince you. In this section (Figure O), you can create new announcements that will be shown on the site home page; create a list of contacts used by your team; create events, calendar items and tasks for your team to focus on; and create a list of links to Web sites frequented by the team.

Figure O

Here are the lists available in SharePoint.

Discussions are essential to meaningful team communication. SharePoint includes discussion board capability. You can add as many discussions as you like on any topic and use it to keep the ideas flowing between team members. Figure P shows an example.

Figure P

Discussion board functionality is also included.

Discussions are great but sometimes you’ll want quicker feedback and want to get input from your team members on a specific topic. A survey is a great way to do that. WSPS includes the ability to create completely custom surveys with many different types of questions. Survey responses can be in the form of a free text field, multiple choice, rating scales, currency, date and time, database lookup, yes/no questions, and more.

As a free add-on to Windows Server 2003, Windows SharePoint Services provides a compelling reason to move to this operating system. With team work features such as document management, surveys, lists, and discussions, there is a lot of great stuff that teams can use to collaborate more effectively. Overall, this is an excellent system and is easily extended for greater functionality.

SharePoint Q & A

What is Microsoft Windows SharePoint Services? How is it related to Microsoft Office SharePoint Server 2007?

Windows SharePoint Services is the solution that enables you to create Web sites for information sharing and document collaboration. Windows SharePoint Services -- a key piece of the information worker infrastructure delivered in Microsoft Windows Server 2003 -- provides additional functionality to the Microsoft Office system and other desktop applications, and it serves as a platform for application development.

Office SharePoint Server 2007 builds on top of Windows SharePoint Services 3.0 to provide additional capabilities including collaboration, portal, search, enterprise content management, business process and forms, and business intelligence.

What is Microsoft SharePoint Portal Server?

SharePoint Portal Server is a portal server that connects people, teams, and knowledge across business processes. SharePoint Portal Server integrates information from various systems into one secure solution through single sign-on and enterprise application integration capabilities. It provides flexible deployment and management tools, and facilitates end-to-end collaboration through data aggregation, organization, and searching. SharePoint Portal Server also enables users to quickly find relevant information through customization and personalization of portal content and layout as well as through audience targeting.

What is Microsoft Windows Services?

Microsoft Windows Services is the engine that allows administrators to create Web sites for information sharing and document collaboration. Windows SharePoint Services provides additional functionality to the Microsoft Office System and other desktop applications, as well as serving as a plat form for application development. SharePoint sites provide communities for team collaboration, enabling users to work together on documents, tasks, and projects. The environment for easy and flexible deployment, administration, and application development.

What is the relationship between Microsoft SharePoint Portal Server and Microsoft Windows Services?

Microsoft SharePoint Products and Technologies (including SharePoint Portal Server and Windows SharePoint Services) deliver highly scalable collaboration solutions with flexible deployment and management tools. Windows SharePoint Services provides sites for team collaboration, while Share Point Portal Server connects these sites, people, and business processes—facilitating knowledge sharing and smart organizations. SharePoint Portal Server also extends the capabilities of Windows SharePoint Services by providing organizational and management tools for SharePoint sites, and by enabling teams to publish information to the entire organization.

Who is Office SharePoint Server 2007 designed for?

Office SharePoint Server 2007 can be used by information workers, IT administrators, and application developers. is designed

What are the main benefits of Office SharePoint Server 2007?

· Office SharePoint Server 2007 provides a single integrated platform to manage intranet, extranet, and Internet applications across the enterprise.

· Business users gain greater control over the storage, security, distribution, and management of their electronic content, with tools that are easy to use and tightly integrated into familiar, everyday applications.

· Organizations can accelerate shared business processes with customers and partners across organizational boundaries using InfoPath Forms Services–driven solutions.

· Information workers can find information and people efficiently and easily through the facilitated information-sharing functionality and simplified content publishing. In addition, access to back-end data is achieved easily through a browser, and views into this data can be personalized.

· Administrators have powerful tools at their fingertips that ease deployment, management, and system administration, so they can spend more time on strategic tasks.

· Developers have a rich platform to build a new class of applications, called Office Business Applications, that combine powerful developer functionality with the flexibility and ease of deployment of Office SharePoint Server 2007. Through the use of out-of-the-box application services, developers can build richer applications with less code.

[] What is the difference between Microsoft Office SharePoint Server 2007 for Internet sites and Microsoft Office SharePoint Server 2007?

Microsoft Office SharePoint Server 2007 for Internet sites and Microsoft Office SharePoint Server 2007 have identical feature functionality. While the feature functionality is similar, the usage rights are different.

If you are creating an Internet, or Extranet, facing website, it is recommended that you use Microsoft Office SharePoint Server 2007 for Internet sites which does not require the purchase client access licenses. Websites hosted using an “Internet sites” edition can only be used for Internet facing websites and all content, information, and applications must be accessible to non-employees. Websites hosted using an “Internet sites” edition cannot be accessed by employees creating, sharing, or collaborating on content which is solely for internal use only, such as an Intranet Portal scenario. See the previous section on licensing for more information on the usage scenarios.

What suites of the 2007 Microsoft Office system work with Office SharePoint Server 2007?

Office Outlook 2007 provides bi-directional offline synchronization with SharePoint document libraries, discussion groups, contacts, calendars, and tasks.

Microsoft Office Groove 2007, included as part of Microsoft Office Enterprise 2007, will enable bidirectional offline synchronization with SharePoint document libraries.

Features such as the document panel and the ability to publish to Excel Services will only be enabled when using Microsoft Office Professional Plus 2007or Office Enterprise 2007.

Excel Services will only work with documents saved in the new Office Excel 2007 file format (XLSX).

[] How do I invite users to join a Windows SharePoint Services Site? Is the site secure?

Share Point-based Web sites can be password-protected to restrict access to registered users, who are invited to join via e-mail. In addition, the site administrator can restrict certain members' roles by assigning different permission levels to view post and edit.

[] Can I post any kind of document?

You can post documents in many formats, including .pdf, .htm and .doc. In addition, if you are using Microsoft Office XP, you can save documents directly to your Windows Share Point Services site.

[] Can I download information directly from a SharePoint site to a personal digital assistant (PDA)?

No you cannot. However, you can exchange contact information lists with Microsoft Outlook.

[] How long does it take to set up the initial team Web site?

It only takes a few minutes to create a complete Web site. Preformatted forms let you and your team members contribute to the site by filling out lists. Standard forms include announcements, events, contacts, tasks, surveys, discussions and links.

[] Can I create custom templates?

Yes you can. You can have templates for business plans, doctor's office, lawyer's office etc.

[] How can I make my site public? By default, all sites are created private.

If you want your site to be a public Web site, enable anonymous access for the entire site. Then you can give out your URL to anybody in your business card, e-mail or any other marketing material. The URL for your Web site will be: http://

Hence, please take special care to name your site. These Web sites are ideal for information and knowledge intensive sites and/or sites where you need to have shared Web workspace. Remember: Under each parent Web site, you can create up to 10 sub-sites each with unique permissions, settings and security rights.

[] How do the sub sites work?

· You can create a sub site for various categories. For example:

· Departments - finance, marketing, IT

· Products - electrical, mechanical, hydraulics

· Projects - Trey Research, Department of Transportation, FDA

· Team - Retention team, BPR team

· Clients - new clients, old clients

· Suppliers - Supplier 1, Supplier 2, Supplier 3

· Customers - Customer A, Customer B, Customer C

· Real estate - property A, property B

The URLs for each will be, for example:



You can keep track of permissions for each team separately so that access is restricted while maintaining global access to the parent site.

[] How do I make my site non-restricted?

If you want your site to have anonymous access enabled (i.e., you want to treat it like any site on the Internet that does not ask you to provide a user name and password to see the content of the site), follow these simple steps:

· Login as an administrator

· Click on site settings

· Click on Go to Site Administration

· Click on Manage anonymous access

· Choose one of the three conditions on what Anonymous users can access:

· Entire Web site

· Lists and libraries

· Nothing

Default condition is nothing; your site has restricted access. The default conditions allow you to create a secure site for your Web site.

[] Can I get domain name for my Web site?

Unfortunately, no. At this point, we don't offer domain names for Share Point sites. But very soon we will be making this available for all our Share Point site customers. Please keep checking this page for further update on this. Meanwhile, we suggest you go ahead and set up your site and create content for it.

[] What are picture libraries?

Picture libraries allow you to access a photo album and view it as a slide show or thumbnails or a filmstrip. You can have separate folder for each event, category, etc

[] What are the advantages of a hosted Share Point vs. one that is on an in-house server?

· No hardware investment, i.e. lower costs

· No software to download - ready to start from the word go

· No IT resources - Anyone who has used a Web program like Hotmail can use it

· Faster deployment

[] Can I ask users outside of my organization to participate in my Windows SharePoint Services site?

Yes. You can manage this process using the Administration Site Settings. Simply add users via their e-mail alias and assign permissions such as Reader or Contributor.

[] Are there any IT requirements or downloads required to set up my SharePoint site?

No. You do not need to download any code or plan for any IT support. Simply complete the on-line signup process and provide us your current and correct email address. Once you have successfully signed up and your site has been provisioned, we will send a confirmation to the email address you provided.

[] I am located outside of the United States. Are there any restrictions or requirements for accessing the Windows SharePoint Services?

No. There are no system or bandwidth limitations for international trial users. Additionally language packs have been installed which allow users to set up sub-webs in languages other than English. These include: Arabic, Danish, Dutch, Finnish, French, German, Hebrew, Italian, Japanese, Polish, Portuguese (Brazilian), Spanish and Swedish.

[] Are there any browser recommendations?

Yes. Microsoft recommends using the following browsers for viewing and editing Windows SharePoint Services sites: Microsoft Internet Explorer 5.01 with Service Pack 2, Microsoft Internet Explorer 5.5 with Service Pack 2, Internet Explorer 6, Netscape Navigator 6.2 or later.

[] What security levels are assigned to users?

Security levels are assigned by the administrator who is adding the user. There are four levels by default and additional levels can be composed as necessary.

· Reader - Has read-only access to the Web site.

· Contributor - Can add content to existing document libraries and lists.

· Web Designer - Can create lists and document libraries and customize pages in the Web site.

· Administrator - Has full control of the Web site.

[] How secure are Windows SharePoint Services sites hosted by Microsoft?

Microsoft Windows SharePoint Services Technical security measures provide firewall protection, intrusion detection, and web-publishing rules. The Microsoft operation center team tests and deploys software updates in order to maintain the highest level of security and software reliability. Software hot-fixes and service packs are tested and deployed based on their priority and level of risk. Security related hot-fixes are rapidly deployed into the environment to address current threats. A comprehensive software validation activity ensures software stability through regression testing prior to deployment.

[] What is the difference between an Internet and an intranet site?

An Internet site is a normal site that anyone on the Internet can access (e.g.,,, etc.). You can set up a site for your company that can be accessed by anyone without any user name and password. The Internet is used for public presence and a primary marketing tool managed typically by web programmers and a system administrator.

An intranet (or internal network), though hosted on the Web, can only be accessed by people who are members of the network. They need to have a login and password that was assigned to them when the site administrator added them to the site. The intranet is commonly used as an internal tool for increasing employee information access. Content is driven by business relevance, business rules and has increasingly become a common tool in larger organizations.

[] What is a workspace?

A site or workspace is when you want a new place for collaborating on Web pages, lists and document libraries. For example, you might create a site to manage a new team or project, collaborate on a document or prepare for a meeting.

[] What are the various kinds of roles the users can have?

A user can be assigned one of the following roles

Reader - Has read-only access to the Web site.

Contributor - Can add content to existing document libraries and lists.

Web Designer - Can create lists and document libraries and customize pages in the Web site.

Administrator - Has full control of the Web site.

[] Can more than one person use the same login?

If the users sharing that login will have the same permissions and there is no fear of them sharing a password, then yes. Otherwise, this is discouraged.

[] How customizable is the user-to-user access?

User permissions apply to an entire Web, not to documents themselves. However, you can have additional sub webs that can optionally have their own permissions. Each user can be given any of four default roles. Additional roles can be defined by the administrator.

[] Can each user have access to their own calendar?

· Yes there are two ways to do this,

· by creating a calendar for each user, or

· by creating a calendar with a view for each user

[] How many files can I upload?

There is no restriction in place except that any storage consumed beyond that provided by the base offering may have an additional monthly charge associated with them.

[] What types of files can I upload / post to the site?

The only files restricted are those ending with the following extensions: .asa, .asp, .ida, .idc, .idq. Microsoft reserves the right to add additional file types to this listing at any time. Also, no content that violates the terms of service may be uploaded or posted to the site.

[] Can SharePoint be linked to an external data source?

SharePoint data can be opened with Access and Excel as an external data source. Thus, SharePoint can be referenced as an external data source. SharePoint itself cannot reference an external data source.

[] Can SharePoint be linked to a SQL database?

This is possible via a custom application, but it not natively supported by SharePoint or SQL Server.

[] Can I customize my Windows SharePoint Services site?

YES! Windows SharePoint Services makes updating sites and their content from the browser easier then ever.

SharePoint includes tools that let you create custom lists, calendars, page views, etc. You can apply a theme; add List, Survey and Document Library Web Parts to a page; create personal views; change logos; connect Web Parts and more.

To fully customize your site, you can use Microsoft FrontPage 2003. Specifically, you can use FrontPage themes and shared borders, and also use FrontPage to create photo galleries and top ten lists, utilize standard usage reports, and integrate automatic Web content.

[] Will Microsoft Office SharePoint Server 2007 run on a 64-bit version of Microsoft Windows?

Windows SharePoint Services 3.0, Office SharePoint Server 2007, Office Forms Server 2007, and Office SharePoint Server 2007 for Search will support 64-bit versions of Windows Server 2003.

[] How Office SharePoint Server 2007 can help you?

Office SharePoint Server 2007 can help us:

Manage content and streamline processes. Comprehensively manage and control unstructured content like Microsoft Office documents, Web pages, Portable Document Format file (PDF) files, and e-mail messages. Streamline business processes that are a drain on organizational productivity.

Improve business insight. Monitor your business, enable better-informed decisions, and respond proactively to business events.

Find and share information more simply. Find information and expertise wherever they are located. Share knowledge and simplify working with others within and across organizational boundaries.

Empower IT to make a strategic impact. Increase responsiveness of IT to business needs and reduce the number of platforms that have to be maintained by supporting all the intranet, extranet, and Web applications across the enterprise with one integrated platform.

Office SharePoint Server 2007 capabilities can help improve organizational effectiveness by connecting people, processes, and information.

Office SharePoint Server 2007 provides these capabilities in an integrated server offering, so your organization doesn't have to integrate fragmented technology solutions itself.

[] What are the features that the portal components of Office SharePoint Server 2007 include?

The portal components of Office SharePoint Server 2007 include features that are especially useful for designing, deploying, and managing enterprise intranet portals, corporate Internet Web sites, and divisional portal sites. The portal components make it easier to connect to people within the organization who have the right skills, knowledge, and project experience.

[] What are the advanced features of MOSS 2007?

· User Interface (UI) and navigation enhancements

· Document management enhancements

· The new Workflow engine

· Office 2007 Integration

· New Web Parts

· New Site-type templates

· Enhancements to List technology

· Web Content Management

· Business Data Catalog

· Search enhancements

· Report Center

· Records Management

· Business Intelligence and Excel Server

· Forms Server and InfoPath

· The “Features” feature

· Alternate authentication providers and Forms-based authentication

[] What are the features of the new Content management in Office SharePoint 2007?

The new and enhanced content management features in Office SharePoint Server 2007 fall within three areas:

· Document management

· Records management

· Web content management

Office SharePoint Server 2007 builds on the core document management functionality provided by Windows SharePoint Services 3.0, including check in and check out, versioning, metadata, and role-based granular access controls. Organizations can use this functionality to deliver enhanced authoring, business document processing, Web content management and publishing, records management, policy management, and support for multilingual publishing.

[] Does a SharePoint Web site include search functionality?

Yes. SharePoint Team Services provides a powerful text-based search feature that helps you find documents and information fast.

[] Write the features of the search component of Office SharePoint Server 2007?

The search component of Office SharePoint Server 2007 has been significantly enhanced by this release of SharePoint Products and Technologies. New features provide:

· A consistent and familiar search experience.

· Increased relevance of search results.

· New functions to search for people and expertise.

· Ability to index and search data in line-of-business applications and

· Improved manageability and extensibility.

[] What are the benefits of Microsoft Office SharePoint Server 2007?

· Provide a simple, familiar, and consistent user experience.

· Boost employee productivity by simplifying everyday business activities.

· Help meet regulatory requirements through comprehensive control over content.

· Effectively manage and repurpose content to gain increased business value.

· Simplify organization-wide access to both structured and unstructured information across disparate systems.

· Connect people with information and expertise.

· Accelerate shared business processes across organizational boundaries.

· Share business data without divulging sensitive information.

· Enable people to make better-informed decisions by presenting business-critical information in one central location.

· Provide a single, integrated platform to manage intranet, extranet, and Internet applications across the enterprise.

[] Will SharePoint Portal Server and Team Services ever merge?

The products will come together because they are both developed by the Office team.

[] What does partial trust mean the Web Part developer?

If an assembly is installed into the BIN directory, the code must be ensured that provides error handling in the event that required permissions are not available. Otherwise, unhand led security exceptions may cause the Web Part to fail and may affect page rendering on the page where the Web Part appears.

[] How can I raise the trust level for assemblies installed in the BIN directory?

Windows SharePoint Services can use any of the following three options from ASP.NET and the CLR to provide assemblies installed in the BIN directory with sufficient permissions. The following table outlines the implications and requirements for each option.

Option Pros Cons

Increase the trust level for the entire virtual server. For more information, see "Setting the trust level for a virtual server" Easy to implement.

In a development environment, increasing the trust level allows you to test an assembly with increased permissions while allowing you to recompile assemblies directly into the BIN directory without resetting IIS. This option is least secure.

This option affects all assemblies used by the virtual server. There is no guarantee the destination server has the required trust level. Therefore, Web Parts may not work once installed on the destination server.

Create a custom policy file for your assemblies. For more information, see "How do I create a custom policy file?" Recommended approach.

This option is most secure.

An assembly can operate with a unique policy that meets the minimum permission requirements for the assembly.

By creating a custom security policy, you can ensure the destination server can run your Web Parts.

Requires the most configuration of all three options. Install your assemblies in the GAC

Easy to implement. This grants Full trust to your assembly without affecting the trust level of assemblies installed in the BIN directory.

This option is less secure.

Assemblies installed in the GAC are available to all virtual servers and applications on a server running Windows SharePoint Services. This could represent a potential security risk as it potentially grants a higher level of permission to your assembly across a larger scope than necessary

In a development environment, you must reset IIS every time you recompile assemblies.

Licensing issues may arise due to the global availability of your assembly.

[] Does SharePoint work with NFS?

Yes and no. It can crawl documents on an NFS volume, but the sharepoint database or logs cannot be stored there.

[] How is SharePoint Portal Server different from the Site Server?

Site Server has search capabilities but these are more advanced using SharePoint. SPS uses digital dashboard technology which provides a nice interface for creating web parts and showing them on dashboards (pages). SS doesn't have anything as advanced as that. The biggest difference would be SPS document management features which also integrate with web folders and MS Office.

[] What would you like to see in the next version of SharePoint?

A few suggestions:

1. SPS and STS on same machine

2. Tree view of Categories and Folders

3. General Discussion Web Part

4. Personalization of Dashboards

5. Role Customization

6. Email to say WHY a document has been rejected for Approval

7. More ways to customize the interface

8. Backup and restore an individual Workspaces

9. Filter for Visio

10. Better way to track activity on SPS

11. Ability to Save as from Adobe to space on My Network Places

[] Why Sharepoint is not a viable solution for enterprise wide deployments?

Planning an enterprise deployment using SharePoint features is a very difficult task unless you can establish a Service Oriented Architecture, using AD for managing security with well defined roles based information access(EISA). Sounds reasonable, although it seems difficult to deploy with the tools limitations in document storage.

Document management does not scale beyond a single server, but scales great within a single server. For example, a quad Xeon machine with 4GB of RAM works great for a document management server that has about 900,000 - 1,000,000 document, but if you need to store 50,000,000 document and want to have them all in one single workspace then it does not scale at all. If you need a scenario like this, you need to plan your deployment right and it should scale for you, it just does not right out of the box. If you are using your server as a portal and search server most for the most part it scales great. You can have many different servers crawl content sources and have separate servers searching and serving the content.

If you have <>

[] What are the actual advantages of SharePoint Portal Services (SPS) over SharePoint Team Services (STS)?

SharePoint Portal Services (SPS) has MUCH better document management. It has check-in, check-out, versioning, approval, publishing, subscriptions, categories, etc. STS does not have these features, or they are very scaled back. SharePoint team Services (SPS) has a better search engine, and can crawl multiple content sources. STS cannot. STS is easier to manage and much better for a team environment where there is not much Document Management going on. SPS is better for an organization, or where Document Management is crucial.

[] How Does SharePoint work?

The browser sends a DAV packet to IIS asking to perform a document check in. PKMDASL.DLL, an ISAPI DLL, parses the packet and sees that it has the proprietary INVOKE command. Because of the existence of this command, the packet is passed off to msdmserv.exe, who in turn processes the packet and uses EXOLEDB to access the WSS, perform the operation and send the results back to the user in the form of XML.

[] How do I open an older version of a document?

Normally, all previous versions are located in the shadow, so if you right click a published document from within the web folders, go to properties and then the third tab, versions you can view older versions.

If you want to do this in code:

strURL = "url of the last published version" 
Set oVersion = New PKMCDO.KnowledgeVersion 
Set prmRs = oVersion.VersionHistory(strURL) 
Set oVersion = Nothing 

prmRS will contain a recordset, which contains the url to the old versions in the shadow.

[] Why do the workspace virtual directories show the error “stop sign” symbol in the IIS snap-in?

If World Wide Web Publishing Service (W3SVC) starts before Microsoft Exchange Information Store (MSExchangeIS), “stop sign” symbols appear under the Default Web Site folder of the Internet Information Services console in Microsoft Management Console (MMC).

There is a dependency between the local paths of the SharePoint Portal Server virtual directories and the MSExchangeIS. You must start MSExchangeIS first, followed by W3SVC.

Complete the following steps to prevent the stop signs from appearing each time you restart:

1. Change the Startup type for W3SVC to Manual.

2. Restart the server. The MSExchangeIS service starts automatically.

3. Start W3SVC.

[] What newsgroups are available?

There are two,

  • microsoft.public.sharepoint.portalserver and
  • microsoft.public.sharepoint.portalserver.development.

[] What is SharePoint from a Technical Perspective?

Technically SharePoint illustrates neatly what Microsoft's .net strategy is all about: integrating Windows with the Web. Microsoft has previously made accessing stuff on a PC easier, (Windows) then on a network (NT) and now on the web (.NET). SharePoint is an application written to let a user access a web accessible directory tree called the Web Storage System.

SharePoint was written with a set of technologies that allow the programmer to pass data, functions, parameters over HTTP, the web's medium. These are XML, XSL and SOAP, to name a few I understand the basics of!

To the user it looks easy, like Hotmail, but every time they click a button or a link, a lot has to happen behind the scenes to do what they want to do quickly and powerfully. Not as easy as you might think, but SharePoint does it for you. Accessing this Web storage system and the server itself is also done using technologies like ADO, CDO, PKMCDO, LDAP, DDSC, ADSC. More on these later. SharePoint is a great example of how the Internet Platform can be extended and integrated into an existing well adopted technology, Windows.

[] What is SharePoint from an Administration Perspective?

Administering SharePoint mainly consists of setting it up, which is much easier than you expect, adding the content, which can be just dragging and dropping in whole directory structures and files, and then organizing the files better by giving them categories or other metadata. This is done either through the Web interface or through the SharePoint Client: a program what means you can access SharePoint as a Web folder and then right-click files to select options like "edit profile". Or add files by dragging them in individually or in bulk.

Setting the security is also important, using NT accounts, either NT4 or Active Directory (or both in mixed mode) you can give users access to files/folders the same way as you do in standard Windows. Users can be grouped and the groups given access privileges to help manage this better. Also SharePoint has 3 Roles that a User or Group can be given on a particular item. Readers can see the item (i.e. document/file or folder) but not change it, Authors can see and edit items and coordinators can set security privileges for the part of the system they have control over. Thus, you could set 12 different coordinators for 12 different folder trees, and they could manage who can do what within that area only.

[] What is SharePoint from a Users Perspective?

From a Users perspective SharePoint is a way of making documents and folders on the Windows platform accessible over the web. The user visits the SharePoint Portal web page, and from there they can add documents, change documents & delete documents. Through this Portal, these documents are now available for discussion, collaboration, versioning and being managed through a workflow. Hence the name "Share-Point". Details about the document can be saved too, such as: who wrote it, when, for whom, its size, and version, category or target audience. These can then be used to find the document through SharePoint's Search facility. Even documents not "in" SharePoint can be included in the search engine's index so they become part of the portal. All in all, it's a great way to get stuff up on the web for users with average technical skills, and for administrators to manage the content.

[] What are the various Sharepoint 2003 and Exchange integration points?

[] Link to Outlook

This is a button on contacts or events lists that lets Outlook 2003 add a pst file named Sharepoint Folders and it links to the data on the site. It’s read-only, but you could make the home page for that PST be the Sharepoint site for easier viewing. The link to outlook feature seems more to be where some can public a calendar, but not want too much collaboration. For example, a holiday schedule, company meeting schedule, etc, can be made available for people to be able to view from Outlook without having to go to a web browser. Another nice thing about OL2K3 is that you can compare these calendars with others side by side.

[] Searching Public Folders

With SPS you can index Exchange’s public folders with the search engine so that all that precious public folder content is searchable. You’ll want to look at content sources and indexing in Sharepoint administration.

[] Displaying Public Folders in a web part

Since exchange web-enables public folders, you can create a web part that displays that content. IE, http://exchangeserver/Public/IT/Helpdesk will display the IT/Helpdesk public folder via OWA. So you add the Page Viewer web part to a page and point it at that URL. The key here is to add ?cmd=contents to the end of the url if you don’t want the navigator pane on the left.

[] Smart web parts

Some of the web parts that come with SPS allow you to add a web part to a page that actually takes the users outlook info (calendar, inbox, contacts, tasks) and put them into the page.

[] Can SharePoint compare two document versions?

"In Word 2003, you can compare documents side by side. Open two documents. Then, from the Window menu of one of them, select the Compare Side By Side command. If you have only two documents open, the command will automatically choose to compare them. If you have three or more documents open, you'll have to select which document to compare with the current file.

A floating toolbar with two buttons will open. If the button on the left is selected, Word will scroll both documents at the same time. Press the button on the right side of the toolbar to return to where the cursor was located when you started comparing."

[] What are the integration differences between SPS 2003 and the various Office versions?

SPS webpage can detect you have installed the Office 2003 and run local dll to implement some SPS function, e.g. multi-file upload only works when you have office 2003 installed.

Integration with Office XP is gone.

You will get guys telling you that you can integrate with SPSv2 if you install a backwards compatible document library - but that’s really just putting a bit of SPS 2001 on the server.

Believe me, check-in, check-out, which are themselves very basic, are not available from inside Office XP, or even from the context menu in Windows Explorer.

The ONLY option you have is to use the web interface to check-in or check-out.

1) What are the two base classes a WebPart you are going to use within SharePoint 2007 can inherit from?

There are two base classes that a WebPart which is going to be consumed by SharePoint can inherit from, either the SharePoint WebPart Base class or the ASP.NET 2.0 WebPart base class. When inheriting from the SharePoint WebPart Base class your derived WebPart class will inherit from Microsoft.SharePoint.WebPartPages.WebPart. When inheriting from the ASP.NET 2.0 WebPart base class your derived WebPart class will inherit from System.Web.UI.WebControls.WebParts.WebPart. It is considered good practice to use the ASP.NET WebPart base class since the old base class is meant for backwards compatibility with previous version of SharePoint, however there are four exception when it is better to leverage functionality from the SharePoint WebPart base class:

Cross page connections

Connections between Web Parts that are outside of a Web Part zone

Client-side connections (Web Part Page Services Component)

Data caching infrastructure

2) What are the differences between the two base classes and what are the inherit benefits of using one over another?

The difference is the Microsoft.SharePoint.WebPartPages.WebPart base class is meant for backward compatibility with previous versions of SharePoint. The benefit of using the SharePoint WebPart base class is it supported:

Cross page connections

Connections between Web Parts that are outside of a Web Part zone

Client-side connections (Web Part Page Services Component)

Data caching infrastructure

ASP.NET 2.0 WebParts are generally considered better to use because SharePoint is built upon the ASP.NET 2.0 web architecture. Inheriting from the ASP.NET 2.0 base class offers you features that inherit to ASP.NET 2.0, such as embedding resources as opposed to use ClassResources for deployment of said types.

3) What is the GAC?

The GAC stands for the global assembly cache. It is the machine wide code cache which will give custom binaries place into the full trust code group for SharePoint. Certain SharePoint assets, such as Feature Receivers need full trust to run correctly, and therefore are put into the GAC. You should always try to avoid deployment to the GAC as much as possible since it will possibly allow development code to do more than it was intended to do.

4) What is strong naming (signing) a WebPart assembly file mean?

Signing an assembly with a strong name (a.k.a strong naming) uses a cryptographic key pair that gives a unique identity to a component that is being built. This identity can then be referred throughout the rest of the environment. In order to install assemblies into the GAC, they must be strongly named. After signing, the binary will have a public key token identifier which can be use to register the component in various other places on the server.

5) What are safe controls, and what type of information, is placed in that element in a SharePoint web.config file?

When you deploy a WebPart to SharePoint, you must first make it as a safe control to use within SharePoint in the web.config file. Entries made in the safe controls element of SharePoint are encountered by the SharePointHandler object and will be loaded in the SharePoint environment properly, those not will not be loaded and will throw an error.

In the generic safe control entry (this is general, there could be more), there is generally the Assembly name, the namespace, the public key token numeric, the typename, and the safe declaration (whether it is safe or not). There are other optional elements.

6) What is the CreateChildControls() method? How can you use it to do something simple like displaying a Label control?

The CreateChildControls method in WebParts is used to notify the WebPart that there are children controls that should be output for rendering. Basically, it will add any child ASP.NET controls that are called instantiating each control with its relevant properties set, wire any relevant event handlers to the control, etc. Then the add method of the control class will add the control to the controls collection. In the relevant WebPart render method, the EnsureChildControls method can be called (or set to false if no child controls should be called) to ensure that the CreateChildControls method is run. When using CreateChildControls it implies that your WebPart contains a composition of child controls.

In order to create something like a label control in Create, you would create a new label control using the new keyword, set the various properties of the control like Visible=True and ForeColor = Color.Red, and then use Controls.Add(myLabelControl) to add the control to the controls collection. Then you can declare EnsureChildControls in the Render method of the WebPart.

7) What does the RenderContents method do in an ASP.NET 2.0 WebPart?

The render contents method will render the WebPart content to the writer, usually an HtmlTextWriter since WebParts will output to an HTML stream. RenderContents is used to tell how the controls that are going to be displayed in the WebPart should be rendered on the page.

*** Side Question: I got asked what the difference between CreateChildControls and the RenderContents method. The CreateChildControls method is used to add controls to the WebPart, and the RenderContents method is used to tell the page framework how to render the control into HTML to display on a page.

8) What is the WebPartManager sealed class? What is its purpose?

The WebPartManager sealed class is responsible for managing everything occurring on a WebPart page, such as the WebParts (controls), events, and misc. functionality that will occur in WebPartZones. For example, the WebPartManager is responsible for the functionality that is provided when you are working with moving a WebPart from WebPartZone to WebPartZone. It is known as the “the central class of the Web Part Control Set.”

*** Side Question: I got asked how many WebPartManager controls should be on a page. In order to have WebParts on a page there has to be just one WebPartManager control to manage all the WebParts on the page.

9) What is a SPSite and SPWeb object, and what is the difference between each of the objects?

The SPSite object represents a collection of sites (site collection [a top level sites and all its subsites]). The SPWeb object represents an instance SharePoint Web, and SPWeb object contains things like the actual content. A SPSite object contains the various subsites and the information regarding them.

10) How would you go about getting a reference to a site?

Select For Unformatted Code


1. oSPSite = new SPSite("http:/server");


3. oSPWeb = oSPSite.OpenWeb();

11) What does a SPWebApplication object represent?

The SPWebApplication objects represents a SharePoint Web Application, which essentially is an IIS virtual server. Using the class you can instigate high level operations, such as getting all the features of an entire Web Application instance, or doing high level creation operations like creating new Web Applications through code.

12) Would you use SPWebApplication to get information like the SMTP address of the SharePoint site?

Yes, since this is a Web Application level setting. You would iterate through each SPWebApplication in the SPWebApplication collection, and then use the appropriate property calls (OutboundMailServiceInstance) in order to return settings regarding the mail service such as the SMTP address.

Side Question: I got asked if there are other ways to send emails from SharePoint. The answer is yes, there is. You can use the SendMail method from the SPutility class to send simple emails, however it is not as robust as using the System.Net.Mail functionality since it doesn’t allow things like setting priorities on the email.

13) How do you connect (reference) to a SharePoint list, and how do you insert a new List Item?

Select For Unformatted Code


1. using(SPSite mySite = new SPSite("yourserver"))

2. {

3. using(SPWeb myWeb = mySite.OpenWeb())

4. {

5. SPList interviewList = myWeb.Lists["listtoinsert"];

6. SPListItem newItem = interviewList.Items.Add();


8. newItem["interview"] = "interview";

9. newItem.Update();

10. }

11. }

14) How would you loop using SPList through all SharePont List items, assuming you know the name (in a string value) of the list you want to iterate through, and already have all the site code written?

Select For Unformatted Code


1. SPList interviewList = myWeb.Lists["listtoiterate"];

2. foreach (SPListItem interview in interviewList)

3. {

4. // Do Something

5. }

15) How do you return SharePoint List items using SharePoint web services?

In order to retrieve list items from a SharePoint list through Web Services, you should use the lists.asmx web service by establishing a web reference in Visual Studio. The lists.asmx exposes the GetListItems method, which will allow the return of the full content of the list in an XML node. It will take parameters like the GUID of the name of the list you are querying against, the GUID of the view you are going to query, etc.

Side Question: I got asked how I built queries with the lists.asmx web service. In order to build queries with this service, one of the parameters that the GetListItems method exposes is the option to build a CAML query. There are other ways to do this as well, but that was how I answered it.

16) When retrieving List items using SharePoint Web Services, how do you specify explicit credentials to be passed to access the list items?

In order to specify explicit credentials with a Web Service, you generally instantiate the web service, and then using the credentials properties of the Web Service object you use the System.Net.NetworkCredential class to specify the username, password, and domain that you wish to pass when making the web service call and operations.

*** Side Question: I got asked when you should state the credentials in code. You must state the credentials you are going to pass to the web service before you call any of the methods of the web service, otherwise the call will fail.

17) What is CAML, and why would you use it?

CAML stands for Collaborative Application Markup Language. CAML is an XML based language which provides data constructs that build up the SharePoint fields, view, and is used for table definition during site provisioning. CAML is responsible for rending data and the resulting HTML that is output to the user in SharePoint. CAML can be used for a variety of circumstances, overall is used to query, build and customize SharePoint based sites. A general use would be building a CAML query in a SharePoint WebPart in order to retrieve values from a SharePoint list.
18) What is impersonation, and when would you use impersonation?

Impersonation can basically provide the functionality of executing something in the context of a different identity, for example assigning an account to users with anonymous access. You would use impersonation in order to access resources on behalf of the user with a different account, that normally, that wouldn’t be able to access or execute something.

19) What is the IDesignTimeHtmlProvider interface, and when can you use it in WebParts?

The IDesignTimeHtmlProvider interface uses the function GetDesignTimeHtml() which can contain your relevant render methods. It was helpful to use in 2003 since it allowed your WebPart to have a preview while a page was edited in FrontPage with the Webpart on it, because the GetDesignTimeHtml() method contains the HTML for the designer to render.

20) What are WebPart properties, and what are some of the attributes you see when declaring WebPart properties in code?

WebPart properties are just like ASP.NET control properties, they are used to interact with and specify attributes that should be applied to a WebPart by a user. Some of the attributes you see with ASP.NET 2.0 properties are WebDescription, WebDisplayName, Category, Personalizable, and WebBrowsable. Although most of these properties come from the System.Web.UI.WebControls.WebParts class, ones like Category come out of System.ComponentModel namespace.

21) Why are properties important in WebPart development, and how have you exploited them in past development projects? What must each custom property have?

Properties are important because WebParts allow levels of personalization for each user. WebPart properties make it possible for a user to interact, adjust, and increase overall experience value with the programmatic assets that you develop without having the need to use an external editor or right any code. A very simple example of exploiting a property would be something like allowing the user to change the text on the WebPart design interface so that they can display whatever string of text they desire.

Each custom property that you have must have the appropriate get and set accessor methods.

22) What are ClassResources? How do you reference and deploy resources with an ASP.NET 2.0 WebPart?

ClassResources are used when inheriting from the SharePoint.WebPart.WebPartPages.WebPart base class, and are defined in the SharePoint solution file as things that should be stored in the wpresources directory on the server. It is a helpful directory to use in order to deploy custom images. In ASP.NET 2.0, typically things such as images are referenced by embedding them as resources within an assembly. The good part about ClassResources is they can help to eliminate recompiles to change small interface adjustments or alterations to external JavaScript files.

23) What is a SharePoint Solution File? How does it differ from WebPart .cab files in legacy development? What does it contain?

A SharePoint solution file is essentially a .cabinet file with all a developers ustom componets suffixed with a .wsp extension that aids in deployment. The big difference with SharePoint solution files is is that a solution:

allows deployment to all WFE’s in a farm

is highly manageable from the interface allowing deployment, retraction, and versioning

Can package all types of assets like site definitions, feature definitions (and associated components), Webparts, etc.

Can provide Code Access Security provisioning to avoid GAC deployments

Just to name a few things…

24) What is a .ddf file and what does it have to do with SharePoint Solution creation?

A .ddf file is a data directive file and is used when building the SharePoint solution bundle specifying the source files and their destination locations. The important thing for someone to understand is that the .ddf file will be passed as a parameter to the MAKECAB utility to orchestrate construction of the SharePoint solution fiel.

25) What file does a SharePoint solution package use to orchestrate (describe) its packaged contents?

The solution Manifest.XML file.

26) What deployment mechanism can you use to instigate Code Access Security attributes for your WebParts?

SharePoint solution files can add in order to handle code access security deployment issues. This is done in the element in the SharePoint solution manifest.XML, which makes it easier to get assemblies the appropriate permissions in order to operate in the bin directory of the web application.

27) What is a SharePoint Feature? What files are used to define a feature?

A SharePoint Feature is a functional component that can be activated and deactivate at various scopes throughout a SharePoint instances, such as at the farm, site collection, web, etc. Features have their own receiver architecture, which allow you to trap events such as when a feature is installing, uninstalling, activated, or deactivated. They are helpful because they allow ease of upgrades and versioning.

The two files that are used to define a feature are the feature.xml and manifest file. The feature XML file defines the actual feature and will make SharePoint aware of the installed feature. The manifest file contains details about the feature such as functionality.

Side Question: I got asked how the introduction of features has changed the concept of site definitions. SharePoint features are important when understanding the architecture of site definitions, since the ONET.XML file has been vastly truncated since it has several feature stapled on it.

28) What types of SharePoint assets can be deployed with a SharePoint feature?

Features can do a lot. For example, you could deploy

Simple site customizations

Custom site navigation



list types

list instances

event handlers


custom actions

just to name a few….

29) What are event receivers?

Event receivers are classes that inherit from the SpItemEventReciever or SPListEventReciever base class (both of which derive out of the abstract base class SPEventRecieverBase), and provide the option of responding to events as they occur within SharePoint, such as adding an item or deleting an item.

30) When would you use an event receiver?

Since event receivers respond to events, you could use a receiver for something as simple as canceling an action, such as deleting a document library by using the Cancel property. This would essentially prevent users from deleting any documents if you wanted to maintain retention of stored data.

31) What base class do event receivers inherit from?

Event receivers either inherit from the SPListEventReciever base class or the SPItemEventReciever base class, both which derive from the abstract base class SPEventReceiverBase.

32) If I wanted to not allow people to delete documents from a document library, how would I go about it?

You would on the ItemDeleting event set: properties.Cancel= true.

33) What is the difference between an asynchronous and synchronous event receivers?

An asynchronous event occurs after an action has taken place, and a synchronous event occurs before an action has take place. For example, an asynchronous event is ItemAdded, and its sister synchronous event is ItemAdding.

34) How could you append a string to the title of a site when it is provisioned?

In the OnActivated event:

Select For Unformatted Code


1. SPWeb site = siteCollection.RootWeb;

2. site.Title += "interview";

3. site.Update();

35) Can an event receiver be deployed through a SharePoint feature?


36) What is a content type?

A content type is an information blueprint basically that can be re-used throughout a SharePoint environment for defining things like metadata and associated behaviors. It is basically an extension of a SharePoint list, however makes it portable for use throughout an instance regardless of where the instantiation occurs, ergo has location independence. Multiple content types can exist in one document library assuming that the appropriate document library settings are enabled. The content type will contain things like the metadata, listform pages, workflows, templates (if a document content type), and associated custom written functionality.

37) Can a content type have receivers associated with it?

Yes, a content type can have an event receiver associated with it, either inheriting from the SPListEventReciever base class for list level events, or inheriting from the SPItemEventReciever base class. Whenever the content type is instantiated, it will be subject to the event receivers that are associated with it.

38) What two files are typically (this is kept generally) included when developing a content type, and what is the purpose of each?

There is generally the main content type file that holds things like the content type ID, name, group, description, and version. There is also the ContentType.Fields file which contains the fields to include in the content type that has the ID, Type, Name, DisplayName, StaticName, Hidden, Required, and Sealed elements. They are related by the FieldRefs element in the main content type file.

39) What is an ancestral type and what does it have to do with content types?

An ancestral type is the base type that the content type is deriving from, such as Document (0x0101). The ancestral type will define the metadata fields that are included with the custom content type.

40) Can a list definition be derived from a custom content type?

Yes, a list definition can derive from a content type which can be seen in the schema.XML of the list definition in the element.

41) When creating a list definition, how can you create an instance of the list?

You can create a new instance of a list by creating an instance.XML file.

42) What is a Field Control?

Field controls are simple ASP.NET 2.0 server controls that provide the basic field functionality of SharePoint. They provide basic general functionality such as displaying or editing list data as it appears on SharePoint list pages.

43) What base class do custom Field Controls inherit from?

This varies. Generally, custom field controls inherit from the Microsoft.SharePoint.WebControls.BaseFieldControl namespace, but you can inherit from the default field controls.

44) What is a SharePoint site definition? What is ghosted (uncustomized) and unghosted (customized)?

SharePoint site definitions are the core set of functionality from which SharePoint site are built from, building from the SiteTemplates directory in the SharePoint 12 hive. Site definitions allow several sites to inherit from a core set of files on the file system, although appear to have unique pages, thereby increasing performance and allowing changes that happen to a site propagate to all sites that inherit from a site definition. Ghosted means that when SharePoint creates a new site it will reference the files in the related site definition upon site provisioning. Unghosted means that the site has been edited with an external editor, and therefore the customizations are instead stored in the database, breaking the inheritance of those files from the file system.

45) How does one deploy new SharePoint site definitions so that they are made aware to the SharePoint system?

The best way to deploy site definitions in the SharePoint 2007 framework is to use a SharePoint solution file, so that the new site definition is automatically populated to all WFE’s in the SharePoint farm.