This presentation is for the developers who want to embark upon the SharePoint development and don\'t know where to start, how does it differ from traditional ASP.NET development, etc.
2. Brief introduction to WSS/MOSS
WSS/MOSS Architecture
Integration with ASP.NET
Development in WSS/MOSS
Development options
Security
Deployment
Tips and Tricks
Tools
Real World Application
3. WSS/SharePoint together provide
A collaboration and information sharing platform
A site provisioning engine
Business Intelligence and Business Process
Automation
Search
Many more features
WSS is part of Windows Server 2003 (free)
MOSS is a separate installation (not free!)
4. How many people know
The basic WSS/MOSS architecture concepts
How to use the WSS/MOSS Central Admin Site
The following are some of the basic architecture
concepts in WSS/MOSS
Farm (and Configuration database)
Web Application (and Content database)
Site Collection and Sites
List
5. One or more servers which provide the
WSS/MOSS functionality
A Configuration Database for storing the Farm
wide configuration information
6.
7. An IIS Web Site configured to run WSS sites
Add some IIS meta-base entries
Add a web.config file to the root of the IIS web site
IIS handles incoming requests for WSS/MOSS
More than one web applications in a Farm
8.
9. Site Collection is a container for the sites
More than one Site collection in a Web
Application
A Site Collection has a root Site
Site can’t live along; it must be created within the
scope of a Site Collection
11. WSS/MOSS is nothing but an ASP.NET application!
WSS/MOSS add value to ASP.NET by hooking into
the ASP.NET request processing pipeline by virtue
of:
Wildcard Application Mapping
SPHttpApplication
SPRequestModule
SPHttpHandler
SPVirtualPathProvider
Virtual directories in web application
14. SPRequestModule as the first module in the
ASP.NET pipeline
This gives WSS a chance to perform some
initializations.
15. SPHttpHandler as the final destination for almost
all of the requests to the web application
16. SPVirtualPathProvider
WSS stores pages in the content database!
Those pages are retrieved on demand and processed.
This is drastically different from typical ASP.NET
application where the pages live on the file system.
No fear, SPVirtualPathProvider is here!
Uses a new feature of ASP.NET 2.0 called Virtual Path
Provider.
SPVirtualPathProvider is responsible for loading pages
either from the file system or the content database.
17. Couple of virtual directories are created under
the IIS web site.
_controltemplates
_layouts
_vti_bin
_wpresources
19. See do we develop applications in ASP.NET?
Compare that to WSS/MOSS development
Paradigm change (new concepts and constructs)
XML based development
Different way of deployment
20. Site Pages
Application Pages
User Controls
WSS/MOSS Object Model and Web Services
Event Receivers
25. WSS/MOSS Object Model and Web Services
Assembly based object model is for the code that runs
on the same server
Web Services are for managing WSS/MOSS through
remote clients
Assembly based object model is richer and faster than
web services
Most of the WSS/MOSS functionality is available
26. Event Receivers
As the name implies; these classes receive events.
Five types of event receivers
Item Event Receivers
List Event Receivers
Email Event Receivers
Feature Receivers
Web Event Receivers
Two main types of events captured by an event receiver
Before events (Synchronous)
After events (Asynchronous)
Must live in GAC
27. Item Event Receivers
Derives from SPItemEventReceiver class
Events are raised for the list items
28. List Event Receivers
Derives from SPListEventReceiver class
Events are raised when the list schema changes
29. Email Event Receivers
Derives from SPEmailEventReceiver class
Event is raised when a list receives an email message
30. Feature Receivers
Derives from SPFeatureReceiver class
Events are raised whenever a Feature is manipulated
by WSS.
31. Web Event Receivers
Derives from SPWebEventReceiver class
Events are raised whenever changes occur to sites or
web applications.
33. Features
Unit of Deployment
WSS/MOSS provide many of the their functionalities
through features
34. Deployment
WSP
Consolidates all of the artifacts into one deployment
package file (.wsp)
A typical CAB file created using makecab.exe
Some ad-hoc tools available for creating the supporting
.ddf file needed by makecab.exe
The deployment of the package can be scheduled using
the stsadm or Central Admin tool.
36. SPSecurity.RunWithElevatedPrivileges
Allows the code to perform administrative tasks which
would not be possible to perform under normal
execution
Runs the delegate method as the WSS SYSTEM
identity (means no authorization in WSS/MOSS!)
37. WSS/MOSS Log
Contains tons of information for debugging issues
Log File Content
38. Change the .config file in order to get rich error
messages during development (No more “An
unexpected error has occurred” message)
Turn the CallStack to true (it is false by default)
Turn off customErrors
40. Windows SharePoint Services 3.0 Tools: Visual Studio 2005
Extensions, Version 1.1
http://www.microsoft.com/downloads/details.aspx?FamilyID=3E1DCC
CD-1CCA-433A-BB4D-97B96BF7AB63&displaylang=en
User Guide and Samples for Visual Studio 2005 extensions for
Windows SharePoint Services 3.0
http://www.microsoft.com/downloads/details.aspx?FamilyId=A8A4E77
5-074D-4451-BE39-459921F79787
STSDEV: Simple Tools for SharePoint 2007 Development
http://www.codeplex.com/stsdev
SharePoint Manager 2007
http://www.codeplex.com/spm
SharePoint Developer Explorer
http://www.codeplex.com/spdevexplorer
SharePoint SmartTemplates for Visual Studio
http://www.codeplex.com/smarttemplates
41. PowerShell Extensions for SharePoint
http://www.codeplex.com/SPPSExtensions
SharePoint 2007 List Membership Provider
http://www.codeplex.com/SPListMP
SharePoint AJAX Toolkit
http://www.codeplex.com/sharepointajax
Community Kit for SharePoint
http://www.codeplex.com/CKS
Accessibility Kit for SharePoint
http://www.codeplex.com/aks
SharePoint 2007 WCM Field Controls
http://www.codeplex.com/SPWCMFieldControls
WSPBuilder
http://www.codeplex.com/wspbuilder
SharePoint Cross-site Configurator
http://www.codeplex.com/SPConfigurator