On April 5th, Ted Pattison, an INETA speaker presented to the Jacksonville Developers User Group. He covered the breadth and depth on several topics related to WSS 3.0 & Microsoft Office SharePoint Server 2007. 27 people attended this session. Here are some of the main points that were covered:
In simple terms, WSS is a collaborative development platform with an in-built document library functionality. WSS 3.0 relieves several pain points from version 2.0. In WSS 2.0 users could see all the pages even if they did not have permissions. Errors were shown when they tried to access the pages. WSS 3.0 does a good job with security trimming. Only the functional options that the user has access on are visible.
Concept of Ghosted/Unghosted pages: When a sharepoint site is created, the documents are based off a PageTemplate. A ghosted page is a standard page for every user. An unghosted page is a customized page, the contents of this kind of page can be personalized for a user. There is a good discussion between ghosted/unghosted pages here. WSS 3.0 uses Master pages to address the burden of unghosted pages as most changes to page templates in WSS v2.0 were cosmetic (content placement, skinning, etc).
One of the main differences between Web Parts and ASP.NET Server Controls is Personalization. Web Parts can be personalized out of the box, server controls can't be. There is a difference between the terms Personalization and Customization. Personalization is user wide and Customization is site wide. Not all the users would have permissions to customize a Web Part.
A SharePoint Web Part needs to be configured as a SafeControl in the web.config. On creation, several attributes of a Web Part can be specified - Personalizable, WebBrowsable, WebDescription, WebDisplayName, etc.
Some of the enhancements that are done in WSS 3.0 are in the areas of Platform storage, Lists and document library (Wide list support, Major/Minor version numbers, Custom Column indexing, recycle bin, extensible workflow, events), Cross list/site queries, Out of box implementations (for My documents, My tasks, Dataview webpart) and Content Types. Content Type is a reusable definition for a list schema. Content Types can be defined to support heterogenous content in a list. For a particular Content Type's items, one can define the constraints and requirements for an item type. Content Types support inheritance. You can also specify handlers for alerts and specific workflows to a Content Type.
One of major highlights of Sharepoint V3.0 is its tighter integration with MS Office.
This session really took a deep into WSS 3.0. There was an interesting parent/grandparent story that was told about making Version 2.0 Web Parts work in tandem with Version 3.0 Web Parts.
Some other questions that came to my mind during the talk were: What are the limitations/restrictions on a Web Part? Any security concerns? How about Scalability? How many Web Parts on a web page? Is there a limit? How do you deploy a Sharepoint application over a web farm? More questions?
We would like to thank Ted for an excellent talk. Thanks to Andrew as well for reviewing this post and his feedback.
Vinay