SharePoint Guidance
Retired Content |
---|
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
Developing SharePoint Applications |
---|
For the latest patterns & practices guidance on devloping SharePoint applications see https://msdn.microsoft.com/en-us/library/dd203468.aspx |
patterns & practices Developer Center
November 2008
Important: Version 2.0 of the SharePoint Guidance is called Developing SharePoint Applications. Developing SharePoint Applications integrates the content and reference implementation from SharePoint Guidance. Customers who are using SharePoint Guidance are encouraged to move to Developing SharePoint Applications. To learn more, see Developing SharePoint Applications.
Summary
This guidance helps architects and developers design, build, test, deploy and upgrade SharePoint intranet applications. A reference implementation that is named the Contoso Training Management application demonstrates solutions to common architectural, development, and application lifecycle management challenges.
This guidance discusses the following:
- Architectural decisions about patterns, feature factoring, and packaging.
- Design tradeoffs for common decisions many developers encounter, such as when to use SharePoint lists or a database to store information.
- Implementation examples that are demonstrated in the Training Management application and in the QuickStarts.
- How to design for testability, create unit tests, and run continuous integration.
- How to set up different environments including the development, build, test, staging, and production environments.
- How to manage the application life cycle through development, test, deployment, and upgrading.
- Team-based intranet application development.
The following areas are not discussed in the current version of this guidance:
- Content-oriented sites that use Web content management
- Internet and enterprise-scale SharePoint applications
- Multilingual SharePoint applications
- Scale or security testing of SharePoint applications
Downloads |
|
Getting started |
Overview. This will help you to decide if the guidance applies to your situation. Getting Started with the SharePoint Guidance. This is an introduction to the Training Management application. |
Community |
|
License |
End User Licensing Agreement (EULA) |
Contents
Assets Included in the SharePoint Guidance
Getting Started
Documentation
Community
Future Plans
Feedback and Support
Authors and Contributors
Assets Included in the SharePoint Guidance
Asset |
Description |
---|---|
Contoso Training Management Reference Implementation (Training Management application) |
This is a SharePoint application that is based on a real-world scenario. It demonstrates how the Human Resources department of Contoso Pharmaceuticals uses SharePoint to manage its training course offerings. The Training Management application allows employees and managers to perform such activities as enrolling in training courses, reviewing the status of registrations, managing pending registrations and registration approvals, and managing a training budget. This intentionally incomplete intranet application is an example of how to design and implement a SharePoint application. You can use it to understand how to address many common challenges that you might encounter while developing your own applications. |
QuickStarts |
The QuickStarts include the source code for two small applications. One application demonstrates how to debug an instance of an SPItemEventReceiver. The other application demonstrates different ways to access SharePoint lists. |
Documentation |
The documentation includes guidance for a variety of topics, such as the design of the Training Management application, an explanation of its implementation, information about how to upgrade the application, development activities, and technical guidance. |
The following diagrams illustrates a Training Management application screen shot and our development and build approach.
Audience Requirements
This guidance is intended for software architects and developers. To get the most benefit from this guidance, you should have an understanding of Microsoft Visual C#, the Microsoft.NET Framework, and ASP.NET.
System Requirements
The guidance requires Windows Server 2003 or later with Microsoft.NET Framework 3.5 and Windows SharePoint services. The Training Management application requires Visual Studio 2008 with Visual Studio 2008 Extensions for Windows SharePoint Services, version 1.2.
You must have Typemock Isolator, version 5.0 in order to run the Training Management application's unit tests. For more information, see the Typemock Web site.
Getting Started
The first step is to evaluate whether this guidance applies to your situation. Use the guide on MSDN to understand what is provided. If you decide to use the guidance for your project then go to the Getting Started page. This explains the development environment that you need and how to build and install the code.
Documentation
This section provides links directly to the main topics included in the documentation. This documentation is also included when you install the SharePoint Guidance.
- Creating a Development Environment and Installing the Training Management Application. This topic discusses how to create a SharePoint development environment and install the Training Management application.
- Design of the Training Management Application. This topic explains how the Training Management application is designed and the reasons for those design decisions.
- Training Management Application Walkthrough. This topic discusses how the Training Management application is implemented.
- Deploying and Upgrading SharePoint Applications. This topic discusses the issues involved in deploying and upgrading SharePoint applications.
- Upgrading the Training Management Application. This topic discusses how to apply upgrades to the Training Management application.
- Development Activities. This topic contains procedures for performing various tasks such as how to debug SharePoint applications.
- Technical Guidance. This topic discusses various technical issues that SharePoint developers frequently encounter such as how to organize features in a solution.
- QuickStarts. The QuickStarts are small applications that help you understand aspects of SharePoint development.
- Glossary. The glossary includes definitions of SharePoint-related terms.
Community
This guide, like many patterns & practices deliverables, is associated with a community site. On this community site, you can post questions, provide feedback, or connect with other users for sharing ideas. Community members can also help Microsoft plan and test future guides, and download additional content such as extensions and training material.
Future Plans
The patterns & practices team is currently investigating additional areas where it can provide SharePoint guidance. Download early drops from the CodePlex Community site. To provide feedback, please create and vote on work items in the CodePlex issue tracker.
Feedback and Support
Questions? Comments? Suggestions? To provide feedback about this guidance, or to get help with any problems, please visit the SharePoint Guidance Community site. The message board on the community site is the preferred feedback and support channel because it allows you to share your ideas, questions, and solutions with the entire community. SharePoint Guidance is a guidance offering, designed to be reused, customized, and extended. It is not a Microsoft product. Code-based guidance is shipped "as is" and without warranties. Customers can obtain support through Microsoft Support Services for a fee, but the code is considered user-written by Microsoft support staff.
Authors and Contributors
The SharePoint Guidance was produced by the following individuals:
- Blaine Wastell, Chris Keyser, Francis Cheung, Glenn Block, Hanz Zhang, Nelly Delgado (Microsoft Corporation)
- John Daniels (Analysts International)
- Alex Nichols, Charles Cho, Mike Chorey (Avanade)
- Kalyan Kumar Mulluri, Naveen Guda, VenkataAppaji Sirangi (Tata)
- Roberta Leibovitz (Modeled Computation LLC)
- Robert L. Bogue (Thor Projects LLC)
- Tina Burden McGrayne (TinaTech Inc)
- Veronica Ruiz (CXR Design)
Many thanks to the following advisors who provided invaluable assistance:
- Microsoft Contributors and Reviewers: Eray Chou, Julie Kremer, Luca Bandinelli, Lenny Fenster, Maxim Lukiyanov, Mike Ammerlaan, Paul Andrew, Rob Howard, Roger Lamb, Rob Lefferts, Simon Skaria, Todd Haugen
- External Contributors and Reviewers: Andrew Connell, Andrew Woodward, Darrin Bishop, Eric Shupps, Jason Noble, John Peltonen, Maurice Prather, Michelle O’Loughlin, Paul Schaeflein, Philippe Sentenac, Raymond Shaw, Todd Baginski, Todd Bleeker, Vishwas Lele
Retired Content |
---|
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
Developing SharePoint Applications |
---|
For the latest patterns & practices guidance on devloping SharePoint applications see https://msdn.microsoft.com/en-us/library/dd203468.aspx |