Online Training On SharePoint
                      

Thursday, 7 January 2010

Difference between Solution and Feature in SharePoint

Many time people ask me a question what is the difference between a Feature and a Solution. Both are used to deploy some additional functionality or assets to SharePoint then what really Solution compares with Feature. In my view, Solutions are a better way to deploy features and it provides certain capabilities which are not there with the if we deploy using Feature. Let me summarize the capabilities of Solutions (essentially which are WSP files) and the feature:
  1. The Solution can be used as a vechicle to deploy the features.
  2. If you need to deploy the feature in a multi server Farm having multiple WFE (Web Front End Servers), it needs to be done separately in each WFE server. If we are updating a DLL in GAC then this needs to be done separately in each WFE. Also there will be a time when with this the feature is deployed in one WFE but not in another one. So deploying customization using feature become tedious if you have multiple servers. Thats where Solution provides the answer. Once we install the Solution it updated the settings in the Config DB and then it become available to all the WFE which are part of the Farm. Once we deploy the solution the feature will be available in all the WFE's.
  3. The another limitation deploying with features is that we can not deploy the DLL in Global Assembly Cache. But this can be achieved using the Solutions. This become quite significant if we have many WFE and we are trying to update a DLL. The work gets multiplied because of doing this in each server and the chance of mistake increases.
  4. If we need to do some changes in the Web.Config files it is not possible using the Feature. Again if we are using the Solutions this limitation can be overcome.
So Solutions are much better in many aspects and it gives much flexibility but with added complexity and extra work required to create it.

You may also want to read the and understand the various aspect of Farm Solutions, Sandboxed Solutions & Apps for SharePoint. Read @ http://manish-sharepoint.blogspot.co.uk/2013/04/farm-solutions-sandboxed-solution-and.html

3 comments:

Jeremy Thake said...

Technically you can modify the web.config within a individual feature by using a feature receiver and using the SPWebConfigurationManager. But I completely agree, nothing should be getting into the SharePointRoot folder (hive) without being deployed via a Solution Package (wsp).

Declan Morgan said...

This article is easy describe technical illustration about vast difference between solution and features in SharePoint to which really help Share developer to produce effective development work.

Anonymous said...

Thanks Manish
This is great

I like it

Related Posts with Thumbnails