Wednesday, July 22, 2009

How to make contentplaceholder read only?

We can make content place holder in Master Page Read only by putting ControlMode="Display"

<SharePointWebControls:DateTimeField FieldName="RenewalDate" runat="server" id="DateTimeField1" ControlMode="Display">

Tuesday, July 21, 2009

Difference between siteCollection.AllWebs and siteCollection.OpenWeb

siteCollection.AllWebs: Returns all the webs within site collection,It is a sharepoint property. for example If you wish to inherit same master page in all subsite in site collection, you can use this property.

siteCollection.OpenWeb: It is method and take SPWeb as parameter. It used to access particular web within site collection.

Tuesday, July 14, 2009

SharePoint 2010 Feature

Today I come across about wonderfull site on SharePoint 2010. Have a look when have time
http://officesharepointpro.com/Articles/tabid/149/nodeid/1982/The-Curtain-Rises-(Just-a-Bit)-on-SharePoint-2010.aspx

Tuesday, June 16, 2009

Unique Column Policy in SharePoint List/Library

There is a tool on http://www.codeplex.com/features/Release/ProjectReleases.aspx?ReleaseId=2502 called "Uniuq Column policy Feature", download it (*.wsp file) then install it on your server using the following command:


C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN>stsadm -o addsolution -filename "C:\Documents and Settings\Administrator\Desktop\UniqueColumnPolicy.wsp"

then go to Central Administration>Operations> Solution management, you will find a solution called uniquecolumnpolicy.wsp, go and deploy it.

Then go to your document library or list> Settings> docuemnt library settings>Information management policy settings > Select Define a Policy, you will find "Unique Column Policy" then check the "Unique Column Policy" box next to it, then you will have the list of columns in your document library, select the column you want to apply a unique constrains on.

Monday, June 15, 2009

Pagging Problem in SharePoint Blog list

When you have pageing enabled in sharepoint list, when you click next button in pagging u lost the query string. this error can be resolved by using below Java Script in javascript above the ListView

<script language="JavaScript">
function getQueryVariable(varname) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++)
{
var pair = vars[i].split("=");
if (pair[0] == varname)
{
return pair[1];
}
}
}

function SubmitFormPost1(cmd, varname)
{
//alert(getQueryVariable(varname));
SubmitFormPost(cmd.split("?")[0] + "?" + varname + "=" + getQueryVariable(varname) + "&" + cmd.split("?")[1]);
}
</script>

Thursday, June 11, 2009

Internal RSS Feed in SharePoint Without enabling Kerberos

Today I come accross with Custom RSS Feed Solution for Internal RSS Feed in SharePoint. As you all know to display Internal RSS Feed in Default SharePoint RSS Viewer WebPart need Kerberos authentication otherwsie give error message:The RSS webpart does not support authenticated feeds.

Best thing about Custom WebPart is its Open Source, you can modify source code as per requirment.

click here for custom RSS Viewer WebPart download

click here for Open Source Code download

Note: If you are not using VS 2008 and got error: The imported project “C:\Microsoft.CSharp.targets” was not found then

Open your csproj file in notepad (or notepad++) Find the line:

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />and change it to

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

Wednesday, June 10, 2009

External RSS Feed in SharePoint RSS Viewer Web Part

Adding external RSS Feed in SharePoint RSS Viewer Web Part gives below error

An unexpected error occured processing your request. Check the logs for details and correct the problem.

this error can be solved by below modification in web config of Web Application at "C:\Inetpub\wwwroot\wss\VirtualDirectories\port-number"

<system.net>
<defaultProxy>
<proxy bypassonlocal="true" proxyaddress="http://proxyserver" usesystemdefault="true" />
</defaultProxy>
</system.net>

Tuesday, June 9, 2009

SharePoint Recycle Bin Administration

The recycle bin in Sharepoint is a 2-stage operation where the user can delete content and get it back for a configurable amount of time and then an administrator can get it back for a configurable frame after that.

User Level Recycle Bin
The first and most simple operation is just to click on the recycle bin link in the corner.You should see the item if it hasn't exceeded its retention expiration date.


Note: Recycle bin will show only those items that have been deleted by login user.

Administrative Level Recycle Bin (Site Collection Level)
If your item is not in the recycle bin or you can't find it in your content, ask an administrator to pull it from the site collection recycle bin.

To do this, click on Site Actions in the top right corner of the site and select Site Settings --> Modify All Site Settings.




On the next page, select the Recycle Bin link.


You can now select either all user's recycle bin items or the items that have been deleted from the user recycle bin.




Note: 1) End User Recycle bin Item: items that reside in all user's recycle bin in all web under current site collection.
2) Deleted from End User Recycle bin: items that are deleted by user from recycle bin or items deleted due to recycle bin policy.

Administering the Recycle Bin Retention Policies

Start by going to Administrative Tools in Windows. Select SharePoint 3.0 Central Administration. This opens the admin web site.

Select the Application Management tab.




Now, in the SharePoint Web Application Management section, click on Web application general settings




Scroll all the way to the bottom of the next page and find the place to edit your Recycle Bin settings for the server.



You can turn off the recycle bins (not recommended), change the user level or the admin level recycle bin settings and then save your new values.

Monday, June 8, 2009

stsadm commands in new Interactive Silverlight Application

This Post is for your information that Microsoft have Launches New Interactive Silverlight Application for STSADM command. Please check below link for

MOSS

WSS 3.0

SharePoint Welcome Page Redirect To Some Other Application

Scenario: You have several SharePoint web-applications (only only site collections). Whenever a user opens one of those using just an entry-URL (such as http://intranet) you want to redirect him/her to another site collection (not necessarely in the same web-application - for example to http://intranet/my .

This can be achieved in various was:

Create a HttpHandler
If using the Publishing Feature: Create a page derived from "Redirect Page"
...
All of the above have some disadvantages: Either you have to write code, create custom configurations or - in the case of the "Redirect Page", there is a delay that is visible to the user.

I found a very easy way to create a "direct" redirect that requires no code and just uses SharePoint standard functionality.

1. Go to the web you want to create the redirect.
2. If it is a publishing web, go to the "Pages" library, otherwise, you can use any other library that is of type "Document Library"
3. Go to the "List Settings"
4. Ensure that under "Advanced Settings" "Allow management of content types" is set to "yes"
5. In the "Content Types" section click on "Add from existing site content types"
6. Add the "Link to a Document" content type
7. Your content types lis should now include the "Link to a Documet" content type:
8. Back on the list with its items, create a new item of type "Link to Document":
9. Don't forget to publish your link if you have a publishing/approval process setup for your library!
10. Now go to the "Site Settings" of your web and choose in "Look'n'Feel" section "Welcome Page":
Enter your link as the welcome page of this web.

check more details

SharePoint WebPart having dropdown with indexchange event

In WebPart which is having dropdown,getting dropdown selected value on index change event is always a difficult task because whenever we change dropdown index page referesh and WebPart Createchildcontrol methos gets call. Because of which dropdown selected value gets lost.
Below is the code for getting dropdown selected value on index change

public class webservicewebpart: WebPart
{
Label lbl=new Label();
DropDownList ddl=new DropDownList();
protected override void CreateChildControls()
{


ListItem lstItem = new ListItem();
lstItem.Text = "One";
lstItem.Value = "One";
ddl.Items.Add(lstItem);
lstItem = new ListItem();
lstItem.Text = "Two";
lstItem.Value = "Two";
ddl.Items.Add(lstItem);

ddl.AutoPostBack = true;
this.Controls.Add(ddl);
// lbl=new Label();
this.Controls.Add(lbl);
ddl.SelectedIndexChanged += new EventHandler(ddl_SelectedIndexChanged);
}

void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
//throw new Exception("The method or operation is not implemented.");
lbl.Text = ddl.SelectedValue;
}


}

How to delete all WebPart from a WebPart Page

During webpart addition on WebPart page. Some Time we need to delete all or some WebPart from a webpart Page. Below is the code for deleting all WebPart from a WebPart Page

List deleteWebPartCol = new List();
SPLimitedWebPartManager ospWebPartManager = ospFile.GetLimitedWebPartManager(PersonalizationScope.Shared);
foreach (Microsoft.SharePoint.WebPartPages.WebPart ospWebPart in ospWebPartManager.WebParts)
{
deleteWebPartCol.Add(ospWebPart);
}
for (int counter = 0; counter < deleteWebPartCol.Count; counter++)
{
ospWebPartManager.DeleteWebPart(deleteWebPartCol[counter]);
}

Friday, June 5, 2009

Method to find SPFile last updated timestamp

//fetching web local regional setting
Thread.CurrentThread.CurrentCulture = SPContext.Current.Web.Locale;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite ElevatedSite = new SPSite(SPContext.Current.Site.ID))
{
using (SPWeb ElevatedWeb = ElevatedSite.OpenWeb(SPContext.Current.Web.ID))
{
SPFile ospFile = ElevatedWeb.GetFile(Page.Request.Url.ToString());
if (ospFile.Exists && DateTime.Compare(ospFile.TimeLastModified, ElevatedWeb.Created) > 0)
lastUpdated = ospFile.TimeLastModified.ToShortDateString();
else
lastUpdated = ElevatedWeb.Created.ToShortDateString();
}
}
});

Link To a Document In Another Document Library

Question: I have two different web applications in the same farm. I have a document library in Web Application "A", is there a way to "display" documents in both Web Apps but only store the actual document in 1 content database as opposed to two.

Answer:
You can use Content Types to do this. A Content Type is a sort of template for types of documents you store in a library.

We use the Content Type “Link to a Document” to link to a document that could be stored in another document library.

If the document library where you want to use the “Link to a Document” hasn’t been setup to use Content Types, you’ll have to click Settings, Document Library Settings, there you’ll need to access the Advanced Settings.


We need to add a Content Type, but before we can do this we’ll have to tell our Document Library that it can make use of different Content Types. Select “Yes” for the “Allow management of Content Types“.


When you return to the Document Library Settings, you’ll see a new section called Content Types, this is where we’ll add a new Content Type, click “Add from exisiting Content Type“.


The content type we need is “Link to a Document“, add it here.



When you return to your Document Library and click new, you’ll see that you have a new option to choose from, “Link to a Document“.


Let’s make a link to a Document in another Document Library, click “Link to a Document”. You’ll have to enter a name for the Link and enter the path to the Document you want to link to.


After confirming this is what your link looks like.


We made link to a document that’s saved in another document library, whenever you make a change to the master document, you don’t need to worry about the link, it will point to the changed document.


Wednesday, June 3, 2009

Programmatically Inherit Master Page in MOSS 2007

Make a instance of SPSite ospsite and use the below for Programmatically Inherit Master Page master page to all web in site collection

using(SPWeb web in ospsite.AllWeb())
{
web.MasterUrl = web.Site.RootWeb.MasterUrl;
web.CustomMasterUrl = web.Site.RootWeb.CustomMasterUrl;
web.AlternateCssUrl = web.Site.RootWeb.AlternateCssUrl;
web.Update();
}

SharePoint - Content Type ID's


Content types are little gems within SharePoint with many useful characteristics. The one characteristic is that content types support inheritance. For the non programmers; inheritance is when you define a content type it must be based on an existing content type. The new type called the child type will get all the features, i.e. fields, settings of the parent type. The child type can then have additional types.

To illustrate this, let us say we have a business that has customers and suppliers and we need to store customers and suppliers. We could easily create a content type for a Customer that inherits from Contact, however a customer has an additional Account number field and Account Manager field. The Supplier is also a contact and thus inherits from contact, however it has a Customer Number field.

At this point it is important to note that content types inherit from other content types and build a tree as shown in the diagram below:

image

You can create your own content types that inherit from other content types in CAML by understanding the ID field. Each content type must have a unique id, however unlike many other ID's that are Globally unique identifiers, a content type ID is a mixture of the parent ID, shown in the table below an a unique GUID. Also the GUID is contains no braces or dashes like other GUIDS.

Content Type

ID Start

System

0x

Item

0x01

Library Content Types

Document

0x0101

Form

0x010101

Picture

0x010102

WikiDocument

0x010108

BasicPage

0x010109

WebPartPage

0x01010901

List Content Type

Event

0x0102

Issue

0x0103

Announcemnt

0x0104

Link

0x0105

Contact

0x0106

Message

0x0107

Task

0x0108

BlogPost

0x0110

BlogComment

0x0111

Folder Content Types

Folder

0x0120

RootOfList

0x012001

Discussion

0x012002

Where to set the ID

When you define your content type in the Elements manifest file, there is a mandatory ID field which needs to be the content type. A snipit of a content type is shown below:

<?xml version="1.0" encoding="utf-8"?>
<
Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<
ContentType
ID="0x0106000BB3F82D2A624B77833C28045F765D7A"
>

</
ContentType>
</
Elements>

The syntax is :

Parent ID + 00 + GUID

Examples

  1. To create a content type with GUID {0BB3F82D-2A62-4b77-833C-28045F765D7A} that is based on contact (0x0106), you would se the ID to
    0x0106000BB3F82D2A624B77833C28045F765D7A
  2. To create a content type with GUID {0E3E8F35-3A21-4ed7-8151-816C48E2D64F} that is a based on document (0x0101), you would set the ID to
    0x0101000E3E8F353A214ED78151816C48E2D64F
  3. To create your own item with GUID {A6C62A39-E374-4d8d-9EFE-90DD65B659F9} that is based on item (0x01), you would set the ID to
    0x0100A6C62A39E3744D8D9EFE90DD65B659F9

Site Definitions in SharePoint 2007



For many of our clients we need to build custom site definitions. When building SharePoint solutions the terms site template, definition and to a lesser extent site portal are often used. Each of these allows the user to create a new site with a predefined set of Content Types, Layouts, and Lists etc. In the case of the Portal, it allows the user to create a site and one or more nested child sites.
Site definitions are our preferred way to develop custom sites. A portal definition is a variation of the Site Definition except that the definition describes a series of sites to be created. An example of this is the Site Collection Publishing Template, which creates a root site collection, a News sub site, a Documents sub site and some others.

The focus of this article is on how site definitions and Portal definitions can be created and deployed. Site definitions are usually deployed as a part of a solution package, which is a compressed cabinet file made up of XML files and other resources. Solution packages are first added and then deployed to the MOSS farm. Once deployed the contents of the solution can be made available to sites, or used to create new sites.

The Solution Package can also deploy Site Features. A Site Feature can do myriad things, such as deploying a new web part, defining a new content type, site column, list type, adding a new page layout, or even a graphic image. Site Features can then be activated in a site, or automatically applied in a new site definition. We typically deploy several features as part of the new site definition, as this allows multiple developers to work together without interfering with one another. The solution and feature methodology is a powerful new model for MOSS and is used by Microsoft to build and extend MOSS.

CREATING A SITE DEFINITION

To create a site definition the first step is to create the “WebTemp” file. The purpose of the webtemp file is to describe to SharePoint the new Site Definition or Site Portal Definition. After the WebTemp file, the Site Definition file should be created, this is known as the ONET.XML file. Each Site Definition contains one or more configurations of lists and features. A site Definition can also point to a Portal Definition. The portal definition uses one or more site definitions. The relationship of files is shown below:


WEBTEMP FILE
All the webtemp files are XML files which live in the <12-hive>\TEMPLATES\1033\XML. The webtemp file can be thought of as Meta data or a description of a Site Definition. For example, the file contains the name of the site definition, as displayed in the Create Site page in a site or the Create Site Collection page in Central Administration.

Each Site Definition description is in a <Template> node that contains one or more configuration nodes. The name assigned to a Template must match the name of a directory in the <12-hive>\TEMPLATE\SiteTemplates directory. SharePoint then looks for the ONET.XML file in a subdirectory called XML to find the actual Site Definition. The ID of the Template must be unique across the SharePoint installation. The following is a sample template definition:

<Template Name="SPPR" ID="10856">
<Configuration ID="0"
Title="Syrinx Root"
Description="This site is intended to be the root site collection for a Syrinx portal."
Hidden="TRUE"
ImageUrl="/_layouts/images/stsprev.png"
DisplayCategory="Syrinx"
RootWebOnly="True"/>
</Template>

The Configuration declaration can define if the site definition can be used for a site root collection only, a sub web site only or both. This provides a level control on how the site definition can be used, and provides a mechanism to control how certain features are enabled.

In the case of a Portal definition, the webtemp template configuration adds some additional attributes:

<Template Name="SyrinxPortal" ID="10855">
<Configuration ID="0"
Title="Syrinx Portal Site"
Type="0"
Hidden="FALSE"
ImageUrl="/_layouts/1033/images/template_corp_intranet.png"
Description="This site is the definition of the Syrinx Portal collection."
ProvisionAssembly="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
ProvisionClass="Microsoft.SharePoint.Publishing.PortalProvisioningProvider"
ProvisionData="SiteTemplates\\WebManifest\\PortalWebManifest.xml"
RootWebOnly="TRUE"
DisplayCategory="Syrinx"/>
</Template>


The attributes of interest are the ProvisionAssembly, ProvisionClass and ProvisionData. When creating a Portal site the class specified by the ProvisionClass attribute is called in the assembly specified by the ProvisionAssembly. The class is passed the value of the ProvisionData attribute as a parameter. Microsoft provides an implementation of a Provisioning Class. The Microsoft Provisioning Class (MPC) is used to create a Portal Site.

The MPC expects the ProvisionData value to be the path to an XML file, which contains instructions on the sites to create as part of the Portal Definition. This methodology is used to create the Publishing Site, which creates several sub sites. By looking in the PortalWebManifest.xml file specified above, it can be seen that four sites are created, News, Site Directory, Search Center, and Document center. Below is a sample Syrinx Portal Provisioning Data XML file.

<portal xmlns="PortalTemplate.xsd">
<web name="Syrinx Root"
siteDefinition="SPPR#0"
displayName="Syrinx Portal Display Name"
description="Syrinx Watch Portal Description">
<webs>
<web name="NorthEast"
siteDefinition="SPRegion#0"
displayName="North East"
description="North East Site Description">
<webs>
<web name="Massachusetts"
siteDefinition="SPState#0"
displayName="Massachusetts"
description="Massachusetts Site Description"/>
</webs>
</web>
<web name="SouthEast"
siteDefinition="SPRegion#0"
displayName="South West"
description="South West Site Description"/>
</webs>
</web>
</portal>

This file declares the top-level site that is to be created, and it uses the SPPR#0 site definition. This is a reference back into the webtemp files; it is referencing a site definition template called “SPPR” and from that definition use configuration “0”, the display name and description of the root level site are overwritten by the values entered by the user when the site is created. Nested below this site, are two child sites that use configuration 0 from the SPRegion site definition, the North East and South East regional sites. Below the North East regional site is a sub site called Massachusetts, which uses configuration 0 from the SPState site definition.

ONET.XML FILE
The onet.xml file contains the actual site definition and is broken in to several sections, navigational areas, list templates, document templates, configurations, modules, components, and server e-mail footer. The MSDN documentation provides an good reference on the structure and contents of an onet.xml file (see http://msdn2.microsoft.com/en-us/library/ms474369.aspx). The best way to create a new onet.xml file is to copy one from the site templates directory which is close to what you need and then modify it to suit your needs. Below is an overview of the sections within the onet.xml file.

NAVIGATIONAL AREAS
In the quick launch bar (left navigation in MOSS 2007), there sections under which lists and other links are displayed, for example:



Each of the sections – Pictures, Documents etc is defined within the Navigational areas piece of the onet.xml file; this is done within the “Navbars” tag. For example, the following is for the Syrinx Portal State Site.

<NavBars>
<NavBar Name="$Resources:core,category_Top;"
Separator="&nbsp;&nbsp;&nbsp;"
Body="<a ID='onettopnavbar#LABEL_ID#' href='#URL#' accesskey='J'>#LABEL#</a>"
ID="1002"/>
<NavBar Name="$Resources:core,category_Documents;"
Prefix="<table border=0 cellpadding=4 cellspacing=0>"
Body="<tr><td><table border=0 cellpadding=0 cellspacing=0><tr><td><img src='/_layouts/images/blank.gif' ID='100' alt='' border=0>&nbsp;</td><td valign=top><a ID=onetleftnavbar#LABEL_ID# href='#URL#'>#LABEL#</td></tr></table></td></tr>"
Suffix="</table>"
ID="1004"/>
</NavBars>

These declarations have embedded HTML and have special functionality based on the value of the Name attribute and are not covered in detail here.

EMAIL FOOTER
The Email footer section contains the text that is to be displayed at the bottom of e-mails generated from the site. This is just textual information.

DOCUMENT TEMPLATES
The document template section describes documents that can be created on the “New Page”. Each document Template defines a name, description, and a template file to be used. In most cases this section can be left unchanged.

LIST TEMPLATES
The List Templates section allows for the creation of new List Types, which can be used as part of the site. The supporting files for the list template should be stored in a subdirectory called Lists below the Site definition directory. Another method of deploying a new List Type as part of a site definition is to deploy it as a feature. The Site definition can then activate the feature and use the List Type. This has the benefit of allowing the list type to be used independently of the site definition. For more information about the List Template section, see http://msdn2.microsoft.com/en-us/library/ms439434.aspx.

MODULES
The Modules section specifies a collection of files or modules, which can be deployed when a site is created. A module could be a Web Part, or a file, which is to be added to a document library etc. When adding a file to a library, it is possible to specify the value of the properties the item should have. This even allows you to add web parts to a layout page when the site is created.
For the Market Watch Project, modules were created for such things as default home pages for publishing sites. Several property values were set including some HTML content, as shown below:

<Modules>
<Module Name="HomePage"
Url="Pages"
Path="">
<File Url="Default.aspx"
Type="GhostableInLibrary">
<Property Name="Title"
Value="Regional Home Page" />
<Property Name="ContentType"
Value="$Resources:cmscore,contenttype_welcomepage_name;" />
<Property Name="PublishingPageLayout"
Value="~SiteCollection/_catalogs/masterpage/defaultlayout.aspx, $Resources:spscore,DefaultLayoutTitle;" />
<Property Name="PublishingPageContent"
Value="<div style="padding-left:7px;padding-top:8px">
<font style="font-size:12pt;font-family:Tahoma"><b><font size=2>Welcome to the</font> </b>
</font>
</div>
<div style="padding-left:7px;padding-top:8px">
<font ><b><span class=ms-rteCustom-ArticleHeadLine>Syrinx Portal.</span></b>
</font></div>" />
</File>
</Module>
</Modules>

For more information on the Modules section, see http://msdn2.microsoft.com/en-us/library/ms467997.aspx

COMPONENTS
The components section allows you to define new “FileDialogPostProcessors” and “ExternalSecurityProviders”. These are low level processing objects within the SharePoint System; in most situations, no changes are required.

CONFIGURATIONS
The configuration section is where the bulk of the site setup is defined. A site definition can contain one or more configurations; each configuration is uniquely identified and named within the site definition. The Configuration is broken down into several subsections, Lists, Site Features, Web Features, and Modules.

LISTS
The Lists section defines Lists, which should be created as part of the site provisioning. For example in the Syrinx Portal State Site definition, a new document library list is created called Restaurants:

<List FeatureId="00B97871-E717-4F80-AA17-D0C71B363691"
Type="101"
Title="Syrinx Restaurants "
Url="Restaurants"
QuickLaunchUrl="Restaurants/Forms/AllItems.aspx"/>

The Feature Id is the GUID of the feature that created the base list type for this list. The type identifies the list type from the specified GUID. The Title is the display name for the list. The URL is the partial URL for the root of this list. Finally the QuickLaunchUrl is the URL to be used for the link in the quick launch bar.
To find the GUID and the type for a specific list type, the easiest way to do this is to navigate to the Site Actions->Create page. This will present a page of list types, which can be created in the site. Select the list type you wish to use, and use the right mouse button to get the properties of the link. The link will contain the feature id and list template or type id. For example:

http://sharedvision/layouts/new.aspx?FeatureId={00bfea71-e717-4e80-aa17-d0c71b360101}&ListTemplate=101

Note that some list types are only available after certain features have been activated.

SITE FEATURES
The site features section is used to control which features are enabled when the site definition is used to create a site, which is a root site collection. Some features can only be enabled at a collection level. For example, the following list of features is from the Syrinx Portal root Site Collection definition:

<SiteFeatures>
<!-- Workflow Expiration -->
<Feature ID="C85E5759-F323-4EFB-B548-443D2216EFB5" />
<!-- Workflow Review -->
<Feature ID="02464C6A-9D07-4F30-BA04-E9035CF54392" />
<!-- Workflow Signature -->
<Feature ID="6C09612B-46AF-4B2F-8DFC-59185C962A29" />
<!-- Workflow Translation -->
<Feature ID="C6561405-EA03-40A9-A57F-F25472942A22" />
<!-- PublishingUberSiteFeatureDescription -->
<Feature ID="F6924D36-2FA8-4f0b-B16D-06B7250180FA" />
<!-- BaseFeatureDescription -->
<Feature ID="B21B090C-C796-4b0f-AC0F-7EF1659C20AE"/>
<!-- Basic Web Parts -->
<Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" />
<!-- Report Center Creation Feature - creates a whole site -->
<Feature ID="8156EE99-DDFB-47bb-8835-7AE42D40D9B9" />
<!-- Office SharePoint Server Enterprise Site Collection features -->
<Feature ID="8581a8a7-cf16-4770-ac54-260265ddb0b2"/>
<!-- Syrinx Portal Custom Site Columns -->
<Feature ID="0185ca1f-a6d6-4df9-8d67-93f896f95c6b" />
</SiteFeatures>

This is a large number of feature ids, to understand and identify. There are two methods to identify the feature id's required for a site definition. The first method is to review site definitions that have the features enabled and look at the either the site or web features nodes within the configuration nodes. This is usually required when the site definition being constructed combines the features of two existing site definitions. The second method is to find the feature id's from the features activation page.

To find the feature id's navigate to the
Site Actions->Site Settings->Site Collection Features
or
Site Actions->Site Settings->Site Features.


From this page, use the right mouse button to view the source of the HTML page. Search for the name of the feature you wish to have activated in your site definition. For example searching for “Office SharePoint Server Enterprise Site features” the HTML should look something like the following:

<TD class="ms-alternating" style="padding-top: 4px; padding-bottom: 4px; ">
<TABLE width="100%" cellpadding="0" cellspacing="0" border="0">
<TR><TD class="ms-vb2" style="font-weight: bold;"><H3 class="ms-standardheader">Office SharePoint Server Enterprise Site features</H3></TD></TR>
<TR><TD class="ms-vb2">Features such as the business data catalog, forms services, and Excel Services, included in the Office SharePoint Server Enterprise License</TD></TR>
</TABLE>
</TD>
<TD class="ms-alternating" style="padding-top: 4px; padding-bottom: 4px;">
<DIV id='0806d127-06e6-447a-980e-2e90b03101b8'>
<input type="button" name="ctl00$PlaceHolderMain$featact$rptrFeatureList$ctl01$btnActivate" value="Activate"
onclick="BLOCKED SCRIPT__doPostBack('ctl00$PlaceHolderMain$featact$rptrFeatureList$ctl01$btnActivate','')"
id="ctl00_PlaceHolderMain_featact_rptrFeatureList_ctl01_btnActivate" class="ms-ButtonHeightWidth" />
</DIV>
</TD>

Looking at the DIV tag it has an id, which is a GUID. This GUID is the feature id for the feature. This can then be added to the SiteFeatures node.

WEB FEATURES
The web features section behaves the same as the site features section, except that the features are activated when the site definition is used to create a child site. Note that some features can and should only be activated on a Site Collection root site.

MODULES
The modules collection defines the set of modules that are to be deployed as part of the site provisioning. This is not to be confused with the Modules section for the template described above. This is the set of modules defined in the Modules section which are to be installed for the current configuration.

TESTING A SITE DEFINITION
There are several steps to testing a Site Definition. The first is to make sure you have a Web Application that you can use for testing; typically this runs on a different port than the default SharePoint instance (I like to use port 2112). Once you have an empty Web Application, there is a 10 step process to test a site definition. The steps are:

1. Edit Site Definition and Features
2. Build Solution Package
3. Reset IIS
4. Add Solution Package
5. Deploy Solution Package
6. Create Site Collection
7. Test Definition
8. Delete Site Collection
9. Retract Solution Package
10. Delete Solution Package

Steps 1 and 2 can be executed in Visual Studio or other XML Editor.

Steps 3, 4, and 5 can be executed in a BAT file using stsadm commands. For example:

iisreset
stsadm -o addsolution -filename SyrinxPortal.wsp
stsadm -o deploysolution -name SyrinxPortal.wsp -allcontenturls -immediate –allowGacDeployment


Step 6 can be executed either via a stsadm command or via the Central Admin administration UI. I prefer to use the UI, as this allows me to rename the site definition on each of the iterations and verify I am using the correct one.
Step 7 requires using the UI.
Steps 8 and 9 can be combined in to a BAT file, and executed using stsadm commands.
For example:

stsadm -o deletesite -url http://dev-sp:2112
stsadm -o retractsolution -name SyrinxPortal.wsp -allcontenturls –immediate


Step 10 can be executed from a BAT file using stsadm commands. For example:

stsadm -o deletesolution -name SyrinxPortal.wsp

Note however, that both the deployment and the retraction of the solution package uses the SharePoint Timer Service (OWSTIMER.EXE) and so do not take effect immediately; a job is created by the stsadm command for the timer to execute, this prevents the commands form all being executed from one batch file.
Hopefully this article has given you a jump start on building your own site definitions.

Tuesday, May 26, 2009

Adding Default WebPart In PageLayout

If you are adding your page layouts to the Master Page Gallery by provisioning the files into the gallery using Features, you can very easily specify the default Web Part to include in a Web Part Zone. The first step is to make sure you have a Web Part Zone in the page layout.like below

Then, within the element manifest file where you are provisioning the page layout into the Master Page Gallery as an uncustomized file, use the node to specify the Web Part as follows:


In the CAML shown in the previous image, the DivisionArticleImageLeft.aspx file is being provisioned as an uncustomized instance in the Master Page Gallery. After setting a handful of fields such as the PublishingAssociatedContentType, PublishingPreviewImage, ContentType and Title, the next thing to do is specify what will go in the Web Part Zone. This is done by using some XML to specify the assembly and full name of the Web Part class as well as any default values to set on the public properties. In the case above, the Image Web Part is added to the Main Web Part Zone and the image URL is set to the SharePoint green "spinner" animated image. Then, when new pages are created, they will automatically start out with this one Web Part as you can see below:

Sunday, May 24, 2009

SharePoint Interview Question Part 3

1) What are the two base classes a WebPart you are going to use within SharePoint 2007 can inherit from?
Microsoft.SharePoint and Microsoft.SharePointt.WebPartPages
2) What are the differences between the two base classes and what are the inherit benefits of using one over another?
Microsoft.SharePoint is used to access sharepoint object model and WebPart Pages is used to access webpart class.
3) What is GAC?
4) Why is strong naming (signing) a WebPart assembly file mean?
Strong names guarantee name uniqueness by relying on unique key pairs. No one can generate the same assembly name that you can, because an assembly generated with one private key has a different name than an assembly generated with another private key.
5) What are safe controls, and what type of information, is placed in that element in a SharePoint web.config file?
6) What is the CreateChildControls() method? How can you use it to do something simplelike displaying a simple Label control?
7) What does the RenderContents method do in an ASP.NET 2.0 WebPart?
8) What is the WebPartManager sealed class? What is its purpose?
9) What is a SPSite and SPWeb object, and what is the difference between each of the objects?
10) How would you go about getting a reference to a site?
11) What does a SPWebApplication object represent?
12) Would you use SPWebApplication to get information like the SMTP address of the SharePoint site?
13) How do you connect (reference) to a SharePoint list, and how do you insert a new List Item?
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?
15) How do you return SharePoint List items using SharePoint web services?
16) When retrieving List items using SharePoint Web Services, how do you specify explicit credentials to be passed to access the list items?
17) What is CAML, and why would you use it?
18) What is impersonation, and when would you use impersonation?
19) What is the IDesignTimeHtmlProvider interface, and when can you use it in WebParts?
20) What are WebPart properties, and what are some of the attributes you see when declaring WebPart properties?
21) Why are properties important in WebPart development, and how have you exploited them in past development projects?
22) What are ClassResources? How do you reference and deploy resources with an ASP.NET 2.0 WebPart?
23) What is a SharePoint Solution File? How does it differ from WebPart .cab files in legacy development? What does it contain?
24) What is a .ddf file and what does it have to do with SharePoint Solution creation?
25) What file does a SharePoint solution pacakage use to orchestrate (describe) its packaged contents?
26) What deployment mechanism can you use to instigate Code Access Security attributes for your WebParts?
27) What is a SharePoint Feature?
28) What types of SharePoint assets can be deployed with a SharePoint feature?
29) What are event receivers?
30) When would you use an event receiver?
31) What base class do event receivers inherit from?
32) If I wanted to not allow people to delete documents from a document library, how would I go about it?
33) What is the difference between an asynchronous and synchronous event receivers?
34) How could you assign append string to the title of a site when it is provisioned?
35) Can an event receiver be deployed through a SharePoint feature?
36) What is a content type?
37) Can a content type have receivers associated with it?
38) What two files are typically included when developing a content type, and what is the purpose of each?
39) What is an ancestral type and what does it have to do with content types?
40) Can a list definition be derived from a custom content type?
41) When creating a list definition, how can you create an instance of the list?
42) What is a Field Control?
43) What base class do custom Field Controls inherit from?
44) What is a SharePoint site definition?
45) How does one deploy new SharePoint site definitions so that they are made aware to the SharePoint system?

Some More Questons

1. Describe Authentication Model in SharePoint?

1. Window
In Windows Based Authentication ASP.NET Relies on IIS to authenticate Incoming request using one of its available Authenticate Methods.
a) Basic Authentication:-Basic Authentication is Compatible with most browsers. But Password is sent in Clear Text. These are Protected with SSL Encryption.
b) Digest Authentication:- Digest Authentication is introduced with HTTP 1.1,So it may not support all browsers. It sends hashed value instead of Clear-Text Password, its more secure than Basic Authentication. But it requires a Windows 2000 Domain Controller.
c) Integrated windows (NTLM)[NT LAN Manager] Authentication:-Integrated Windows Authentication is Available only with Internet Explorer. Its most secure method because it never sends a username /Password over the network., but it will not work over HTTP Proxy Connection.
2. Form Level
Form-Based Authentication allows developers to easily implement “roll-your-own” security in their Applications. All you need to do is create the login page, tell ASP.NET where to find (via web.config) and set the desired Authorisation restrictions. In your login page, you can verify username and password credentials entered by user against a database, windows 2000 autrhenticate directory.
Once Credentials are verified you can use methods exposed by Forms Authentication class to set or remove an authentication cookie redirect the user to original page they requested or renew the authentication Cookie.

3. Passport
Password Authentication used the Centralized Password service provided by Microsoft. Passport authentication gives users a single login to use with any passport-enabled site.
In order to use Passport Authentication with ASP.NET , you must download and install SDK, which is available with www.passport.com/business
4. None[Annonyames]

2. What is the difference between a Site Definition and a Site Template?
Site Definitions are stored on the hard drive of the SharePoint front end servers. They are used by the SharePoint application to generate the sites users can create. Site Templates are created by users as a copy of a site they have configured and modified so that they do not have to recreate lists, libraries, views and columns every time they need a new instance of a site.

Saturday, May 23, 2009

SharePoint Interview Question Part 2

1. 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.

2. Can I get domain name for my Web site?
Unfortunately, no. At this point, we don't offer domain names for SharePoint sites. But very soon we will be making this available for all our SharePoint 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.

3. What are picture libraries?
Picture libraries allow you to access a photo album and view it as a slide show or thumbnails or a film strip. You can have separate folder for each event, category, etc
4. What are the advantages of a hosted SharePoint 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
5. 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.

6. 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.

7. 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.

8. 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.

9. 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.

10. 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.

11. 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., www.msn.com, www.microsoft.com, etc.). You can set up a site for your company that can be accessed by anyone without any user name and password.
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 they were added to the site by the site administrator.

12. 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.

13. 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.

14. 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.

15. 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.

16. 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

17. 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.

18. 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.

19. 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.

20. 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.

21. 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.

22. 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.

23. 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.

24. 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.

25. 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

25a)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.

26. 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.

27. 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.

28. Will SharePoint Portal Server and Team Services ever merge?
The products will come together because they are both developed by the Office team.

29. 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, unhandled security exceptions may cause the Web Part to fail and may affect page rendering on the page where the Web Part appears.

30. 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.

31. 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.

32. 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.

33. What would you like to see in the next version of SharePoint?
A few suggestions:
# SPS and STS on same machine # Tree view of Categories and Folders # General Discussion Web Part # Personalization of Dashboards # Role Customization # Email to say WHY a document has been rejected for Approval # More ways to customize the interface # Backup and restore an individual Workspaces # Filter for Visio # Better way to track activity on SPS

34. Why Sharepoint is not a viable solution for enterprise wide deployments?
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 < 750,000 documents per server and fewer than 4 content sources and fewer than 50,000 users, SPS should scale just fine for your needs with the proper planning.

35. 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.

36. 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.

37. 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.

38. 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:
# Change the Startup type for W3SVC to Manual. # Restart the server. The MSExchangeIS service starts automatically. # Start W3SVC.

39. What newsgroups are available?
There are two, * microsoft.public.sharepoint.portalserver and * microsoft.public.sharepoint.portalserver.development.

40. 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.

41. 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.

42. 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.

43. 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.

44. 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."

45. 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.