q. what are application pages in sharepoint? · q. what are application pages in sharepoint? ans :...

22
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. Q. Which is Better a UserControl or WebPart? Ans: Advantages of Using User Control are : Advantages of User control There are three primary advantages to user controls when dealing with SharePoint. They are: familiarity, reusability, and development speed. *Familiarity: One of the keys to development is managing the degree of change that the team is put through as it transitions from technology to technology. Part of managing that change is minimizing it where possible. This is one of the reasons that user controls are such a good solution for many organizations. User controls are a core ASP.NET construct, they are something that developers are likely already familiar with — or at least aware of. This familiarity increases the knowledge reuse coming into the project, which keeps morale high, improves productivity, and improves reuse of the experience after the SharePoint project. *Reusability Another way user controls are advantageous is that they can be used with other ASP.NET-based solutions. They aren't explicitly tied to SharePoint. If for some reason in the future you decide that SharePoint isn't the right platform for the solutions you're building — or you decide you need to reuse the technology in another non-SharePoint project — you have that capability. *Development Speed: Direct support by Visual Studio for a visual interface for user controls — as opposed to manually adding in controls through code — is a great advantage in development speed. Having a visual look and feel instantly available makes the process go faster. *Debugging is faster too, as you can construct testing harnesses that fully exercise and instrument the user control. Web Parts are essentially only runable from within SharePoint. This means that you must deal with all of the SharePoint infrastructure while trying to debug. Maintenance is also easier and faster with User Controls, primarily because they are easier to understand and debug. The net of this is that developing with user controls is substantially faster than developing a Web Part for everything but the most trivial implementations Q. When to use Diffrent Site Collections? Ans. An Individual Site collection offers following : For the Users: Dedicated Recycle bins Dedicated usage Reports Distributed administration (site collection administrators) Dedicated search scopes, keywords, and best-bets

Upload: others

Post on 19-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

Q. What are Application Pages in SharePoint?Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed once per Webserver 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 notcustomizable on a per site basis (although the contents can be different for sites).

With application pages, you can also add inline code.

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

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

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

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

Q. When to use Diffrent Site Collections?Ans. An Individual Site collection offers following :For the Users:Dedicated Recycle binsDedicated usage ReportsDistributed administration (site collection administrators)Dedicated search scopes, keywords, and best-bets

Page 2: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

Custom feature deploymentsDedicated language translation maintenanceDedicated galleries for web parts, master pages, content types, site columns, site templates, and listtemplatesDedicated shared libraries, such as site collection images and site collection stylesDedicated real estate (Self Containment)

For the IT Administrators:Site quota templatesDistributed administrationSite lockingDatabase maintenance optionsBackup / Restore abilitiesContent DeploymentsInfoPath forms services global template targeting

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

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

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

Q. What is Authentication and Authorization.Ans : An authentication system is how you identify yourself to the computer. The goal behind anauthentication 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 decideswhat the user can do.

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

Q. What is the relationship between Microsoft SharePoint Portal Server and Microsoft WindowsServices?Ans. Microsoft SharePoint Products and Technologies (including SharePoint Portal Server and WindowsSharePoint Services) deliver highly scalable collaboration solutions with flexible deployment andmanagement tools. Windows SharePoint Services provides sites for team collaboration, while SharePoint Portal Server connects these sites, people, and business processes-facilitating knowledge sharing

Page 3: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

and smart organizations. SharePoint Portal Server also extends the capabilities of Windows SharePointServices by providing organizational and management tools for SharePoint sites, and by enabling teamsto publish information to the entire organization.

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

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

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

Q. What are the types of input forms that can be created for a workflow ?Ans. You can create four different types of input forms including1. An association form2. An initiation form3. A modification form4. A task edit form.

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

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

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

Q. What are content types?Ans. A content type is a flexible and reusable WSS type definition (or we can a template) that defines thecolumns and behavior for an item in a list or a document in a document library. For example, you can

Page 4: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

create a content type for a leave approval document with a unique set of columns, an event handler, andits 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 theSPListEventReciever base class for list level events, or inheriting from the SPItemEventReciever baseclass. Whenever the content type is instantiated, it will be subject to the event receivers that areassociated with it.

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

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

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

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

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

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

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

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

Q. While creating a Web part, which is the ideal location to Initialize my new controls?Ans. Override the CreateChildControls method to include your new controls. You can control the exact

Page 5: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

rendering of your controls by calling the .Render method in the web parts Render method.

Q. What are the two base classes a WebPart you are going to use within SharePoint 2007 caninherit from?Ans. There are two base classes that a WebPart which is going to be consumed by SharePoint caninherit from, either theSharePoint WebPart Base classor theASP.NET 2.0 WebPart base class.When inheriting from the SharePoint WebPart Base class your derived WebPart class will inherit fromMicrosoft.SharePoint.WebPartPages.WebPart. When inheriting from the ASP.NET 2.0 WebPart baseclass your derived WebPart class will inherit from System.Web.UI.WebControls.WebParts.WebPart. It isconsidered good practice to use the ASP.NET WebPart base class since the old base class is meant forbackwards compatibility with previous version of SharePoint, however there are four exception when it isbetter to leverage functionality from the SharePoint WebPart base class:Cross page connectionsConnections between Web Parts that are outside of a Web Part zoneClient-side connections (Web Part Page Services Component)Data caching infrastructure

Q. What is the WebPartManager sealed class? What is its purpose?Ans. The WebPartManager sealed class is responsible for managing everything occurring on a WebPartpage, 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 areworking with moving a WebPart from WebPartZone to WebPartZone. It is known as the “the central classof the Web Part Control Set.”

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

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

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

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

Page 6: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

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

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

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 thelists.asmx web service by establishing a web reference in Visual Studio. The lists.asmx exposes theGetListItems method, which will allow the return of the full content of the list in an XML node. It will takeparameters like the GUID of the name of the list you are querying against, the GUID of the view you aregoing to query, etc.Side Question: I got asked how I built queries with the lists.asmx web service. In order to build querieswith this service, one of the parameters that the GetListItems method exposes is the option to build aCAML query. There are other ways to do this as well, but that was how I answered it.

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

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

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

Q. What are WebPart properties, and what are some of the attributes you see when declaringWebPart properties in code?Ans. WebPart properties are just like ASP.NET control properties, they are used to interact with andspecify attributes that should be applied to a WebPart by a user. Some of the attributes you see withASP.NET 2.0 properties are WebDescription, WebDisplayName, Category, Personalizable, and

Page 7: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

WebBrowsable. Although most of these properties come from theSystem.Web.UI.WebControls.WebParts class, ones like Category come out of System.ComponentModelnamespace.

Q. Why are properties important in WebPart development, and how have you exploited them inpast development projects? What must each custom property have?Ans. Properties are important because WebParts allow levels of personalization for each user. WebPartproperties make it possible for a user to interact, adjust, and increase overall experience value with theprogrammatic 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 thetext on the WebPart design interface so that they can display whatever string of text they desire.Each custom property that you have must have the appropriate get and set accessor methods.

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

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

Q. What is a .ddf file and what does it have to do with SharePoint Solution creation?Ans. A .ddf file is a data directive file and is used when building the SharePoint solution bundle specifyingthe 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 theSharePoint solution file.

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

Q. What deployment mechanism can you use to instigate Code Access Security attributes for yourWebParts?Ans. SharePoint solution files can add in order to handle code access security deployment issues. This isdone in the element in the SharePoint solution manifest.XML, which makes it easier to get assemblies the

Page 8: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

appropriate permissions in order to operate in the bin directory of the web application.

Q. What are event receivers?Ans. Event receivers are classes that inherit from the SpItemEventReciever or SPListEventReciever baseclass (both of which derive out of the abstract base class SPEventRecieverBase), and provide the optionof 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 ascanceling an action, such as deleting a document library by using the Cancel property. This wouldessentially prevent users from deleting any documents if you wanted to maintain retention of stored data.

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

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

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

Q. Workflow can be applied to what all elements of SharePoint ?Ans. While workflow associations are often created directly on lists and document libraries, a workflowassociation can also be created on a content type that exists within the Content Type Gallery for thecurrent 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 scopeAt the level of a content type defined at list scope

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

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

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

Page 9: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

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

Q.How Does SharePoint work?Ans. The browser sends a DAV packet to IIS asking to perform a document check in. PKMDASL.DLL, anISAPI DLL, parses the packet and sees that it has the proprietary INVOKE command. Because of theexistence of this command, the packet is passed off to msdmserv.exe, who in turn processes the packetand uses EXOLEDB to access the WSS, perform the operation and send the results back to the user inthe form of XML.

Q. What is the difference between Syncronous & Asyncronous events?Syncronous calls ending with 'ing'E.g. ItemDeletingEvent Handler code execute BEFORE action is committedWSS waits for code to returnOption to cancel and return error code

Asyncronous calls ending with 'ed'E.g. ItemDeletedEvent Handler code executes AFTER action is committedWSS does not wait for code to returnExecuted in its own Worker thread.

Q. What is ServerUpdate() ?Ans. Any changes in the list, i.e. new addition or modification of an item.. the operation is complete bycalling 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 newversion, then use the SystemUpdate method instead and pass in 'false' as the parameter.

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

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

The Microsoft.Office.Server namespace is the root namespace of all Office Server objectsand Microsoft.SharePoint is the root namespace for all WSS objects.

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

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

Page 10: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

Q. How do you debug SharePoint Webparts?

Ans. To debug SharePoint webpart (or any solution) you can simply drag and drop your complied .dll inGAC 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 orPortalSiteMapProvider Class.

Q. How Do you implement Impersonation in ShrePoint.

Ans. By Using RunWithElevatedPrivileges method provided by SPSecurity class.

Q: What is the performance impact of RunWithElevatedPrivileges?

Ans. RunWithElevatedPrivileges creates a new thread with the App Pool's credentials, blocking yourcurrent 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 thepage 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 bythe SharePoint application to generate the sites users can create. Site Templates are created by users asa 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 canuse it for various purposes.

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

Page 11: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

Ans. You can use it to assign an event receiver feature to a specific type of list or can write a code in afeature 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, andhow 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 inyour webpart, you need to first register them to your webpart page and then specify a virtual path for thefile for e.g. _layouts\MyCSS.css

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 yourcode. You can dispose them in Finally block or you can use the "Using" clause, so that they getsdisposed when not required. If you are using SPContext then you need not dispose the spsite or spwebobjects.

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 foryour 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 in12 hive. Also, make sure that all the references (for e.g. Css or .js files) get removed when the solution isretracted.

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

Ans. Using SystemUpdate() will not create a new version and will also retain timestamps.

Q. Why would you use LINQ over CAML for data retrieval?Ans. Unlike CAML, with LINQ to SharePoint provider, you are working with strongly typed list itemobjects. For example, an item in the Announcements list is an object of type Announcement and an item

Page 12: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

on a Tasks list is an object of type Task. You can then enumerate the objects and get the properties foryour use. Also, you can use LINQ syntax and the LINQ keywords built into C# and VB for LINQ queries.

Q. Can we use our custom master page with the application pages in SharePoint 2010 ?Ans. With 2010, you can now set whether the pages under _Layouts use the same Master Page as therest of your site. You can enable or disable this functionality through the web application settings inCentral Administration. This however, is not applicable to your custom application pages. If you want yourcustom applictaion page to inherit the site master page you must derive it fromMicrosoft.SharePoint.WebControls.LayoutsPageBase class.

Q. What are WebTemplates and Site Definitions ?Ans. Site definitions consist primarily of multiple XML and ASPX files stored on a front-end Web server infolders under the %ProgramFiles%\Common Files\Microsoft Shared\web serverextensions\14\TEMPLATE\SiteTemplates directory.Custom Web templates on the other hand, are stored in the database, and are created using an existingsite, with or without its specific content, as a model. This provides a means for reusing sites that you havecustomized.In some ways, Web templates continue to depend, throughout their lifecycle, on the sitedefinition that is their ultimate foundation.

Q. How do you write to SharePoint ULS logs in 2010 ?Ans. In SharePoint Foundation, ULS exposes configurable settings in two ways, through the – Objectmodel and Windows PowerShell cmdlets. For writing to SharePoint ULS logs developers can can useDiagnostics Service, which will make the customized categories viewable in the administrative UI for ourerrors.or they can use the number of cmdlets available for accessing ULS logs using powershell. Some of thecmdlets are Get-SPDiagnosticConfig ,Get-SPLogEvent etc.

Q. What does CMDUI.XML contain?Ans. The definitions for the out-of-the-box ribbon elements are split across several files in the SharePointroot, with TEMPLATE\GLOBAL\XML\CMDUI.XML being the main one.

Q. When do you use SPSiteDataQuery ?

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

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

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

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

Ans. To do this you can either create a new list type(again a feature) and use the listtype number for thenew list in your RegistrationType property of the Customaction. The CustomAction will then show up only

Page 13: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

for the items of this list type. or You can create a new content type and then use that content type's id inyour cutsomaction to bind the custom action to items of just that content type. Add the new content typeto the list where you need this customaction.

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

Ans. You would need to wrap the web application in a solution package in order to deploy it in 12 hive orsay ShraePoint. It is recommended to create a feature first, and then wrap everything in a Solutionpackage.

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 thedpeloyment using stsadm command stsadm –o cancaldeployment –id {GUID} command. The Id herewould be GUID of the timer or deployment job. You can get the Id from stsadm enumdeploymentcommand. 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 makepublishing.

Q. What are Application Pages in SharePoint?

Ans. Unlike site pages (for example, default.aspx), a custom application page is deployed once per Webserver 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 notcustomizable 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 anauthentication 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 decideswhat 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 thepage or can use tools like SmartPart, which is again a webpart to load user control on the page. UserControl can be deployed using a custom solution package for the webapplication or you can also thecontrol in the webpart solution package so that it gets deployed in _controlstemplate folder.

Page 14: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

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 awebpart which adds an overhead. User Controls however, gives you an Interface to add controls andstyles.

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

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

SharePoint_AdminContentSharePoint_ConfigWWS_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 thecolumns and behavior for an item in a list or a document in a document library. For example, you cancreate a content type for a leave approval document with a unique set of columns, an event handler, andits 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 theSPListEventReciever base class for list level events, or inheriting from the SPItemEventReciever baseclass. Whenever the content type is instantiated, it will be subject to the event receivers that areassociated 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 beregister 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 exactrendering 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?

Page 15: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

Ans.In order to retrieve list items from a SharePoint list through Web Services, you should use the lists.asmxweb service by establishing a web reference in Visual Studio. The lists.asmx exposes the GetListItemsmethod, which will allow the return of the full content of the list in an XML node. It will take parameters likethe 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 sitecollection or sites are created; everything is created in the content database. The Pages for the sitecollection are created as instances in the content database. These instances refer to the actual file on thefile 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) andapplication pages.

Uncustomized :

When you create a new SharePoint site in a site collection, Windows SharePoint Services provisionsinstances of files into the content database that resides on the file system. That means if you create anew Site "xyz" of type Team Site(orTeam sIte Definition), an instance of the Team Site Definition( Whichresides on the File System), i.e. "xyz" gets created in the Content database. So, When ASP.NET receivesa request for the file, it first finds the file in the content database. This entry in the content database tellsASP.NET that the file is actually based on a file on the file system and therefore, ASP.NET retrieves thesource 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 contentdatabase. This happens When you modify the file in any way through the SharePoint API, or bySharePoint Designer 2007,which uses the SharePoint API via RPC and Web service calls to change filesin sites. So, When the file is requested, ASP.NET first finds the file in the content database. The entry inthe database tells ASP.NET whether the file is customized or uncustomized. If it is customized, it containsthe 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 baseclass (both of which derive out of the abstract base class SPEventRecieverBase), and provide the optionof responding to events as they occur within SharePoint, such as adding an item or deleting an item.

Page 16: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

Q. When would you use an event receiver?

Ans. Since event receivers respond to events, you could use a receiver for something as simple ascanceling an action, such as deleting a document library by using the Cancel property. This wouldessentially 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 goabout 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 canu 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 occursbefore an action has take place. For example, an asynchronous event is ItemAdded, and its sistersynchronous 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 aWSS_Minimal permission set for all other Web Parts, You need to create a Custom policy file. This filewill be then referenced in SharePoint Web.config file and will allow your specific webpart to be of Fulltrust.Steps :1. Make a copy of the WSS_Minimal.Config file from the 12\Config folder and paste it into the same folderrenaming it to Custom_WSS_Minimal.Config. Now, edit the Custom_WSS_Minimal.Config file usingNotePad. Obtain the Public Key Token for the Web Part assembly that you want to deploy, using thefollowing command: sn –Tp filename.dll. Create a new entry in your Custom_WSS_Minimal.Config file foryour WebPart. Save the File.Finally, Create a new TrustLevel element for your config file in the Web.Config calledCustom_WSS_Minimal that points to your custom file in the 12\config folder. Recycle the Application Pooland 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 anew Web application in IIS. Then the WSS, loads the custom HTTP application and replaces all installedHTTP handlers and modules with Windows SharePoint Services–specific ones. These handlers andmodules essentially tell IIS to route all file requests through the ASP.NET 2.0 pipeline. This is becausemost files in a SharePoint site are stored in a Microsoft SQL Server database.

Page 17: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

Q. How would you pass user credentials while using SharePoint WebService from your Web Partor 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 specifieduser

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

Ans. No, Webpart does not get removed from the WebPart gallery on retraction. You can write a featurereceiver 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 variousscopes throughout a SharePoint instances, scope of which are defined as1. Farm level 2. Web Application level 3. Site level 4. Web levelFeatures have their own receiver architecture, which allow you to trap events such as when a feature isInstalling, Uninstalling, Activated, or Deactivated.

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

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

Q. How Do you bind a Drop-Down Listbox with a Column in SharePoint List ?Ans.Method 1 : You can get a datatable for all items in the list and add that table to a data set. Finally, specifythe dataset table as datasource for dropdown listbox.

Method 2 : You can also use SPDatasource in your aspx or design page.

Q. How Does SharePoint work?

Ans. The browser sends a DAV packet to IIS asking to perform a document check in. PKMDASL.DLL, anISAPI DLL, parses the packet and sees that it has the proprietary INVOKE command. Because of theexistence of this command, the packet is passed off to msdmserv.exe, who in turn processes the packetand uses EXOLEDB to access the WSS, perform the operation and send the results back to the user inthe form of XML.

Page 18: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

Q. What is CAML?

Ans. CAML stands for Collaborative Application Markup Language and is an XML-based languagethat isused inMicrosoft Windows SharePoint Services to define sites and lists, including, for Eg, fields, views, orforms, but CAML is also used to define tables in the Windows SharePoint Servies database during siteprovisioning. 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, addthe references for various sharepoint assemblies on the Page. Then wrap the Code in PlaceHolderMaincontentPlaceholder, so that it gets displayed as a content page. Lastly, add a reference to SharePointMaster Page in aspx file and swicth it in Code behind if needed.

Q. How does Ribbon works ?Ans. A file called CMDUI.XML stays at the web front end which contains the Out-of-Box site wide Ribbonimplementation i.e. all the Ribbon UI for the entire site. In addition to this you have a CustomAction foreach ribbon component. These CustomActions have CommandUIExtentions block which hasCommandUIDefinitions and CommandUIHandlers which make up the activity of the ribbon component.So, when the ribbon is loaded the CommandUIDefinition merges with Out-of-Box definition in theCMDUI.XML

Q. How will you use WebParts or other solutions Created in SharePoint 2007 in SharePoint 2010 ?Ans. In SharePoint 2010 the 12 hive is now replaced by 14 hive, So we will rewrite and recompile anycode that refers to files and resources in “12″ hive. In addition to we must recompile custom code writtenfor Windows SharePoint Services 3.0 and Office SharePoint Server 2007 that does not run on IIS.

Q. What is the advantage in using Windows PowerShell over stsadm in SharePoint 2010 ?Ans. Unlike stsadm, which accept and return text, Windows PowerShell is built on the Microsoft .NETFramework and accepts and returns .NET Framework objects.Windows PowerShell also gives youaccess to the file system on the computer and enables you to access other data stores, such as theregistry and the digital signature certificate stores etc..

Q. What is REST ? How is it used in SharePoint 2010 ?Ans. REST (Representational State transfer) is a protocol (powered by ADO.NET services) which is usedfor getting data out of sharepoint via Url. It is mostly used to access data from sharepoint even when youare not in the sharepoint context.

Q. What datatype is retured by REST ?Ans. REST does not return an object of type SharePoint Site\List. Instead, it returns an XML output.

Q. What has Changed in SharePoint 2010 Object model?Ans. Microsoft has replaced the “12 hive” structure that we had in SharePoint 2007 with “14 Hive”structure in 2010.It has apparently added four new folders to its hive.

Page 19: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

The Folders are :* Policy* UserCode* WebClients* WebServices

Q. How would you deploy WebPart Using Windows PowerShell?Ans. At the Windows PowerShell command prompt (PS C:\>), type the below command :Install -SPWebPartPack -LiteralPath “FullPathofCabFile” -Name “Nameof WebPart”

Q. How would you re-deploy the old custom solutions in SharePoint 2010.What Changes areneeded to the old Solution files.Ans. SharePoint 2010 object model contains many changes and enhancements, but our custom code willstill compile and, will run as expected. You should however, rewrite and recompile any code that refers tofiles and resources in “12 hive”.For Details See :SharePoint Object Model – Backward Compatibility

Q. How would you add a link in the Ribbon?Ans. You can add any link or Custom Action under any of the existing tabs of the ribbon or can create anew a new tab and place your links under it.

Q. What does CMDUI.XML contain?Ans. The definitions for the out-of-the-box ribbon elements are split across several files in the SharePointroot, with TEMPLATE\GLOBAL\XML\CMDUI.XML being the main one.

Q. What are the Disadvantages of Using LINQ in your Code?Ans. LINQ translates the LINQ queries into Collaborative Application Markup Language (CAML) queriesthus adding an extra step for retrieving the items.

Q. What is different with SharePoint 2010 workflows ?Ans. Some of the additions in workflow model are :1. SharePoint 2010 workflows are build upon the the workflow engine provide .Net Framework 3.5.2. In addition to the SharePoint lists we can now create workflows for SharePoint sites as well.3. SharePoint Designer 2010 also has a new graphical workflow designer for designing workflows anddeploying them directly to SharePoint.4. Another Improvement in SharePoint Designer 2010 is that it now allows you to edit the out-of-the-boxworkflows that come with SharePoint.

Definitions :Web Parts are componentized, self-contained packages of user interface that can be dropped into placeon 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. Thefarm is the topmost level in the hierarchy. Below the farm, you have web applications represented by theSPWebApplication class, which typically correspond to an IIS application pool. Below that, you have acollection of site collections contained in the SPSiteCollection class. Finally, you have site collectionsrepresented by the SPSite class and individual websites represented by the SPWeb class.

Page 20: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

Features allow reusable pieces of functionality to be created and deployed to other sites,withoutmodifying site templates.It is always better to deploy a feature in new site instead ofdirectly embeddingmountains of complex XML.Using Features, you can do everything from adding a link to the Site Settingspage to creating a complete, fully functioning Project Management suite that can be added to anySharePoint 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%\ProgramFiles\Common Files\Microsoft Shared\web server extensions\12. The two files that are used to define afeature are the feature.xml and Elements.xml .The feature XML file defines the actual feature and willmake SharePoint aware of the installed feature. It usually identifies the Feature itself and its elementmanifest 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 -urlhref="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 aboutthose Features. After a Solution is installed on a server in the farm, you can then use SharePoint’sSolution 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 definesthe list of features, site definitions, resource files, Web Part files, and assemblies to process. It does notdefine the file structure—if files are included in a solution but not listed in the manifest XML file, they arenot processed in any way.

Because the solution file is essentially a .cab file, use the makecab.exe tool to create the solutionpackage. 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 offiles 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 canbe deployed by using SharePoint Portal Server 2007 new form of deployment, namely SolutionDeployment. 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 tothe individual site or to all Web front End Servers.

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

Page 21: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

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

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

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, navigationbars, and content placeholders. Master pages in ASP.NET 2.0 and master pages in Windows SharePointServices work in the same way. For more information, see Building Simple Master Pages for WindowsSharePoint Services 3.0.

Module : A file or collection of file instances that define the location where the files are installed duringsite creation. Modules are frequently used to implement a Web Part Page in the site. You can definemodules 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 asteam sites, blog sites, wiki sites, and others. You can customize a site's appearance, users, userpermissions, galleries, and site administration by using the Site Settings administration pages.

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

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

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

Theme: A group of files (CSS, images) that allow you to define the appearance (look and feel) of Web

Page 22: Q. What are Application Pages in SharePoint? · Q. What are Application Pages in SharePoint? Ans : Unlike site pages (for example, default.aspx), a custom application page is deployed

pages. Themes in ASP.NET 2.0 and themes in SharePoint Products and Technologies work in the sameway. Themes are used to help organizations to brand their portals and team sites. Office SharePointServer 2007 includes a set of predefined themes. However, as a developer, you can create customthemes for your company. For more information, see How to: Customize Themes.Q. What is Business Data Catalog or BDC ?

Ans. It is a shared service that enables Office SharePoint Server 2007 to surface business data fromback-end server applications. Business Data Catalog or BDC provides built-in support for displaying datafrom databases and Web services. That is, you can use Business Data Catalog to display data from yourSAP, 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 theBusiness Data List Web Part, it was not so simple to create a solution that enabled users to makechanges 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 responsiblefor 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 yourdata source ready for SharePoint. BDC Meta Man not only generates the application definition files toallow the viewing of your data, it also generates web parts to allow you to add and edit data back to yourdata 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 tocreate BDC definitions files. The only drawback is that it requires you to install SQL server 2005 on themachine and will also make some changes to your file system.

Q. What is a "Business Data profile page" ?

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