Mega Collection of Sharepoint 2007 Interview Questions

Q. How does Windows SharePoint Services help render the Webapplictaion in SharePoint?

Ans. When a new web application is created via Central Admin, Windows SharePoint Services creates a new Web application in IIS. Then the WSS, loads the custom HTTP application and replaces all installed HTTP handlers and modules with Windows SharePoint Services–specific ones. These handlers and modules essentially tell IIS to route all file requests through the ASP.NET 2.0 pipeline. This is because most files in a SharePoint site are stored in a Microsoft SQL Server database.


Q. What files gets created on a file system, when a Site collection is created ?

Ans. Windows SharePoint Services does not create any files or folders on the file system when the site collection or sites are created; everything is created in the content database. The Pages for the site collection are created as instances in the content database. These instances refer to the actual file on the file system.

Q.How Does SharePoint work?

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

Q. What are Customized and Uncustomized Files in SharePoint ?

Ans. There are two types of Pages in SharePoint; site pages (also known as content pages) and application pages.

Uncustomized :

When you create a new SharePoint site in a site collection, Windows SharePoint Services provisions instances of files into the content database that resides on the file system. That means if you create a new Site “xyz” of type Team Site(or Team sIte Definition), an instance of the Team Site Definition( Which resides on the File System), i.e. “xyz” gets created in the Content database. So, When ASP.NET receives a request for the file, it first finds the file in the content database. This entry in the content database tells ASP.NET that the file is actually based on a file on the file system and therefore, ASP.NET retrieves the source of the file on the file system when it constructs the page.

Customized :

A customized file is one in which the source of the file lives exclusively in the site collection’s content database. This happens When you modify the file in any way through the SharePoint API, or by SharePoint Designer 2007,which uses the SharePoint API via RPC and Web service calls to change files in sites. So, When the file is requested, ASP.NET first finds the file in the content database. The entry in the database tells ASP.NET whether the file is customized or uncustomized. If it is customized, it contains the source of the file, which is used by ASP.NET in the page contraction phase.

Q. What is the difference between a site and a web?

Ans: A site in sharePoint is a site collection. It is an object of SPsite class in sharepoint. While a Web is simply a blank site within that site collection. Web is a Part of SPweb class, thus represents a site within a site collection.

Q. What is CAML?

Ans. CAML stands for Collaborative Application Markup Language and is an XML-based languagethat is used in Microsoft Windows SharePoint Services to define sites and lists, including, for Eg, fields, views, or forms, but CAML is also used to define tables in the Windows SharePoint Servies database during site provisioning. Developers mostly use CAML Queries to retrieve data from Lists\libraries.

Q. What is Business Data Catalog or BDC ?

Ans. It is a shared service that enables Office SharePoint Server 2007 to surface business data from back-end server applications. Business Data Catalog or BDC provides built-in support for displaying data from databases and Web services. That is, you can use Business Data Catalog to display data from your SAP, Siebel, or other line-of-business (LOB) application via Web services or databases.

Q. Can you write back data to the BDC Source(External database).

Ans. Even though the BDC made it relatively easy to create read-only solutions that display data in the Business Data List Web Part, it was not so simple to create a solution that enabled users to make changes and write that data back to the external store.

Q. What is stsadm?

Ans. It is a Command-line tool used for administration of Office SharePoint 2007 (or MOSS 2007) servers and sites.

Q. Where is it located?

Ans. You will normally, find it under C:\Program Files\Common Files\ shared\web server extensions\12\bin.

Q. What permissions are required to perform stsadm operations?

Ans. You need to be a member of WSS_ADMIN_WPG group to perform deployments for sharepoint server. Also, you need to be added into administrators group on a computer on which SharePoint Server or WSS 3.0 is installed. In addition to this you definitely need access to the required sharepoint databases so that you should not get errors while deploying sharepoint solutions.

Old ones (02/21/2008)

Q What is the difference between a document library and a form library?
Ans:Document libraries consist of your core documents. An example would be a word document,excel, Powerpoint, visio, pdf, etc… Form libraries consist of XML forms.

Q What is a web part zone?
Ans: Web part zones are what your web parts reside in and help categorize your web parts when designing a page.

Q How is security managed in SharePoint?
Ans: Security can be handled at the machine,domain, or sharepoint level.

Q. What are Security methods(Authentication methods) available in sharepoint 2007.

Ans: Out of the box”, SharePoint 2007 supports nine authentication methods. NTLM (short for NT Lan Manager, which is simply the Windows authentication that everyone is familiar with) and Kerberos (also a Windows “standard” authentication) are offered during installation.

Q How are web parts developed?
Ans: Web parts are developed in Visual Studio .Net. VS.Net offers many web part and page templates and can also be downloaded from the Microsoft Site.

Q What is a site definition?
Ans: It’s a methods for providing prepackaged site and list content.

Q What is a template?
A template is a pre-defined set of functions or settings that can be used over time. There are manytemplates within SharePoint,Site Templates, Document Templates, Document Library and ListTemplates.

Q How do you install web parts?
Ans: Web Parts should be distributed as a .CAB (cabinet) file using the MSI Installer.

Q What is a DWP?
Ans: The file extension of a web part.

Q What is the GAC?
Ans: Global Assembly Cache folder on the server hosting SharePoint. You place your assemblies there for web parts and services to share them.

Q. Who is Office SharePoint server 2007 designed for?
Ans: Office SharePoint Server 2007 can be used by information workers, IT administrators, and application developers.

Q. What are the main benefits of Office SharePoint Server 2007?
Ans: Office SharePoint Server 2007 provides a single integrated platform to manage intranet, extranet,and Internet applications across the enterprise.

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

* Organizations can accelerate shared business processes with customers and partners acrossorganizational boundaries using InfoPath Forms Services–driven solutions.

* Information workers can find information and people efficiently and easily through thefacilitated information-sharing functionality and simplified content publishing. In addition, accessto back-end data is achieved easily through a browser, and views into this data can bepersonalized.

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

* Developers have a rich platform to build a new class of applications, called Office BusinessApplications, that combine powerful developer functionality with the flexibility and ease ofdeployment of Office SharePoint Server 2007. Through the use of out-of-the-box applicationservices, developers can build richer applications with less code.

Q. What is the difference between Microsoft Office SharePoint Server 2007 for Internet sites and Microsoft Office SharePoint Server 2007?
Ans: Microsoft Office SharePoint Server 2007 for Internet sites and Microsoft Office SharePoint Server2007 have identical feature functionality. While the feature functionality is similar, the usagerights are different.If you are creating an Internet, or Extranet, facing website, it is recommended that you useMicrosoft Office SharePoint Server 2007 for Internet sites which does not require the purchase client access licenses. Websites hosted using an “Internet sites” edition can only be used forInternet facing websites and all content, information, and applications must be accessible to nonemployees.Websites hosted using an “Internet sites” edition cannot be accessed by employees creating, sharing, or collaborating on content which is solely for internal use only, such as an Intranet Portal scenario.

Q. How do I invite users to join a Windows SharePoint Services Site? Is the site secure?
Ans: SharePoint-based Web sites can be password-protected to restrict access to registered users, whoare invited to join via e-mail. In addition, the site administrator can restrict certain members’ rolesby assigning different permission levels to view post and edit.

Q Can I post any kind of document? Can i restrict some document types
Ans: You can post documents in many formats, including .pdf, .htm and .doc. In addition, if you areusing Microsoft Office XP, you can save documents directly to your Windows SharePointServices site. Yes, you can restrict document types by either adding them to cetral admin or by using a custom event receiver.

Q Can I create custom templates?
Ans: Yes you can. You can create site or list templates which are nothing but a set of files, pages and data so that they can be re-used for business process. For e.g. creating a issue tracking list template will be used to various other teams.

Q. How can I make My site public?
Ans: By default, all sites are created private.If you want your site to be a public Web site, enable anonymous access for the entire site. Then you can give out your URL to anybody in yourbusiness card, e-mail or any other marketing material. The URL for your Web site will be:http:// yoursitename.wss.bcentral.comHence, please take special care to name your site.These Web sites are ideal for information and knowledge intensive sites and/or sites where youneed to have shared Web workspace.Remember: Under each parent Web site, you can create up to 10 sub-sites each with uniquepermissions, settings and security rights.

Q.How do I make my site non-restricted?
Ans: If you want your site to have anonymous access enabled (i.e., you want to treat it like any site onthe Internet that does not ask you to provide a user name and password to see the content of thesite), 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** NothingDefault condition is nothing; your site has restricted access.
The default conditions allow you to create a secure site for your Web site.

Q. Can I ask users outside of my organization to participate in my Windows SharePointServices site?

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

Q. Are there any restrictions or requirements for accessing the Windows SharePoint Services?

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

Q.What security levels are assigned to users?

Ans: Security levels are assigned by the administrator who is adding the user. There are four levels bydefault 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.

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

Q.How customizable is the user-to-user access?
Ans: User permissions apply to an entire Web, not to documents themselves. However, you can haveadditional sub webs that can optionally have their own permissions. Each user can be given any offour default roles. Additional roles can be defined by the administrator.

Q.Can each user have access to their own calendar?
Ans: 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.

Q. What types of files can I upload / post to the site?
Ans: 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.

Q.Can SharePoint be linked to an external data source?
Ans: 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 datasource.

Q. Can SharePoint be linked to a SQL database?
Ans: This is possible via a custom application, but it not natively supported by SharePoint or SQLServer.

Q.Can I customize my Windows SharePoint Services site?
Ans: 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 personalviews; change logos; connect Web Parts and more.To fully customize your site, you can use Microsoft FrontPage 2003. Specifically, you can useFrontPage themes and shared borders, and also use FrontPage to create photo galleries and top tenlists, utilize standard usage reports, and integrate automatic Web content.

Q. Will Microsoft Office SharePoint Server 2007 run on a 64-bit version of MicrosoftWindows?
Ans: Windows SharePoint Services 3.0, Office SharePoint Server 2007, Office Forms Server 2007, andOffice SharePoint Server 2007 for Search will support 64-bit versions of Windows Server 2003.

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

Q.What are the advanced features of MOSS 2007?
Ans: * 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

Q.What are the features of the new Content management in Office SharePoint 2007?
Ans: The new and enhanced content management features in Office SharePoint Server 2007 fall within three areas:

* Document management
* Records management.
* Web content managementOffice SharePoint Server 2007 builds on the core document management functionality providedby 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 enhancedauthoring, business document processing, Web content management and publishing, recordsmanagement, policy management, and support for multilingual publishing.

Q.Does a SharePoint Web site include search functionality?
Ans: Yes. SharePoint Team Services provides a powerful text-based search feature that helps you finddocuments and information fast.

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

Q.What does partial trust mean the Web Part developer?
Ans: If an assembly is installed into the BIN directory, the code must be ensured that provides errorhandling in the event that required permissions are not available. Otherwise, unhandled securityexceptions may cause the Web Part to fail and may affect page rendering on the page where theWeb Part appears.

Q. Does SharePoint work with NFS?Yes and no.
Ans: It can crawl documents on an NFS volume, but the sharepoint database or logs cannotbe stored there.

Q.How is SharePoint Portal Server different from the Site Server?
Ans: 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 ondashboards (pages). SS doesn’t have anything as advanced as that. The biggest difference wouldbe SPS document management features which also integrate with web folders and MS Office.
Q. What are Application Pages in SharePoint?
Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed once per Web server and cannot be customized on a site-by-site basis. Application pages are based in the virtual _layouts directory. In addition, they are compiled into a single assembly DLL.

A good example of an Application Page is the default Site Settings page: every site has one, and it’s not customizable on a per site basis (although the contents can be different for sites).

With application pages, you can also add inline code. See more atApplication Page Vs Site Page

Q. Which is Better a UserControl or WebPart?
Ans: Advantages of Using User Control are :
Advantages of User control
There are three primary advantages to user controls when dealing with SharePoint. They are: familiarity, reusability, and development speed.
*Familiarity:
One of the keys to development is managing the degree of change that the team is put through as it transitions from technology to technology. Part of managing that change is minimizing it where possible. This is one of the reasons that user controls are such a good solution for many organizations. User controls are a core ASP.NET construct, they are something that developers are likely already familiar with — or at least aware of. This familiarity increases the knowledge reuse coming into the project, which keeps morale high, improves productivity, and improves reuse of the experience after the SharePoint project.

*Reusability
Another way user controls are advantageous is that they can be used with other ASP.NET-based solutions. They aren’t explicitly tied to SharePoint. If for some reason in the future you decide that SharePoint isn’t the right platform for the solutions you’re building — or you decide you need to reuse the technology in another non-SharePoint project — you have that capability.

*Development Speed:
Direct support by Visual Studio for a visual interface for user controls — as opposed to manually adding in controls through code — is a great advantage in development speed. Having a visual look and feel instantly available makes the process go faster.

*Debugging is faster too, as you can construct testing harnesses that fully exercise and instrument the user control. Web Parts are essentially only runable from within SharePoint. This means that you must deal with all of the SharePoint infrastructure while trying to debug.
Maintenance is also easier and faster with User Controls, primarily because they are easier to understand and debug. The net of this is that developing with user controls is substantially faster than developing a Web Part for everything but the most trivial implementations

Q. When to use Diffrent Site Collections?
Ans. An Individual Site collection offers following :
For the Users:
Dedicated Recycle bins
Dedicated usage Reports
Distributed administration (site collection administrators)
Dedicated search scopes, keywords, and best-bets
Custom feature deployments
Dedicated language translation maintenance
Dedicated galleries for web parts, master pages, content types, site columns, site templates, and list templates
Dedicated shared libraries, such as site collection images and site collection styles
Dedicated real estate (Self Containment)

For the IT Administrators:
Site quota templates
Distributed administration
Site locking
Database maintenance options
Backup / Restore abilities
Content Deployments
InfoPath forms services global template targeting

Q. Why to use diffrent site collections:
Ans. Following are the resons:
1. Site quotas is one of the reasons. The issue is the recycle bin is based on site collections and the quota for a site collection. If everyone shares a site collection, then they share the recycle bins storage size.

2. Delegated Security and distributed administration is the next big thing. For eg, you have a IT department that doesn’t know who should be able to see what content, besides how it should be organized. This is the job of the content owners and users. SharePoint site collections offers IT the ability to create a site collection for a project, team, department, document, or whatever the needs are, then assign an owner and hand it off to them.

3. In addition to these two points is the need to separate the content between databases.

Q. What is Authentication and Authorization.
Ans : An authentication system is how you identify yourself to the computer. The goal behind an authentication system is to verify that the user is actually who they say they are.
Once the system knows who the user is through authentication, authorization is how the system decides what the user can do.

Q. What are Security methods(Authentication methods) available in sharepoint.
Ans : “Out of the box”, SharePoint 2007 supports nine authentication methods. NTLM (short for NT Lan Manager, which is simply the Windows authentication that everyone is familiar with) and Kerberos (also a Windows “standard” authentication) are offered during installation, but I recommend to get started with NTLM, as Kerberos requires “special configuration by the domain administrator”, while NTLM works without further hassle.

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

Q. What is a SharePoint Feature? What files are used to define a feature?
Ans. A SharePoint Feature is a functional component that can be activated and deactivate at various scopes throughout a SharePoint instances, scope of which are defined as
1. Farm level 2. Web Application level 3. Site level 4. Web level
Features have their own receiver architecture, which allow you to trap events such as when a feature is
Installing, Uninstalling, Activated, or Deactivated.
The element types that can be defined by a feature include
menu commands, link commands, page templates, page instances, list definitions, list instances,
event handlers, and workflows.

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

Q. Workflow can be applied to what all elements of SharePoint ?
Ans. Workflow associations are often created directly on lists and libraries, a workflow association can also be created on a content type that exists within the Content Type Gallery for the current site or content types defined within a list. In short, it can be applied …
At the level of a list/library
At the level of a content type defined at site scope
At the level of a content type defined at list scope

Q. What are the types of input forms that can be created for a workflow ?
Ans. You can create four different types of input forms including
1. An association form
2. An initiation form
3. A modification form
4. A task edit form.

Note that these forms are optional when you create a workflow template.

Q. What are ways to create input forms for workflow ?
Ans. 1. You can create your forms by using custom application pages, which are standard .aspx pages deployed to run out of the _layouts directory. ( disadv: lot of code required when compared to Infopath approach)
2. Using Microsoft Office InfoPath 2007 (disadv: picks up a dependenct on MOSS, i.e. it cannot run in a standalone WSS environment)

Q. What is the difference between method activity and event activity in WorkFlow ?
Ans. A method activity is one that performs an action, such as creating or updating a task. An event activity is one that runs in response to an action occurring.

Q. What are content types?
Ans. A content type is a flexible and reusable WSS type definition (or we can a template) that defines the columns and behavior for an item in a list or a document in a document library. For example, you can create a content type for a leave approval document with a unique set of columns, an event handler, and its own document template and attach it with a document library/libraries.

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

Q. What two files are typically (this is kept generally) included when developing a content type, and what is the purpose of each?
Ans. There is generally the main content type file that holds things like the content type ID, name, group, description, and version. There is also the ContentType.Fields file which contains the fields to include in the content type that has the ID, Type, Name, DisplayName, StaticName, Hidden, Required, and Sealed elements. They are related by the FieldRefs element in the main content type file.

Q. What is an ancestral type and what does it have to do with content types?
Ans. An ancestral type is the base type that the content type is deriving from, such as Document (0x0101). The ancestral type will define the metadata fields that are included with the custom content type.

Q. Can a list definition be derived from a custom content type?
Ans. Yes, a list definition can derive from a content type which can be seen in the schema.XML of the list definition in the element.

Q. When creating a list definition, how can you create an instance of the list?
Ans. You can create a new instance of a list by creating an instance.XML file

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

Q. What base class do custom Field Controls inherit from?
Ans. This varies. Generally, custom field controls inherit from the Microsoft.SharePoint.WebControls.BaseFieldControl namespace, but you can inherit from the default field controls.

Q. Can multiple SharePoint installs point to the same DB?
Ans. Multiple SharePoint installs can use the same database server. Not literally the same database on that server. That server must be SQL Server 2000 or SQL Server 2005. It cannot be Oracle or another vendor.

Q. How to create links to the mapped network drives?
Ans. Creating links to mapped drives in WSS v3 or MOSS 2007 can be done via
the new content type for .lnk files.

Q. While creating a Web part, which is the ideal location to Initialize my new controls?
Ans. Override the CreateChildControls method to include your new controls. You can control the exact rendering of your controls by calling the .Render method in the web parts Render method.

Q. What are the two base classes a WebPart you are going to use within SharePoint 2007 can inherit from?
Ans. There are two base classes that a WebPart which is going to be consumed by SharePoint can inherit from, either the
SharePoint WebPart Base class
or the
ASP.NET 2.0 WebPart base class.
When inheriting from the SharePoint WebPart Base class your derived WebPart class will inherit from Microsoft.SharePoint.WebPartPages.WebPart. When inheriting from the ASP.NET 2.0 WebPart base class your derived WebPart class will inherit from System.Web.UI.WebControls.WebParts.WebPart. It is considered good practice to use the ASP.NET WebPart base class since the old base class is meant for backwards compatibility with previous version of SharePoint, however there are four exception when it is better to leverage functionality from the SharePoint WebPart base class:
Cross page connections
Connections between Web Parts that are outside of a Web Part zone
Client-side connections (Web Part Page Services Component)
Data caching infrastructure

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

Q. What does AllowUnsafeUpdates do ?
Ans. If your code modifies Windows SharePoint Services data in some way, you may need to allow unsafe updates on the Web site, without requiring a security validation. You can do by setting the AllowUnsafeUpdates property.

Q. What does RunWithElevatedPrivileges do?
Ans. There are certain object model calls model that require site-administration privileges. To bypass access-denied error, we use RunWithElevatedPrivileges property when request is initiated by a nonprivileged user. We can successfully make calls into the object model by calling the RunWithElevatedPrivileges method provided by the SPSecurity class.

Q. What does SPWeb.EnsureUser method do?
Ans. Checks whether the specified login name belongs to a valid user of the Web site, and if the login name does not already exist, adds it to the Web site.
e.g SPUser usr = myWeb.EnsureUser(“user”);

Q. What is a SPSite and SPWeb object, and what is the difference between each of the objects?
Ans. The SPSite object represents a collection of sites (site collection [a top level site and all its subsites]). The SPWeb object represents an instance SharePoint Web, and SPWeb object contains things like the actual content. A SPSite object contains the various subsites and the information regarding them.

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

Q. Would you use SPWebApplication to get information like the SMTP address of the SharePoint site?
Ans. Yes, since this is a Web Application level setting. You would iterate through each SPWebApplication in the SPWebApplication collection, and then use the appropriate property calls (OutboundMailServiceInstance) in order to return settings regarding the mail service such as the SMTP address.

Q. How do you return SharePoint List items using SharePoint web services?
Ans. In order to retrieve list items from a SharePoint list through Web Services, you should use the lists.asmx web service by establishing a web reference in Visual Studio. The lists.asmx exposes the GetListItems method, which will allow the return of the full content of the list in an XML node. It will take parameters like the GUID of the name of the list you are querying against, the GUID of the view you are going to query, etc.
Side Question: I got asked how I built queries with the lists.asmx web service. In order to build queries with this service, one of the parameters that the GetListItems method exposes is the option to build a CAML query. There are other ways to do this as well, but that was how I answered it.

Q. When retrieving List items using SharePoint Web Services, how do you specify explicit credentials to be passed to access the list items?
Ans. In order to specify explicit credentials with a Web Service, you generally instantiate the web service, and then using the credentials properties of the Web Service object you use the System.Net.NetworkCredential class to specify the username, password, and domain that you wish to pass when making the web service call and operations.

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

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

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

Q. Why are properties important in WebPart development, and how have you exploited them in past development projects? What must each custom property have?
Ans. Properties are important because WebParts allow levels of personalization for each user. WebPart properties make it possible for a user to interact, adjust, and increase overall experience value with the programmatic assets that you develop without having the need to use an external editor or right any code. A very simple example of exploiting a property would be something like allowing the user to change the text on the WebPart design interface so that they can display whatever string of text they desire.
Each custom property that you have must have the appropriate get and set accessor methods.

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

Q. What is a SharePoint Solution File? How does it differ from WebPart .cab files in legacy development? What does it contain?
Ans. A SharePoint solution file is essentially a .cabinet file with all a developers ustom componets suffixed with a .wsp extension that aids in deployment. The big difference with SharePoint solution files is is that a solution:
allows deployment to all WFE’s in a farm
is highly manageable from the interface allowing deployment, retraction, and versioning
Can package all types of assets like site definitions, feature definitions (and associated components), Webparts, etc.
Can provide Code Access Security provisioning to avoid GAC deployments
And much more..

Q. What is a .ddf file and what does it have to do with SharePoint Solution creation?
Ans. A .ddf file is a data directive file and is used when building the SharePoint solution bundle specifying the source files and their destination locations. The important thing for someone to understand is that the .ddf file will be passed as a parameter to the MAKECAB utility to orchestrate construction of the SharePoint solution file.

Q. What file does a SharePoint solution package use to orchestrate (describe) its packaged contents?
Ans. The solution Manifest.XML file.

Q. What deployment mechanism can you use to instigate Code Access Security attributes for your WebParts?
Ans. SharePoint solution files can add in order to handle code access security deployment issues. This is done in the element in the SharePoint solution manifest.XML, which makes it easier to get assemblies the appropriate permissions in order to operate in the bin directory of the web application.

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

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

Q. What base class do event receivers inherit from?
Ans. Event receivers either inherit from the SPListEventReciever base class or the SPItemEventReciever base class, both which derive from the abstract base class SPEventReceiverBase.

Q. If I wanted to not allow people to delete documents from a document library, how would I go about it?
Ans. You would on the ItemDeleting event set: properties.Cancel= true.

Q. What is the difference between an asynchronous and synchronous event receivers?
Ans. An asynchronous event occurs after an action has taken place, and a synchronous event occurs before an action has take place. For example, an asynchronous event is ItemAdded, and its sister synchronous event is ItemAdding

Q. Workflow can be applied to what all elements of SharePoint ?
Ans. While workflow associations are often created directly on lists and document libraries, a workflow association can also be created on a content type that exists within the Content Type Gallery for the current site or content types defined within a list. In short, it can be applied …
At the level of a list (or document library)
At the level of a content type defined at site scope
At the level of a content type defined at list scope

Q. What are the ways to initiate the workflow ?
1. Automatic
2. Manual (standard WSS UI interface)
3. Manual (Custom UI Interface)

Q. What are the types of input forms that can be created for a workflow ?
Ans. You can create four different types of input forms including an association form, an initiation form, a modification form, and a task edit form. Note that these forms are optional when you create a workflow template.

Q. While creating a Webpart, which is the ideal location to Initialize my new controls ?
Ans. Override the CreateChildControls method to include your new controls. To make sure that the new controls are initialized.. call ‘EnsureChildControls’ in the webparts Render method. You can control the exact Rendering of your controls by calling the .Render method in the webparts Render method.

Q. How to query from multiple lists ?
Ans. Use SPSiteDataQuery to fetch data from multiple lists.

Q.How Does SharePoint work?
Ans. 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.

Q. What is the difference between Syncronous & Asyncronous events?
Syncronous calls ending with ‘ing’
E.g. ItemDeleting
Event Handler code execute BEFORE action is committed
WSS waits for code to return
Option to cancel and return error code

Asyncronous calls ending with ‘ed’
E.g. ItemDeleted
Event Handler code executes AFTER action is committed
WSS does not wait for code to return
Executed in its own Worker thread.

Q. What is ServerUpdate() ?
Ans. Any changes in the list, i.e. new addition or modification of an item.. the operation is complete by calling the Update method.
But if a List is set to maintain versions .. and you are editing an item, but don’t want to save it as a new version, then use the SystemUpdate method instead and pass in ‘false’ as the parameter.

Q. What is query.ViewAttributes OR How can you force SPQuery to return results from all the folders of the list?
Ans. If you use SPQuery on any SPlist .. it will bring back results from the current folder only.
If you want to get results from all the folders in the list.. then you need to specify the scope of the query by the use of ViewAttributes..
e.g. query.ViewAttributes = “Scope=\”Recursive\””;
Q. What Do you know about SharePoint Object Model?

Ans. In Sharepoint Object model there are two Important namespaces.

The Microsoft.Office.Server namespace is the root namespace of all Office Server objects and Microsoft.SharePoint is the root namespace for all WSS objects.
Read More at SharePoint 2007 Object Model

Q. Can you develop webparts and other SharePoint solutions at your local machine?

Ans. In order to run and debug sharePoint solutions, the project must reside on the server which has Windows sharePoint services installed. However, you can reference theMicrosoft.SharePoint dll in your project at your local, but you won’t be able to run it.

Q. How do you debug SharePoint Webparts?

Ans. To debug SharePoint webpart (or any solution) you can simply drag and drop your complied .dll in GAC and recycle the app pool. You can also run upgrade solution command from stsadm.

Q. How would you retrieve large number of Items form the list ?

Ans. To retrieve large number of items with a better performance we can either use SPQuery or PortalSiteMapProvider Class. Read More with Examples
Retrieving large number of Items from sharepoint list

Q. How Do you implement Impersonation in ShrePoint.

Ans. By Using RunWithElevatedPrivileges method provided by SPSecurity class.
See e.g Impersonation in Sharepoint

Q: What is the performance impact of RunWithElevatedPrivileges?

Ans. RunWithElevatedPrivileges creates a new thread with the App Pool’s credentials, blocking your current thread until it finishes.

Q. How will you add Code behind to a Custom Applictaion Page or a Layout Page in SharePoint?

Ans. You do not deploy a code behind file with your custom Layouts page. Instead, you can have the page inherit from the complied dll of the solution to access the code behind.

Q. What is the difference between a Site Definition and a Site Template?

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

Q. Why do you use Feature Receivers ?

Ans. Feature Receivers are used to execute any code on Activation\Deactivation of a Feature. You can use it for various purposes.

Q. Can you give a example where feature receivers are used.

Ans. You can use it to assign an event receiver feature to a specific type of list or can write a code in a feature receivers Deactivate method to remove a webpart from webpart gallery.

Q. Where do you deploy the additional files used in your webpart, like css or javascript files, and how do you use them in your WebPart?

Ans. You can deploy the css or javascript files in _layouts folder in SharePoint’s 12 hive. To use them in your webpart, you need to first register them to your webpart page and then specify a virtual path for the file for e.g. _layouts\MyCSS.css See Code examples at Using External Javascript, CSS or Image File in a WebPart.

Q: When should you dispose SPWeb and SPSite objects?

Ans. According to the best Practices you should always dispose them if you have created them in your code. You can dispose them in Finally block or you can use the “Using” clause, so that they gets disposed when not required. If you are using SPContext then you need not dispose the spsite or spweb objects.

Q. What are the best practices for SharePoint development.

Ans. Some of the best practices are:

1. You should always dispose SPsite and SPWeb objects, once you refer them in your code. Using the “Using” clause is recommended.

2. Use RunwithelevatePrivilages to avoid errors for end users.

3. Try writing your errors to SharePoint error logs (ULS Logs). Since it’s a bad idea to fill-up event log for your production environment.

4. Use SPQuery instead of foreach loop while retrieving Items from the list.

5. Deploy additional files used in your webpart to 12 hive. Use your solution package to drop the files in 12 hive. Also, make sure that all the references (for e.g. Css or .js files) get removed when the solution is retracted.
Also See : Best Practices to Improve Site Performance

Q.What is the main difference between using SPListItem.Update() and SPListItem.SystemUpdate()?

Ans. Using SystemUpdate() will not create a new version and will also retain timestamps.
Q. When do you use SPSiteDataQuery ?

Ans. You can use SPSiteDataQuery when you need to extract data from more than one list\library in your site colletcion. The data is extracted on the basis of the query you write and is
returened as a Datatable. You can also specify the GUID for the lists\libraries you want to query against.

Q. How do you create a Custom action for an item in a list ?

Ans. This can be done by adding a new feature into SharePoint. You would need to use customaction tag in your elements.xml file and will have to set various properties like imageurl or UrlAction for your customaction. You can later add this feature into sharepoint using stsadm install feature command.

Q. How would you bind this CustomAction to a specific list ?

Ans. To do this you can either create a new list type(again a feature) and use the listtype number for the new list in your RegistrationType property of the Customaction. The CustomAction will then show up only for the items of this list type. or You can create a new content type and then use that content type’s id in your cutsomaction to bind the custom action to items of just that content type. Add the new content type to the list where you need this customaction.

Q. How will you deploy an existing asp.net webapplication or website in SharePoint?

Ans. You would need to wrap the web application in a solution package in order to deploy it in 12 hive or say ShraePoint. It is recommended to create a feature first, and then wrap everything in a Solution package. See exampleDepoly a Custom aspx Page in SharePoint

Q. How will you cancel a deployment from central admin -> solution managment, if its stuck at “deploying” or “Error”.

Ans. You can either try to force execute timer jobs using execadmsvcjobs command or can cancel the dpeloyment using stsadm command stsadm –o cancaldeployment –id {GUID} command. The Id here would be GUID of the timer or deployment job. You can get the Id from stsadm enumdeployment command. This will display all the deployments which are process or are stuck with Error.

Q. How do make an existing non-publishing site Publishing?

Ans. You can simply activate the SharePoint Publishing Feature for the Site, you want to make publishing.

Q. Can you name some of the tools used for SharePoint Administration?

Ans. Tools Used for SharePoint Administration

Q. What are Application Pages in SharePoint?

Ans. Unlike site pages (for example, default.aspx), a custom application page is deployed once per Web server and cannot be customized on a site-by-site basis. Application pages are based in the virtual _layouts directory. In addition, they are compiled into a single assembly DLL.
A good example of an Application Page is the default Site Settings page: every site has one, and it’s not customizable on a per site basis (although the contents can be different for sites).
With application pages, you can also add inline code. With site pages, you cannot add inline code.

Q. What is Authentication and Authorization?

Ans . An authentication system is how you identify yourself to the computer. The goal behind an authentication system is to verify that the user is actually who they say they are.
Once the system knows who the user is through authentication, authorization is how the system decides what the user can do.

Q. How do you deploy a User Control in SharePoint ?

Ans. You deploy your User Control either by a Custom webpart, which will simply load the control on the page or can use tools like SmartPart, which is again a webpart to load user control on the page. User Control can be deployed using a custom solution package for the webapplication or you can also the control in the webpart solution package so that it gets deployed in _controlstemplate folder.

Q. Which is faster a WebPart or a User Control?

Ans. A WebPart renders faster than a User Control. A User Control in SharePoint is usually loaded by a webpart which adds an overhead. User Controls however, gives you an Interface to add controls and styles.

Q. What SharePoint Databases are Created during the standard Install?

Ans. During standard install, the following databases are created :

SharePoint_AdminContent
SharePoint_Config
WWS_Search_SERVERNAME%_%GUID_3%
SharedServicesContent_%GUID_4%
SharedServices1_DB_%GUID_5%
SharedServices1_Search_DB_%
GUID_6%WSS_Content_%GUID_7%

Q. What are content types?

Ans. A content type is a flexible and reusable WSS type definition (or we can a template) that defines the columns and behavior for an item in a list or a document in a document library. For example, you can create a content type for a leave approval document with a unique set of columns, an event handler, and its own document template and attach it with a document library/libraries.

Q. Can a content type have receivers associated with it?

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

Q. Can you add a Cutsom Http Handler in SharePoint ?

Ans. Yes, a Custom httphandler can be deployed in _layouts folder in SharePoint. Also, we need to be register the handler in the webapp’s webconfig file.

Q. While creating a Web part, which is the ideal location to Initialize my new controls?
Override the CreateChildControls method to include your new controls. You can control the exact rendering of your controls by calling the .Render method in the web parts Render method.

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

Q. How Do you deploy Files in 12 hive when using wspbuilder or vsewss?

Ans. Typically, you can add these files in the 12 hive folder structure in your project. In Vsewss however, you will have to create this structure manually.
Q. What files gets created on a file system, when a Site collection is created ?

Ans. Windows SharePoint Services does not create any files or folders on the file system when the site collection or sites are created; everything is created in the content database. The Pages for the site collection are created as instances in the content database. These instances refer to the actual file on the file system.

Q. What are Customized and Uncustomized Files in SharePoint ?

Ans. There are two types of Pages in SharePoint; site pages (also known as content pages) and application pages.

Uncustomized :

When you create a new SharePoint site in a site collection, Windows SharePoint Services provisions instances of files into the content database that resides on the file system. That means if you create a new Site “xyz” of type Team Site(orTeam sIte Definition), an instance of the Team Site Definition( Which resides on the File System), i.e. “xyz” gets created in the Content database. So, When ASP.NET receives a request for the file, it first finds the file in the content database. This entry in the content database tells ASP.NET that the file is actually based on a file on the file system and therefore, ASP.NET retrieves the source of the file on the file system when it constructs the page.

Customized :

A customized file is one in which the source of the file lives exclusively in the site collection’s content database. This happens When you modify the file in any way through the SharePoint API, or by SharePoint Designer 2007,which uses the SharePoint API via RPC and Web service calls to change files in sites. So, When the file is requested, ASP.NET first finds the file in the content database. The entry in the database tells ASP.NET whether the file is customized or uncustomized. If it is customized, it contains the source of the file, which is used by ASP.NET in the page contraction phase.

Q. What are event receivers?

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

Q. When would you use an event receiver?

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

Q. If I wanted to restrict the deletion of the documents from a document library, how would I go about it?

Ans. You would create a event receiver for that list/library and implement the ItemDeleting method. Simply, set: properties.Cancel= true and display a friendly message using Properties.Message(“How can u delete this… Its not your stuff!”);

Q. What is the difference between an asynchronous and synchronous event receivers?

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

Q. How do you Increase trust level for a single WebPart in the WebConfig file.

Ans. To list a Web Part with Full Permissions within your Web Application while still retaining a WSS_Minimal permission set for all other Web Parts, You need to create a Custom policy file. This file will be then referenced in SharePoint Web.config file and will allow your specific webpart to be of Full trust.
Steps :
1. Make a copy of the WSS_Minimal.Config file from the 12\Config folder and paste it into the same folder renaming it to Custom_WSS_Minimal.Config. Now, edit the Custom_WSS_Minimal.Config file using NotePad. Obtain the Public Key Token for the Web Part assembly that you want to deploy, using the following command: sn –Tp filename.dll. Create a new entry in your Custom_WSS_Minimal.Config file for your WebPart. Save the File.
Finally, Create a new TrustLevel element for your config file in the Web.Config called Custom_WSS_Minimal that points to your custom file in the 12\config folder. Recycle the Application Pool and You’re Done.

Q. How does Windows SharePoint Services help render the Webapplictaion in ShrePoint?

Ans. When a new web applictaion is created via Central Admin, Windows SharePoint Services creates a new Web application in IIS. Then the WSS, loads the custom HTTP application and replaces all installed HTTP handlers and modules with Windows SharePoint Services–specific ones. These handlers and modules essentially tell IIS to route all file requests through the ASP.NET 2.0 pipeline. This is because most files in a SharePoint site are stored in a Microsoft SQL Server database.
Q. How would you pass user credentials while using SharePoint WebService from your Web Part or application.

Ans. The web service needs credentials to be set before making calls.

Examples:

listService.UseDefaultCredentials = true; // use currently logged on user

listService.Credentials = new System.Net.NetworkCredential(“user”, “pass”, “domain”); // use specified user

Q. How would you remove a webapart from the WebPart gallery? Does it get removed with Webpart retraction?

Ans. No, Webpart does not get removed from the WebPart gallery on retraction. You can write a feature receiver on Featuredeactivating method to remove the empty webpart from the gallery.

Q. What is a SharePoint Feature? Features are installed at what scope

Ans. A SharePoint Feature is a functional component that can be activated and deactivate at various scopes throughout a SharePoint instances, scope of which are defined as
1. Farm level 2. Web Application level 3. Site level 4. Web level
Features have their own receiver architecture, which allow you to trap events such as when a feature is Installing, Uninstalling, Activated, or Deactivated.

Q. What type of components can be created or deployed as a feature?

Ans. We can create menu commands, Custom Actions,page templates, page instances, list definitions, list instances,event handlers,webparts and workflows as feature.

Q. How Do you bind a Drop-Down Listbox with a Column in SharePoint List ?

Ans.
Method 1 : You can get a datatable for all items in the list and add that table to a data set. Finally, specify the dataset table as datasource for dropdown listbox.

Method 2 : You can also use SPDatasource in your aspx or design page.
See Code example Binding Drop-Down with Sharepoint List data

Q. How Does SharePoint work?

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

Q. What is CAML?

Ans. CAML stands for Collaborative Application Markup Language and is an XML-based languagethat is used inMicrosoft Windows SharePoint Services to define sites and lists, including, for Eg, fields, views, or forms, but CAML is also used to define tables in the Windows SharePoint Servies database during site provisioning. Developers mostly use CAML Queries to retrieve data from Lists\libraries.

Q. Can you display\add a Custom aspx or WebApplication Page in SharePoint Context ?

Ans. You need to make some modification in the aspx file to display it in SharePoint Context. Firstly, add the references for various sharepoint assemblies on the Page. Then wrap the Code in PlaceHolderMain contentPlaceholder, so that it gets displayed as a content page. Lastly, add a reference to SharePoint Master Page in aspx file and swicth it in Code behind if needed. See Code Example at Display aspx Page in SharePoint context

Q. What is stsadm?

Ans. It is a Command-line tool used for administration of Office SharePoint 2007 (or MOSS 2007) servers and sites.

Q. Where is it located?

Ans. You will normally, find it under C:\Program Files\Common Files\ shared\web server extensions\12\bin.

Q. What permissions are required to perform stsadm operations?

Ans. You need to be a member of WSS_ADMIN_WPG group to perform deployments for sharepoint server. Also, you need to be added into administrators group on a computer on which SharePoint Server or WSS 3.0 is installed. In addition to this you definitely need access to the required sharepoint databases so that you should not get errors while deploying sharepoint solutions.

Q. How will you cancel a deployment if it is stuck at “deploying” or “Error”.

Ans. You can either try to force execute timer jobs using execadmsvcjobs command or can cancel the deployment using stsadm command
“stsadm –o cancaldeployment –id {GUID} command.”
The Id here would be GUID of the timer or deployment job. You can get the Id from stsadm enumdeployment command. This will display all the deployments which are inprocess or are stuck with Error.

Q. Can you perform operations on File system or registry of the server with
stsadm ?

Ans. Stsadm does not allow you to access file system or registry. It is a tool to perform administrative tasks for SharePoint farms only.

Q. How do you backup and Restore sites with stsadm?

Ans. For backup use

stsadm -o backup -url “http://Siteurl” -filename C:\Backup\BackupSite.bak

For Restore :

stsadm -o restore -url “http://retsoredsite” -filename C:\Backup\BackupSite.bak

Q. How is stsadm backup\restore different from Import\export ?

Ans. Stsadm Backup\retsore allows you to backup either a site collection or web application. It will also overwrite the exiting site collection at the destination url.

Export\Import – This operation allows you to backup\restore a site, sub site or a SPWeb instance. You can move this site or sub site under any existing site in your farm, across multiple site collections.

Q. Will stsadm work in SharePoint 2010?

Ans. The new Power Shell 2.0 will replace the stsadm tool. Rumors however, says that stsadm will not be totally gone.

Q. What is preupgradecheck command?

Ans. This command allows you to check potential issues that may prevent an upgrade to Windows SharePoint Services 4 (WSS 4.0) or SharePoint Server 2010. IT actually uses a set of rules found in the 12\CONFIG\PreUpgradeCheck\WssPreUpgradeCheck.xml file to check your farm.
Q. What is Business Data Catalog or BDC ?

Ans. It is a shared service that enables Office SharePoint Server 2007 to surface business data from back-end server applications. Business Data Catalog or BDC provides built-in support for displaying data from databases and Web services. That is, you can use Business Data Catalog to display data from your SAP, Siebel, or other line-of-business (LOB) application via Web services or databases.

Q. Can you write back data to the BDC Source(External database).

Ans. Even though the BDC made it relatively easy to create read-only solutions that display data in the Business Data List Web Part, it was not so simple to create a solution that enabled users to make changes and write that data back to the external store.

Q. How do you create a BDC File ?

Ans. Various tools are available in the market to create application definition files which are responsible for establishing BDC connections.

Some of the Tools are :

BDC Meta Man – Its has a Intuitive drag and drop user interface, that allows the easy configuration of your data source ready for SharePoint. BDC Meta Man not only generates the application definition files to allow the viewing of your data, it also generates web parts to allow you to add and edit data back to your data source. It is used to develop a fully integrated read/write SharePoint application.

Business Data Catalog Definition Editor – This was introduced with MOSS Sdk.The tool is only used to create BDC definitions files. The only drawback is that it requires you to install SQL server 2005 on the machine and will also make some changes to your file system.

Q. What is a “Business Data profile page” ?

Ans. A profile page can display all of the information from a record in the Business Data Catalog (BDC) — for example, a profile page can display all of the fields in a record for a specific customer ( the BDC connection is pulling data from some customer table source). So just by clicking the View Profile link in a Business Data column or in a Business Data Web Part, you can quickly view the full details for an item on that item’s profile page.
Q. What is Windows Powershell ?

Ans. Windows PowerShell is a new Windows command-line shell designed especially for system administrators. In the SharePoint administration context, Windows PowerShell is another administration tool that supersedes the existing Stsadm.exe.

Q. How is Windows Powershell different from Stsadm ?

Ans. Unlike stsadm, which accept and return text, Windows PowerShell is built on the Microsoft .NET Framework and accepts and returns .NET Framework objects. In addition to that it also gives you access to the file system on the computer so that you can access registry,digital signature certificate etc..

Q. What are cmdlet’s?

Ans. Windows PowerShell introduces the concept of a cmdlet which are simple build in commands, written in a .net language like C# or VB.

Q. Can you Create PowerShell scripts for deploying components in SharePoint ?

Ans. If you are creating a webpart with VS 2010 then you can deploy it using ctrl + f5. However, to activate the webpart feature you can write a powershell script (.ps1) and execute it after dpeloyment.

Q. Where is Powershell located in sharePoint ?

Ans. On the Start menu, click All Programs -> Click MicrosoftSharePoint 2010 Products -> Click SharePoint 2010 Management Shell.

Q. If you need going to install a webpart or any custom solution in SharePoint 2010 using PowerShell What permissions do you need?

Ans. In order to use Windows PowerShell for SharePoint 2010 Products, a user must be a member of the SharePoint_Shell_Access role on the configuration and content database. In addition to this, the user must also be a member of the WSS_ADMIN_WPG local group on the computer where SharePoint 2010 Products is installed. See Details
Permissions for Windows PowerShell – SPShellAdmin

Q. How to list all the commands in PowerShell ?

Ans. Get-Command * commands gets you all the Powershell commands.
Q. Can you personalize Shared Services for a single Web application?

Ans. You cannot assign or un-assign few services to a web application. If the web application is using a perticular SSP, it has to bear the burden of all the services configured in that SSP.

Q. How will you move or separate a Site Collection which stays in a shared WebApplication content database, into its own separate database.

Ans. You can create a new Content database in the targetwebapplication (which will contain the new site collection). Then adjust the maximum number of sites allowed for the content database currently being used. Then use stsadm command to backup and restore the site colletcion. For Details see Move Site Collections into Separate Databases

Q. What are Security methods(Authentication methods) available in sharepoint 2007.

Ans : Out of the box”, SharePoint 2007 supports nine authentication methods. NTLM (short for NT Lan Manager, which is simply the Windows authentication that everyone is familiar with) and Kerberos (also a Windows “standard” authentication) are offered during installation.

Q.How Does SharePoint work?

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

Q. What is the difference between a site and a web?

Ans: A site in sharePoint is a site collection. It is an object of SPsite class in sharepoint. While a Web is simply a blank site within that site collection. Web is a Part of SPweb class, thus represents a site within a site collection.

Q. How will you backup and restore entire farm ?

Ans. There are various methods to backup and restore SharePoint entire farm in SharePoint. Two main methods that you can use to back up and restore are:

* Using SharePoint Central Administration Web site – This toolenables you to perform backups and restorations from the user interface. When you use this method, you can back up the server farm, Web applications, and any or all of the content databases in your server farm. You can use the Stsadm command-line tool to view backup and recovery history and to view backup and recovery job status.

* Stsadm command-line tool – Stsadm command-line tooloffers a faster and more flexible command-line-based approach to farm backup and recovery. This method for backing up and restoring data does not require SQL Server 2000 tools or SQL Server 2005 tools. However, to perform this method of backup and recovery, you must be a member of the administrators group on a computer on which SharePoint Server or WSS 3.0 is installed.

Other methods to Backup are :

* Backup Farm by using SQL server Tools – You can perform Full, Differential and Transaction baclups from SQL server studio.

* Third Party Tools – You can also use other Backup and Restore tools such as DocAve for taking daily backups.

Q. When to use Diffrent Site Collections?

Ans. An Individual Site collection offers following :

For the Users:

Dedicated Recycle bins
Dedicated usage Reports
Distributed administration (site collection administrators)
Dedicated search scopes, keywords, and best-bets
Custom feature deployments
Dedicated language translation maintenance
Dedicated galleries for web parts, master pages, content types, site columns, site templates, and list templates
Dedicated shared libraries, such as site collection images and site collection styles
Dedicated real estate (Self Containment)

For the IT Administrators:

Site quota templates
Distributed administration
Site locking
Database maintenance options
Backup / Restore abilities
Content Deployments
InfoPath forms services global template targeting
Definitions :

Web Parts are componentized, self-contained packages of user interface that can be dropped into place on SharePoint Web Part pages to provide discrete sets of functionality to users.
It can be incredibly easy to get confused between sites, webs, web applications, and site collections. The farm is the topmost level in the hierarchy. Below the farm, you have web applications represented by the SPWebApplication class, which typically correspond to an IIS application pool. Below that, you have a collection of site collections contained in the SPSiteCollection class. Finally, you have site collections represented by the SPSite class and individual websites represented by the SPWeb class.

Features allow reusable pieces of functionality to be created and deployed to other sites,without modifying site templates.It is always better to deploy a feature in new site instead ofdirectly embedding mountains of complex XML.Using Features, you can do everything from adding a link to the Site Settings page to creating a complete, fully functioning Project Management suite that can be added to any SharePoint site.Features are organized in folders under the Features directory located under 12 hives; Where SharePoint Server 2007 puts all of its system files, at the following path: %SystemDrive%\Program Files\Common Files\Microsoft Shared\web server extensions\12. The two files that are used to define a feature are the feature.xml and Elements.xml .The feature XML file defines the actual feature and will make SharePoint aware of the installed feature. It usually identifies the Feature itself and its element manifest file and sets the Feature scope to Web site.
Elements.xml file identifies the assembly, class, and method to implement in feature.

You can directly deploy a feature in sharepoint site with

stsadm -o installfeature -filename XYZEventHandler\Feature.xml

stsadm -o activatefeature -filename DeletingEventHandler\Feature.xml -url href=”http://server/Site/Subsite”>http://Server/Site/Subsite

iisreset

OR To Deploy it as solution package you need a solution manifest (manifest.xml).

Solutions allow you to package Features in a cabinet (.cab) file and define important metadata about those Features. After a Solution is installed on a server in the farm, you can then use SharePoint’s Solution management features to automate the deployment of that Solution to other sites within the farm.

The solution manifest (always called manifest.xml) is stored at the root of a solution file. This file defines the list of features, site definitions, resource files, Web Part files, and assemblies to process. It does not define the file structure—if files are included in a solution but not listed in the manifest XML file, they are not processed in any way.

Because the solution file is essentially a .cab file, use the makecab.exe tool to create the solution package. The makecab.exe tool takes a pointer to a .ddf file, which describes the structure of the .cab file. The format of a .ddf file is, declare a standard header and then enumerate, one file per line, the set of files by where they live on disk, separated by where they should live in the .cab file.

Features & Solutions:
The Feature Framework has been extended to allow developers to create custom Features. Features can be deployed by using SharePoint Portal Server 2007 new form of deployment, namely Solution Deployment. Solutions as you know, are custom packages (e.g. WSP file) or redistributable CAB files, created by developers and deployed by SharePoint Administrators. Administrator can deploy Features to the individual site or to all Web front End Servers.

Features are a method for developers to package customisations and deploy them to the SharePoint portal. They can then be activated and deactivated at the Site Collection level. Solutions are a way to bundle features together for deployment.

Custom action : Represents a link, toolbar button, menu item, or any control that can be added to a toolbar or menu that appears in the UI. You define custom actions by using a custom action element within a feature definition file. You can bind custom actions to a list type, content type, file type, or programmatic identifier (ProgID). For more information, see Custom Action Definitions.

Event receiver: Evaluator of an event and definer of the behavior of an application. Windows SharePoint Services 3.0 allows you to define event handlers within libraries, lists, and sites. Event receivers can be defined by using a receiver element within a feature definition file. For more information, see Event Registrations.

Master page: Pages that provide a consistent layout and appearance (look and feel) for SharePoint sites. They allow you to factor out layout, structure, and interface elements such as headers, footers, navigation bars, and content placeholders. Master pages in ASP.NET 2.0 and master pages in Windows SharePoint Services work in the same way. For more information, see Building Simple Master Pages for Windows SharePoint Services 3.0.

Module : A file or collection of file instances that define the location where the files are installed during site creation. Modules are frequently used to implement a Web Part Page in the site. You can define modules by using a module element within a feature definition file. For more information, see Modules.

SharePoint site: A Web site hosted in a virtual URL. A SharePoint site is a place for collaboration, communication, or content storage. Depending on your business needs, you can create sites such as team sites, blog sites, wiki sites, and others. You can customize a site’s appearance, users, user permissions, galleries, and site administration by using the Site Settings administration pages.

SharePoint site collection: A collection of SharePoint sites that share common administration pages and site settings. Site collections allow you to share content types, site columns, templates, and Web Parts within a group of SharePoint sites.

SharePoint Web farm: A group of Office SharePoint 2007 servers that share the same configuration database. All site content and all configuration data is shared for all front-end Web servers in a server farm.

Site definition.: A set of files that includes a master XML configuration file that is stored on all front-end Web servers. A site definition provides the basic blueprint for how sites look, what lists they include, their default navigational structures, and so on. For more information, see Working with Site Templates and Definitions.

Theme: A group of files (CSS, images) that allow you to define the appearance (look and feel) of Web pages. Themes in ASP.NET 2.0 and themes in SharePoint Products and Technologies work in the same way. Themes are used to help organizations to brand their portals and team sites. Office SharePoint Server 2007 includes a set of predefined themes. However, as a developer, you can create custom themes for your company
What is Microsoft Windows SharePoint Services? How is it related to Microsoft Office SharePoint Server 2007?
Windows SharePoint Services is the solution that enables you to create Web sites for information sharing and document collaboration. Windows SharePoint Services — a key piece of the information worker infrastructure delivered in Microsoft Windows Server 2003ice system and other desktop applications, and it serves as a platform for application development.
Office SharePoint Server 2007 builds on top of Windows SharePoint Services 3.0 to provide additional capabilities including collaboration, portal, search, enterprise content management, business process and forms, and business intelligence.
[edit]
What is Microsoft SharePoint Portal Server?
SharePoint Portal Server is a portal server that connects people, teams, and knowledge across business processes. SharePoint Portal Server integrates information from various systems into one secure solution through single sign-on and enterprise application integration capabilities. It provides flexible deployment and management tools, and facilitates end-to-end collaboration through data aggregation, organization, and searching. SharePoint Portal Server also enables users to quickly find relevant information through customization and personalization of portal content and layout as well as through audience targeting.
[edit]
What is Microsoft Windows Services?
Microsoft Windows Services is the engine that allows administrators to create Web sites for information sharing and document collaboration. Windows SharePoint Services provides additional functionality to the Microsoft Office System and other desktop applications, as well as serving as a plat form for application development. SharePoint sites provide communities for team collaboration, enabling users to work together on documents, tasks, and projects. The environment for easy and flexible deployment, administration, and application development.
[edit]
What is the relationship between Microsoft SharePoint Portal Server and Microsoft Windows Services?
Microsoft SharePoint Products and Technologies (including SharePoint Portal Server and Windows SharePoint Services) deliver highly scalable collaboration solutions with flexible deployment and management tools. Windows SharePoint Services provides sites for team collaboration, while Share Point Portal Server connects these sites, people, and business processes—facilitating knowledge sharing and smart organizations. SharePoint Portal Server also extends the capabilities of Windows SharePoint Services by providing organizational and management tools for SharePoint sites, and by enabling teams to publish information to the entire organization.
[edit]
Who is Office SharePoint Server 2007 designed for?
SharePoint is fundamentally designed for information workers, but it is designed in such a way that it assists a wide spectrum of users and support staff. Key stakeholders are:
 business users,
 business administrators,
 IT administrators,
 IT developers.
The true beauty of SharePoint is the way that conduct of tasks can be devolved to the lowest possible level:
 many tasks can be achieved by business users without IT support;
 if a business user cannot perform a function, then in many cases a business administrator can assist;
 in the unlikely even that a business administrator cannot perform the task, then there is a large world-wide community that has developed thousands of ‘add-ins’ and web-parts that can be easily installed by an IT administrator;
 in the even more unlikely event that a ready-made ‘add-in’ is not available, then SharePoint provides a highly structured environment for developers.
SharePoint also provides a framework which is designed to simplify IT development and ongoing administration, in the first instance developers should endeavour to:
 develop as a web-part in order to preserve all other site functionality without losing the ability for business users to maintain the site;
 if the desired functionality cannot be developed as a web-part, then SharePoint provides a range of other (reversible) development options;
 the option for business users to reset components to the ‘site definition’ is invaluable and great caution should be exercised when making changes that alter components at this level;
 generally, (perhaps only as a last resort) is it rarely necessary to customise SharePoint in such a way that the full set of default functionality is altered.
[edit]
What are the main benefits of Office SharePoint Server 2007?
Office SharePoint Server 2007 provides a single integrated platform to manage intranet, extranet, and Internet applications across the enterprise.
 Business users gain greater control over the storage, security, distribution, and management of their electronic content, with tools that are easy to use and tightly integrated into familiar, everyday applications.
 Organizations can accelerate shared business processes with customers and partners across organizational boundaries using InfoPath Forms Services–driven solutions.
 Information workers can find information and people efficiently and easily through the facilitated information-sharing functionality and simplified content publishing. In addition, access to back-end data is achieved easily through a browser, and views into this data can be personalized.
 Administrators have powerful tools at their fingertips that ease deployment, management, and system administration, so they can spend more time on strategic tasks.
 Developers have a rich platform to build a new class of applications, called Office Business Applications, that combine powerful developer functionality with the flexibility and ease of deployment of Office SharePoint Server 2007. Through the use of out-of-the-box application services, developers can build richer applications with less code.
[edit]
How does SharePoint empower business users?
SharePoint is a set of powerful technologies that provide a large range of functions to users and administrators without the need to engage IT or developers. Once the basic SharePoint service is deployed, users can self-serve with a minimum of IT support.
 By default, all users can personalise their user experience, this includes such things as adding, removing or updating web-parts on any web-part page. These user changes can then be saved as a personal view. This is particularly useful because it allows users to create pages which contain the information that is relevant to them and it allows users to hide information (eg information that does not relate to their department or role).
 By default, all users can also create custom personal views in SharePoint. This is particularly helpful for large lists of information and gives users the ability to filter large lists of information to only show the information that is relevant to them, perhaps their department or division.
SharePoint also empowers users at the administration level. It is normal for users to be given the ability to alter “site settings”, this is done by nominating one or more users to have “Full Control” of the user experience for any site. A user with “Full Control” can add additional web-parts, customise web-parts by adding metadata, and change the default view for all users. In effect, a user with “Full Control” over a site can create a rich user experience for the group of users that are using the particular site without any IT support or development skills.
It is also common for selected expert users to be appointed as “Site Collection Administrators” in order to facilitate the management of multiple sites which are called a site collection. The “Site Collection Administration” function also allows selected users to view all deleted items across an entire site, as well as turn on or off global features.
All of the functions listed above can normally be managed by business users and do not require IT support. No coding is required. All of these functions are managed by SharePoint through the SharePoint user interface. Thus, because there is no coding, there is no requirement for change control, testing or development protocols. A change log is still suggested.
For this reason, SharePoint is ideal for work-teams or project-teams that need to collaborate on a defined task. SharePoint gives the business user/ or team the ability to create a “site” that is highly customised for their particular needs without any need for IT support or development tools.
Indeed, all of the functionality listed above can generally be supported without the need for significant levels of governance. Some central governance is normally suggested, in order to do such things as maintain some control over different site collections, to maintain user groups, to share common infrastructure and to ensure that sites are managed through their lifecycle.
However,.. if (and many would say only if) the standard set of functions is insufficient, and additional functionality is required, then SharePoint provides a very strong set of tools and an excellent framework for developers. The beauty of SharePoint is that it is only at this point that IT support is really required.
And even then, many companies will find that the only IT support they require is to install “add-ons” from the SharePoint user community to their SharePoint server. Deployment of additional web-parts or “add-ons” generally requires specialist server administrator skills to deploy.
Business users can achieve a lot in SharePoint without writing a line of code or using development tools like Microsoft SharePoint Designer or similar development tools.
[edit]
What is the difference between Microsoft Office SharePoint Server 2007 for Internet sites and Microsoft Office SharePoint Server 2007?
Microsoft Office SharePoint Server 2007 for Internet sites and Microsoft Office SharePoint Server 2007 have identical feature functionality. While the feature functionality is similar, the usage rights are different.
If you are creating an Internet, or Extranet, facing website, it is recommended that you use Microsoft Office SharePoint Server 2007 for Internet sites which does not require the purchase client access licenses. Websites hosted using an “Internet sites” edition can only be used for Internet facing websites and all content, information, and applications must be accessible to non-employees. Websites hosted using an “Internet sites” edition cannot be accessed by employees creating, sharing, or collaborating on content which is solely for internal use only, such as an Intranet Portal scenario. See the previous section on licensing for more information on the usage scenarios.
[edit]
What suites of the 2007 Microsoft Office system work with Office SharePoint Server 2007?
Office Outlook 2007 provides bidirectional offline synchronization with SharePoint document libraries, discussion groups, contacts, calendars, and tasks.
Microsoft Office Groove 2007, included as part of Microsoft Office Enterprise 2007, will enable bidirectional offline synchronization with SharePoint document libraries.
Features such as the document panel and the ability to publish to Excel Services will only be enabled when using Microsoft Office Professional Plus 2007or Office Enterprise 2007.
Excel Services will only work with documents saved in the new Office Excel 2007 file format (XLSX).
[edit]
How do I invite users to join a Windows SharePoint Services Site? Is the site secure?
SharePoint-based Web sites can be password-protected to restrict access to registered users, who are invited to join via e-mail. In addition, the site administrator can restrict certain members’ roles by assigning different permission levels to view post and edit.
[edit]
Can I post any kind of document?
You can post documents in many formats, including .pdf, .htm and .doc. In addition, if you are using Microsoft Office XP, you can save documents directly to your Windows SharePoint Services site.
[edit]
Can I download information directly from a SharePoint site to a personal digital assistant (PDA)?
No you cannot. However, you can exchange contact information lists with Microsoft Outlook.
[edit]
How long does it take to set up the initial team Web site?
It only takes a few minutes to create a complete Web site. Preformatted forms let you and your team members contribute to the site by filling out lists. Standard forms include announcements, events, contacts, tasks, surveys, discussions and links.
[edit]
Can I create custom templates?
Yes you can. You can have templates for business plans, doctor’s office, lawyer’s office etc.
[edit]
How can I make my site public? By default, all sites are created private.
If you want your site to be a public Web site, enable anonymous access for the entire site. Then you can give out your URL to anybody in your business card, e-mail or any other marketing material. The URL for your Web site will be: http:// yoursitename.wss.bcentral.com
Hence, please take special care to name your site. These Web sites are ideal for information and knowledge intensive sites and/or sites where you need to have shared Web workspace. Remember: Under each parent Web site, you can create up to 10 sub-sites each with unique permissions, settings and security rights.
[edit]
How do the sub sites work?
You can create a sub site for various categories. For example:
 Departments – finance, marketing, IT
 Products – electrical, mechanical, hydraulics
 Projects – Trey Research, Department of Transportation, FDA
 Team – Retention team, BPR team
 Clients – new clients, old clients
 Suppliers – Supplier 1, Supplier 2, Supplier 3
 Customers – Customer A, Customer B, Customer C
 Real estate – property A, property B
The URLs for each will be, for example:
 http://yoursitename.wss.bcentral.com/finance
 http://yoursitename.wss.bcentral.com/marketing
You can keep track of permissions for each team separately so that access is restricted while maintaining global access to the parent site.
[edit]
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:
1. Login as an administrator
2. Click on site settings
3. Click on Go to Site Administration
4. Click on Manage anonymous access
5. 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.
[edit]
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.
[edit]
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
[edit]
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
[edit]
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.
[edit]
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.
[edit]
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.
[edit]
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.

[edit]
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.
[edit]
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.
[edit]
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. The internet is used for public presence and a primary marketing tool managed typically by web programmers and a system administrator.
An intranet (or internal network), though hosted on a Web site, can only be accessed by people who are members of a specific 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. Theintranet is commonly used as an internal tool for giving employees access to company information. Content is driven by business relevance, business rules and has increasingly become a common tool in larger organizations. An intranet is becoming more and more the preferred method for employees to interact with each other and the central departments in an organization, whether or not the organization has a Web presence.
[edit]
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.
[edit]
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.
[edit]
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.
[edit]
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.
[edit]
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
[edit]
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.
[edit]
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.
[edit]
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.
But 3rd pary software can do this for you: http://www.layer2.de/en/products/pages/sharepoint-business-data-list-connector.aspx
[edit]
Can SharePoint be linked to a SQL database?
SharePoint 2007 Portal Server (MOSS2K7) allows connections to SQL based datasources via the Business Data Catalog (BDC). The BDC also allows connecting to data via Web Services. Or you can link lists directly qith sql queries in the list settings using the BDLC found here: http://bit.ly/p30tJ .
[edit]
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.
[edit]
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.
[edit]
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.
[edit]
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.
[edit]
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
[edit]
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.
[edit]
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.
[edit]
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.
[edit]
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.
[edit]
Will SharePoint Portal Server and Team Services ever merge?
The products will come together because they are both developed by the Office team.
[edit]
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.
[edit]
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.
[edit]
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.
[edit]
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.
[edit]
What would you like to see in the next version of SharePoint?
A few suggestions:
1. SPS and STS on same machine
2. Tree view of Categories and Folders
3. General Discussion Web Part
4. Personalization of Dashboards
5. Role Customization
6. Email to say WHY a document has been rejected for Approval
7. More ways to customize the interface
8. Backup and restore an individual Workspaces
9. Filter for Visio
10. Better way to track activity on SPS
11. Ability to Save as from Adobe to space on My Network Places
[edit]
Why Sharepoint is not a viable solution for enterprise wide deployments?
Planning an enterprise deployment using SharePoint features is a very difficult task unless you can establish a Service Oriented Architecture, using AD for managing security with well defined roles based information access(EISA). Sounds reasonable, although it seems difficult to deploy with the tools limitations in document storage.
Document management does not scale beyond a single server, but scales great within a single server. For example, a quad Xeon machine with 4GB of RAM works great for a document management server that has about 900,000 – 1,000,000 document, but if you need to store 50,000,000 document and want to have them all in one single workspace then it does not scale at all. If you need a scenario like this, you need to plan your deployment right and it should scale for you, it just does not right out of the box. If you are using your server as a portal and search server most for the most part it scales great. You can have many different servers crawl content sources and have separate servers searching and serving the content.
If you have < 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.
[edit]
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 Portal 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.
[edit]
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.
[edit]
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.
[edit]
Why do the workspace virtual directories show the error “stop sign” symbol in the IIS snap-in?
If World Wide Web Publishing Service (W3SVC) starts before Microsoft Exchange Information Store (MSExchangeIS), “stop sign” symbols appear under the Default Web Site folder of the Internet Information Services console in Microsoft Management Console (MMC).
There is a dependency between the local paths of the SharePoint Portal Server virtual directories and the MSExchangeIS. You must start MSExchangeIS first, followed by W3SVC.
Complete the following steps to prevent the stop signs from appearing each time you restart:
1. Change the Startup type for W3SVC to Manual.
2. Restart the server. The MSExchangeIS service starts automatically.
3. Start W3SVC.
[edit]
What newsgroups are available?
There are two,
 microsoft.public.sharepoint.portalserver and
 microsoft.public.sharepoint.portalserver.development.
[edit]
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.
[edit]
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.
[edit]
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.
[edit]
What are the various Sharepoint 2003 and Exchange integration points?
[edit]
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.
[edit]
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.
[edit]
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.
[edit]
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.
The SmartPart Web Part project template for Visual Studio allows developers to create quickly a project which contains the base infrastructure to:
* write a web user control (ASCX) * wrap the user control in a SmartPart instance * generate a SharePoint Solution file (WSP) for easy deployment * generate a setup package for a wizard driven installation
[edit]
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.”
[edit]
What are the integration differences between SPS 2003 and the various Office versions?
SPS webpage can detect you have installed the Office 2003 and run local dll to implement some SPS function, e.g. multi-file upload only works when you have office 2003 installed.
Integration with Office XP is gone.
You will get guys telling you that you can integrate with SPSv2 if you install a backwards compatible document library – but that’s really just putting a bit of SPS 2001 on the server.
Believe me, check-in, check-out, which are themselves very basic, are not available from inside Office XP, or even from the context menu in Windows Explorer.
The ONLY option you have is to use the web interface to check-in or check-out.
1) What are the two base classes a WebPart you are going to use within SharePoint 2007 can inherit from?
There are two base classes that a WebPart which is going to be consumed by SharePoint can inherit from, either the SharePoint WebPart Base class or the ASP.NET 2.0 WebPart base class. When inheriting from the SharePoint WebPart Base class your derived WebPart class will inherit from Microsoft.SharePoint.WebPartPages.WebPart. When inheriting from the ASP.NET 2.0 WebPart base class your derived WebPart class will inherit from System.Web.UI.WebControls.WebParts.WebPart. It is considered good practice to use the ASP.NET WebPart base class since the old base class is meant for backwards compatibility with previous version of SharePoint, however there are four exception when it is better to leverage functionality from the SharePoint WebPart base class:
Cross page connections
Connections between Web Parts that are outside of a Web Part zone
Client-side connections (Web Part Page Services Component)
Data caching infrastructure
2) What are the differences between the two base classes and what are the inherit benefits of using one over another?
The difference is the Microsoft.SharePoint.WebPartPages.WebPart base class is meant for backward compatibility with previous versions of SharePoint. The benefit of using the SharePoint WebPart base class is it supported:
Cross page connections
Connections between Web Parts that are outside of a Web Part zone
Client-side connections (Web Part Page Services Component)
Data caching infrastructure
ASP.NET 2.0 WebParts are generally considered better to use because SharePoint is built upon the ASP.NET 2.0 web architecture. Inheriting from the ASP.NET 2.0 base class offers you features that inherit to ASP.NET 2.0, such as embedding resources as opposed to use ClassResources for deployment of said types.
3) What is the GAC?
The GAC stands for the global assembly cache. It is the machine wide code cache which will give custom binaries place into the full trust code group for SharePoint. Certain SharePoint assets, such as Feature Receivers need full trust to run correctly, and therefore are put into the GAC. You should always try to avoid deployment to the GAC as much as possible since it will possibly allow development code to do more than it was intended to do.
4) What is strong naming (signing) a WebPart assembly file mean?
Signing an assembly with a strong name (a.k.a strong naming) uses a cryptographic key pair that gives a unique identity to a component that is being built. This identity can then be referred throughout the rest of the environment. In order to install assemblies into the GAC, they must be strongly named. After signing, the binary will have a public key token identifier which can be use to register the component in various other places on the server.
5) What are safe controls, and what type of information, is placed in that element in a SharePoint web.config file?
When you deploy a WebPart to SharePoint, you must first make it as a safe control to use within SharePoint in the web.config file. Entries made in the safe controls element of SharePoint are encountered by the SharePointHandler object and will be loaded in the SharePoint environment properly, those not will not be loaded and will throw an error.
In the generic safe control entry (this is general, there could be more), there is generally the Assembly name, the namespace, the public key token numeric, the typename, and the safe declaration (whether it is safe or not). There are other optional elements.
6) What is the CreateChildControls() method? How can you use it to do something simple like displaying a Label control?
The CreateChildControls method in WebParts is used to notify the WebPart that there are children controls that should be output for rendering. Basically, it will add any child ASP.NET controls that are called instantiating each control with its relevant properties set, wire any relevant event handlers to the control, etc. Then the add method of the control class will add the control to the controls collection. In the relevant WebPart render method, the EnsureChildControls method can be called (or set to false if no child controls should be called) to ensure that the CreateChildControls method is run. When using CreateChildControls it implies that your WebPart contains a composition of child controls.
In order to create something like a label control in Create, you would create a new label control using the new keyword, set the various properties of the control like Visible=True and ForeColor = Color.Red, and then use Controls.Add(myLabelControl) to add the control to the controls collection. Then you can declare EnsureChildControls in the Render method of the WebPart.
7) What does the RenderContents method do in an ASP.NET 2.0 WebPart?
The render contents method will render the WebPart content to the writer, usually an HtmlTextWriter since WebParts will output to an HTML stream. RenderContents is used to tell how the controls that are going to be displayed in the WebPart should be rendered on the page.
*** Side Question: I got asked what the difference between CreateChildControls and the RenderContents method. The CreateChildControls method is used to add controls to the WebPart, and the RenderContents method is used to tell the page framework how to render the control into HTML to display on a page.
8) What is the WebPartManager sealed class? What is its purpose?
The WebPartManager sealed class is responsible for managing everything occurring on a WebPart page, such as the WebParts (controls), events, and misc. functionality that will occur in WebPartZones. For example, the WebPartManager is responsible for the functionality that is provided when you are working with moving a WebPart from WebPartZone to WebPartZone. It is known as the “the central class of the Web Part Control Set.”
*** Side Question: I got asked how many WebPartManager controls should be on a page. In order to have WebParts on a page there has to be just one WebPartManager control to manage all the WebParts on the page.
9) What is a SPSite and SPWeb object, and what is the difference between each of the objects?
The SPSite object represents a collection of sites (site collection [a top level sites and all its subsites]). The SPWeb object represents an instance SharePoint Web, and SPWeb object contains things like the actual content. A SPSite object contains the various subsites and the information regarding them.
10) How would you go about getting a reference to a site?
PLAIN TEXT
C#:
1. oSPSite = new SPSite(“http:/server”);
2.
3. oSPWeb = oSPSite.OpenWeb();
11) What does a SPWebApplication object represent?
The SPWebApplication objects represents a SharePoint Web Application, which essentially is an IIS virtual server. Using the class you can instigate high level operations, such as getting all the features of an entire Web Application instance, or doing high level creation operations like creating new Web Applications through code.
12) Would you use SPWebApplication to get information like the SMTP address of the SharePoint site?
Yes, since this is a Web Application level setting. You would iterate through each SPWebApplication in the SPWebApplication collection, and then use the appropriate property calls (OutboundMailServiceInstance) in order to return settings regarding the mail service such as the SMTP address.
Side Question: I got asked if there are other ways to send emails from SharePoint. The answer is yes, there is. You can use the SendMail method from the SPutility class to send simple emails, however it is not as robust as using the System.Net.Mail functionality since it doesn’t allow things like setting priorities on the email.
13) How do you connect (reference) to a SharePoint list, and how do you insert a new List Item?
PLAIN TEXT
C#:
1. using(SPSite mySite = new SPSite(“yourserver”))
2. {
3. using(SPWeb myWeb = mySite.OpenWeb())
4. {
5. SPList interviewList = myWeb.Lists[“listtoinsert”];
6. SPListItem newItem = interviewList.Items.Add();
7.
8. newItem[“interview”] = “interview”;
9. newItem.Update();
10. }
11. }
14) How would you loop using SPList through all SharePont List items, assuming you know the name (in a string value) of the list you want to iterate through, and already have all the site code written?
PLAIN TEXT
C#:
1. SPList interviewList = myWeb.Lists[“listtoiterate”];
2. foreach (SPListItem interview in interviewList)
3. {
4. // Do Something
5. }
15) How do you return SharePoint List items using SharePoint web services?
In order to retrieve list items from a SharePoint list through Web Services, you should use the lists.asmx web service by establishing a web reference in Visual Studio. The lists.asmx exposes the GetListItems method, which will allow the return of the full content of the list in an XML node. It will take parameters like the GUID of the name of the list you are querying against, the GUID of the view you are going to query, etc.
Side Question: I got asked how I built queries with the lists.asmx web service. In order to build queries with this service, one of the parameters that the GetListItems method exposes is the option to build a CAML query. There are other ways to do this as well, but that was how I answered it.
16) When retrieving List items using SharePoint Web Services, how do you specify explicit credentials to be passed to access the list items?
In order to specify explicit credentials with a Web Service, you generally instantiate the web service, and then using the credentials properties of the Web Service object you use the System.Net.NetworkCredential class to specify the username, password, and domain that you wish to pass when making the web service call and operations.
*** Side Question: I got asked when you should state the credentials in code. You must state the credentials you are going to pass to the web service before you call any of the methods of the web service, otherwise the call will fail.
17) What is CAML, and why would you use it?
CAML stands for Collaborative Application Markup Language. CAML is an XML based language which provides data constructs that build up the SharePoint fields, view, and is used for table definition during site provisioning. CAML is responsible for rending data and the resulting HTML that is output to the user in SharePoint. CAML can be used for a variety of circumstances, overall is used to query, build and customize SharePoint based sites. A general use would be building a CAML query in a SharePoint WebPart in order to retrieve values from a SharePoint list.
18) What is impersonation, and when would you use impersonation?
Impersonation can basically provide the functionality of executing something in the context of a different identity, for example assigning an account to users with anonymous access. You would use impersonation in order to access resources on behalf of the user with a different account, that normally, that wouldn’t be able to access or execute something.
19) What is the IDesignTimeHtmlProvider interface, and when can you use it in WebParts?
The IDesignTimeHtmlProvider interface uses the function GetDesignTimeHtml() which can contain your relevant render methods. It was helpful to use in 2003 since it allowed your WebPart to have a preview while a page was edited in FrontPage with the Webpart on it, because the GetDesignTimeHtml() method contains the HTML for the designer to render.
20) What are WebPart properties, and what are some of the attributes you see when declaring WebPart properties in code?
WebPart properties are just like ASP.NET control properties, they are used to interact with and specify attributes that should be applied to a WebPart by a user. Some of the attributes you see with ASP.NET 2.0 properties are WebDescription, WebDisplayName, Category, Personalizable, and WebBrowsable. Although most of these properties come from the System.Web.UI.WebControls.WebParts class, ones like Category come out of System.ComponentModel namespace.
21) Why are properties important in WebPart development, and how have you exploited them in past development projects? What must each custom property have?
Properties are important because WebParts allow levels of personalization for each user. WebPart properties make it possible for a user to interact, adjust, and increase overall experience value with the programmatic assets that you develop without having the need to use an external editor or right any code. A very simple example of exploiting a property would be something like allowing the user to change the text on the WebPart design interface so that they can display whatever string of text they desire.
Each custom property that you have must have the appropriate get and set accessor methods.
22) What are ClassResources? How do you reference and deploy resources with an ASP.NET 2.0 WebPart?
ClassResources are used when inheriting from the SharePoint.WebPart.WebPartPages.WebPart base class, and are defined in the SharePoint solution file as things that should be stored in the wpresources directory on the server. It is a helpful directory to use in order to deploy custom images. In ASP.NET 2.0, typically things such as images are referenced by embedding them as resources within an assembly. The good part about ClassResources is they can help to eliminate recompiles to change small interface adjustments or alterations to external JavaScript files.
23) What is a SharePoint Solution File? How does it differ from WebPart .cab files in legacy development? What does it contain?
A SharePoint solution file is essentially a .cabinet file with all a developers ustom componets suffixed with a .wsp extension that aids in deployment. The big difference with SharePoint solution files is is that a solution:
allows deployment to all WFE’s in a farm
is highly manageable from the interface allowing deployment, retraction, and versioning
Can package all types of assets like site definitions, feature definitions (and associated components), Webparts, etc.
Can provide Code Access Security provisioning to avoid GAC deployments
Just to name a few things…
24) What is a .ddf file and what does it have to do with SharePoint Solution creation?
A .ddf file is a data directive file and is used when building the SharePoint solution bundle specifying the source files and their destination locations. The important thing for someone to understand is that the .ddf file will be passed as a parameter to the MAKECAB utility to orchestrate construction of the SharePoint solution fiel.
25) What file does a SharePoint solution package use to orchestrate (describe) its packaged contents?
The solution Manifest.XML file.
26) What deployment mechanism can you use to instigate Code Access Security attributes for your WebParts?
SharePoint solution files can add in order to handle code access security deployment issues. This is done in the element in the SharePoint solution manifest.XML, which makes it easier to get assemblies the appropriate permissions in order to operate in the bin directory of the web application.
27) What is a SharePoint Feature? What files are used to define a feature?
A SharePoint Feature is a functional component that can be activated and deactivate at various scopes throughout a SharePoint instances, such as at the farm, site collection, web, etc. Features have their own receiver architecture, which allow you to trap events such as when a feature is installing, uninstalling, activated, or deactivated. They are helpful because they allow ease of upgrades and versioning.
The two files that are used to define a feature are the feature.xml and manifest file. The feature XML file defines the actual feature and will make SharePoint aware of the installed feature. The manifest file contains details about the feature such as functionality.
Side Question: I got asked how the introduction of features has changed the concept of site definitions. SharePoint features are important when understanding the architecture of site definitions, since the ONET.XML file has been vastly truncated since it has several feature stapled on it.
28) What types of SharePoint assets can be deployed with a SharePoint feature?
Features can do a lot. For example, you could deploy
Simple site customizations
Custom site navigation
WebParts
pages
list types
list instances
event handlers
workflows
custom actions
just to name a few….
29) What are event receivers?
Event receivers are classes that inherit from the SpItemEventReciever or SPListEventReciever base class (both of which derive out of the abstract base class SPEventRecieverBase), and provide the option of responding to events as they occur within SharePoint, such as adding an item or deleting an item.
30) When would you use an event receiver?
Since event receivers respond to events, you could use a receiver for something as simple as canceling an action, such as deleting a document library by using the Cancel property. This would essentially prevent users from deleting any documents if you wanted to maintain retention of stored data.
31) What base class do event receivers inherit from?
Event receivers either inherit from the SPListEventReciever base class or the SPItemEventReciever base class, both which derive from the abstract base class SPEventReceiverBase.
32) If I wanted to not allow people to delete documents from a document library, how would I go about it?
You would on the ItemDeleting event set: properties.Cancel= true.
33) What is the difference between an asynchronous and synchronous event receivers?
An asynchronous event occurs after an action has taken place, and a synchronous event occurs before an action has take place. For example, an asynchronous event is ItemAdded, and its sister synchronous event is ItemAdding.
34) How could you append a string to the title of a site when it is provisioned?
In the OnActivated event:
PLAIN TEXT
C#:
1. SPWeb site = siteCollection.RootWeb;
2. site.Title += “interview”;
3. site.Update();
35) Can an event receiver be deployed through a SharePoint feature?
Yes.
36) What is a content type?
A content type is an information blueprint basically that can be re-used throughout a SharePoint environment for defining things like metadata and associated behaviors. It is basically an extension of a SharePoint list, however makes it portable for use throughout an instance regardless of where the instantiation occurs, ergo has location independence. Multiple content types can exist in one document library assuming that the appropriate document library settings are enabled. The content type will contain things like the metadata, listform pages, workflows, templates (if a document content type), and associated custom written functionality.
37) Can a content type have receivers associated with it?
Yes, a content type can have an event receiver associated with it, either inheriting from the SPListEventReciever base class for list level events, or inheriting from the SPItemEventReciever base class. Whenever the content type is instantiated, it will be subject to the event receivers that are associated with it.
38) What two files are typically (this is kept generally) included when developing a content type, and what is the purpose of each?
There is generally the main content type file that holds things like the content type ID, name, group, description, and version. There is also the ContentType.Fields file which contains the fields to include in the content type that has the ID, Type, Name, DisplayName, StaticName, Hidden, Required, and Sealed elements. They are related by the FieldRefs element in the main content type file.
39) What is an ancestral type and what does it have to do with content types?
An ancestral type is the base type that the content type is deriving from, such as Document (0x0101). The ancestral type will define the metadata fields that are included with the custom content type.
40) Can a list definition be derived from a custom content type?
Yes, a list definition can derive from a content type which can be seen in the schema.XML of the list definition in the element.
41) When creating a list definition, how can you create an instance of the list?
You can create a new instance of a list by creating an instance.XML file.
42) What is a Field Control?
Field controls are simple ASP.NET 2.0 server controls that provide the basic field functionality of SharePoint. They provide basic general functionality such as displaying or editing list data as it appears on SharePoint list pages.
43) What base class do custom Field Controls inherit from?
This varies. Generally, custom field controls inherit from the Microsoft.SharePoint.WebControls.BaseFieldControl namespace, but you can inherit from the default field controls.
44) What is a SharePoint site definition? What is ghosted (uncustomized) and unghosted (customized)?
SharePoint site definitions are the core set of functionality from which SharePoint site are built from, building from the SiteTemplates directory in the SharePoint 12 hive. Site definitions allow several sites to inherit from a core set of files on the file system, although appear to have unique pages, thereby increasing performance and allowing changes that happen to a site propagate to all sites that inherit from a site definition. Ghosted means that when SharePoint creates a new site it will reference the files in the related site definition upon site provisioning. Unghosted means that the site has been edited with an external editor, and therefore the customizations are instead stored in the database, breaking the inheritance of those files from the file system.
45) How does one deploy new SharePoint site definitions so that they are made aware to the SharePoint system?
The best way to deploy site definitions in the SharePoint 2007 framework is to use a SharePoint solution file, so that the new site definition is automatically populated to all WFE’s in the SharePoint farm.

One thought on “Mega Collection of Sharepoint 2007 Interview Questions

  1. host files

    Hello There. I discovered your weblog using msn. That is an extremely well written article. I will be sure to bookmark it and come back to read extra of your helpful info. Thanks for the post. I will definitely comeback.

Leave a Reply

Your email address will not be published. Required fields are marked *

Bitnami