This intensive 4-day course explores design and development techniques used when building business solutions with Windows SharePoint Services 3.0 (WSS). The lectures and lab exercises on the first day dive into the WSS object model, developing WSS features and creating solution packages to deploy your development efforts in a staging or production environment. The course covers advanced developer topics such as creating custom application pages, page templates, provision pages and site branding using Master Pages. You get hands-on experience writing and testing Web Parts, Content Types, event handlers, custom workflows and site definitions. Along the way, you will also learn how to write WSS event handlers that read, modify and generate Office 2007 documents using the Office Open XML File Formats as well as how to program security using the WSS object model to manage users, groups and permissions on sites, lists and document libraries.
Prerequisites
Attendees should have professional development experience with Visual Studio 2005, the .NET framework and ASP.NET as well as familiarity with Microsoft Office products such as Word and Excel. It is also recommended (but not required) that attendees have a background with the previous version of Windows SharePoint Services V2 and have experience working directly with XML files in Visual Studio 2005.
Schedule of Lectures
- Roadmap to WSS Development
- Developing Features
- SharePoint Architecture
- Pages and Design
- Master Pages and Site Branding
- Web Part Development
- AJAX Web Parts
- Lists and Content Types
- Document Libraries
- Developing SharePoint Workflows with Visual Studio
- Creating and Testing Site Definitions
- Application Security
Day 1 (runs from 9AM to 5PM)
Roadmap to WSS Development
WSS as a site provisioning engine
Understanding Web Applications, Site Collections, Sites and Site Elements
Customization using the WSS collaboration templates
Site customization and personalization using Web parts
Introduction to the WSS object model
Developing Features
The difference between customization and development
Features as the primary building block in WSS development
Introduction to Collaborative Application Markup Language (CAML)
Creating and testing your first Feature with Visual Studio 2005
Adding event handlers to a custom feature
SharePoint Architecture
How WSS integrates with ASP.NET 2.0
Configuring the web.config file for a Web Application
Understanding site pages versus application pages
Creating and debugging a business solution with custom application pages
Creating and testing a WSS solution package for staging and deployment
Day 2 (runs from 9AM to 5PM)
Pages and Design
Understanding page parsing and Safe Mode restrictions
Page templates versus pages instances (ghosting and unghosting)
Creating a Feature with custom page templates
Designing page templates using ASP.NET controls and Web Part Zones
Adding Web Parts to pages using declarative CAML and using code
Master Pages and Site Branding
Understanding the standard default.master page template
Navigation providers, navigation menus and delegate controls
Creating and integrating a custom Master Page template
Creating a custom Feature to apply branding at the site collection level
Understanding and extending the CSS classes in core.css
Web Part Development
Creating, deploying and debugging ASP.NET Web Parts in WSS
Adding Web Part verbs, persistent properties and developing custom editor parts
Creating Web Part assemblies with embedded resources
Creating connectable Web Parts
Asynchronous Web Part processing
Creating a Feature and a solution package for best-practice Web Part deployment
Day 3 (runs from 9AM to 5PM)
AJAX Web Parts
Introduction to ASP.NET AJAX
Creating an AJAX-enabled ASP.NET Application
Creating the “Hello World” AJAX-enabled Web Part
Creating AJAX callbacks to custom .asmx Web Services
Creating AJAX callbacks that access the WSS object model
Lists and Content Types
Programming and querying lists through the WSS object model
Using Features to define site columns and custom field types
Using Features to define custom content types
Using Features to define custom list schemas and custom list types
Using custom event receiver classes to write and wire up event handlers
Defining a content type with built-in event handlers
Document Libraries
Programming with the SPDocumentLibrary class
Provisioning document libraries with custom document templates
Forms Libraries and Microsoft InfoPath integration
Programming with the Office Open File Formats
Server-side generation of Word 2007 documents (i.e. docx files)
Binding content controls to custom XML files embedded within Word documents
Day 4 (runs from 9AM to 5PM)
Developing SharePoint Workflows with Visual Studio
Windows Workflow Foundation (WF) Primer
Creating WF programs in Visual Studio with the workflow designer
SharePoint Workflow fundamentals: templates vs. associations vs. instances
Creating, deploying and debugging workflow templates in Visual Studio
Using WSS method activities to create history list entries and tasks
Creating custom association forms, initiation forms and task edit forms
Creating and Testing Site Definitions
Understanding the role of WSS site definitions
The Global Site Definition
Creating and testing a custom site definition
Aggregating Features in a site definition
Defining Feature activation dependencies and leverage Feature stapling
Application Security
Trust Levels, Web Parts and Code Access Security (CAS)
Windows Authentication versus Forms Authentication
WSS Identities and Security Contexts
Escalation of Privilege
Delegating User Credentials
Modifying permissions with the WSS object model