Docstoc

moss_faqs

Document Sample
moss_faqs Powered By Docstoc
					  MOSS 2007 FAQS-Updated on 26/06/2010 by PRAVEEN

    Useful Link for FAQS
 http://mysharepointwork.blogspot.com/2010/03/sharepoint-interview-questions-moss.html
 http://megasolutions.net/qs/Sharepoint_Portal_Interview_Questions.aspx
http://sharepointware.com/


     1. What is SharePoint?
     Ans: Portal Collaboration Software.

     2. what is the difference between SharePoint Portal Server and Windows SharePoint Services?
     Ans : SharePoint Portal Server is the global portal offering features like global navigation and searching. Windows SharePoint
     Services is more content management based with document libraries and lists. You apply information to certain areas within your
     portal from Windows SharePoint Services or directly to portal areas.

     3. what is a document library?
     Ans : A document library is where you upload your core documents. They consist of a row and column view with links to the
     documents. When the document is updated so is the link on your site. You can also track metadata on your documents. Metadata
     would consist of document properties.

     4. what is a meeting workspace?
     Ans : A meeting workspace is a place to store information, attendees, and tasks related to a specific meeting.

     5. what is a document workspace?
     Ans : Document workspaces consist of information surrounding a single or multiple documents.

     6. What is a web part?
     Ans : Web parts consist of xml queries to full SharePoint lists or document libraries. You can also develop your own web parts and
     web part pages.

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

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

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

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

     11. what is a site definition?
     Ans : It‘s a methods for providing prepackaged site and list content.

     12. what is a template?
     Ans : A template is a pre-defined set of functions or settings that can be used over time. There are many templates within
     SharePoint, Site Templates, Document Templates, Document Library and List Templates.

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

     14. What is CAML?
     Ans : CAML stands for Collaborative Application Markup Language and is an XML-based language that is used in Microsoft Windows
     SharePoint Services to define sites and lists, including, for example, fields, views, or forms, but CAML is also used to define tables in
     the Windows SharePoint Services database during site provisioning.

     15. what is a DWP?
     Ans : The file extension of a web part.

     16. what is the GAC?
     Ans : Global Assembly Cache folder on the server hosting SharePoint. You place your assemblies there for web parts and services.

     17. what are the differences between web part page gallery, site gallery, virtual server gallery and online gallery?
     Ans : Web Part Page Gallery is the default gallery that comes installed with SharePoint. Site Gallery is specific to one site. Virtual
     Server gallery is specific to that virtual server and online galleries are downloadable web parts from Microsoft.

     18. what is the difference between a site and a web?
     Ans : The pages in a Web site generally cover one or more topics and are interconnected through hyperlinks. Most Web sites have a
home page as their starting point. While a Web is simply a blank site with SharePoint functionality built in; meaning you have to
create the site from the ground up.

19. What is Microsoft Windows SharePoint Services? How is it related to Microsoft Office SharePoint Server 2007?
Ans : Windows SharePoint Services is the solution that enables you to create Web sites for information sharing and document
collaboration. Windows SharePoint Services — a key piece of the information worker infrastructure delivered in Microsoft Windows
Server 2003 — provides additional functionality to the Microsoft Office system and other desktop applications, and it serves as a
platform for application development.
Office SharePoint Server 2007 builds on top of Windows SharePoint Services 3.0 to provide additional capabilities including
collaboration, portal, search, enterprise content management, business process and forms, and business intelligence.


20.What is Microsoft SharePoint Portal Server?
Ans : 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.

21. What is Microsoft Windows Services?
Ans : 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.

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

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

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

25. 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 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‖ edit ion 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.

26. What suites of the 2007 Microsoft Office system work with Office SharePoint Server 2007?
Ans : 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).

27. 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, 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.
 28. Can I post any kind of document?
 Ans : 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.

 29. Can I download information directly from a SharePoint site to a personal digital assistant (PDA)?
 Ans : No you cannot. However, you can exchange contact information lists with Microsoft Outlook.

 30. How long does it take to set up the initial team Web site?
 Ans : 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.

 31. Can I create custom templates?
 Ans : Yes you can. You can have templates for business plans, doctor's office, lawyer's office etc.

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

 33. How do the sub sites work?
 Ans : 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.

 34. 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 on the Internet that does not
 ask you to provide a user name and password to see the content of the site), follow these simple steps:
 # Login as an administrator
 # Click on site settings
 # Click on Go to Site Administration
 # Click on Manage anonymous access
 # Choose one of the three conditions on what Anonymous users can access:
 ** Entire Web site
 ** Lists and libraries
 ** Nothing
 Default condition is nothing; your site has restricted access. The default conditions allow you to create a secure site for your Web
 site.

 35. Can I get domain name for my Web site?
 Ans : 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.
SharePoint DeveloperA SharePoint Developer will need more than ASP.NET 2.0 to perform this role well. SharePoint is a development
platform in They will have to have learned the SharePoint Object Model, know how to create Web Parts Workflows and Features and
Solutions. Here is a good question to ask someone you are assessing for a SharePoint developer position:


What are Features and Solutions and what is the difference between the two?


Features are a method for developers to package customizations 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.
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

 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



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.

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

I am located outside of the United States. Are there any restrictions or requirements for accessing the Windows
SharePoint Services?
No. There are no system or bandwidth limitations for international trial users. Additionally language packs have been installed which
allow users to set up sub-webs in languages other than English. These include: Arabic, Danish, Dutch, Finnish, French, German,
Hebrew, Italian, Japanese, Polish, Portuguese (Brazilian), Spanish and Swedish.

Are there any browser recommendations?
Yes. Microsoft recommends using the following browsers for viewing and editing Windows SharePoint Services sites: Microsoft Internet
Explorer 5.01 with Service Pack 2, Microsoft Internet Explorer 5.5 with Service Pack 2, Internet Explorer 6, Netscape Navigat or 6.2 or
later.

What security levels are assigned to users?
Security levels are assigned by the administrator who is adding the user. There are four   levels by default and additional levels can be
composed                                                          as                                                           necessary.
*           Reader            -           Has         read-only           access            to          the           Web             site.
*       Contributor        -       Can      add      content       to       existing       document         libraries      and       lists.
*   Web     Designer     -   Can     create   lists and   document     libraries    and    customize    pages      in  the    Web     site.
* Administrator - Has full control of the Web site.

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


What is the difference between an Internet and an intranet site?
An internet site is a normal site that anyone on the internet can access (e.g., www.msn.com, www.microsoft.com, etc.). You can set up
a site for your company that can be accessed by anyone without any user name and password.
An intranet (or internal network), though hosted on the Web, can only be accessed by people who are members of the network. They
need to have a login and password that was assigned to them when they were added to the site by the site administrator.

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

What are the various kinds of roles the users can have?
A user can be assigned one of the following roles
* Reader - Has read-only access to the Web site.
* Contributor - Can add content to existing document libraries and lists.
* Web Designer - Can create lists and document libraries and customize pages in the Web site.
* Administrator - Has full control of the Web site.

Can more than one person use the same login?
If the users sharing that login will have the same permissions and there is no fear of them sharing a password, then yes. Otherwise,
this is discouraged.

How customizable is the user-to-user access?
User permissions apply to an entire Web, not to documents themselves. However, you can have additional sub webs that can optionally
have their own permissions. Each user can be given any of four default roles. Additional roles can be defined by the administrator.
Can each user have access to their own calendar?
Yes there are two ways to do this,
* by creating a calendar for each user, or
* by creating a calendar with a view for each user

How many files can I upload?
There is no restriction in place except that any storage consumed beyond that provided by the base offering may have an addit ional
monthly charge associated with them.

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

Can SharePoint be linked to an external data source?
SharePoint data can be opened with Access and Excel as an external data source. Thus, SharePoint can be referenced as an exte rnal
data source. SharePoint itself cannot reference an external data source.

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



Can I customize my Windows SharePoint Services site?
YES! Windows SharePoint Services makes updating sites and their content from the browser easier than ever.
SharePoint includes tools that let you create custom lists, calendars, page views, etc. You can apply a theme; add List, Survey and
Document Library Web Parts to a page; create personal views; change logos; connect Web Parts and more.
To fully customize your site, you can use Microsoft FrontPage 2003. Specifically, you can use FrontPage themes and shared borders,
and also use FrontPage to create photo galleries and top ten lists, utilize standard usage reports, and integrate automatic Web content.

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

How Office SharePoint Server 2007 can help you?

Office SharePoint Server 2007 can help us:
Manage content and streamline processes. Comprehensively manage and control unstructured content like Microsoft Office documents,
Web pages, Portable Document Format file (PDF) files, and e-mail messages. Streamline business processes that are a drain on
organizational productivity.
Improve business insight. Monitor your business, enable better-informed decisions, and respond proactively to business events.
Find and share information more simply. Find information and expertise wherever they are located. Share knowledge and simplify
working with others within and across organizational boundaries.
Empower IT to make a strategic impact. Increase responsiveness of IT to business needs and reduce the number of platforms that have
to be maintained by supporting all the intranet, extranet, and Web applications across the enterprise with one integrated platform.

Office SharePoint Server 2007 capabilities can help improve organizational effectiveness by connecting people, processes, and
information.
Office SharePoint Server 2007 provides these capabilities in an integrated server offering, so your organization doesn't have to
integrate fragmented technology solutions itself.

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

3. 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
28. 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 checkout, versioning, metadata, and role-based granular access controls. Organizations can use this functionality
to deliver enhanced authoring, business document processing, Web content management and publishing, records management, policy
management, and support for multilingual publishing.
Does a SharePoint Web site include search functionality?
Yes. SharePoint Team Services provides a powerful text-based search feature that helps you find documents and information fast.

4. 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
releaseofSharePointProductsandTechnologies.Newfeaturesprovide:
*Aconsistentandfamiliarsearchexperience.
*Increasedrelevanceofsearchresults.
*Newfunctionstosearchforpeopleandexpertise.
*Abilitytoindexandsearchdatainline-of-businessapplicationsand
* Improved manageability and extensibility.

5. What are the benefits of Microsoft Office SharePoint Server 2007?

*Provideasimple,familiar,andconsistentuserexperience.
*BoostEmployeeproductivitybysimplifyingeverydaybusinessactivities.
*Helpmeetregulatoryrequirementsthroughcomprehensivecontrolovercontent.
*Effectivelymanageandrepurposecontenttogainincreasedbusinessvalue.
*Simplify   organization-wide     access    to both    structured    and    unstructured    information    across   disparate systems.
*Connectpeoplewithinformationandexpertise.
*Acceleratesharedbusinessprocessesacrossorganizationalboundaries.
*Sharebusinessdatawithoutdivulgingsensitiveinformation.
* 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.

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

7. 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 re ndering
on the page where the Web Part appears.

8. 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.
Requiresthemostconfigurationsofallthreeoptions.
Install your assemblies in the GAC
Easytoimplement.
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.

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

10. 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.
11. What would you like to see in the next version of SharePoint?
A few suggestions:
#SPSandSTSonsamemachine
#TreeviewofCategoriesandFolders
#GeneralDiscussionWebPart
#PersonalizationofDashboards
#RoleCustomization
#EmailtosayWHYadocumenthasbeenrejectedforApproval
#Morewaystocustomizetheinterface
#BackupandrestoreanindividualWorkspaces
#FilterforVisio
# Better way to track activity on SPS

12. Why Sharepoint is not a viable solution for enterprise wide deployments?
Document management does not scale beyond a single server, but scales great within a single server. For example, a quad Xeon
machine with 4GB of RAM works great for a document management server that has about 900,000 - 1,000,000 document, but if you
need to store 50,000,000 document and want to have them all in one single workspace then it does not scale at all. If you need a
scenario like this, you need to plan your deployment right and it should scale for you, it just does not right out of the box.
If you are using your server as a portal and search server most for the most part it scales great. You can have many different servers
crawl content sources and have separate servers searching and serving the content.
If you have < 750,000 documents per server and fewer than 4 content sources and fewer than 50,000 users, SPS should scale just fine
for your needs with the proper planning.

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

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

15. 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.
Ifyouwanttodothisincode:
<pre>
strURL="urlofthelastpublishedversion"
SetoVersion=NewPKMCDO.KnowledgeVersion SetprmRs=oVersion.VersionHistory(strURL)
SetoVersion=Nothing
</pre>
prmRS will contain a recordset, which contains the url to the old versions in the shadow.

16. Why do the workspace virtual directories show the error “stop sign” symbol in the IIS snap-in?
If World Wide Web Publishing Service (W3SVC) starts before Microsoft Exchange Information Store (MSExchangeIS), ―stop sign‖
symbols appear under the Default Web Site folder of the Internet Information Services console in Microsoft Management Console
(MMC).
There is a dependency between the local paths of the SharePoint Portal Server virtual directories and the MSExchangeIS. You must
start MSExchangeIS first, followed by W3SVC.
Complete the following steps to prevent the stop signs from appearing each time you restart:
# Change the Startup type for W3SVC to Manual.
# Restart the server. The MSExchangeIS service starts automatically.
# Start W3SVC.

17. What newsgroups are available?
       Therearetwo, *microsoft.public.sharepoint.portalserver and
       * Microsoft.public.sharepoint.portalserver.development.

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

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

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

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

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

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

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

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

23. 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.
Some questions to ask:
   1.   What is the purpose of SharePoint Products and Technologies?
        The purpose of SharePoint Products and Technologies is to provide an easy way to disseminate information to employees in
        a collaborative environment. Also, a way to provision sites and workspaces, data, security, etc without the developer
        bottleneck.


   2.   Tell me the difference between MOSS 2007 and WSS 3.0?
DIFF B/N MOSS & WSS
WSS 3.0 - Windows SharePoint Services 3.0 which provides a mechanism to easily create, secure, store, search (per site
collection), restore, perform workflow within, and customize sites with collaborative features
MOSS 2007 - The next version of SharePoint Portal Server 2003 which offers the same aspects as WSS 3.0, but includes "features"
which extend it well beyond collaboration environment. Some of these additionally installed "features" include the following:

       Additional workflows

       Browser-based content management of pages

       Excel Services for rendering of trusted partial or full workbooks in a browser page or web part

       InfoPath Forms Services for electronic forms submittal through the web browser (no InfoPath client needed to
        run InfoPath-created forms)

       BDC - Business Data Catalog for accessing external data through database or webservice calls

       User Profiles and Audiences to locally store Active Directory information within SharePoint, so Audiences can
        be used to target information to the appropriate people (show / hide content based on rules you specify).

       MySite - What I like to refer to as the web-based My Documents or Home drive. MySite is a site collection
        created per user to host that users content (Documents and lists). It has a public and private facing section
        by default. The public section defaults to showing their contact information provided by your User Profile
        import

       Search extended to allow search through the sharepoint web applications, into other websites, your BDC, User
        Profiles, Exchange Public Folders, Shared Folders, and so forth

       Records Repository for compliance (keeping of records for some certain specified time usually)

       Many more things I just can't think of now
Feature - A simple way to think of a feature is to think of a packaged customization. This customization might be in the form of a
workflow, web part, list definition, EventReceiver, etc
Solution - Usually multiple features packaged together to perform a much larger task, such as installation of custom Code Access
Security policies, deploy web parts to multiple locations, install DLLs, or even create site definitions (highly customized site
templates)
Web Part - Usually the primary point of customization within SharePoint. Web Parts consist of XML / XSL metadata in the case of
a DataView (created in SharePoint Designer - the new FrontPage) or .NET code (created in Visual Studio 2005). Once the XML /
XSL metadata, or .NET code has rendered contents to the web browser, this just becomes a snippet of HTML used within a page to
provide content within the context of SharePoint that might not be SharePoint related (your custom application might be rendered
here)
Farm - An environment in which multiple servers host the SharePoint Services in conjunction with each other. The farm is
managed by a special web application called SharePoint 3.0 Central Administration
SharePoint 3.0 Central Administration - At first look, this site just looks like a normal web application with special links to help
define your SharePoint architecture. Even though this site is so much more than that, trust is, it is also still a web application, and
therefore you can still create lists / subwebs within it. Take care you are not in SharePoint 3.0 Central Administration when you
create lists / subwebs, as this site should not be accessed by anybody other than designated SharePoint Farm administrators.
Note: It is not invalid to create lists / subwebs within the Central Administration context as long as they correspond to SharePoint
administrative functions. For example, you may decide to create a document library to host your SharePoint 3.0 Central
Administration planning documents downloaded from the http://technet2.microsoft.com/Office/ site.
 Shared Service Provider - A MOSS 2007 feature that gives boundaries for User Profiles and Audiences, BDC, Search, and Excel
services configuration for sets of web applications
 Web Application - A set of zone-based URLs that connect to a specific set of content databases. Content databases are what
stores all your SharePoint content (documents, lists, sites, etc). You can have one or more IIS websites pointing to this web
application. Each individual IIS website can facilitate Network Load Balancing or possibly differing authentication mechanisms.
 Site Collection - A collection of webs that correspond to similar security requirements / roles. These are scoped per web
application
 Top-Level Site - A web that acts as the entry-point into your specific site collection
 Web - A single site consisting of Pages and lists. Pages typically refer to a special document library MOSS 2007 uses to give the
SharePoint site a friendly web interface (part of the content management aspect)
 List - Content that would have normally been stored in a SQL database, but is propogated through the SharePoint UI to simply the
application creation process. You might also think of this almost like an Excel spreadsheet with column headers and obviously your
content in rows. Content within lists can be easily grouped by adding folders. List items (and folders) can be secured if necessary,
but you should try to avoid that if possible to reduce administrative overhead.
 Library - Special type of list that instead of thinking of the list as being the collective properties, is more centrally thought of via
the document stored per row. Document Libraries, for example, store a document per row, but can have additional metadata (such
as Subject, author, and other custom information) associated with it via columns within the same row. The new security feature of
WSS 3.0 / MOSS 2007 allows for the securing of list items, which means you can "deny" access to a particular file if you need to.
This is usually not recommended due to the complexity added to maintain such an environment. Again, folders can be created and
secured individually if necessary.


1. How does SharePoint integrate with our servers (list off server appliations you have like IIS, Exchange & ISA)?
IIS is used to render SharePoint content from the database to the end-user. Exchange can be used as your outgoing email server
for alerts, and also can be used in MySite for user email integration. ISA is your firewall, and can have publishing rules defined
specifically so SharePoint can be securely viewable via an extranet environment


2. What about Exchange Public Folders?
Exchange Public Folders are being phased out for SharePoint. SharePoint can have the same characteristics as Public Folders, such
as document libraries to store documents, discussions, announcements, public calendars, etc. By default Exchange 2007 does not
have public folders turned on.
3. How does SharePoint integrate with Office client?
Whenever Office 2003 + is installed locally, some features (such as multiple upload) lightup. Also, within MySite, a user with Office
2003 + will get a prompt to basically integrate MySite as a new placeholder location within the Office 2003 + save as dialog (the
left-hand side large location icons). Office 2007 has the capability of doing Server-side properties, local drafts (a downloaded
version of the document for offline editing), and publishing (for example to a blog)..


4. Describe how you implemented SharePoint in your last location.
Some answer goes here. Determine whether he is BS'ing you at some point.


5. Given our company's architecture, how would you implement our SharePoint environment? Nothing fancy, just a
quick overview (a whiteboard or notepad will do...erase the whiteboard or shred the paper in front of them once they have
comleted, so they don't think you are trying to get free consulting out of this).
If it doesn't seem to be going anywhere, don't both with this question. Also, I can't stress enough how much you need them to feel
they aren't giving you free consulting, so definitely erase their proposed implementation in front of them, so they know you are not
looking for a free lunch. Obviously you need to briefly describe your organization for this to work. Hopefully they come up with
something worthwhile. Site collections are security and quota boundaries, so I always use a department-based site collection
architecture. I would (depending on the number of employees, departments, etc) probably recommend the root site being the
generic company portal, and then creating site collections under /departments/ managed path. Basically an architecture similar
tohttp://server/ - CompanyWeb, http://server/departments/hr/ - HRWeb,http://server/departments/it/ - ITWeb, etc.


http://manomangaldas.blogspot.com/2008/01/moss-2007-sharepoint-interview.html
I think that covers the major pieces you need. With that being said, here is my recommendation:
Unless you have an overwhelming number of users (over 5000, I believe is the typical number), one web application should be fine.
I personally suggest creating a site collection per department as this tends to be the best separation of roles within your
organization and site collections tend to be the best security boundary for SharePoint. If you have exceptions to the rule, then you
can still define those security exceptions per web, list / library, or even list item / file / folder. I hope this answers your question.


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


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


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


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


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


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


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


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


- How would you go about getting a reference to a site?
view sourceprint?
1.C#:
2.oSPSite = new SPSite("http:/server");
3.
4.oSPWeb = oSPSite.OpenWeb();


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


- 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.
- How do you connect (reference) to a SharePoint list, and how do you insert a new List Item?
view sourceprint?
01.C#:
02.using(SPSite mySite = new SPSite("yourserver"))
03.{
04.using(SPWeb myWeb = mySite.OpenWeb())
05.{
06.SPList interviewList = myWeb.Lists["listtoinsert"];
07.SPListItem newItem = interviewList.Items.Add();
08.
09.newItem["interview"] = "interview";
10.newItem.Update();
11.}
12.}


- 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?
view sourceprint?
1.C#:
2.SPList interviewList = myWeb.Lists["listtoiterate"];
3.foreach (SPListItem interview in interviewList)
4.{
5.// Do Something
6.}


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


What does AllowUnsafeUpdates do ?
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 AllowUnsafeUpdatesproperty.
C#:
view sourceprint?
01.using(SPSite mySite = new SPSite("yourserver"))
02.{ using(SPWeb myWeb = mySite.OpenWeb())
03.{
04.myWeb.AllowUnsafeUpdates = true;
05.SPList interviewList = myWeb.Lists["listtoinsert"];
06.SPListItem newItem = interviewList.Items.Add();
07.newItem["interview"] = "interview";
08.newItem.Update();
09.}
10.}
- What does RunWithElevatedPrivileges do?
Assume that you have a Web Part in which you want to display information obtained through the Windows SharePoint Services
object model, such as the name of the current site collection owner, usage statistics, or auditing information. These are examples
of calls into the object model that require site-administration privileges. Your Web Part experiences an access-denied error if it
attempts to obtain this information when the current user is not a site administrator. The request is initiated by a nonprivileged
user. you can still successfully make these calls into the object model by calling the RunWithElevatedPrivileges method provided by
the SPSecurityclass. C#:
view sourceprint?
01.SPSite siteColl = SPContext.Current.Site;
02.SPWeb site = SPContext.Current.Web;
03.SPSecurity.RunWithElevatedPrivileges(delegate()
04.{
05.using (SPSite ElevatedsiteColl = new SPSite(siteColl.ID))
06.{
07.using (SPWeb ElevatedSite = ElevatedsiteColl.OpenWeb(site.ID))
08.{
09.string SiteCollectionOwner = ElevatedsiteColl.Owner.Name;
10.string Visits = ElevatedsiteColl.Usage.Visits.ToString();
11.string RootAuditEntries = ElevatedSite.RootFolder.Audit.GetEntries().Count.ToString();
12.}
13.}
14.});


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

        Farm

        WebApplication

        Site (site collection)

        Web (site)
Features have their own receiver architecture, which allow you to trap events such as when a feature is

        installing

        uninstalling

        activated

        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

        workflows
The two files that are used to define a feature are
        feature.xml

        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.
Common stsadm commands associated with feature are

        stsadm -o installfeature

        stsadm -o uninstallfeature

        stsadm -o activatefeature

        stsadm -o deactivatefeature


- What are content types ?
A content type is a flexible and reusable WSS type definition 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 customer presentation document with a unique set of columns, an event handler, and its own
document template.
-You can create a second content type for a customer proposal document with a different set of columns, a workflow, and a
different document template.
Then you can attach both the contenttypes to a document library, which allows you to capture metadata based on the contenttype
selected during creation of the document.


Content type can be created by the following

        from the rootweb of a site collection, go to Site Action > Site Settings > Galleries > Site content types

        using a feature




- Workflow can be applied to what all elements of SharePoint ?
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 site ( Sharepoint 2010 )


- What are the ways to initiate the workflow ?

        Automatic (on item added or item deleted)

        Manual (standard WSS UI interface)

        Manual (Custom UI Interface)

        Programatically through custom code


7. What are the types of input forms that can be created for a workflow ?
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.


8. What are ways to create input forms for workflow ?
Two different approaches can be used to develop custom input forms for a WSS workflow template.
        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)

        using Microsoft Office InfoPath 2007 (disadv: picks up a dependenct on MOSS, i.e. it cannot run in a standalone WSS
environment)


9. What is the difference between method activity and event activity in WF ?
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.


10. What does SPWeb.EnsureUser method do?
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("mmangaldas");


11. While creating a Webpart, which is the ideal location to Initialize my new controls ?
Override the CreateChildControls method to include your new controls. To make sure that the new controls are initialized.. ca ll
'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.


12. How to query from multiple lists ?
Use SPSiteDataQuery to fetch data from multiple lists. more details..


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


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


15. What is ServerUpdate() ?
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.


16. What is query.ViewAttributes OR How can you force SPQuery to return results from all the folders of the list?
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\"";
What is the difference between an Internet and an intranet site?
An internet site is a normal site that anyone on the internet can access (e.g., www.msn.com, www.microsoft.com, etc.). You can set
up a site for your company that can be accessed by anyone without any user name and password.
An intranet (or internal network), though hosted on the Web, can only be accessed by people who are members of the network.
They need to have a login and password that was assigned to them when they were added to the site by the site administrator


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


- How customizable is the user-to-user access?
User permissions apply to an entire Web, not to documents themselves. However, you can have additional sub webs that can
optionally have their own permissions. Each user can be given any of four default roles. Additional roles can be defined by the
administrator.
Can each user have access to their own calendar?
Yes there are two ways to do this,

        by creating a calendar for each user, or

        by creating a calendar with a view for each user


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


- 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


- 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

                                     Easy to implement.                                 This option is least secure.
Increase the trust level for the     In a development environment, increasing the       This option affects all assemblies used by the virtual server.
entire virtual server. For more      trust level allows you to test an assembly with
information, see "Setting the        increased permissions while allowing you to        There is no guarantee the destination server has the
trust level for a virtual server"    recompile assemblies directly into the BIN          required trust level. Therefore, Web Parts may not work
                                     directory without resetting IIS.                    once installed on the destination server.

                                            Recommended approach.
                                     This option is most secure.

    Create a custom policy file
                                       An assembly can operate with a unique policy
for your assemblies. For more
                                     that meets the minimum permission                   Requires the most configuration of all three options.
information, see "How do I
                                     requirements for the assembly.
create a custom policy file?"

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

                                                                                             This option is less secure.
                                                                                        Assemblies installed in the GAC are available to all virtual
                                              Easy to implement.
                                                                                         servers and applications on a server running Windows
                            the
Install your assemblies in This grants Full trust to your assembly without affecting
                                                                                         SharePoint Services. This could represent a potential
GAC                                  the trust level of assemblies installed in the
                                                                                         security risk as it potentially grants a higher level of
                                     BIN directory.
                                                                                         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.




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


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


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


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


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


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


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


- 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 custom components suffixed with a .wsp extension that
aids in deployment. The big difference with SharePoint solution files 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), Webpart, etc.
Can provide Code Access Security provisioning to avoid GAC deployments
Just to name a few things…


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


- What file does a SharePoint solution package use to orchestrate (describe) its packaged contents?
The solution Manifest.XML file.
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.


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


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


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


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


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


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


- How could you append a string to the title of a site when it is provisioned?
In the OnActivated event:
view sourceprint?
1.SPWeb site = siteCollection.RootWeb;
2.site.Title += "interview";
3.site.Update();


- Can an event receiver be deployed through a SharePoint feature?
Yes.


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


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


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


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


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


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


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


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


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


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


- 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


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


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


- Can multiple SharePoint installs point to the same DB?
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.
- How to create links to the mapped network drives?
Creating links to mapped drives in WSS v3 or MOSS 2007 can be done via the new content type for .lnk files.


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


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


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


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


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


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


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


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


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


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


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


- 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
And much more..


- What is a .ddf file and what does it have to do with SharePoint Solution creation?
.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.


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


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


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


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


- When running with SPSecurity.RunWithElevatedPrivileges (web context) what credentials are being used?
In a web context, this is the application pool identity. In a timer job and workflow, this will be the 'Windows SharePoint Timer
Services' identity.


- When should you dispose SPWeb and SPSite objects? And even more important, when not?
You should always dispose them if you created them yourself, but not otherwise. You should never dispose
SPContext.Current.Web/Site and you should normally not dispose SPWeb if IsRootWeb is true. More tricky constructs are things
along the line of SPList.ParentWeb.
Also dispose each web when iterating over SPWeb.Webs
Also dispose SPLimitedWebPartManager's SPWeb property (.web)


- What bugs have you found in SharePoint? And what did you do to work around them?


- What base classes do event receivers inherit from?
SPListEventReceiver, SPItemEventReciever, and SPWebEventReceiver inherit from the abstract base class SPEventReceiverBase.
SPWorkflowLibraryEventReceiver inherits from SPItemEventReceiver.
SPEmailEventReceiver inherits directly from System.Object.


- What are the built in ways to backup a SharePoint install?
A: Through the central administration and the stsadm command


- (more advanced) You've created and deployed a Web Part, when you deploy to the server you get a page saying your Web Part
couldn't be loaded, click here to go to the Web Part maintenance page, etc. to disable the web part. What step(s) should you take
to get a stack dump from your web part instead of that error page?
Go to the web.config file for your website and find the CallStack Attribute in the SafeControls element and set the value to true


- How would you programmatically retrieve a list item?
SPQuery and SPSiteDataQuery. Bonus points for knowledge of CrossListQueryCache, PortalSiteMapProvider. Negative points for
use of foreach.


- What are the data types which are supported as Lookup column in SharePoint.
Only Single Line of Text and Calculated columns are supported as lookup columns.


- how can debugging share point application and timer jobs ? with steps?
1.      build application place .dll into gac and reset iis
2.      On the Debug menu, select Attach to Process
3.      select the Show processes from all users check box.
4.      select W3W.exe and OSWTIMER.exe can attach
5.      refresh sharepoint site point break point


- what is web part?
 Web Parts are the fundamental building blocks for Share Point user interface, and with them we can build and integrate many
different types of applications.In share point also be create custom web part using .oscx control
steps create custom web part
 1.     create web part project copied .oscx control and build application.place .dll file in GAC .reset IIS.
 2.     go 12 hive _layout folder create folder past your .oscx control
 3.     go inetpub ->wwwroot->wss->open Your site ->web con fig->create safe control write assembly information of web part
application
 4.     open sharepoint site ->site action-site editing->Galleries ->web part->new Add your web part.
 follow few web part in WSS 3.0
Content Editor Web Part
Data View Web Part
List View Web Part
Image Web Part
Members Web Part .
Page Viewer Web Part


 - What are the advantages of SharePoint Portal Services (SPS) over SharePoint Team Services (STS)?
 harePoint 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.


1) What are the two base classes a WebPart you are going to use within SharePoint 2007 can inherit from?
There are two base classes that a WebPart which is going to be consumed by SharePoint can inherit from, either the SharePoint
WebPart Base class or the ASP.NET 2.0 WebPart base class. When inheriting from the SharePoint WebPart Base class your derived
WebPart class will inherit from Microsoft.SharePoint.WebPartPages.WebPart. When inheriting from the ASP.NET 2.0 WebPart base
class your derived WebPart class will inherit from System.Web.UI.WebControls.WebParts.WebPart. It is considered good practice to
use the ASP.NET WebPart base class since the old base class is meant for backwards compatibility with previous version of
SharePoint, however there are four exception when it is better to leverage functionality from the SharePoint WebPart base class:
Cross page connections
Connections between Web Parts that are outside of a Web Part zone
Client-side connections (Web Part Page Services Component)
Data caching infrastructure
2) What are the differences between the two base classes and what are the inherit benefits of using one over another?
The difference is the Microsoft.SharePoint.WebPartPages.WebPart base class is meant for backward compatibility with previous
versions of SharePoint. The benefit of using the SharePoint WebPart base class is it supported:
Cross page connections
Connections between Web Parts that are outside of a Web Part zone
Client-side connections (Web Part Page Services Component)
Data caching infrastructure
ASP.NET 2.0 WebParts are generally considered better to use because SharePoint is built upon the ASP.NET 2.0 web architecture.
Inheriting from the ASP.NET 2.0 base class offers you features that inherit to ASP.NET 2.0, such as embedding resources as
opposed to use ClassResources for deployment of said types.
3) What is the GAC?
The GAC stands for the global assembly cache. It is the machine wide code cache which will give custom binaries place into the full
trust code group for SharePoint. Certain SharePoint assets, such as Feature Receivers need full trust to run correctly, and therefore
are put into the GAC. You should always try to avoid deployment to the GAC as much as possible since it will possibly allow
development code to do more than it was intended to do.
4) What is strong naming (signing) a WebPart assembly file mean?
Signing an assembly with a strong name (a.k.a strong naming) uses a cryptographic key pair that gives a unique identity to a
component that is being built. This identity can then be referred throughout the rest of the environment. In order to install
assemblies into the GAC, they must be strongly named. After signing, the binary will have a public key token identifier which can
be use to register the component in various other places on the server.
5) What are safe controls, and what type of information, is placed in that element in a SharePoint web.config file?
When you deploy a WebPart to SharePoint, you must first make it as a safe control to use within SharePoint in the web.config file.
Entries made in the safe controls element of SharePoint are encountered by the SharePointHandler object and will be loaded in the
SharePoint environment properly, those not will not be loaded and will throw an error.
In the generic safe control entry (this is general, there could be more), there is generally the Assembly name, the namespace, the
public key token numeric, the typename, and the safe declaration (whether it is safe or not). There are other optional elements.
6) What is the CreateChildControls() method? How can you use it to do something simple like displaying a Label
control?
The CreateChildControls method in WebParts is used to notify the WebPart that there are children controls that should be output for
rendering. Basically, it will add any child ASP.NET controls that are called instantiating each control with its relevant properties set,
wire any relevant event handlers to the control, etc. Then the add method of the control class will add the control to the controls
collection. In the relevant WebPart render method, the EnsureChildControls method can be called (or set to false if no child controls
should be called) to ensure that the CreateChildControls method is run. When using CreateChildControls it implies that your
WebPart contains a composition of child controls.
In order to create something like a label control in Create, you would create a new label control using the new keyword, set the
various properties of the control like Visible=True and ForeColor = Color.Red, and then use Controls.Add(myLabelControl) to add
the control to the controls collection. Then you can declare EnsureChildControls in the Render method of the WebPart.
7) What does the RenderContents method do in an ASP.NET 2.0 WebPart?
The render contents method will render the WebPart content to the writer, usually an HtmlTextWriter since WebParts will output to
an HTML stream. RenderContents is used to tell how the controls that are going to be displayed in the WebPart should be rendered
on the page.
*** Side Question: I got asked what the difference between CreateChildControls and the RenderContents method. The
CreateChildControls method is used to add controls to the WebPart, and the RenderContents method is used to tell the page
framework how to render the control into HTML to display on a page.
8) What is the WebPartManager sealed class? What is its purpose?
The WebPartManager sealed class is responsible for managing everything occurring on a WebPart page, such as the WebParts
(controls), events, and misc. functionality that will occur in WebPartZones. For example, the WebPartManager is responsible for the
functionality that is provided when you are working with moving a WebPart from WebPartZone to WebPartZone. It is known as the
―the central class of the Web Part Control Set.‖
*** Side Question: I got asked how many WebPartManager controls should be on a page. In order to have WebParts on a page
there has to be just one WebPartManager control to manage all the WebParts on the page.
9) What is a SPSite and SPWeb object, and what is the difference between each of the objects?
The SPSite object represents a collection of sites (site collection [a top level sites and all its subsites]). The SPWeb object represents
an instance SharePoint Web, and SPWeb object contains things like the actual content. A SPSite object contains the various
subsites and the information regarding them.
10) How would you go about getting a reference to a site?
Select For Unformatted Code
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?
Select For Unformatted Code
C#:
1.       using(SPSite mySite = newSPSite("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?
Select For Unformatted Code
C#:
1.       SPList interviewList = myWeb.Lists["listtoiterate"];
2.       foreach (SPListItem interview ininterviewList)
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 custom 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:
Select For Unformatted Code
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 ne w site
definition is automatically populated to all WFE‘s in the SharePoint farm.
Here is the part 1 of my list of questions that I typically use to screen candidates for their SharePoint skills/knowledge. I have also
included answers to the best of my knowledge. In my future posts, I will continue to expand on the current list of question for WSS
and include questions specific to MOSS.


Que:1 Explain the concept of ghosting/unghosting?
Ans:1 First of all, with the release of WSS 3.0, Microsoft has renamed the concept of ghosting/unghosting as
uncustomized/customized pages, but since it kind a makes look interviewer cool asking scary question, lot of people still use old
term i.e. ghosting/unghosting. Anyway, In order to answer this question, we should dive into inner workings of SharePoint and how
it renders site pages. For e.g. there is only 1 default.aspx page that is on the file server. But if you browse through SharePoint
designer you would see multiple instances of the same file (each residing in the root of every site). Thats actually an illusion :-). If
default.master is left uncustomized, then there is only 1 copy of that file which is served to all the sites in a site collection. If we
chose to customize the default.master page to the needs of a particular department (eg. HR needs to have a different Navigation
menu with different layout), the file is now stored in content database and served straight with the parser. This file now is only
specific to the HR department sites. Now the real question is why is customizing site pages bad? Well, you can imagine if a file is
ghosted (uncustomized), then the same file gets rendered to meet the needs of several hundreds of sites. But if you cutomize it
and if all the deparment start to customize their site pages, then you ar e bound to have performance issues because now instead
of leveraging caching etc now each request goes to the database and pages are served using the database content which adds
another layer and in-turn some latency.
Here is an image on how a page looks like in SharePoint designer if it is customized. Notice, that now the tooltip also says that
"Page is customized" instead of Unghosted (or whatever).




Que:2 Explain the heirarchy of SharePoint Object Model?
Ans:2 A farm is the highest entity in SharePoint object model which typically consists of a database server, an Application server (if
running MOSS), and atleast 2 web front end servers. A web application is the highest level in SharePoint which is nothing but a web
site in IIS 6.0. A web application can have multiple site collection and each site collection can have 1 to n web sites. Here is a
picture that sums up the hiearchy of SharePoint object model.




Que:3 What are different ways in which a SharePoint workflows can be kicked off (out of box)?
Ans:3 A SharePoint workflow can be started a) manually b) automatically when a new item is inserted c) automatically when an
existing item is changed.
Que:4 What are Site Pages? And how are they different from application pages?
Ans:4 Yet another commonly misunderstood phenomenon. Sites Pages are typically the pages that supports user customization.
For e.g default.aspx is a site page which a developer can modify using SharePoint designer. What this also means is that now the
page is customized state which will force the application to grab the file from content db and this will negatively impact
performance if not administered correctly. On the other hand, an application page actually serves several website. Even-though
there is just one version of the file in the physical file location, through creative use of URL re-writing (a product of .net 2.0
framework), the url appends _layout folder to each site, making it seem like copies of the same file. You can also have custom
application pages and store them on physicaly drive but I will caution you to read the best practices before you venture into this.


Que:5 What are site columns? How are they beneficial?
Ans:5 Site columns allows you to create a lookup columns in one location and share the column with any custom lists that would
need it. A good example where you would like to create a site column is company locations. Now every list that you create under a
site collection, it will have access to this site column, which will allow to re-use the same colum site wide. In future, if your
company opens new offices, then you only need to add the new location in the site column which will automatically update the all
the list using that site column.


Que:6 Describe the process of adding custom web-part available to SharePoint?
Ans:6 This question is important to understand the developer's grasp on the steps required to make this happen because it really is
not as easy as copying .dwp file to the file server and you are done. Nonetheless, here are the steps to make your webpart avaiable
to SharePoint. a) Strongly name the assembly and sign it with snk file. Create a key/pair file using sn.exe utility. b) In the
assemblyInfo.cs file add the line [assembly: AssemblyKeyFile("..\\..\\.snk")]. c) If you want the webpart to be available to all the
web applcation on a server, then you will have to put the .dll file into GAC. If the need is just to enable for a certain website, then
you can only copy the .dll file into the bin directly of that particular site. d) Copy the .dwp file into the wpcatalog folder and update
the SafeControls section of the web.config file to include the new webpart location. Alternatively, you can also install webpart by
creating a webpart package and manifest.xml & MakeCab utility. Once the cab file is created, simply run the following line.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 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.


The Chart Below illustrates some of the key classes contained in each of these namespaces, as well as to which functional area they
belong.


Document Libraries (Microsoft.SharePoint)
SPDocumentLibrary , SPPictureLibrary


Business Data Catalog (Microsoft.Office.Server.ApplicationRegistry.Administration)
EntityCollection , ApplicationRegistry
Features (Microsoft.SharePoint)
SPFeatureDefinition, SPFeatureScope, SPElementDefinition, SPFeature, SPFeatureProperty


Sites (Microsoft.SharePoint)
SPSite, SPSiteAdministration, SPSiteCollection, SPWeb


Meetings (Microsoft.SharePoint.Meetings)
SPMeeting, MtgUtility


User Profiles (Microsoft.Office.Server.UserProfiles)
UserProfile, UserProfileManager


Solutions (Microsoft.SharePoint.Administration)
SPsolution, SPFeatureReceiver, SPSolutionCollection


Lists (Microsoft.SharePoint)
SPList, SPListItem, SPListItemCollection


Notes:
* To use the SharePoint API, your code must reside on one of the machines in a SharePoint
application server farm. Your code can still work with other sites in the farm from any
other site in the farm, but you cannot, for example, work with the SharePoint API from a
machine on which MOSS or WSS is not installed.


* The only practical way to consume SharePoint data and functionality from a remote client is to use the SharePoint web services.


* The object model is not designed to support Remoting.


* To add a reference to a Sharepoint API, Right-click the project(in VS) and select Add Reference. Click the Browse tab and select
the
following directory:
C:\program files\common files\microsoft shared\web server extensions\12\isapi


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


Ans. By Using RunWithElevatedPrivileges method provided by SPSecurity class.
See e.g Impersonation in Sharepoint
Move to SharePoint 2010 with our
migration software. Download Now
Although not recommended, there may be times when you need your code to perform certain functions that the current user does
not have the necessary permissions to perform.


The SPSecurity class provides a method (RunWithElevatedPrivileges) that allows you to run a subset of code in the context of an
account with higher privileges than the current user.
The premise is that you wrap the RunWithElevatedPrivileges method around your code. And also In certain circumstances, such as
when working with Web forms, you may also need to set the AllowSafeUpdates method to true to temporarily turn off security
validation within your code. If you use this technique, it is imperative that you set the AllowSafeUpdates method back to false to
avoid any potential security risks.


Code example


{
SPSite mySite = SPContext.Current.Site;
SPWeb myWeb = mySite.OpenWeb();


//Using RunWithElevatedPrivileges


SPSecurity.RunWithElevatedPrivileges(delegate()
{
// Get references to the site collection and site for the current context.
// The using statement makes sures these references are disposed properly.


using (SPSite siteCollection = new SPSite(mySite.ID))
{


using (SPWeb web = siteCollection.OpenWeb(myWeb.ID))
{


web.AllowUnsafeUpdates = true;


try
{
//Your code
}


web.AllowUnsafeUpdates = false;


//siteCollection = null;
//web = null;


}
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.
Button Testbutton;
Image img;
string imagePath;


// Referring External Javascript
ClientScriptManager cs = Page.ClientScript;
// Include the required javascript file.
if (!cs.IsClientScriptIncludeRegistered("jsfile"))
cs.RegisterClientScriptInclude(this.GetType(), "jsfile", "/_wpresources/MyWP/1.0.0.0_9f4da00116c38ec5/jsfile.js");


Test :
Testbutton= new Button();
Testbutton.Text = "Click me";
Testbutton.OnClientClick = "jsfile_Function()"; // specify function name here
this.Controls.Add(Testbutton);


// Refering External CSS
Microsoft.SharePoint.WebControls.CssLink cssLink = new Microsoft.SharePoint.WebControls.CssLink();
cssLink.DefaultUrl = "/_wpresources/MyWP/1.0.0.0_9f4da00116c38ec5/styles.css";
this.Page.Header.Controls.Add(cssLink);


// Using External Image
imagePath = "/_wpresources/MyWP/1.0.0.0_9f4da00116c38ec5/Image.jpg";
img.ImageUrl = imagePath;
img.ID = "image1";


this.Controls.Add(mybutton);
this.Controls.Add(img);
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.


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
Some of the best practices for using Publishing Site are:


1. Keep Files UnCustomized - Try to keep your files UnCustomized or on the server. Avoid editing them in SharePoint designer or
by using SharePoint API if not needed. Customizing the files can cost you alot in terms of Performance and space as every
Customized or Unghosted file in is subjected to safe mode parser.Its basically, a little Check to see that everything on the Page is
allowed to run in SharePoint.


2. Avoid adding lot of WebParts on a single Page - Check the closed webparts on your page and make sure you delete them.


3. Memory Management- Always, Dispose SPSIte and SPWeb Objects if you have created them in your code. You can employ
certain coding techniques to ensure object disposal. These techniques include using the following in your code:


* Dispose method


* using clause


* try, catch, and finally blocks


Note : SPContext objects are managed by the SharePoint framework and should not be explicitly disposed in your code. This is true
also for the SPSite and SPWeb objects returned by SPContext.Site, SPContext.Current.Site, SPContext.Web, and
SPContext.Current.Web.


4. Reduce the Page Payload - SharePoint Page loads a lot of images from _layouts or other various paths which can make the Page
load a slow process. To avoid this Payload you can use clustering or stitching, which combines multiple images into a single image
file. You can then use CSS to clip parts of the image, giving users the impression that multiple images are being used.


5. Enable output caching for a site collection - For each page request for which an output cached version of a page is served, the
server does not have to:
* Make a round trip to the database to fetch the source code for the .aspx page and any .ascx controls on the page.
* Reload and re-render the controls.
* Requery any data sources that the controls rely on for data.
However, Output caching consumes additional memory. Each version of a page consumes memory on the Web client.When used
with two or more front-end Web servers, output caching may affect consistency.


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 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
here are two ways to deploy a custom aspx page in SharePoint.


1. Using VseWss extensions project. Here you won't need to create a solution package manually. All the files need to create a
solution package are created by the VS extensions itself. See the related Post Deploy Custom Css file in 12 hive. You can use same
method to deploy your Custom aspx page.
In this Post we will use VSewss extentions for deploy our Custom css file in sharePoint as Feature and solution package. Using
Vsewss empty project is the easist and quick way to deploy your files with a solution package and a feature.


Note : You can use this method to deploy various other files like custom aspx page, Custom Layout page, master page, Images,
javascript files etc in 12 hive.


Before you start make sure that you have latest version of VseWSS extentions installed for your appropriate Visual Studio Version .


Steps are :


1. Open the Vs and Create a SharePoint Type empty project
2. Next we will add a SharePoint object called "Templates". Once you hit add you will notice that a folder named "Templates" is
created in our project along with a text file called TempleFile.txt. We will however, delete the "TemplateFile.txt" file since we dont
need it, and will create a 12 hive folder structure under the added "Templates" folder to deploy for custom file. See the screens
below.


Adding Templates object:




Create Folder structure Layouts->1033->STYLES under Templates folder :




3. Now add your Custom Css file under STYLES folder. You can also create new one as i did in the below screen :
4. It added some Css classes ( just for testing) and Built the webpart.




5. After a succesful build. Lets hit Deploy. Once you hit deploy the Vsewss will create all the necessary solution and feature files for
your deployment ( See the status bar - Says Creating Solution). At this time you would probbaly get an error like "No SharePoint
Site exist at this url" this is because we have not specified the url of any SharePoint site for the deployment. You can however, get
the .wsp file or soltuion file from your project folder on your local machine and deploy it using stsadm.




To modify the solution package and feature related files created by Vsewss, click on a little icon "show all Files" in the solution
explorer bar.


6. Open Manifest.xml and verify the <Templefile> path.


1.      The second way is creating a solution package around your asp.net webapplication so that the pages in the webapplictaion
can be deployed in sharepoint. This requires you to manually create all the solution related files (I mean manifest.xml, feature.xml,
elements.xml and .ddf file).


In this Post, we will create a solution package manually for a asp.net webapplication project, so that the custom aspx page created
in asp.net web application can be deployed in SharePoint's Layouts folder.
Below are the Steps that you can follow :


1. Create a New WebApplication Project.


2. Create a new folder "MyCustomFolder" in the solution explorer and Add your custom aspx page (along with cs file) under it.


3. Add two more xml files in the same folder with names as elements.xml and feature.xml.


The Elements.xml File should look like below -


<elements xmlns="<a href=">http://schemas.microsoft.com/sharepoint/">
<module name="Pages" url="_layouts">
<file url="CustomPage.aspx" name="CustomPage.aspx" type="GhostableInLibrary"> </file>
</module>
</elements>
</div>
Note : Add Module name as ―Pages‖ and url as ‖ _Layouts ―


The Feature.xml File should look like below -


<feature id="79DD53E7-8719-45b0-8E25-C2450B3E3F14" title="Project.CustomPage" description="Custom Page" scope="Web"
version="1.0.0.0" hidden="false" xmlns="http://schemas.microsoft/sharepoint/">
<elementmanifests>
<elementmanifest location="elements.xml">
<elementfile location="CustomPage.aspx"> </elementfile> </elementmanifest>
</elementmanifests>
</feature></div>




4. Now, Create another xml file in the Project and name it as manifest.xml


The manifest.xml should look like below -


<solution xmlns="<a href=">http://schemas.microsoft.com/sharepoint/" SolutionId="A5A9C1C2-4EBF-40db-935F-
66085A9E0BE8">
<rootfiles>
<rootfile location="TEMPLATE\LAYOUTS\MyCustomFolder\CustomPage.aspx">
</rootfile>
<assemblies>
<assembly deploymenttarget="GlobalAssemblyCache" location="Project.CustomPage.dll">
<safecontrols>
<safecontrol assembly="Project.CustomPage Version=1.0.0.0, Culture=neutral, PublicKeyToken=a28586c97e90b41f"
namespace=" Project.CustomPage" typename="*" safe="True"> </safecontrol>
</safecontrols>
</assembly>
</assemblies>
</rootfiles>
</solution>


Note : If you are using some code behind with your aspx page, then change the Inherit tag in the aspx page to inherit from the
assembly of the project.
For e.g. change the tag to


Inherits="NameSpace.Class, NameSpace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2ef8d0c4bab8980b" Debug="true"


You dont need to deploy .cs file with the Project. The code is accessed via its .dll .


5. Finally Create the .ddf file ( its simply a text file with name as .ddf)


.ddf file would be something like below -


.OPTION Explicit ; Generate errors.Set CompressionType=MSZIP


.Set UniqueFiles=Off.Set


DiskDirectory1=Package


.Set CabinetNameTemplate=Project.CustomPage.wsp


manifest.xml


bin\ Project.CustomPage.dll


.Set DestinationDir=TEMPLATE\LAYOUTS\CustomPage.aspx


;sets the feature directory.


Set DestinationDir=CustomPageFolder


;adds the feature to the feature directory


MyCustomFolder\feature.xml


;adds the element to the feature


MyCustomFolder\elements.xml


I have created an empty folder in the Project with a name as ―Package‖ to save the .wsp file in it.




6. Sign the project with a key (Project Properties -> "signing tab" and browse your .snk key) and Build the Project.


7. Now, Add and deploy the .wsp solution which is under Package Folder in SharePoint using stsadm commands.
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?
Tools Used for SharePoint Administration
2.        Axceler's ControlPoint


Latest Version : ContolPoint 3.5


Description : ControlPoint 3.5 helps enterprises adopt and embrace Microsoft SharePoint more than ever before. ControlPoint 3.5
boasts powerful new capabilities that give enterprises more control over their configuration and deployment of SharePoint while
strengthening their SharePoint security.


Key Features: Moving sites, site collections, list, library, documents and items accross the farm.


DocAve


Latest Version : DocAve Software Platform v5.3


Description : DocAve Software Platform v5.3, is considered the industry's most comprehensive software solution for SharePoint
backup and recovery, administration, archiving, auditing, replication, reporting, compliance, and migration. This latest release
introduces the DocAve Storage Optimization Suite, comprised of an enhanced DocAve Archiver module, and the new DocAve
Connector and DocAve Extender modules - each delivering features that enable the efficient management of SharePoint storage.


Key Features : Used as a good SharePoint archiving solution. It has a great UI and performs good reporting and auditing.


Nintex Workflow 2007
Latest Version :
Description : Nintex Workflow 2007 enables organizations to build complex workflow processes quickly and easily using a web
browser interface. Nintex Workflow 2007 empowers users across the organization to automate business processes, review workflow
activities and automate common SharePoint administrative tasks.


Key Features : Easy to Use, and well intergrates with Active Directory.


Well, There might be a lot of useful tools out there, but these are the three that I have personaly used.
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 ha ppens 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.


strong>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
Method 1:


if (!Page.IsPostBack)
{
DataSet ds = new DataSet();


SPSite mySite = SPContext.Current.Site;
SPWeb myWeb = mySite.OpenWeb();


SPList list = myWeb.Lists["ListName"];
DataTable DTable_List = list.Items.GetDataTable();
DTable_List.TableName = "Table1";
ds.Tables.Add(DTable_List);




DropDownList.DataSource = ds.Tables["Table1"];
DropDownList.DataTextField = "FieldName";
DropDownList.DataValueField = "FieldName";
DropDownList.DataBind();
DropDownList.SelectedIndex = 0;


}


Method 2: Using SPDataSource
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
There are two ways to deploy a custom aspx page in SharePoint.


1. Using VseWss extensions project. Here you won't need to create a solution package manually. All the files need to create a
solution package are created by the VS extensions itself. See the related Post Deploy Custom Css file in 12 hive. You can use same
method to deploy your Custom aspx page.
In this Post we will use VSewss extentions for deploy our Custom css file in sharePoint as Feature and solution package. Using
Vsewss empty project is the easist and quick way to deploy your files with a solution package and a feature.


Note : You can use this method to deploy various other files like custom aspx page, Custom Layout page, master page, Images,
javascript files etc in 12 hive.


Before you start make sure that you have latest version of VseWSS extentions installed for your appropriate Visual Studio Version .


Steps are :


1. Open the Vs and Create a SharePoint Type empty project
2. Next we will add a SharePoint object called "Templates". Once you hit add you will notice that a folder named "Templates" is
created in our project along with a text file called TempleFile.txt. We will however, delete the "TemplateFile.txt" file since we dont
need it, and will create a 12 hive folder structure under the added "Templates" folder to deploy for custom file. See the screens
below.


Adding Templates object:




Create Folder structure Layouts->1033->STYLES under Templates folder :




3. Now add your Custom Css file under STYLES folder. You can also create new one as i did in the below screen :
4. It added some Css classes ( just for testing) and Built the webpart.




5. After a succesful build. Lets hit Deploy. Once you hit deploy the Vsewss will create all the necessary solution and feature files for
your deployment ( See the status bar - Says Creating Solution). At this time you would probbaly get an error like "No SharePoint
Site exist at this url" this is because we have not specified the url of any SharePoint site for the deployment. You can however, get
the .wsp file or soltuion file from your project folder on your local machine and deploy it using stsadm.




To modify the solution package and feature related files created by Vsewss, click on a little icon "show all Files" in the solution
explorer bar.


6. Open Manifest.xml and verify the <Templefile> path.




2. The second way is creating a solution package around your asp.net webapplication so that the pages in the webapplictaion can be
deployed in sharepoint. This requires you to manually create all the solution related files (I mean manifest.xml, feature.xml,
elements.xml and .ddf file).




In this Post, we will create a solution package manually for a asp.net webapplication project, so that the custom aspx page created
in asp.net web application can be deployed in SharePoint's Layouts folder.


Below are the Steps that you can follow :


1. Create a New WebApplication Project.


2. Create a new folder "MyCustomFolder" in the solution explorer and Add your custom aspx page (along with cs file) under it.


3. Add two more xml files in the same folder with names as elements.xml and feature.xml.


The Elements.xml File should look like below -
<elements xmlns="<a href=">http://schemas.microsoft.com/sharepoint/">
<module name="Pages" url="_layouts">
<file url="CustomPage.aspx" name="CustomPage.aspx" type="GhostableInLibrary"> </file>
</module>
</elements>
</div>
Note : Add Module name as ―Pages‖ and url as ‖ _Layouts ―
The Feature.xml File should look like below -
<feature id="79DD53E7-8719-45b0-8E25-C2450B3E3F14" title="Project.CustomPage" description="Custom Page" scope="Web"
version="1.0.0.0" hidden="false" xmlns="http://schemas.microsoft/sharepoint/">
<elementmanifests>
<elementmanifest location="elements.xml">
<elementfile location="CustomPage.aspx"> </elementfile> </elementmanifest>
</elementmanifests>
</feature></div>


4. Now, Create another xml file in the Project and name it as manifest.xml


The manifest.xml should look like below -


<solution xmlns="<a href=">http://schemas.microsoft.com/sharepoint/" SolutionId="A5A9C1C2-4EBF-40db-935F-
66085A9E0BE8">
<rootfiles>
<rootfile location="TEMPLATE\LAYOUTS\MyCustomFolder\CustomPage.aspx">
</rootfile>
<assemblies>
<assembly deploymenttarget="GlobalAssemblyCache" location="Project.CustomPage.dll">
<safecontrols>
<safecontrol assembly="Project.CustomPage Version=1.0.0.0, Culture=neutral, PublicKeyToken=a28586c97e90b41f"
namespace=" Project.CustomPage" typename="*" safe="True"> </safecontrol>
</safecontrols>
</assembly>
</assemblies>
</rootfiles>
</solution>


Note : If you are using some code behind with your aspx page, then change the Inherit tag in the aspx page to inherit from the
assembly of the project.


For e.g. change the tag to


Inherits="NameSpace.Class, NameSpace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2ef8d0c4bab8980b" Debug="true"


You dont need to deploy .cs file with the Project. The code is accessed via its .dll .


5. Finally Create the .ddf file ( its simply a text file with name as .ddf)


.ddf file would be something like below -


.OPTION Explicit ; Generate errors.Set CompressionType=MSZIP
          .Set UniqueFiles=Off.Set


          DiskDirectory1=Package


          .Set CabinetNameTemplate=Project.CustomPage.wsp


          manifest.xml


          bin\ Project.CustomPage.dll


          .Set DestinationDir=TEMPLATE\LAYOUTS\CustomPage.aspx


          ;sets the feature directory.


          Set DestinationDir=CustomPageFolder


          ;adds the feature to the feature directory


          MyCustomFolder\feature.xml


          ;adds the element to the feature


          MyCustomFolder\elements.xml


          I have created an empty folder in the Project with a name as ―Package‖ to save the .wsp file in it.




          6. Sign the project with a key (Project Properties -> "signing tab" and browse your .snk key) and Build the Project.


          7. Now, Add and deploy the .wsp solution which is under Package Folder in SharePoint using stsadm commands.




                                             Stsadm Interview questions SharePoint


Q. What is stsadm?
Ans. It is a Command-line tool used for administration of Office SharePoint 2007 (or MOSS 2007) servers and sites. 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.
Sharepoint bdc Interview questions
Friday, May 7, 2010
SharePoint 2010 Migration
            SharePoint 2010 migration with our
            free software. Download Now.
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 syste m.


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



                                  INFOPATH 2007 Overview
   Q.What is Office InfoPath 2007 and what does it do?
A.Office InfoPath 2007 can help you efficiently gather information through rich, dynamic forms. The information collected can easily be
  reused throughout organizations and across business processes because Office InfoPath 2007 supports industry-standard XML using any
  customer-defined schema. Office InfoPath 2007 customers who share information across their organizations and business processes can
  have greater business impact.
Q. What does Office InfoPath 2007 provide?
A.Office InfoPath 2007 provides you with an easy and efficient way to create rich, flexible forms. In addition, Office InfoPath 2007 provides a
  user-friendly interface for entering information into these forms and automatically updates the data in XML format. Ready-to-use sample
  forms in Office InfoPath 2007 provide templates for common usage scenarios. Extend the power of Office InfoPath 2007 to browser-based
  environments by integrating it with Microsoft Office Forms Services.
Q. Who is Office InfoPath 2007 designed for?
A.Office InfoPath 2007 was developed for teams and organizations that need to collect and use information. Office InfoPath 2007 is valuable
  to any business, IT professional, or organization that needs an efficient and flexible way to collect information that can be standardized,
  validated, and integrated with an organization's server systems.
Q. Why should I consider using Office InfoPath 2007?
A.Office InfoPath 2007 can help you obtain information in a timely manner, which can then help you make informed and effective decisions.
  You can use Office InfoPath 2007 to:
•           Collect information quickly and validate it against your organization's business criteria. This helps reduce errors, prevents you from
           having to redo work, and can help you get the information you need more quickly and accurately.
•         Gather information in XML according to any customer-defined schema so that it can be reused and shared across business processes and
           throughout your organization.
•          Provide you with a flexible way to collect information so you can adjust to changing business conditions.
•          Take advantage of existing IT investments and knowledge to ease deployment costs.


         Q. What are some of the typical ways teams and organizations might use Office InfoPath 2007?
         A.Office InfoPath 2007 can be applied to many different scenarios, either within organizations and workgroups, or across suppliers and
         partners. Using Office InfoPath 2007:
                  A division manager can design and implement a performance appraisal system.
                  A company can implement a timecard or expense reporting system.
                  A health insurance company can create and implement its forms, and then integrate them into its database system and with the
                   business processes of member hospitals.
                  A team or workgroup can submit weekly status reports


    Integration and Compatibility



                   What are the system requirements for Office InfoPath 2007?

                           See the system requirements for Office InfoPath 2007.


                     How does Office InfoPath 2007 work with existing servers and databases?

                           Office InfoPath 2007 works with any XML-enabled database or server by providing support for Web services and database
              interoperability.


                     What is XML and what does it have to do with Office InfoPath 2007?

                            XML is an open, industry-standard language for organizing and storing data. Having            data in XML means that the
              information is transportable and can be easily shared and reused.

                          The default file format for Office InfoPath 2007 is XML, and InfoPath 2007 supports any customer-defined schema, which
              means that information gathered using InfoPath forms more easily integrates with server systems. Using Office InfoPath 2007 to
              gather information can improve the flow of information throughout the organization. Office InfoPath 2007 is a great example of how
              Microsoft Office system programs take advantage of XML technology to help people, teams, and organizations manage and use
              information more productively.


                  How does Office InfoPath 2007 relate to Microsoft .NET connection software?

                       Microsoft .NET is a set of software technologies for connecting people, systems, information, and devices. It is built on a
              foundation of XML Web services, so that new and existing applications can connect with software and services across operating
              systems, programs, and programming languages. Office InfoPath 2007 works well as a client for Web services because it was built to
              work with XML and can help customers connect information with business processes and solutions.


                    What are the advantages of having Office InfoPath 2007 as a rich client application?

                          Office InfoPath 2007 provides powerful functionality such as business logic validation, rich text formatting, AutoCorrect,
              and spelling checker.




    1.             Which InfoPath 2007 features are not supported in InfoPath 2003?
    A brief overview can be found here: InfoPath 2007 features that are unavailable in InfoPath 2003.
    2.             What are browser-compatible forms?
InfoPath 2007 introduced the possibility to fill out InfoPath forms by using a browser such as Internet Explorer, Firefox, Netscape, or Safari.
          These types of forms are called InfoPath 2007 browser-compatible forms. For a complete list of browsers that can be used to fill out
          InfoPath forms, see Microsoft Office server system requirements.
For more information see Introduction to browser-compatible form templates.
3.            Can I use browser-compatible forms without installing Microsoft Office SharePoint Server 2007 (MOSS)?
Yes, you can, but you will have to install Forms Server to be able to run browser-compatible forms.
4.            What is Forms Server?
Forms Server is the extracted version of Forms Services that comes with Microsoft Office SharePoint Server 2007 (MOSS). It is sold and can
          be used separately from MOSS to run and fill out InfoPath 2007 browser-compatible forms.
For more information see Introduction to Office Forms Server.
5.            What do I need to be able to run Forms Server?
Windows SharePoint Services 3.0, which you can download, install, and use free of charge.
6.            How do I make InfoPath 2007 forms compatible with InfoPath 2003?
1.                     Open the form template that you want to save in InfoPath 2003 format.
2.                     On the File menu, click Save As.
3.                     In the Save as type list, click InfoPath 2003 Form Template.
4.                     Click Save.
For more information see Design a form template that works with InfoPath 2003 in the InfoPath 2007 Help and How-to.
7.            How do I retrieve the value of an InfoPath field through code?
In C# code:
XPathNavigator nav = MainDataSource.CreateNavigator();
          string fieldValue = nav.SelectSingleNode("//my:field1", NamespaceManager).Value;
In VB.NET code:
Dim nav As XPathNavigator = MainDataSource.CreateNavigator()
          Dim fieldValue As String = nav.SelectSingleNode("//my:field1", NamespaceManager).Value
8.            How do I set the value of an InfoPath field through code?
In C# code:
XPathNavigator nav = MainDataSource.CreateNavigator();
          nav.SelectSingleNode("//my:field1", NamespaceManager).SetValue("myValue");
In VB.NET code:
Dim nav As XPathNavigator = MainDataSource.CreateNavigator()
          nav.SelectSingleNode("//my:field1", NamespaceManager).SetValue("myValue")
9.            How do I call a web service through code?
In C# code:
// Create an XPathNavigator object to navigate the data source of the web service
          XPathNavigator nav = DataSources["HelloWorld"].CreateNavigator();
          // Set the value of the parameter to pass to the web service
          nav.SelectSingleNode("//dfs:queryFields/tns:HelloWorld/tns:name", NamespaceManager).SetValue("myValue");


          // Call the web service
          DataSources["HelloWorld"].QueryConnection.Execute();


          // Retrieve the results returned by the web service
          string results = nav.SelectSingleNode("//dfs:dataFields/tns:HelloWorldResponse/tns:HelloWorldResult",
          NamespaceManager).Value;
where HelloWorld is the name of a data connection to a web service.


          In VB.NET code:
' Create an XPathNavigator object to navigate the data source of the web service
          Dim nav As XPathNavigator = DataSources("HelloWorld").CreateNavigator()
         ' Set the value of the parameter to pass to the web service
         nav.SelectSingleNode("//dfs:queryFields/tns:HelloWorld/tns:name", NamespaceManager).SetValue("myValue")


         ' Call the web service
         DataSources("HelloWorld").QueryConnection.Execute()


         ' Retrieve the results returned by the web service
         Dim results As String = nav.SelectSingleNode("//dfs:dataFields/tns:HelloWorldResponse/tns:HelloWorldResult",
         NamespaceManager).Value
where HelloWorld is the name of a data connection to a web service.

                                                     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. For more information, see How to: Customize Themes.
To begin with, let’s look upon some things that you do need to know before you start with the Microsoft Product
called "SharePoint".


1. Microsoft Windows SharePoint Services 3.0 - an extension build on Windows Server 2003, which Provides the infrastructure
for collaboration and a foundation for building Web-based applications with this versatile technology. In short, it provides the base
for SharePoint Server 2007.


2. SharePoint and .Net - SharePoint development stack is build upon .Net Framework 2.0 so, it pretty much uses all the .Net
Framework 2.0 classes as its base classes. IT however, has its own SharePoint API model, which is commonly used for
development.


3. SharePoint and SQL - SharePoint definitely uses SQL server to store the data which is uploaded into it. So be ready with a big
SQl space to accommodate SharePoint data.


Now lets Start with the basic definition of SharePoint Server 2007 - Its a Collaboration software or a Content management Portal
which effectively manage and repurpose the content to gain increased business value. In simple words, SharePoint's main purpose
is to allow various departments\teams in the company to upload,manage and share documents using SharePoint sites. In addition
to Sharing documents,it also allows you to create and manage web sites, use workflows and various other options to implement the
business process.For more info see What is SharePoint Used For




SharePoint Administration - As it a server, you would definitely need to learn its administartion. SharePoint has two
options avaiable for administration.
1. Central admin - A website available to you immediately after you install SharePoint (and after you ran its Config wizard). This
website pretty much allows you to perform and function in SharePoint like Creating\Deleting Websites, Backup\Restore Sites,Set up
Users\accounts, Install Custom components and a lot more.


2. Stsadm Tool - This is a command line tool available in SharePoint, which allows you to perform all the administrative tasks that
you can do with Central admin site.


12 Hive - SharePoint stores a lot its Pages and resources on the file system itself for fast retrieval. These Pages or Files which
make SharePoint Interface, are arranged in a Folder structure which we call as 12 Hive. The 12 hive gets created at location
"C:\ProgramFiles\CommonFiles\Web Server Extentions\12" when you install the SharePoint sever initially. To Know more about 12
hive and SharePoint solution structure see 12 hive Folder Structure


SharePoint Development - SharePoint is also looked upon as a development platform, since all the components in SharePoint,
right from a small hyperlink to a fancy button is customizable. You can add your links, buttons , pages and even whole asp.net
application SharePoint using its deployment architecture.For more details see :Sharepoint 2007 development Tutorial


SharePoint Object Model -
In Sharepoint Object model there are two Important namespaces.
Microsoft.Office.Server - This is a root namespace of all Office Server objects. This means all the components or services
available in Offiice SharePoint Server like BDC, enterprise search etc can be accesed programmatically using this namespace.


Microsoft.SharePoint - This is the root namespace for all WSS 3.0 objects. Remember, Wss 3.0 is the base platform used by
Office SharePoint server. For all namespaces seeSharePoint 2007 Object model


What is SharePoint made of? - SharePoint Portal is a made of Web applications (WebSites in .Net), Site Collections (a top level
Site of the Web application) Web Site Pages,Subsites(or child sites of Site collectons),Webparts,features and more ... See the basic
defination for all SharePoint Components that you will use during development Important Definations.
    Five roles within SharePoint:
 Information Worker - People who use the site. They can be in charge of an individual list, maybe even a site, but no more than
    that. Most times they just have enough privilege to add documents to your document library and Check-in / Check-out items.
 SharePoint Site Admin - People who are delegated the responsibility of maintaining a site collection. These users are very much
    like a Power Users group within SharePoint. They have access to create additional subsites, create lists, restore documents using
    the Recycle Bin for other users, and so on.
 SharePoint Server Admin - People who are responsible for creating additional Web Applications, maintaining existing ones,
    enforcing Quotas on site collections, verifying backups, etc. Overall they are in charge of provisioning SharePoint and maintaining
    a healthy SharePoint environment.
 SharePoint Designer - People who are delegated the responsibility of customizing the SharePoint user experience, but do so in non-
    developer way. Typically these people are in charge of creating workflows using SharePoint Designer, adding content through the
    content management interface or through SharePoint Designer, and possibly are in charge of updating Layout pages or master
    pages to give your sites a more company intranet feel than a SharePoint intranet feel.
 SharePoint Developer - People who are delegated the responsibility of extending the capabilities of SharePoint via solution
    packages and features. Solution packages and features include things like: customized lists, customized site definitions, webparts,
    custom content types, extremely customized workflows, custom menus, etc.
 With that being said, The SharePoint Consultant would most likely take the role of SharePoint Server Admin. They might (until
    somebody internally can be brought up to speed) be the SharePoint Site Admin as well. Possibly (as in my case) they might even
    be the SharePoint Developer role as well, but don't count on that. There aren't that many developers who understand the server-
    side of things, and vice-versa. This is especially true with SharePoint.
    What is the difference between SharePoint Controls and ASP.Net Controls..? When do you use SP controls?


    Features-included-in-WSS-30-and-MOSS-2007-Service-Pack-1-(SP1)
    Basically a service pack (SP) is a collection of updates, fixes and/or enhancements to a software program delivered in the form of a
    single installable package. Microsoft has also issued two service packs for Microsoft Office SharePoint Server 2007 and Windows
    SharePoint Services 3.0.
    Following New Features are included in the WSS 3.0 and MOSS 2007 Service Pack1 (SP1):
    1. With SP1, WSS 3.0 and MOSS 2007 can be installed and used with Windows Server 2008 and IIS7.
    2. It includes support for AJAX. Now developers can use AJAX to create custom Web Parts. Developers can create Web Parts for
    asynchronous post pack by using either the Microsoft AJAX 1.0 Control toolkit or the AJAX 1.0 Extensions for ASP.NET.
    3. It includes following two new operations for the STSADM command line tool:

            Mergecontentdbs: Permits a site collection to be moved from one content database to another when the parameters
    souredatabasename and destinationdatabasename are specified.

            Renamesite: Changes a URL of a host-named site collection to a new URL.
    4. MOSS 2007 SP1 includes few changes to the properties for the People Picker Web control. Once MOSS 2007 SP1 is installed, you
    can use the peoplepicker properties with setproperty and getproperty operations to define the scope of the People Picker Web
    control to an Active Directory® directory service organizational unit.
    5. Service Pack 1 also includes over 60 hotfixes across all areas of WSS 3.0 and MOSS 2007. You can find the list of all hotfixes at
    http://support.microsoft.com/kb/942388 and http://support.microsoft.com/kb/942390.
    Windows SharePoint Services v3.0 vs Microsoft Office SharePoint Server 2007
    « H E » Kevin Hoffman :: email
    posted Thu 30 Nov 06
    Hopefully most people know that MOSS is a superset of WSS. In other words, MOSS takes the foundation laid by WSS v3.0 and
    expands upon it, creating features that sit on top of it, utilize the core WSS framework, and extend it in such a way that is
    beneficial to larger companies, enterprise deployments, and portal scenarios. The following is a list of things that MOSS provides
    that WSS v3.0 does not. I figured it would be a waste of text to show the features that the two have in common, or the places in
    which MOSS re-uses WSS functionality without change or enhancement.
    Features included in MOSS that are not included in WSS:
                  Social NetworkingMOSS provides social networking features, including social networking Web Parts and profile
linking. MOSS allows you to establish peer links between colleagues and identify hierarchical relationships. These relationsh ips can
be published on My Site pages and traversed wherever your personal profile appears on a site/web part.

                  My Site MOSS provides the ability for individual users of a portal to create their own "My Site". My Site is
essentially a home page / landing page designed to provide you with a starting point through which to access content that you own
and content that might be relevant to you. This is also the place where your personal profile is published. You can also create
shared and private image and document libraries, as well as your own pages and publication areas. You can also create your own
personal blog on your My Site. Some people think of a My Site as a "professional version of a MySpace site". I'll leave it up to you
as to whether you agree with that comparison or not.

                  Site Directory MOSS provides a new site template called "Site Directory". When you create your first portal via
MOSS, it comes with a Site Directory. This site template is designed specifically for tracking links to sites, displaying site maps and
site navigation lists, as well as searching through the site directory. With a Site Directory in your portal, you will be asked if you
want to publish a link to your new site every time you create a new site within the portal, regardless of its depth within the
hierarchy. This single feature is, in my opinion, absolutely required for any kind of Intranet deployment of SharePoint. And yes, that
means I think MOSS is a requirement for any real Intranet deployment of SharePoint on any kind of meaningful scale.

                  User Profiles MOSS allows for Active Directory-integrated user profiles. It also provides security around profile
properties. In other words, you can have information in your profile that is visible only to you, visible to your superiors, visible to
your colleagues, etc. You can control what audience can see which user profile properties, and much more than that. Again, I feel
that the enhanced user profile store features of MOSS make it almost a necessity, not an add-on.

                  Site Manager MOSS provides for an easy drag-and-drop interface for managing navigation bars, navigation
strips, portal hierarchy information, and much more. In general, managing sites, site hierarchies, and hierchical site content is
much easier (and in some cases simply made possible) with MOSS.

                  Portal or "Enterprise" templates MOSS comes with new templates for a Portal Site (the default root-level site
template of a portal site), Document Center, Search Center, Report Center (available only in the SharePoint 2007 Enterprise SKU,
not Standard), and Site Directory.

                  Search MOSS uses an enhanced relevance algorithm for its search engine, and is able to crawl content from
multiple sites within an enterprise, as well as non-sharepoint web sites. In short, the MOSS search engine is a powerful enterprise
search engine with a relevance algorithm, while the WSS site-local search engine is actually pretty useless beyond simple "dumb
keyword" search.

                  Knowledge Network / People Search MOSS provides an enhanced "people search" tool that can be used to
try and mine hidden relationship data and show you people related to knowledge. For example, if my name is splattered all over
dozens of websites that contain C#-related content, the idea is that MOSS will show you my name and profile in response to a
search for people related to C#, and suggest me as a local expert.

                  Business Data Catalog / Business Data Search I think this is quite possibly one of the most important
features in MOSS. It allows you to extend SharePoint data by integrating Business Data from external sources such as Web
Services or Relational Databases. This allows you to do things like display SAP data within your SharePoint portal, or add a column
to a Requirements Document stored in SharePoint that points to data stored in a Requirements Management tool elsewhere in your
enterprise. The possiblities for the BDC are limitless, and I really think every single SharePoint 2007 developer needs to learn this
stuff in and out (this is reflected in the extensive coverage of the BDC in our upcoming book, SharePoint 2007 Development
Unleashed .)

                  Document Workflow I can't stress how unbelievaly powerful this feature is. You can use the stock (included "in
the box") workflows such as collecting feedback and performing a review of a document, or you can create your own workflows
using a custom Workflow designer to create powerful (and really, really handy) workflows around specific types of documents like
Whitepapers or magazine article submissions, chapter submissions (hint, nudge), etc.

                  Excel Services MOSS provides the ability, through its Shared Services facility, to have what amounts to an
Excel server. This provides the ability to display the contents of excel spreadsheets within web parts, and to selectively allow
editing of secured regions of that spreadsheet, including evaluation of formulae contained within the sheet and having the results
display in real-time. There is also a UI-less version of this where you can access a stored central spreadsheet via webservices,
establish a "session", and programmatically feed data into the sheet and get formula-calculated values out of the sheet - all without
interfering with other people using the same centrally located spreadsheet. The impact to businesses that do anything at all with
Excel is huge.
In short, MOSS is a huge advantage. I won't talk about pricing, because the impact of dollars and cents on a business decision to
implement a particular technology is always specific to the industry and individual company. However, I will say this: pricing aside,
you'd have to be really really sure of your needs (or lack thereof) to bypass MOSS and just use WSS v3.0.


What is WSS and MOSS? Explain how it works?
Microsoft has divided share point products in two parts. One is called as WSS (Windows SharePoint services) and the other is MOSS
(Microsoft Office SharePoint server). WSS is the platform on which MOSS is built. The WSS part is licensed through Windows 2003
server and it does not cost. MOSS is separate product by itself and it needs licensing and it has a good amount of cost    . WSS is
good for small team and small projects. MOSS has extra functionalities in other words value added services. So the choice between
WSS and MOSS will depend on budget of the project and the VAS provided by MOSS.




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




In order to understand how Sharepoint works with IIS we need first understand the concept of "HttpHandlers and HttpModules". If
you are not aware of it you can refresh about the same at,
HttpHandler in ASP.Net: PART 1
HttpHandler in ASP.Net: PART 2
http://www.codeproject.com/KB/aspnet/HTTPHandler.aspx .


Using the HttpHandlers and HttpModules request is first passed through the Share Point runtime and then passed to the ASP.NET
runtime (aspnet_isapi.dll).
If you open the web.config file of a Sharepoint enabled IIS web application you can see the application run time handlers and
 modules.
<httpHandlers>
<add verb="GET,HEAD,POST" path="*" type="Microsoft.SharePoint.ApplicationRuntime.SPHttpHandler, Microsoft.SharePoint,
 Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
....
...
</httpHandlers>


We have highlighted the application runtime module.


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



Use of SQL Server in share point

SQL Server is used to store content and configuration information. We have two types of databases one is the content database and
 the other is the configuration database. We had said previously that content is according to every site. So every site has his own
 content database. For instance if we have a payroll site and recruitment site they have their own content database. Configuration
 database is for the entire site as they are used in web farms, site configuration and lot of other things which are generic and
 common across all the sites.
Windows SharePoint Services 3.0 (WSS 3.0) and Form Base Authentication
I believe that these days it is not necessary to explain what SharePoint is. Everyone at least heard the name. I would like to talk
about how to install Windows SharePoint Services 3.0 and how to configure it to work in Form Base Authentication mode. You can
ask me whyForm Base Authentication Mode? There are several reasons for choosing it. One of them was to provide a Web Hosting
with SharePoint enabled service. By using Form Base Authentication mode Webmaster can manage users directly through web
interface. In this mode all users stored in MS SQL database, so webmaster does not need to have any permission on server or
entire network.
So, let‘s start from scratch, step by step.
The first step is to Install Internet Information Service (IIS). To do this I really recommend using ―Manage Your Server‖
from Administration Tools and add a new role, Application server (IIS, ASP.NET). Please keep in mind NOT to do all this stuff
on Domain Controller, please install WSS 3.0 on Member server. After IIS successfully installed, start installation of Microsoft .NET
Framework Version 2.0 Redistributable Package. If Microsoft .NET Framework Version 2.0 Redistributable Package was already
installed, please reinstall it after IIS installation. When we finish with Microsoft .NET Framework Version 2.0 Redistributable
Package, we have to install Microsoft .NET Framework 3.0 Redistributable Package. If Microsoft .NET Framework Version 3.0
Redistributable Package was already installed, please reinstall it after IIS installation. So far, so good. We are ready to start MS
SQL 200x installation process. It is really straight forward process, so I‘m not going to explain how to press NEXT NEXT NEXT :).


By this point, we already have IIS 6 and MS SQL Server installed on our server. Before we continue, PLEASE install last windows
updates, at least for IIS and MS SQL.
When all new updates installed we are ready to start installation of Windows SharePoint Services (WSS 3.0). On ―Chose the
installation you want‖ screen select ―Advance‖.
On the next screen make selection according to the following picture:
When setup process completed, make sure to leave checkbox selected on the "Run the SharePoint Products and Technologies
Configuration Wizard" and click ‗Close‖ button.
The ―SharePoint Products and Technologies Configuration Wizard‖ should start immediately. On one of the next screens make
selection about ―farm‖ settings. In my case, I selected according to the following picture.
OK, now we have to provide information about our SQL server. You can see what I set on my server:
Make sure to check the next screen:
By clicking on ―Advance‖ button on the next screen you will see some information necessary for setting up "Active Directory Account
Creation Mode", but we will speak about this in another article, right now just remember about this. So, we are not going to click
on ―Advance‖ button :) we just click on NEXT button and relax for a next few minutes until wizard completed.


OK, now we have to create our first ―Web Application‖. To do this we should start ―SharePoint 3.0 Central Administration― and go to
the ―Application Management‖ tab. On this tab we have to select ―Create or extend Web application―.
On the next screen click on the ―Create a new Web application‖. Fill out all necessary information. Be careful in ―Application Pool‖
section. Take a look at my application:




Of course, you can use other user account, not Administrator, but when I make a configuration, I prefer not to waste time on
security issues and use Administrator account. When I get a working system I‘m starting a hardening process and perform a
security tasks. When Application created, we need to create a new site collection. This process is straight forward, so I don‘t what
to provide any additional information about it. After all stuff that we did we can start IE and navigate to the http://localhost. We
should gate something like this one:
At this point we can start setting up Form Base Authentication mode. Let‘s allow the Anonymous access to our web site. We need to
come back to our ―SharePoint 3.0 Central Administration‖ and go to ―Application Management‖ tab. On that tab go to Application
Security section and click on ―Authentication providers‖ link. On the next screen select yourWeb Application, and under
―Anonymous Access‖ section select ―Enable anonymous access‖ check box and then click on SAVE button. Now, when we turned on
anonymous access we have to go back to our default SharePoint web site (http://localhost) and from ―Site Actions‖ select ―Site
Settings‖.




On the next screen click on ―Advanced permissions‖ link and from ―Settings‖ select ―Anonymous Access‖




On the ―Change Anonymous Access Settings: WSS 3.0‖ window select ―Entire Web site‖ and click on OK button. We have enabled an
Anonymous Access and we can continue to the most interesting part of this article. On the next step I recommend to install
―Microsoft Visual Web Developer 2008 Express Edition‖ on SharePoint Server, it‘s absolutely free and could be downloaded from
Microsoft. We will use ―Microsoft Visual Web Developer 2008 Express Edition‖ later on.
One more time let‘s go to the directory ―C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727‖ and run file aspnet_regsql.exe. After
a few seconds you will see "ASP.NET SQL Server Setup Wizard" window. Click NEXT button, and on the appeared window select
"Configure SQL Server for application services" and YES, click NEXT again. Now we have to provide a server name where
our SQL server installed and click NEXT. On the next window, you will see that wizards going to create a database aspnetdb,
confirm this by clicking NEXT button and then click on FINISH button. Now, let‘s open an Application Pool on our SharePoint
Server and check what user we are using on ―Application pool identity‖ screen. To do this open IIS manager,
expend SERVER, Application Pools and select the pool used inSharePoint configuration. Right click on this pool and
select Properties. Switch to the Identity tab. You should see a screen similar to this one:




Keep in mind, that the user used to run SharePoint application pool (On IIS server) must have
permissionsdb_datareader and db_datawriter on just created aspnetdb database.
Now, let create a new directory, name it ―UserManagement‖. I created it on the following path:


C:\Inetpub\UserManagement


Inside UserManagement create a file web.config. To skip a long explanation about what should be inside this file I just show you
what I have inside my:


<?xml version="1.0"?>
<configuration>
   <appSettings/>
   <connectionStrings>
    <clear/>
    <add name="LocalSqlServer"
        connectionString="Server=WSS3-1;Database=aspnetdb;Integrated Security=SSPI;"
        providerName="System.Data.SqlClient"/>
    </connectionStrings>
   <system.web>
      <compilation debug="false">
      </compilation>
      <authentication mode="Forms" />
   </system.web>
</configuration>


Remember to provide a correct name of your server on the following line:


        connectionString="Server=WSS3-1;Database=aspnetdb;Integrated Security=SSPI;"


When we done with this, we need to create a new ―Virtual Directory‖ inside our SharePoint website. Open IIS Manager, find your
SharePoint website, and right click on it, select NEW and then ―Virtual Directory‖.




On the "Virtual Directory Access Permissions" window allow "Read" and "Run scripts (such as ASP)" permissions. Don‘t forget to go
to the Properties of this virtual directory and be sure that you use the same application pool as a mainSharePoint.
OK, now is time to start a ―Microsoft Visual Web Developer 2008 Express Edition‖. Now from
directoryC:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG we need to open machine.config file. Inside machine.config
find the following string:


"AspNetSqlMembershipProvider"


Few lines up you could see a line with following string:


―add name="LocalSqlServer" connectionString=‖


Please change this line according to the following example:


<add name="LocalSqlServer" connectionString="Server=WSS3-1;Database=aspnetdb;Integrated Security=SSPI;"
providerName="System.Data.SqlClient"/>


Ok, now we are going to File > Open Web site..., select Local IIS and UserManagement virtual directory:
Now, we need to start "ASP.net Web Site Administration Tool". From the menu go to Website and select "ASP.NET Configuration":




On the "ASP.net Web Site Administration Tool" window click on the Security link
On the next screen click on the ―Select authentication type‖ link. Be sure that ―From the internet‖ option selected




Now we can press DONE button. If we go to the Security tab and click on the ―Create user‖ link we could create a new user.
All users created trough this interface will be stored inside aspnetdb database.
Now let‘s open a web.config from our main SharePoint. In my case this file located
atC:\Inetpub\wwwroot\wss\VirtualDirectories\80 directory. Right after line </configSections> and before <SharePoint>add the
following section:


<connectionStrings>
<clear />
   <add name="LocalSqlServer" connectionString="Server=WSS3-1;Database=aspnetdb;Integrated Security=SSPI;"
   providerName="System.Data.SqlClient" />
</connectionStrings>


Finally we have to go back to our SharePoint. Start ―SharePoint 3.0 Central Administration‖. Inside the SharePoint 3.0 Central
Administration go to ―Application Management‖. Now we have to choose ―Authentication providers‖ by clicking on the
―Authentication providers‖ link from ―Application Security‖ section. Pick the current Web Application and click on provider right
here. Now we able to switch the Authentication Type to the Forms:




After switch to FORM we have to provide a Membership provider name. Set it to AspNetSqlMembershipProvider like I did this:




Of course, by the end click on SAVE button.
          So, now we can go back to our home site and if we did all staff correctly we will be able to login by using Form Base
          Authentication.


          Before I finish this article I‘d like to show you one more thing.
          By default "ASP.net Web Site Administration Tool" works ONLY locally. Here is what I did to allow using "ASP.net Web Site
          Administration Tool" remotely. Inside C:\Inetpub\ I created a directory ASP.NETWebAdminFiles and copy inside all content
          of %WINDIR%\Microsoft.NET\Framework\v2.0.50727\ASP.NETWebAdminFiles directory. Now, open a
          file App_Code\WebAdminPage.cs and change line:
          return WebConfigurationManager.OpenMappedWebConfiguration(fileMap, path);
          to the:
          return WebConfigurationManager.OpenMappedWebConfiguration(fileMap, path,"Default Web Site");
          In the same file found the following block:
                    if (!application.Context.Request.IsLocal) {
                        SecurityException securityException = new
          SecurityException((string)HttpContext.GetGlobalResourceObject("GlobalResources", "WebAdmin_ConfigurationIsLocalOnly"));
                        WebAdminPage.SetCurrentException(application.Context, securityException);
                        application.Server.Transfer("~/error.aspx");
                    }
          And remark it.
          Now, create a new website that runs on port 8080 and home directory of this site should be C:\Inetpub\TEMP (without any file
          inside this directory). Under current website, create a new Virtual Directory (ASPADMIN) with a home
          directoryC:\Inetpub\ASP.NETWebAdminFiles. Be sure that you use the same application pool that we use on our SharePointwebsite.
          Also, remember to check that ASP.NET version on the properties of this website and Virtual Directory. It should be 2.0.50727. In
          this case, I really recommend remove Anonymous access on this website.
          Now, from remote computer we can use "ASP.net Web Site Administration Tool" by browsing to the following address:
         http://192.168.32.10:8080/aspadmin/default.aspx?applicationPhysicalPath=C:\Inetpub\UserManagement\&applicationUrl=/UserMa
          nagement
         Note: Remember to put IP address or FQDN name of your server.
          What are the differences between SharePoint and its competitors?


SharePoint and Drupal
SharePoint supports ASP.NET; Drupal supports PHP
SharePoint only runs on Windows (supports interoperability with other platform, but requires Windows to run on); Drupal supports multiple
          operating systems
Of course, just because you are a ASP.NET or PHP developer, it does not mean you can‘t learn the other. :-)
The primary platform differences between SharePoint 2010 and MindTouch 2009 are:
                   MindTouch is more flexible – build anything in PHP, C#, Java, Java Script, DekiScript. Each page is programmable.
                   For non-programmers, MindTouch is more difficult to customize than SharePoint 2010.
                   MindTouch is open source, which means the code is readily available for you to modify and extend.
Index:STEP-BY STEP
1. Example of creating and deploying a custom Web Part using Visual Studio 2008 and Smart
Templates

2. SharePoint 2007 and workflow
3. Developing SharePoint 2007 Sequential and State Machine Workflows with Visual
Studio 2008

4. SharePoint Workflow Wizard in Visual Studio 2008
5. Building an Expense Report Approval Workflow for SharePoint Server 2007 Using Visual
Studio 2008 & InfoPath Forms 2007

6. Configuring and Deploying Workflows to SharePoint Server 2007 Using Solution
Packages.

7. Creating a Custom Approval Workflow for SharePoint Server 2007 Using SharePoint
Designer 2007

8. SharePoint Designer Article 2 - Creating an XSLT DataView for a
  SharePoint list

9. Creating a SharePoint Solution Package (.wsp) in 5 steps


10. Automating Solution Package Creation for Windows SharePoint Services by Using MSBuild

11. Using Solution Packages to Deploy Features and Content in Windows SharePoint Services
3.0

12. Using Visual Studio, MakeCab.exe and MSBuild to create Windows Sharepoint
Services V3 solution Files (*.WSP’s*)

13. Developing a SharePoint 2007 Feature... a step by step tutorial

14. Creating Business Data Catalog Entities in SharePoint Server 2007

15. How to... Publish your InfoPath form to SharePoint – A series of Forms and
SharePoint-ing




 At this point, I can say “The End”. It’s time to relax and to drink a good beer :).

				
DOCUMENT INFO