h2. What is a Web Part? {quote} Web Parts are server-side controls that run inside the context of special pages (that is, Web Part Pages) within an ASP.NET application or a Windows SharePoint Services site. They are the "building blocks" of pages in Windows SharePoint Services. Windows SharePoint Services includes out-of-the-box Web Parts that you can use as soon as you have installed the product. In addition, you can build your own Web Parts and deploy them to the server. [MSDN - Web Parts Overview|http://msdn.microsoft.com/en-us/library/ms432401.aspx] {quote}
h2. Developing a Custom Web Part As well as all the out of the box web parts (below) you can create your own web parts too.
|| Tutorials || | [How to develop a simple Custom Web Part] | | [How to add Custom Properties to Custom Web Parts] |
h2. Deploying a Custom Web Part || Tutorials || | [How to deploy a Custom Web Part using Solution Packages] |
h2. Creating Web Part Instances on pages | | *Pro* | *Con* | | *AllUsersWebPart* | * Can use export XML from Web UI and paste into CDATA to save building XML from scratch | * CDATA used so hard to read XML code used * will not clean up after themselves if unactivated without writing custom code in a FeatureReceiver | | *SPLimitedWebPartManager* | * Add/Delete in same location in FeatureReceiver | * [Timing problem when used with Feature Stapling|http://sharepointmagazine.net/technical/development/introduction-to-sharepoint-feature-stapling-part-2] * The code to configure Web Part in object model is not obvious * Will not clean up after themselves if unactivated without custom code | | *Web UI* | * No need for farm access with Features | * No automation * No version control |
|| Tutorials || | [How to create Web Part instances on pages using Features - Elements - Module - File - AllUsersWebPart] | | [How to create Web Part instances on pages using Features - FeatureReceiver - SPLimitedWebPartManager] | | [How to create Web Part instances on pages using PowerShell and SPLimitedWebPartManager] | | [How to create Web Part instances on pages using the SharePoint Web UI] | | [How to delete Web Part instances on pages using Feautures - FeatureReceiver - SPLimitedWebPartManager] | | [How to delete Web Part instances on pages using the SharePoint Web UI] - ie. not close, but delete! | | [Deploying SharePoint Web Parts as a part of PageLayouts in MOSS 2007|http://msmvps.com/blogs/laflour/archive/2008/08/09/deploying-sharepoint-web-parts-as-a-part-of-pagelayouts-in-moss-2007.aspx] |
h2. Connecting Web Parts
|| Tutorials || | [How to connect Web Part instances on a page using Features | FeatureReceiver] | | [How to connect Web Part instances on a page using the SharePoint Web UI] |
h2. Leveraging the SharePoint Web Parts
SharePoint provides a suite of web parts out of the box that can be configured to Leverage the SharePoint Platform. It is a common mistake to start writing a custom web part from scratch rather than leveraging what is already available out of the box. This section of the wiki should communicate what each web part can do, it's limitations and how to extend it if possible.
| *Web Part List* | *WSS* | *MOSS Standard* | *MOSS Enterprise* | | *Content Rollup* | \\ | \\ | \\ | | [Site Aggregator] | \\ | x | x | | *Miscellaneous* | \\ | \\ | \\ | | [Content Editor] | x | x | x | | [List View] | x | x | x | | [Data Form (Data View)] | x | x | x | | [Image] | x | x | x | | [Page Viewer] | x | x | x | | [Relevant Documents] | x | x | x | | [Site Users] | x | x | x | | [User Tasks] | x | x | x | | [XML Web Part] | x | x | x | | [Contact Details] | \\ | x | x | | *Default* | \\ | \\ | \\ | | [Content Query] | \\ | x | x | | [I need to] | \\ | x | x | | [RSS Viewer] | \\ | x | x | | [Summary Links] | \\ | x | x | | [Table of Contents] | \\ | x | x | | [This Week in Pictures] | \\ | x | x | | *Outlook Web Access* | \\ | \\ | \\ | | [My Calendar] | \\ | x | x | | [My Contacts] | \\ | x | x | | [My Inbox] | \\ | x | x | | [My Mail Folder] | \\ | x | x | | [My Tasks] | \\ | x | x | | *Search* | \\ | \\ | \\ |
| [Advanced Search Box] | \\ | x | x | | [People Search Box] | \\ | x | x |
| [People Search Core results] | \\ | x | x |
| [Search Action Links] | \\ | x | x | | [Search Best Bets] | \\ | x | x | | [Search Box] | \\ | x | x | | [Search Core Results] | \\ | x | x |
| [Search High Confidence Results] | \\ | x | x |
| [Search Paging] | \\ | x | x | | [Search Statistics] | \\ | x | x |
...
| [Search Summary] | \\ | x | x | | *Site Directory* | \\ | \\ | \\ | | [Categories] | \\ | x | x | | [Sites in Category] | \\ | x | x | | [Top Sites] | \\ | x | x | | *Business Data* | \\ | \\ | \\ | | [Business Data Actions] | \\ | \\ | x | | [Business Data item] | \\ | \\ | x | | [Business Data Item Builder] | \\ | \\ | x | | [Business Data List] | \\ | \\ | x | | [Business Data Related List] | \\ | \\ | x | | [Excel Web Access] | \\ | \\ | x | | [Iview Web Part] | \\ | \\ | x | | [WSRP Consumer Web Art] | \\ | \\ | x | | *DashBoard* | \\ | \\ | \\ | | [Key Performance Indicators] | \\ | \\ | x | | [KPI Details] | \\ | \\ | x | | *Filter* | \\ | \\ | \\ | | [Business Data Catalog Filter] | \\ | \\ | x | | [Choice Filter] | \\ | \\ | x | | [Current User Filter] | \\ | \\ | x | | [Date Filter] | \\ | \\ | x | | [Filter Actions] | \\ | \\ | x | | [Page Field Filter] | \\ | \\ | x | | [Query String (URL) Filter] | \\ | \\ | x | | [SharePoint List Filter] | \\ | \\ | x | | [SQL Server 2005 Analysis Services Filter] | \\ | \\ | x | | [Text Filter] | \\ | \\ | x | [Table Data Source: blogs.MSDN.com |http://blogs.msdn.com/ketaanhs/archive/2008/02/12/out-of-the-box-list-of-web-parts-sharepoint-2007-or-moss-or-wss-3-0.aspx]
h2. External References * [SmartPart Guidance by Ishai Sagi|http://www.sharepoint-tips.com/2008/03/thoughts-and-best-practices-around.html]