2. SharePoint Guidance Package
Pattern & Practices System Requirements Reference Implementation
Training Management Application
Overview Application Structure Design Pattern Architecture Decision
Development Activities
Custom Content Type Webparts ASPX or ASCX Debugging
Deployment Scenarios
Affects Existing
Application Life Cycle New Application Adding New Functionality
Functionality
Development Tools
CAML Query Others
3. Helps architects and developers to
design, build, test, deploy, and upgrade SharePoint intranet
applications
Architectural decisions about
patterns,
feature factoring,
& packaging
4. Windows Server 2003 or later
Microsoft .NET Framework 3.5
Microsoft Visual Studio 2008 development system (any of the following editions):
Standard Edition
Professional Edition
Team Edition for Software Developers
Team Edition for Software Testers
Team Edition for Software Architects
Team System
Windows SharePoint Services 3.0
Windows SharePoint Services 3.0 Tools: Visual Studio 2008 Extensions, Version
1.3
Typemock Isolator, version 5.0, to run the Training Management application's
unit tests.
5. Training Management Application
The Training Management application can be thought of as a
combination of use cases and a workflow. This combination
includes:
Create a New Course Use Case - Create a training course and add
it to the list of training courses.
Register for a Course Use Case - Register for a training course.
Registration Approval Use Case - Approve or reject a course
registration.
Registration Workflow Implementation - Workflow adds a new
registrant to the list of employees that are registered for courses.
View the Manager Dashboard Use Case - Manager dashboard.
View the Training Dashboard Use Case - Training dashboard.
6.
7.
8. The Training Management application uses three patterns.
Model-View-Presenter (MVP)
Presenter Class to encapsulate business logic
Facilitates the software development technique of unit testing
with mock objects
Service Locator
Centralized Point for
registering and looking up
different Objects
Repository
Acts as mediators
Querying and Updating SharePoint Lists
Repositories simplify the access to list data and provide a layer
of abstraction that makes unit testing with mock objects much
easier.
9. Site Definitions
Feature Stapling
Content Types
Help you to organize SharePoint content
Different types of information in a single list
Lists Vs DB
List Definitions
Extending SharePoint List
Custom Field – displays in new and edit form
Custom Dispform.aspx – change some code behind in page
Custom Action – Customize toolbar
Can bound to content type , list type and file type
Can invoke javascript and redirect to url
Item Data Validator
Modify New/Edit form (not recommended)
Item Event Receiver
10. New Application
This is the initial
deployment of a
new application.
All the required
artifacts are
defined within
one or more
SharePoint
solutions.
There are no existing
records in the SharePoint All the SharePoint solution
content database that could artifacts are version
conflict with the elements controlled with a source
that are defined by the control system.
solution artifacts.
The application
can ship
independently of
any authored
artifacts.
11. Not Affecting Existing App
By delivering a new feature that augments the original application
Package as new WSS Solution
Use SharePoint feature activation dependencies
Same Scope
Cross Scope
12. Affecting Existing App
Upgrade Sample Scenario
You need to update a content type that is currently used.
You need to update a Web Part to a new version.
You need to change the logic of a workflow.
You need to add or remove a list column on which code logic depends.
Two Ways to do the upgrade
Upgrade the solution using the command.
Retract and redeploy approach
Create New Solution and Migrate older
May need side by side instance of same list
13. CAML
U2U CAML Query Builder. This Windows-based application includes a user interface for writing
CAML queries.
U2U CAML Query Builder Feature. This is a SharePoint version of the U2U CAML Query Builder
tool. It is installed as a feature; developers can use it to build queries directly inside of SharePoint.
Stramit SharePoint CAML Viewer. This is a Windows-based application that is similar to U2U CAML
Query Builder.
CAML.NET. This is a .NET Framework assembly that provides an abstraction to CAML. Developers
can use it to dynamically create queries with a set of .NET Framework classes.
Other Tools
Axceler Pinpoint. This is a SharePoint administration tool.
Imtech Field Explorer. The tool allows you to explore properties of the fields contained within the
(Site Collection) Content Types and Lists.
SharePoint Inspector. This tool can browse the SharePoint farm to object level
SharePoint SUSHI. SharePoint Utility with a Smart, Helpful Interface (copy view, bulk list creation)
SPDisposeCheck. Checks the assembly that uses SharePoint API
STSDEV. Creates a Visual Studio Template for you that can deploy your solutions and web parts.