Click here to Skip to main content
Click here to Skip to main content

SharePoint Quick Start FAQ Part 1

By , 7 Mar 2012
 

Table of contents

This video shows how we can deploy a web part using SharePoint:

Introduction

This is a quick start FAQ for people who are new to SharePoint. We will warm up with some theory in the first two articles and then do some practicals on the same lines. I have written a 10 part series for SharePoint and I hope you will enjoy it. This is the first part from the series. Get warmed with the theory first and then the rest of SharePoint is a breeze. This article covers SharePoint basics and walks through how SharePoint works with ASP.NET.

For the past several days, I have been writing and recording videos on Design Patterns, UML, FPA, Enterprise Blocks, etc., and you can watch the videos at http://www.questpond.com.

You can download my 400 .NET FAQ eBook from http://www.questpond.com/SampleDotNetInterviewQuestionBook.zip.

What is SharePoint?

SharePoint helps team members to connect and exchange information in a collaborative manner. It helps to centralize enterprise information for efficient functioning. For instance, below is how a normal organization works. Files and documents scattered in individual PCs and data transported according to custom protocols. The communication protocol for sending data is person dependent. Some would use email, some would share a drive, etc.

SharePoint unites all documents into one centralized place and unifies the data transport mechanism. To summarize, it is a central enterprise information portal.

What is WSS and MOSS?

Microsoft has divided SharePoint products into two parts. One is called WSS (Windows SharePoint Services) and the other is MOSS (Microsoft Office SharePoint Server). WSS is the platform in which MOSS is built. The WSS part is licensed through Windows 2003 Server and it does not cost anything. MOSS is a separate product by itself and needs licensing and it has a significant cost. WSS is good for small teams and small projects. MOSS has extra functionalities, in other words, Value Added Services. So the choice between WSS and MOSS will depend on the budget of the project and the VAS provided by MOSS.

How does WSS actually work?

WSS does not work in an isolated fashion. It needs help from two more products: IIS (Internet Information Server) and SQL Server.

How does WSS work with IIS?

In order to understand how WSS works with IIS, we need to first understand the concept of HttpHandlers and HttpModules. If you are not aware of this, you can refresh about them here.

Using HttpHandlers and HttpModules, a request is first passed through the SharePoint runtime and then passed to the ASP.NET runtime (aspnet_isapi.dll).

If you open the web.config file of a WSS enabled IIS web application, you can see the application runtime handlers and modules.

<httpHandlers>
<add verb="GET,HEAD,POST" path="*" 
   type="Microsoft.SharePoint.ApplicationRuntime.SPHttpHandler, Microsoft.SharePoint, 
         Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
....
...
</httpHandlers>

We have highlighted the application runtime module.

<httpModules>
<add name="SPRequest" 
  type="Microsoft.SharePoint.ApplicationRuntime.SPRequestModule, 
        Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, 
        PublicKeyToken=71e9bce111e9429c" />
...
...
</httpModules>

What is site and site collection?

SharePoint is all about enterprise data. When we talk about enterprise data, it looks as shown in the figure below. In other words, grouping and sub grouping of data.

SharePoint extends the IIS web application structure to accommodate the above defined data structure using site and site collections. We will see in the later sections how to create site collections.

What is the main advantage of using site collections?

As said previously, SharePoint is all about data and data should be properly authenticated / authorized to users. By defining the structure in site and site collection, we can define roles and responsibilities according to data. For instance, in the above figure, we will assign all HR users to the payroll, recruitment, and assessment site. These users will not be assigned to the account site collection. Same holds true for accounts users.

So when you design your hierarchy of site and site collection, you need to keep in mind the enterprise hierarchy structure and design accordingly.

What is the use of SQL Server in SharePoint?

SQL Server is used to store content and configuration information. We have two types of databases: content databases and configuration databases. We had said previously that content is according to a site. So every site has its own content database. For instance, if we have a payroll site and recruitment site, they have their own content databases. Configuration database is for the entire site as they are used in web farms, site configuration, and a lot of other things which are generic and common across all sites.

What is the concept of a virtual path provider?

Any project has two parts: the standard and common part and the customized version. In ASP.NET, we have two types of pages for any project: one is the common ASPX pages and the other is customized ASPX pages. The common pages are stored on file directories while the customized versions of pages are stored in the content database.

In other words, we need an abstract mechanism by which we can render pages from the SQL Server content database and also from the virtual directories. This is achieved by using the virtual provider provided by SharePoint. So for all customized pages, the virtual provider reads from the content database and passes them to the ASP.NET runtime. For all common pages, it goes to the directory, parses it, and the passes it across to the ASP.NET runtime.

The virtual provider is an abstraction which loads the page from the content or the file system depending on whether it’s customized or common pages, and passes it to the ASP.NET runtime.

What is the concept of ghosting and unghosting in SharePoint?

In SharePoint, most site pages derive from templates. The custom pages only store the differences between them. The template is loaded in memory and applied to the custom pages on the fly. In other words, the template is stored in a cache. This definitely brings in performance and flexibility. Flexibility is in terms that when we change the template page, it’s applied to all custom pages. These pages are loaded from the file system. So pages which are loaded from the file system are termed as ghosted pages.

If the page data is loaded from the content database, it’s termed an unghosted page.

As a note, let me clarify the concept of document and content table as we are already trying to understand the concept of ghosting and unghosting. As we know, SharePoint stores all pages in the database. Looking from 50,000 feet, it has two tables: the document table which has the entry of the page and the content which has the source code of the ASPX page.

So when a page is requested, it first checks in the document table and then goes to the content table to load the page. If it does not find the data of the page, it goes to the file directory to load the page. This loading is done by the ASP.NET runtime itself. But if there is data present in the content table, then it’s loaded by the ‘safe mode’ parser.

What is the concept of Safe Mode Parser in ASP.NET?

As said in the previous section, there are two tables: document and content. If the page is stored in the content database, it’s loaded by the Safe Mode Parser which is a page parser provided by SharePoint. If there is no data found in the content, it’s loaded from the file directory by the ASP.NET runtime.

What is the concept of Site pages and Application pages?

Site pages are customized pages and are saved in the content database. So when you use the SharePoint designer to make custom changes, it saves the changes into the content database. If you want to make generic pages in a site collection which will be used by everyone, like for instance the ‘Settings.aspx’ page, then you need to use application pages.

In other words, Site pages are nothing but customized pages stored in content, while application pages are generic pages which will be used by all the sites in a site collection.

What Next?

In part two, we will try to get hands on with SharePoint, create site collections, create application pages, and understand the concept of features.

Other Links for SharePoint

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Shivprasad koirala
Architect http://www.questpond.com
India India
Member

I am a Microsoft MVP for ASP/ASP.NET and currently a CEO of a small
E-learning company in India. We are very much active in making training videos ,
writing books and corporate trainings. Do visit my site for 
.NET, C# , design pattern , WCF , Silverlight
, LINQ , ASP.NET , ADO.NET , Sharepoint , UML , SQL Server  training 
and Interview questions and answers


Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralVery Nice articlemembersoyeb9229 Apr '13 - 19:49 
Very Helpful Smile | :)
GeneralMy vote of 5memberajis232621 Mar '13 - 1:45 
Very good article.easy to understand with simple examples.
GeneralMy vote of 5memberBrian Pendleton26 Sep '12 - 3:08 
Well written article with excellent information!
GeneralMy vote of 5memberBiswojit Kumar Sahu9 Jun '12 - 18:17 
Excellent Basics with clear exmples
GeneralMy vote of 5memberirshadmohideen24 Mar '12 - 3:50 
Excellent Article
QuestionChris maunder something has gone wrong with my imagesmemberShivprasad koirala7 Mar '12 - 7:57 
Chris maunder something has gone wrong with my images
 
Looks like you are editing my article can you please ensure my images just gone out of synch.
 
I love this article.
My book .NET interview questions with 500 mostly asked questions in .NET world .NET Interview questions and answers

GeneralMy vote of 4memberArun4u3329 Sep '11 - 2:13 
This is really good one for the beginners..
GeneralMy vote of 5memberlurkbat17 Jun '11 - 0:09 
Excellent overview for someone who knows little or nothing about sharepoint
GeneralMy vote of 5membershady197923 Apr '11 - 16:56 
It explains the core of sharepoint in very clear article
GeneralMy vote of 5membertvpm2 Feb '11 - 22:36 
gud one
GeneralNice article indeed; yet require some little more helpmemberTheFrnd24 Nov '10 - 19:47 
Hi,
I'm just a starter with Sharepoint. And I see you have posted some beautiful and clear document for the starters. I just wanted some more help to be confirm of couple of things :
1. I see the Microsoft Sharepoint Foundation 2010 has replaced the Windows Sharepoint Services(WSS); What you say about it ?
2. The step by step guidelines I'm getting here on your articles are the similarly applicable for Sharepoint foundation or I need the Sharepoint server as well. I'd like to mention again that I am a starter.
3. Exactly when I'll need the MOSS ? I mean, exactly where is the limit for WSS[or the Sharepoint foundation] from where I will need the MOSS[or what it is now ?]
 
Thanks again for the nice articles .
 
Arif
 
TheStranger
GeneralNicemembersantosh poojari23 Jun '10 - 2:19 
Nicely articulated. Thumbs Up | :thumbsup:
Happy Coding
"San"
 

 

GeneralSuperb One...membernavsmca9 Dec '09 - 0:42 
Wonderful article sir...
 
Really the exact content for a fresher like me to kick start Sharepoint Understanding desperately waiting for more on this...
GeneralExcellent Start up for Sharepoint.memberRamkumar Sethumurugaun19 May '09 - 2:24 
This is one of the wonderful article to understand the need of sharepoint and its internals
 
Thanks
Ramkumar
Generalnice workmemberJeffCirceo27 Apr '09 - 21:56 
thanks, 5 from me
 
Take a look at my corner of the net at Code Research Center

GeneralGot my 5memberld20089 Feb '09 - 2:53 
Congrats!
GeneralGood intromemberSrinath G Nath8 Feb '09 - 23:28 
Good intro to share point. Got my five points.
GeneralMy vote of 2memberLars Støttrup Nielsen18 Jan '09 - 21:17 
Not much "QuickStart" about it.
Just a bit of info...
GeneralRe: My vote of 2memberAnjum.Rizwi17 Feb '09 - 18:43 
Title says "SharePoint Quick Start FAQ Part 1".
 
So it is excellent tutorial.
Auther deserves 5.
 
Hope It will help.
 
Thank You,
Anjum Rizwi

GeneralRe: My vote of 2memberSatya Priya25 Feb '09 - 1:27 
Its superb...
Trying for last few month to start with sharepoint, and looking for answers like "WHY ShaprePoint?" but never find perfect answer. But now i got. Thanks Shiv..
 
Satya Priya

QuestionWhat is site collectionmemberHimadrish Laha10 Dec '08 - 23:46 
Nice article!
 
Can you please elaborate how you define site collection? For example if I installed SharePoint first, and get the top level site http://sharepoint.com. So, I understand there is one content database, and this is a top level site, and this we can termed as site collection.
 
Now, if I create two manage path, say HR, and ACCOUNT. So any new site under this manage path will be another site collection / top level site. For example a new site with URL http://sharepoint.com/HR/site1 or http://sharepoint.com/HR/site2.
 

Thank you for your time.
 
Himadrish Laha

GeneralVery nice article..memberrilov8 Dec '08 - 9:54 
Its very nice article...Hope you will update a session on share point in your Questpond Smile | :)
 
'I have not failed. I've just
found 10,000 ways that won't work.'
-Thomas Edison

Questionsharepoint database articlememberRahul.C#Net8 Dec '08 - 7:49 
first of all thanks for good introduction article of sharepoint . also saw your next plan. can we have an article on sharepoint database overview?
 
thanks in advance.
GeneralLoved this...memberRajesh Pillai3 Dec '08 - 1:33 
And waiting for more Smile | :)
5 from me.
 
Enjoy Life,
Rajesh Pillai
http://rajeshpillai.blogspot.com/
http://simply-url.blogspot.com/

 

GeneralSharePointmemberparvaiza2 Dec '08 - 0:04 
Just brilliant. After reading your clear and well written article,SharePoint has made sense to me. I look forward to future articles. Again just brilliant.. Big Grin | :-D
GeneralGreatmemberSmirkinGherkin1 Dec '08 - 22:33 
Very informative, looking forward to the rest of the series.
GeneralCrisp and clearmemberKfeeder1 Dec '08 - 22:17 
This is a straight arrow to the point. It has hit me right at my head.
GeneralFantastic ArticlememberBrij1 Dec '08 - 20:15 
Thanks for posting great article .I was looking for such basic concepts on Sharepoint.Thanks a lot
 
Cheers!!
Brij

GeneralSuperb !!!memberAbhijit Jana1 Dec '08 - 19:52 
Best Article Shivprasad, Its realy great . It would have been better for me if I got this article 2 month back, becuase just 2 month back I have just stared working on project on Sharepoint (WSS) for an urgent requirment.
 
I am waiting for your next article on this.
 
Again Thanks !!!
 
5 from me Smile | :)
 

GeneralHimemberTanmay Broachwala1 Dec '08 - 17:42 
Hello Shiv,
 
Excellent Article, just a few days back my boss called me up and asked about Sharepoint. Although I could tell him in less than 50 words but would have been in a better position to do so had I read your article before.
 
As you pointed out, you are based in India and we are also based out of Mumbai, India. We have a requirement and was wondering if you can advise us or help us with Sharepoint consulting and implementation.
 
You can message me or mail me at tanmay[dot]b[at]dionex[dot]in
 
Thanks,
Tanmay.
GeneralFantasticmemberLee Humphries1 Dec '08 - 16:56 
Great introductory article and very readable. Got my 5.
 
I just love Koalas - they go great with Bacon.

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web04 | 2.6.130516.1 | Last Updated 7 Mar 2012
Article Copyright 2008 by Shivprasad koirala
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid