Thursday, November 17, 2011

SharePoint 2010 - Basic concepts


SharePoint Hierarchy :

A web application needs to have at least 1 Site Collection. The Site Collection is the root site of the web site. Below the Site Collection, there can be one or more Sites. And a Site can contains sub sites.

An overview:
1. Web Application
1.1 Site Collection (SPSite)
1.1.1 Site (SPWeb)
1.1.2 Site (SPWeb)

1.2 Site Collection (SPSite)
1.2.1 Site (SPWeb)
1.2.1.1 Sub Site (SPWeb)
1.2.1.2 Sub Site (SPWeb)


How does Client object model works ?

Ans. When we use SharePoint client API’s to perform a specific task, the SharePoint Foundation 2010 managed client object model bundles up these uses of the API into XML and sends it to the server that runs SharePoint Foundation. The server receives this request, and makes appropriate calls into the object model on the server, collects the responses, forms them into JavaScript Object Notation (JSON), and sends that JSON back to the SharePoint Foundation 2010 managed client object model. The client object model parses the JSON and presents the results to the application as .NET Framework objects (or ECMAScript objects for ECMAScript).

Q. How many types of Client Object model extension are available in 2010 and when would you use one or the other.

Ans. To develop rich client side solutions, three set of client-side APIs has been introduced in the Microsoft.SharePoint.Client namespace. The three APIs are targeted for three different types of clients.
1. .net Managed applications – These are used when we have to create console applications or window applications, web applications which are not running inside SharePoint Contex.
2. For Silverlight applications
3. ECMAScript – It is a client object model extension for using with JavaScript or JScript. This is used for creating applications which are hosted inside SharePoint. For example, web part deployed in SharePoint site can use this JavaScript API for accessing SharePoint from browser using JavaScript.


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.



When do you use SPSiteDataQuery ?

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

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

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

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

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


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

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


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

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


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

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



Q. 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(or Team sIte Definition), an instance of the Team Site Definition( Which resides on the File System), i.e. "xyz" gets created in the Content database. So, When ASP.NET receives a request for the file, it first finds the file in the content database. This entry in the content database tells ASP.NET that the file is actually based on a file on the file system and therefore, ASP.NET retrieves the source of the file on the file system when it constructs the page.

Customized :

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


Q. What are event receivers?

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


Q. When would you use an event receiver?

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


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

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


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

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


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

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



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

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



Q. How would you pass user credentials while using SharePoint WebService from your Web Part or application.

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

Examples:

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

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


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

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


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

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



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

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

Q. How 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 in Microsoft Windows SharePoint Services to define sites and lists, including, for Eg, fields, views, or forms, but CAML is also used to define tables in the Windows SharePoint Servies database during site provisioning. Developers mostly use CAML Queries to retrieve data from Lists\libraries.



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

How many types of Client Object model extension are available in 2010 and when would you use one or the other.

Ans.
To develop rich client side solutions, three set of client-side APIs has been introduced in the Microsoft.SharePoint.Client namespace. The three APIs are targeted for three different types of clients.
1. .net Managed applications – These are used when we have to create console applications or window applications, web applications which are not running inside SharePoint Contex.
2. For Silverlight applications
3. ECMAScript – It is a client object model extension for using with JavaScript or JScript. This is used for creating applications which are hosted inside SharePoint. For example, web part deployed in SharePoint site can use this JavaScript API for accessing SharePoint from browser using JavaScript

Q. What are the security improvements in SharePoint 2010 ?

Ans.
In SharePoint 2010 a variety of security methods have been introduced.

Claims-Based Authentication - Claims based authentication is based on identity. and trust.

Code Access Security - in which you can specify your own code access
security (CAS) policy for your web parts.

Sandbox Solutions - Sandbox Solutions which when deployed to the server, SharePoint runs in a special process that has limited permissions.

Cross-Site Scripting - Introduced to prevent Cross - Site Scripting (XSS) attacks.


Q. Whats New with SharePoint WebParts?

A developer can create two types of webparts using Visual Studio 2010.

1. Visual Webparts -
Allows you to Drag and Drop the controls from the Toolbox to WebPart Design surface. You can of course write your custom code in the code file. You can also package and deploy your webparts directly to Sharepoint from VS by pressing Clt+F5. Visual studio 2010 also provides you with three different views for developing webparts. The views are split view, design view and Source view(as we have in designer 2007).

Note : The Visual Webpart project Item basically loads a User Control as a WebPart.


2. ASP.Net WebParts -
Where a developer can build up User Interface and logic in a class file. You do not have designer for drag and drop of controls. This webpart inherits from standard ASP.Net webpart. For Deployment we can again use ctrl+f5 to deploy this webpart.


Q. What are the Visual Studio 2010 Tools for SharePoint.

Ans.
Visual Studio 2010 includes SharePoint-specific project types and project item types, and includes powerful packaging, deployment, and debugging features that help increase your efficiency as a SharePoint 2010 developer.

Some of the Templates avaiable are :
1.Visual Web Part project template.
2. List defination template.
3. Content Type template.
4. Empty Project template.
5. Event Receiver template.
6. some workflow template.
7. the Site Definition template
and many more....


Q. What are SharePoint Sandboxed soultions ?

Ans.
SharePoint 2010 provides a new sandboxed environment that enables you to run user solutions without affecting the rest of the SharePoint farm. This environment means that users can upload their own custom solutions without requiring intervention from administrators, and without putting the rest of the farm at risk. This means that the existing sites\pages or components will not be effected by the newly added soultion.

Users can deploy the below four things as sandboxed soultions :
1. WebParts.
2. Event Receivers.
3. List Definations.
4. Workflows.


Q. What are Requirenments for SharePoint 2010.

Ans.
SharePoint Server 2010 will support only 64 - bit. It will require 64 bit Windows Server 2008 or 64 bit Windows Server 2008 R2. In addition to this, it will require 64 bit version of SQL Server 2008 or 64-bit version of SQL Server 2005.


Q. What is LINQ. How is it used in Sharepoint ?

Ans
. LINQ is a feature of the programming languages C# 3.0 and Visual Basic .NET. LINQ allows you to query in an object-oriented way, supports compile-time check, gives you intellisense support in Visual Studio and defines a unified, SQL like syntax to query any data source. But unlike other languages and query syntaxes which vary from one type of data source to another, LINQ can be used to query, in principle, any data source whatsoever. It is commonly used to query objects collections, XML and SQL server data sources.

The LINQ to SharePoint Provider is defined in the Microsoft.SharePoint.Linq namespace. It translates LINQ queries into Collaborative Application Markup Language (CAML) queries.

Q . Whats New in SPALerts ?

Ans.
In SharePoint 2007, alerts were send only through e-mails, but in SP2010 users can also send an alert to mobile devices as SMS Message. A New property DeliveryChannels is introduced to indicate, whether the alert is delivered as E-mail or as an SMS Message.



Q. What Has Changed with SSP in SharePoint 2010.

Ans.
In SharePoint 2010 Shared Service Providers (SSP's) are replaced by Service Applications. Services are no longer combined into a SSP. They are running independent as a service application. The service application architecture is now also built into Microsoft SharePoint Foundation 2010, in contrast to the Shared Services Provider (SSP) architecture that was only part of Office SharePoint Server 2007.

A key benefit here is that all services are installed by default and there is no SSP setup.

Q. What does CMDUI.XML contain?

Ans.
The definitions for the out-of-the-box ribbon elements are split across several files in the SharePoint root, 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) queries thus 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 and deploying them directly to SharePoint.

4. Another Improvement in SharePoint Designer 2010 is that it now allows you to edit the out-of-the-box workflows that come with SharePoint.



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 a new 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 SharePoint root, 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) queries thus 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 and deploying them directly to SharePoint.

4. Another Improvement in SharePoint Designer 2010 is that it now allows you to edit the out-of-the-box workflows that come with SharePoint.



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 item objects. For example, an item in the Announcements list is an object of type Announcement and an item on a Tasks list is an object of type Task. You can then enumerate the objects and get the properties for your 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 the rest of your site. You can enable or disable this functionality through the web application settings in Central Administration. This however, is not applicable to your custom application pages. If you want your custom applictaion page to inherit the site master page you must derive it from Microsoft.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 in folders under the %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates directory.
Custom Web templates on the other hand, are stored in the database, and are created using an existing site, with or without its specific content, as a model. This provides a means for reusing sites that you have customized.In some ways, Web templates continue to depend, throughout their lifecycle, on the site definition 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 – Object model and Windows PowerShell cmdlets. For writing to SharePoint ULS logs developers can can use Diagnostics Service, which will make the customized categories viewable in the administrative UI for our errors.
or they can use the number of cmdlets available for accessing ULS logs using powershell. Some of the cmdlets 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 SharePoint root, with TEMPLATE\GLOBAL\XML\CMDUI.XML being the main one.

What is a dashboard?

A dashboard is basically a webpage containing multiple reports with graphs. This enables ConfigMgr administrators to have multiple information in reports on a single page.

The Configuration Manager dashboard is build with Microsoft Sharepoint webparts. A webpart is basically a frame containing code to display data in that frame. A single site can contain multiple webparts.



SharePoint Search



Two types of search

·         KeywordQuery, dedicated to executing a query defined with the keyword syntax

·         FullTextSqlQuery, used when the search query is defined by using the Enterprise SQL search query syntax

Search scopes allow users to narrow their searches based on the topics, areas, and content sources of items on the portal. Values can be “Site”, “All Site”, “People’



Federated Search
The key premise is the ability to search others sources beyond resources living within your SharePoint. A federated search is the simultaneous querying of multiple online databases (locations) for the purpose of generating a single search results page for end users.When you add a federated location to Office SharePoint Server 2007, end users can search for and retrieve content that has not been crawled by your server. Federated locations allow queries to be sent to remote search engines and feeds, after which Office SharePoint Server 2007 formats and renders the results to your end users as part of your crawled content.



SharePoint workflows

The two types of workflows which exist out of the box in Visual Studio are:

Sequential workflows:

1.        Sequential workflow is known to be very predictable. It works like a flowchart - Example:

o    The workflow works until the user approves or denies the file in order to continue. When ALL users approve/deny it will go to the next time

2.        This kind of workflow is used when there is only one way to complete the task.

The workflow controls the processes of what happens throughout the workflow

State-Machine workflows:

1.        State-machine workflows are workflows which are driven by particular events. Example:

o    OnTaskChanged

o    OnTaskCreated

o    OnTaskDeleted

o    OnWorkflowActivated etc

2.        In order to move to another event, the workflow needs to meet another state.

o    If a task is created, the workflow stays on that event until another even is called, for example the user decides to edit the task (on task changed)

3.        The control of the workflow is decided by the user, according to what events he calls, the workflow will execute.

4.        The workflow doesn't really have to end. It can stay in the same state for weeks for example.

Concepts

1) How to segregate the Business User Roles and IT user Roles

Roles and user groups have been implemented with view to give IT user a more facilitation role and allow Business manage most of their work/content and sites.
•Domain Groups or User Roles
•Users with contribute or read needs are classified into this.
•Also, sometimes we use Audience Targeting to control access to some web-parts
•For example KPI web-part in main site, can be seen A user and Another user can see a different web part.
•Specialized business groups to Manage Content or Communication of that business and Avoid giving full access “
•This is managed by
•Item level access
•Or by custom views to allow only specific features to post access
•Admin Groups ( MAINLY IT Teams)
•They have access to everything but will only handle exceptions. –mainly support teams or Internal ITContextRoles

2) Page is taking too much time to load

To decrease the response time(load time of a Page),
•Page Optimization
oReduce Picture Content / Reduce weight of images
oRemove Closed Web Part : The Page had many closed web part, which needed to be removed from the Page.
oUse of Ajax in SharePoint -To Remove Unnecessary Page Postback, Ajax implemented was done for the Page
•IIS Compression : Proper IIS Compression technique was implemented to improve bandwidth utilization
•Loading the core.js : Cutom coding was implemented to load the core.js file conditionally in the master page
•Page was Checked for unexpected HTTP 304, 401, 404 codes using Fiddler/ YSlow
•Page payload weight was measurdand reduced as far as PossibleIssueSolution


3) Load time of the Page was high because of specific webpart

For the Code Optimization following techniques were implemented
•Tested with SPDisposeCheck to ensure no memory leaks
•Eliminate unnecessary ViewState
•ViewState was turned off in web.config and then overridden it in controls/pages which really needed it
•For loops were removed(if unnecessary) or optimized
•Best practices for using SP objects and disposing them was implemented
•It was ensured that the Production code was not running in debug mode
•Ensured that SPSite or SPWeb objects are not stored in session or application variables. Instead GUID or URL was stored to rebuild the SP Objects
•Data Caching was implemented wherever necessary


4) To view the relevant data in a large lists

By Categorization - Handling large list with Metadata
Example - Metadata driven navigation allows the ability to navigate and filter results by metadata, allowing users to quickly and easily navigate through a collection of items and then reduce the result set to an acceptable limit


By Indexes - Create Indexed Columns
You can index up to 20 columns in a list.
Index only Relevant columns and not all.
(Supported columns - Choice(has to be a single value though),Currency, Date and Time, Lookup (single),Managed Metadata, Number, Person or Group (Single),Single Line of text)
By Managing View Data Sizes / Caches -  Create Views

Once index is created on a column , a view can be created that will limit the amount of items shown. The best approach is to set up a default view that returns fewer items than the throttle limit (5000)
By archiving older data not meant to be useful for current work.
 By Configuration
Using Central Admin List Throttle properties like List View Threshold, Object Model Override, List View Threshold for Auditors and Administrators, Daily Time Window for Large Queries


5) Create a folder automatically ,if the no. of item in a folder is more than 5000

Use of Content Organizer feature in SharePoint 2010
Once activated, one can define rules and parameters from Content Organizer Settings and Content Organizer Rules in the Site Administration section of site settings.
A Document library is created when the feature is activated, called the Drop Off Library
library that users can use to submit new items that need to be routed
temporary staging area for items that do not have all required metadata
When item number 5001 is added to the library, the Content Organizer can automatically create a new folder and put the document in that folder.
In 2007 version, we have created “Event Handler to create a new folder each day/period (to avoid reaching more size). We believe we can create a new folder after reaching certain data size

6) How  Fast search help for millions of items
Fast Search for 2010 adds extra features to SharePoint Search 2010.
Use metadata / categorization
Implement Inspirational, Cache past searches or cache popular search results (reduce hit to List)
Use Visual Best bets, Thumbnails and Previews.
The ability to read the underlying properties of a document and provide them as the entities of Navigation results in faster result finding.
Relevancy tuning, Ranking models, lemmatization applied on large results in faster and efficient result extraction


Note: All the above contents are picked from internet from different website, not my views

SharePoint 2010 : Not able to search documents containing noisewords

Resolution
  • Find the noisefile Location . C:\Program Files\Microsoft Office Servers\14.0\Data\Config
  • you can find all the languages noisefile
  • Go to noiseenu.txt file for English
  • Remove all noisewords Note : (Removing All Noisewords creates problem so have single entry in the file) eg:a or b
  • Reset Index on search server
  • stop search service
  • Do A Full Crawl Content Source