SharePoint Training - Course Syllabus
Course:
Programming with SharePoint 2003 for .NET
Developers (Level 300 - Advanced)
Download
sample course materials by clicking here

Introduction
The goal of this 3 day,
instructor-led course is to prepare
students for developing advanced solutions
for their organization using the
SharePoint Development Model.
This course is hands-on and makes
extensive use of Virtual PCs. All
labs are laid out in a manner that will
allow students to easily apply them to their
own SharePoint environment when they
complete the course. Students will walk
away with detailed instructions with screen
shots so they can easily perform the task in
their own environment.
Intended Audience
This course is intended for:
·
.NET Developers
who need to learn how to extend and
customize SharePoint using its Development
methodologies
Prerequisites
6+ months experience customizing SharePoint
2003 (OR attendance at one of our other
courses)
PLUS
1 year or more Visual Studio .NET
programming experience in C# or VB.NET
At Course Completion
After completing this course, students will be able to:
-
Understand the various functionalities available within the
SharePoint Development Model
-
Build ASP.NET and Windows Forms application to take advantage of
the SharePoint Object Model. Configure
the applications for side-by-side
execution with SharePoint
-
Write and deploy custom Web Parts in the Virtual Server Gallery
or a Web Part Page
-
Use SharePoint Code Access Security permission classes to control
executable permissions of assemblies
-
Understand the differences between the four different technologies available for developing document management applications and the appropriate scenarios in which to employ each one: SharePoint Object Model, Web Services, WebDav and ProntPage RPCs
-
Custom program the event handlers associated with Libraries to
develop add-on functionality such as
workflow
-
Manage SharePoint authorization permissions programmatically
-
Tap into Web Services provided inherently by SharePoint
-
Understand the Database structure that supports SharePoint
Course Materials
Students will receive a comprehensive
workbook, which will include all
presentation materials and lab exercises.
The lab exercises are step-by-step and
fully documented in the student workbook.
Lab Environment & Laptop Requirements
Students should bring a laptop computer
running Windows XP Professional or Windows
2000 Professional. The laptop must contain a
traditional, wired Ethernet network adapter
(either internal or external). The course
will require the student to run a Virtual PC
on their laptop. The minimum laptop
configuration is:
Each student will receive a trial copy of
Microsoft Virtual PC to use to run the
virtual machines for the labs. At the start
of the class each student will be given a
DVD and/or external USB 2.0 hard drive that
contains the virtual machine images needed
for the labs. The student will copy the
images to his/her laptop before beginning
the labs. Approximately 15 GB of free hard
disk space will be required on the student’s
laptop. Please Note: Your experience with
the hands-on labs will be impacted greatly
by the speed and RAM of your laptop. Please
bring a laptop with at least the minimum
requirements listed above.
Course Outline
(Note: This Course Outline is subject to
minor changes and refinements based on
student feedback and instructor experience.)
Module 1: Overview of the SharePoint Development Model
This module will introduce to the participants the various developmental techniques and technologies available to extend SharePoint by taking advantage of the SharePoint’s Object Model, Web Services and FrontPage RPCs.
Students will be guided by the instructor in exploring the top-level SharePoint assemblies available to be tapped into by developers.
Also, the main top-level classes in the object model, and how they relate to SharePoint objects, will be discussed.
Module 2: Building SharePoint Applications
with ASP.NET
This module will demonstrate the
requirements to create ASP.NET applications
to co-exist on a SharePoint server.
Students will understand the “managed path”
functionality as it relates to SharePoint.
The instructor will explain how ASP.NET
applications hosted on the SharePoint server
can be used to access SharePoint’s Object
Model. The top-level namespaces and the
objects required to establish site context
will be discussed. Since ASP.NET
applications inherently do not have
sufficient rights to alter the content in
the content database, students will learn
how to grant an ASP.NET application rights
through the “Form Digest” control to be able
to modify the content database data.
Module 3: Building SharePoint Applications
with Windows Forms
The focus of this module will be on how to
utilize Windows Forms to develop
applications such as utilities to assist
SharePoint administrators.
The true power of Windows Forms tapping the
SharePoint Object Model is realized when the
Windows Forms application resides on the
SharePoint server itself. SharePoint
administrators are often requested to
perform the following tasks:
-
Change ownership of sites
-
Backup/Restore sites
-
Move sites to a different location
-
Enumerate the list of all top-level
sites
-
Enumerate the list of all subsites
beneath a top-level site
Some of this functionality is available to
administrators using SharePoint command-line
tools such as spsbackup, stsadm and smigrate.
However, the process tends to be somewhat
manual and prone to error due to the nature
of command-line applications. This module
will demonstrate how a Windows Forms
application can be developed to provide a
visual front end to speed up performance of
typical administrative tasks.
Module 4: Programming Custom Web Parts
SharePoint’s true power is realized when
learning to develop Custom Web Parts. A web
part provides functionality in an
encapsulated format to be displayed on a web
part page.
Several Web Parts come pre-installed in SharePoint out-of-the-box. Many more can either be purchased or downloaded for free on the Internet. This module will focus on how to develop and deploy your own custom web parts to provide custom functionality. Students will learn how to use Visual Studio Web Part templates to speed up the process of developing these web parts.
The instructor will demonstrate and explain the life cycle of a web part and how the developer can take advantage of the exposed events within the life cycle to develop custom functionality.
Module 5: SharePoint Code Access Security
.NET Code Access Security has provided
developers a granular approach to managing
code security. SharePoint also participates
in Code Access Security. Students will
learn about the new security permission
classes that have been developed for
SharePoint and how they can take advantage
of these classes to manage permissions of
assemblies.
This module will also discuss the various
options provided for managing security of
assemblies in SharePoint and the
ramifications of using each of these
options.
Module 6: Techniques for Programmatically Accessing Documents -
Comparison of SharePoint Object Model,
WebDav, Web Services and FrontPage RPCs
Document Libraries and Document Management
capabilities are at the core of SharePoint
Portal Server 2003 and Windows SharePoint
Services. In many deployments it is
necessary to develop extensions to the
out-of-the-box functionality in order to
support specialized workflow,
line-of-business requirements, etc.
SharePoint document libraries and document
management features are programmatically
accessible in four different ways:
SharePoint Object Model, Web Services,
WebDAV and FrontPage RPCs. This module
will:
-
Present the pros and cons of each method
-
Provide guidance on when to use each
method
-
Teach
their usage in VS.NET
Module
7: Programming Library Event Handlers
This module will look into the existing
functionality provided by the Document
Library’s contextual menu (Check in, Check
out, Copy, Delete etc) and show how to
expose and extend the library’s event
handlers. Students will learn how to
associate event handlers to a library.
Extending the library’s inherent
functionality can enhance corporate
processes since additional functionality can
be inserted with each event that’s fired
through the library’s contextual menu.
Module 8: SharePoint Security Programming -
Site Groups, Rights and Memberships
SharePoint relies on Site Groups to manage
security authorization. The Rights and
Memberships provided by each Site Group can
be managed through the browser.
In this module, students will learn how to
take advantage of SharePoint’s Object Model
to manage these Site Groups, their
Membership and Member Rights.
Module 9: Working with SharePoint Web
Services
A multitude of Web
Services (which wrap much of the SharePoint functionality provided by the Object Model)
are exposed over the SOAP protocol. Web
Services rely upon the XML standard to
receive and respond to requests from any
client or server machine.
Many corporations decide to open up some of
their SharePoint sites to their partners to
facilitate collaboration. Using
SharePoint’s Web Services APIs, corporations
can provide controlled administration and
reporting access to their partners.
Partners can then add users to their sites
and report on contents of a list.
Module 10: Understanding SharePoint’s
Database Structure
SharePoint uses SQL Server as the backend
for all of its content. User Profiles,
Services and all List content is stored in
the SQL databases created by SharePoint.
In most cases, developers do not need to fully understand the structure of the databases since the Object Model handles the database communication.
However, there are instances when a
developer may need to access the databases
directly from code.
This module will demystify the structure of
these databases and show the student how the
data is organized in these databases. In
addition, the student will learn the
relationships among the data in the content
database. |