Q
What is the GAC?
Ans. Global Assembly Cache folder (or assembly) stores the strongly typed signed assemblies for webparts or other sharepoint components(which require full trust) for services to share them.
Ans. Global Assembly Cache folder (or assembly) stores the strongly typed signed assemblies for webparts or other sharepoint components(which require full trust) for services to share them.
Pre-SharePoint :
Before SharePoint 2003 arrived, in 1996 Microsoft launched a
product called Microsoft Site Server for managing websites and the user's
authentication/authorization. In 1998, Microsoft launched Site Server v 3.0
with following features:
• Indexing and Search
• Content Management
• Product Management
• Order Processing
• Site Personalization
• Ad Server
• Indexing and Search
• Content Management
• Product Management
• Order Processing
• Site Personalization
• Ad Server
In 1997, Microsoft came with Microsoft Office FrontPage used to
create and administrate websites
|
|
|
|
|
2001
|
SharePoint
Team Services (STS)
1.
STS developed from the Microsoft FrontPage
2.
The websites created using STS supported a maximum of 75 users
3.
STS was also known as Office webserver
|
SharePoint
Portal Server (SPS)
1.was developed from
the Site Server for site administrators.
2.SPS is used to
index and search files stored on STS
3.There was still a
clear disconnect between the STS and SPS. The move to integrate their
functionality drove the development of SharePoint.
|
|
2003
|
Windows
SharePoint service 2.0 (WSS 2.0)
1.
freely available as a component with Microsoft windows server
2003
2.
WSS 2.0 enables organizations to create websites and portals
easily for information sharing and document collaboration.
|
Microsoft
windows server 2003
1.
SharePoint 2003 server is a licensed product.
2.
It provides all the features of WSS 2.0 and many additional features
|
|
2007
|
Windows
SharePoint service 3.0 (WSS 3.0)
1.
Microsoft upgraded WSS 2.0 to WSS 3.0
|
|
|
2010
|
SharePoint
Foundation Server
|
SharePoint Server 2010
|
Microsoft
Office SharePoint Server 2007 is a rich server application for the enterprise
that facilitates collaboration, provides full content management features,
implements business processes, and provides access to information essential to
organizational goals and processes. It provides an integrated platform to plan,
deploy, and manage intranet, extranet, and Internet applications across and
beyond the enterprise.
1. Difference between WSS and MOSS
SharePoint = WSS 3.0 or MOSS 2007
(or both)
WSS = Windows SharePoint Services
3.0
MOSS = Microsoft SharePoint Server 2007
MOSS = Microsoft SharePoint Server 2007
WSS is part of Windows Server,
specifically Windows Server 2003 and Windows Server 2008. It is not
automatically installed. You must first install IIS (Internet Information
Server) and ASP.NET 2.0, plus .NET 3.0. These components are found either on
your Windows Server media (CD/DVD) or through Windows Update. The important
thing to understand is WSS is part of your Windows Server license.
MOSS is a separate product. MOSS
requires either a MOSS Standard or MOSS Enterprise license. These both install
from the same media, just require a different activation key. MOSS builds on
top of WSS and adds additional components such as enhanced search, My Sites,
Business Data Connector, Excel Services, and other features.
WSS and MOSS offer many of the same
collaboration features:
- Site
provisioning
- Document
management (check in/check out)
- Discussions
- Wikis,
Blogs, RSS Feeds
- Basic
workflow
- Custom
lists
MOSS builds upon WSS and adds:
- Additional
workflows
- Web
content management (web publishing features)
- Records
management
- Auditing
- Additional
search such as people search
- My
Sites (each user has their own personal site with public and private
areas)
- Enterprise
features such as Excel Services and BDC
More explanation
- My
Site personal site – each user has a site where the user can control the
public and private content. It provides other users with the ability to
learn about the user and the user’s areas of expertise, current projects,
and colleague relationships. ‘My site’ acts as a central location to view
and manage all of a user’s documents, tasks, links, calendar, etc.
- Extended
workflow support – some existing workflow templates come with MOSS. If you
want, you can create your own with tools like SharePoint Designer or
Visual Studio.
- Site
Directory – MOSS automatically creates a site map and presents it in an
easy-to-use format.
- Business
intelligence – MOSS provides support for business intelligence dashboards,
Key Performance Indicators (KPI), Business Data Catalog (BDC), etc. BDC
integrates external data into MOSS.
- Search
– MOSS overcomes the limitation of WSS to search only within the current
site and its subsites. You may search over file shares, web sites, etc.
- Enterprise
Content Management – approval workflow allows web content to be sent for
approval prior to publishing. Content deployment to production sites can
be scheduled by setting up jobs.
- Audience
targeting – the content inside lists, libraries, web parts, etc can be
targeted to appear only to users who are members of a particular group or
audience. The audiences can be identified via SharePoint groups,
Distribution lists and Security groups.
- Excel
Services – allows you to publish excel files so the user can view them in
web page without the need of Microsoft Office Excel installed on his
machine. You can control what part of the excel file to be visible and
which part can be editable.
- InfoPath
Forms – allows you to design forms in Microsoft Office InfoPath and
distribute them via MOSS. Users will fill the form in the web browser
without downloading the form.
Explain the Share Point Architecture.
Having 3 layers, like 3 tire architecture
1. WFE <Front End Web Server>
2. Application Layer
3. Data base Layer
1. WFE :-
Here we have share point Installed.
We have 12-hive structure & virtual drives.
Here IIS web sites are hosted.
Here servers are clustered on & are in synch.
2. Application Layer:-
Share Point provides different services.
This layer provides those services, like my site hosting, user profile & searching etc.
One server can be dedicated to particular service depend upon the scalability.
3. Data Base Layer :-
Here we have SQL server installed.
Here content DB is hosted.
For moss 2007, it is SQL server 2005. For Share Point 2010, it is SQL server 2008.
Here servers are clustered on & are in synch.
* Every layer has load balancer for control the traffic.
1. WFE <Front End Web Server>
2. Application Layer
3. Data base Layer
1. WFE :-
Here we have share point Installed.
We have 12-hive structure & virtual drives.
Here IIS web sites are hosted.
Here servers are clustered on & are in synch.
2. Application Layer:-
Share Point provides different services.
This layer provides those services, like my site hosting, user profile & searching etc.
One server can be dedicated to particular service depend upon the scalability.
3. Data Base Layer :-
Here we have SQL server installed.
Here content DB is hosted.
For moss 2007, it is SQL server 2005. For Share Point 2010, it is SQL server 2008.
Here servers are clustered on & are in synch.
* Every layer has load balancer for control the traffic.
2. What is the difference between CustomMasterUrl & MasterUrl?
MasterUrl
property is used to change the System master page through code
CustomMasterUrl property is used to change the site master page through code.
CustomMasterUrl property is used to change the site master page through code.
What
is SharePoint Delegate Control?
a. With the help of delegate
control, we can take any OOB control of SharePoint and replace with our custom
control without any modification in the SharePoint page. So that new custom
control overrides the existing one.
b. So the delegate control provide one of the option to add control (either server control or user control) on a SharePoint page.
c. This is one of the important features of SharePoint, introduced in WSS v3 and so in MOSS 2007.
d. For example : In master page SearchBox control is included as
<SharePoint:DelegateControl runat="server" ControlId="SmallSearchInputBox" />
e. The above lines instantiate the delegate control object.
f. This delegate control object uses features to locate the control which is specified in ControlId. So there must be the features (it includes feature at any scope) which creates and deploys the SmallSearchInputBox control.
b. So the delegate control provide one of the option to add control (either server control or user control) on a SharePoint page.
c. This is one of the important features of SharePoint, introduced in WSS v3 and so in MOSS 2007.
d. For example : In master page SearchBox control is included as
<SharePoint:DelegateControl runat="server" ControlId="SmallSearchInputBox" />
e. The above lines instantiate the delegate control object.
f. This delegate control object uses features to locate the control which is specified in ControlId. So there must be the features (it includes feature at any scope) which creates and deploys the SmallSearchInputBox control.
What
are the zones in SharePoint?
1. Zones provides the separate
logical paths of authentication for the same web application.
2. We can create 5 zones for each web application as follows :
a. Default
b. Intranet
c. Extranet
d. Internet and
e. Custom
3. Each zone represented by different web sites in IIS.
2. We can create 5 zones for each web application as follows :
a. Default
b. Intranet
c. Extranet
d. Internet and
e. Custom
3. Each zone represented by different web sites in IIS.
How
can we use custom controls in SharePoint?
Step 1:- Create the custom control by inheriting from the
‘WebControl’ class and override the ‘RenderContents’ method with your
implementation. In the below code snippet we are just writing the site title
and site URL to the browser.
using System.Web.UI;
using
System.Web.UI.WebControls;
using
Microsoft.SharePoint;
namespace
NameSpaceCustomControl
{
public class
CustomControl1 : WebControl
{
protected override void
RenderContents(HtmlTextWriter output)
{
SPWeb site =
SPContext.Current.Web;
output.Write("The
Site title is " + site.Title);
output.Write("<br/>");
output.Write("The
URL of the site is " + site.Url);
}
}
}
Step 2:- Compile the custom control class and generate the DLL
from the same. Once the compiled DLL is generated, register the same in GAC.
Step 3:- Refer the custom control assembly in your ASPX page using the register attribute. Please note to specify the public key token of the GAC.
Step 3:- Refer the custom control assembly in your ASPX page using the register attribute. Please note to specify the public key token of the GAC.
<%@ Register
Assembly="CustomControl,Version=1.0.0.0,Culture=neutral,PublicKeyToken=4adae03f3c0d5b8e"
Namespace="NameSpaceCustomControl"
TagPrefix="CustomSitePages" %>
Specify the custom control with a proper unique ID.
<CustomSitePages:CustomControl1
ID="cc1" runat="server" />
Below is the complete code of the page.
<%@ Page
Language="C#" MasterPageFile="~masterurl/default.master"
meta:progid="SharePoint.WebPartPage.Document"%>
<%@ Register
Assembly="CustomControl,Version=1.0.0.0,Culture=neutral,PublicKeyToken=4adae03f3c0d5b8e"
Namespace="NameSpaceCustomControl"
TagPrefix="CustomSitePages" %>
<asp:Content
runat="server" ContentPlaceHolderID="PlaceHolderMain">
<h3>Hi this is a Site
Page</h3>
<CustomSitePages:CustomControl1
ID="cc1" runat="server" />
</asp:Content>
Now if you run the page you can see the custom control in
action.
What
is host header ?
Host header mode is a new feature in Windows
SharePoint Services 3.0, which allows a user to create multiple domain-named
sites in a single Web application
IIS has the ability to host multiple websites
on one single server. To do this, a unique combination of the host header name,
IP address and port number must exist.
The data sent between the client and server
is called a HTTP message
The HTTP message has a body section and a
header section.
The body section may contain the HTML code of
the webpage returned from the server to the client as an answer to a GET
request.
The header section contains information such
as Content-Length, Referer, Host
Internet Explorer will default to the HTTP
protocol and the default port (80) for HTTP.
The browser will now need to resolve the
domain name the user has typed into their browser because the client must
establish a connection to the IP address and port number. The resolution of the
domain name into an IP address can be done by utilizing a DNS server or the
hosts file.
Once
the domain name has been resolved, the client established a connection to the
webserver and then sends a request message. This request message contains the
host header, and may look like:
The server receives the HTTP message and examines
it. If a host header is found (a HTTP message may not have a host header), IIS
will find out if there is any host header name configured in IIS that matches
the host header received in the HTTP message. If there is a host header name
that matches the host header, index.htm will be served from this website's home
folder.
Each website set up in IIS "binds"
to an IP address, port number and host header name. Each website's
configuration is stored in the metabase property ServerBindings,
which has the string format IP:Port:Hostname. An example would look like
192.168.0.1:80:www.gafvert.info. The host header name (www.gafvert.info in the
example) and IP (192.168.0.1 in the example) can be omitted.
To determine which website should handle a
request, IIS checks if there is a website configured to listen on the IP
address and port number the request came in on, and which also matches the host
header value sent in the HTTP message. If it finds a website with a
ServerBindings property that matches this exactly, the request is routed to
that website.
Scenario: You want to deploy multiple Windows SharePoint Services
(WSS) Sites in your organization, and each site should have its own domain
name. You do not want to create a new IIS Virtual Server for each site. Can WSS
handle this configuration
Host Header is
a third piece of information to identify a web site.
Thus the web
site can be identified by using the following:
- IP Address
- Port
- Host Header
Host Headers
was introduced in HTTP 1.1
www.google.com is the host header
Configuration
in IIS
We can
configure host header in IIS using inetmgr application.
After configuration we need to publish the host header in the WINS (Windows
Name Service) or DNS (Domain Name Service) depending on the site is an intranet
or internet site.
Which are default
master pages in Sharepoint 2010?
1. v4.master - This is default
master page.
2. default.master - this is used to support the 2007 user interface
3. minimal.master
4. simple.master- it is used for accessdenied.aspx, confirmation.aspx, error.aspx, login.aspx, reqacc.aspx, signout.aspx & webdeleted.aspx pages.
2. default.master - this is used to support the 2007 user interface
3. minimal.master
4. simple.master- it is used for accessdenied.aspx, confirmation.aspx, error.aspx, login.aspx, reqacc.aspx, signout.aspx & webdeleted.aspx pages.
What is BDC and how
it is differ from BCS?
BDC
(Business Data Catalogue) is use to connect an external database and view it in
share point.
BCS (Business connectivity Services) is new in SharePoint2010. Using BDC one can only read from external Database, but using BCS one can read and write into the external Database.
BCS (Business connectivity Services) is new in SharePoint2010. Using BDC one can only read from external Database, but using BCS one can read and write into the external Database.
SharePoint
has two types of ASPX pages.
1.
One type is the application page,
also known as a _layout page.
2.
The other type of ASPX page is a content
page, also known as a site page
Content Pages or Site Pages:
·
Content
pages or Site pages are basically built to display and manage site content.
·
Content
pages can be customized by end users from within the SharePoint user interface
or with Microsoft Office SharePoint Designer.
·
When
you create a SharePoint site, many content pages are created automatically, for
example, home page (default.aspx) of the as well as the pages associated with
lists and document libraries, such as AllItems.aspx, NewForm.aspx, and
EditForm.aspx, and several others.
·
Logically
all content pages are stored within their SharePoint sites. (Physically all the
content pages that have not been customized, also known as uncustomized or
ghosted pages, are stored on disk on the front-end Web server, while content
pages that have been customized, also known as customized or unghosted pages,
are stored in their associated SharePoint content database.)
·
Content
pages do not support in-line server side code under the default security policy
enforced by Windows SharePoint Services.
By default SharePoint disabled the
ability to run server side code in the pages. This means you can't have C# or
VB.net code blocks in your layout pages, master pages, or web pages like we
would have with a normal asp.net applications.
But it is possible to use the
server-side code block within the SharePoint pages. To use the server-side code
in C# or VB.Net within SharePoint custom pages, we need to write the C# or
VB.Net code within the .aspx page inside the <script> tag as below:
< script
runat="server">
protected void Page_Load(Object sender, EventArgs e)
{
Response.Write("Hello World");
}
< /script>
protected void Page_Load(Object sender, EventArgs e)
{
Response.Write("Hello World");
}
< /script>
Now open the web.config file of the
SharePoint web site and locate PageParserPaths tag and modify this as
below:
< PageParserPaths>
<PageParserPath VirtualPath="/*" CompilationMode="Always" AllowServerSideScript="true" />
< /PageParserPaths>
<PageParserPath VirtualPath="/*" CompilationMode="Always" AllowServerSideScript="true" />
< /PageParserPaths>
Application Pages or _layout
Pages:
·
Application
pages or _layout page are basically built for site management activities.
·
Application
pages does not support customization and typically created to allow users to
manage settings for lists, sites, and site collections.
·
Application
pages are stored typically in the file system of the front-end Web server
within a directory "c:\program files\common files\microsoft shared\web
server extensions\12\TEMPLATE\LAYOUTS".
·
settings.aspx,
viewlsts.aspx, etc. are few examples of application pages which you can find in
the layouts directory.
·
Application
pages are available across the server farm which allows these pages to run on
any site collection in the farm.
·
When
you create a new SharePoint web application, it creates a new website in the
IIS. If you look at the created website in the IIS, you can see that SharePoint
automatically created a virtual directory name "_layouts" which is
mapped to the physical LAYOUTS directory i.e. "c:\program files\common
files\microsoft shared\web server extensions\12\TEMPLATE\LAYOUTS".
·
Application
pages, unlike content pages, supports in-line server side code but cannot host
SharePoint features such as dynamic Web Parts and Web Part Zones.
Ghosted = Un-Customized, The asp.net parser renders the page.
Unghosted = Customized, Controlled
by the SafeMode parser.
Reghosting = Changing from
Customized to Un-Customized
main difference between the SafeMode parser and Asp.net? Code compilation
As everyone knows,
Asp.net will parse a page on first render and compile it into an assembly. The
SafeMode parser does NOT compile pages. It is designed to interpretatively parse a page and
create the object structure of the page. In the event inline server-side code
is detected, the SafeMode parser will not allow the page to render. Additionally, the only
objects within the page (i.e. controls marked as runat=server) which can be
instantiated are those items found in the SafeControls list.
The SafeContol entries are checked by SharePoint parser to make
sure Controls are “safe” to be placed in a page declaratively.
Site Definitions :
·
A
Site definition is "core definition of a site”.
·
A
site definition is installed on file system of web front ends, located at
..\12\Template\SiteTemplates. This directory is language-neutral
·
A
site definition consists of .aspx pages and .xml files with Collaborative
Application Mark-up Language (CAML)..
·
A
major benefit is that the Page and List definition is read locally from the
file system, not from Content Database
Site Template
·
A
site template (*.stp file) is created through the user interface or through implementation
of the object model.
·
The
site template package is a package containing a set of differences and changes
from a base site definition.
·
The
site template package is stored as a CAB-based file that can be downloaded or
uploaded to site collections by users with the appropriate rights
|
Site Definitions
|
Site Templates
|
|
A Site definition is "core definition
of a site”.
|
The
site template package is a package containing a set of differences and
changes from a base site definition
A
site template (*.stp file) is created through the user interface or through
implementation of the object model.
|
|
Files
are on disk, better performance.
A
site definition is installed on file system of web front ends, located at
..\12\Template\SiteTemplates. This directory is language-neutral
|
Files are in database,
less efficient.
|
|
Can provision multiple
webs *
|
Can only provision one
web
|
|
Complex to create
|
Easier to create
|
|
.WSP
File
|
.STP
File
|
|
Created by developer |
Can be created by site
administrator
|
|
Requires admin access
to server for deploying.
|
Installable from a Web
UI by site owners.
|
What
is the Onet.xml file?
Onet.xml is a file
which is most importnat part of the sharepoint site definition.It helps to
createa custom site definition.
When
SharePoint Foundation is installed, several Onet.xml files are
installed, one in %ProgramFiles%\Common Files\Microsoft Shared\web server
extensions\14\TEMPLATE\GLOBAL\XML
that applies globally to the deployment, and several in different folders within %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates. Each in the latter group corresponds to a site definition that ships with SharePoint Foundation
that applies globally to the deployment, and several in different folders within %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates. Each in the latter group corresponds to a site definition that ships with SharePoint Foundation
(1) The global
Onet.xml file — defines list templates for hidden lists, list base
types, a default definition configuration, and modules that apply
globally to the deployment.
(2) Each
Onet.xml file in a subdirectory directory can define navigational areas,
list templates, document templates, configurations, modules,
components, and server e-mail footers used in the site definition to
which it corresponds.
ONET.XML can be
part of a Site Definition or Web Template.
You cannot create new base list types in either a site definition or a Web template. The base types defined in the global Onet.xml file are the only ones supported.
Microsoft does not support
making changes to an originally installed Onet.xml file.
You cannot create new base list types in either a site definition or a Web template. The base types defined in the global Onet.xml file are the only ones supported.
Microsoft does not support
making changes to an originally installed Onet.xml file.
<Project> is the top-level element of ONET.XML
In ONET.XML, strings that begin with “$Resources” are constants that are defined in an resx file.
In ONET.XML, strings that begin with “$Resources” are constants that are defined in an resx file.
An Onet.xml
file in a Web template cannot have an DocumentTemplate element.
BaseTypes section is implemented only in the global Onet.xml file
BaseTypes section is implemented only in the global Onet.xml file
A ServerEmailFooter
element can only be included in an Onet.xml file that is part of a site definition,
not in an Onet.xml file that is part of a Web
template.
ONET.XML
defines the project and list defaults, as well as the base types for
fields.
Base types:
0 — Basic List
1 — Document Library
2 — unused
3 — Discussion List
4 — Survey
0 — Basic List
1 — Document Library
2 — unused
3 — Discussion List
4 — Survey
If “Site Definition” is mentioned, look for ONET.XML…….
What are features in
SharePoint?
Features allow you to customize your site very easily. You may add
new functionality by using features.
Features can have different level of scope. The scopes are Farm, Web Application, Site and Web.
This scope can be define in feature.xml file.
Below is the details of scope that we can use in feature.xml.Also, the elements details on which a particular scope will be applicable.
Web (Web site)
Control, Custom Action,
Custom Action Group,
Hide Custom Action,
List Instance, List Template,
Module, Receiver
Features can have different level of scope. The scopes are Farm, Web Application, Site and Web.
This scope can be define in feature.xml file.
Below is the details of scope that we can use in feature.xml.Also, the elements details on which a particular scope will be applicable.
Web (Web site)
Control, Custom Action,
Custom Action Group,
Hide Custom Action,
List Instance, List Template,
Module, Receiver
SharePoint Feature Stapling
The
process of associating a SharePoint feature with a specific site definition,
without modifying the site definition or creating code routines to activate the
feature on each site.
Feature
Stapling allows you to create a feature and then associate it with any site
definition without ever touching the site definition files themselves.
To
staple a Feature to a site definition, you actually need to create another
Feature that will do the stapling, and this feature is called as Stapler
Feature. A feature which is going to be stapled/associated with a site
definition is called as Staplee Feature. Below is an example of a staple
feature to staple a Multilanguage feature to the STS, and SPS site definitions:
Feature.xml file (for stapler
feature):
<?xml version="1.0"
encoding="utf-8" ?>
<Feature Id="82E2EA42-39E2-4B27-8631-ED54C1CFC491"
Title="$Resources:MultiLangStaplingFeatureName"
Description="$Resources:MultiLangstaplingFeatureDescription"
Version="12.0.0.0"
Scope="Farm"
xmlns="http://schemas.microsoft.com/sharepoint/"
DefaultResourceFile="_Res">
<ElementManifests>
<ElementManifest Location="Elements.xml"/>
</ElementManifests>
</Feature>
<Feature Id="82E2EA42-39E2-4B27-8631-ED54C1CFC491"
Title="$Resources:MultiLangStaplingFeatureName"
Description="$Resources:MultiLangstaplingFeatureDescription"
Version="12.0.0.0"
Scope="Farm"
xmlns="http://schemas.microsoft.com/sharepoint/"
DefaultResourceFile="_Res">
<ElementManifests>
<ElementManifest Location="Elements.xml"/>
</ElementManifests>
</Feature>
Elements.xml file (for stapler
feature):
<Elements
xmlns="http://schemas.microsoft.com/sharepoint/">
<FeatureSiteTemplateAssociation Id="29D85C25-170C-4df9-A641-12DB0B9D4130" TemplateName="STS#0" />
<FeatureSiteTemplateAssociation Id="29D85C25-170C-4df9-A641-12DB0B9D4130" TemplateName="STS#1" />
<FeatureSiteTemplateAssociation Id="29D85C25-170C-4df9-A641-12DB0B9D4130" TemplateName="SPS#0" />
</Elements>
<FeatureSiteTemplateAssociation Id="29D85C25-170C-4df9-A641-12DB0B9D4130" TemplateName="STS#0" />
<FeatureSiteTemplateAssociation Id="29D85C25-170C-4df9-A641-12DB0B9D4130" TemplateName="STS#1" />
<FeatureSiteTemplateAssociation Id="29D85C25-170C-4df9-A641-12DB0B9D4130" TemplateName="SPS#0" />
</Elements>
Authentication
1.Claims Based Authentication
2. Classic Mode Authentication
Security Configuration
1.Negotitate(Kereros)
2. NTLM
Allow Anonymous Yes No
Use Secure Sockets Layer(SSL) : Yes No
Site cration






Nice Sir, It's Help full for me..... :)
ReplyDelete