Design&BuildSItes Whitepaper

download Design&BuildSItes Whitepaper

of 143

Transcript of Design&BuildSItes Whitepaper

  • 8/14/2019 Design&BuildSItes Whitepaper

    1/143

    Design and build sites for Office SharePointServer 2007

    Microsoft Corporation

    Published: July 2008

    Author: Office IT and Servers User Assistance ([email protected])

    Abstract

    This guide provides prescriptive guidance that can help you and your team build custom

    enterprise sites by using Microsoft Office SharePoint Server 2007 such as company-wide

    portal sites or Internet presence sites. Custom sites based on Office SharePoint Server 2007

    combine coded elements, such as workflows, document converters, and Web Parts, along with

    content, such as master pages, layout pages, graphics files, and Web pages. Best practices for

    developing these sites include setting up multiple environments for developing, integrating,

    piloting, and deploying coded elements and content from one environment to another. Therefore,

    coordinating the development and deployment of an enterprise site based on Office SharePoint

    Server 2007 is a complex activity. This guide describes the ways you can set up the multiple

    environments used in the development process and the methods for deploying content and codefrom one environment to another.

    The content in this book is a copy of selected content in the Office SharePoint Server technical

    library(http://go.microsoft.com/fwlink/?LinkId=84739) as of the publication date. For the most

    current content, see the technical library on the Web.

    mailto:[email protected]://go.microsoft.com/fwlink/?LinkId=84739http://go.microsoft.com/fwlink/?LinkId=84739http://go.microsoft.com/fwlink/?LinkId=84739mailto:[email protected]://go.microsoft.com/fwlink/?LinkId=84739http://go.microsoft.com/fwlink/?LinkId=84739
  • 8/14/2019 Design&BuildSItes Whitepaper

    2/143

    The information contained in this document represents the current view of Microsoft Corporation

    on the issues discussed as of the date of publication. Because Microsoft must respond to

    changing market conditions, it should not be interpreted to be a commitment on the part of

    Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the

    date of publication.

    This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES,

    EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.

    Complying with all applicable copyright laws is the responsibility of the user. Without limiting the

    rights under copyright, no part of this document may be reproduced, stored in or introduced into a

    retrieval system, or transmitted in any form or by any means (electronic, mechanical,

    photocopying, recording, or otherwise), or for any purpose, without the express written

    permission of Microsoft Corporation.

    Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual

    property rights covering subject matter in this document. Except as expressly provided in any

    written license agreement from Microsoft, the furnishing of this document does not give you anylicense to these patents, trademarks, copyrights, or other intellectual property.

    Unless otherwise noted, the example companies, organizations, products, domain names, e-mail

    addresses, logos, people, places and events depicted herein are fictitious, and no association

    with any real company, organization, product, domain name, email address, logo, person, place

    or event is intended or should be inferred.

    2008 Microsoft Corporation. All rights reserved.

    Microsoft, Access, Active Directory, Excel, Groove, InfoPath, Internet Explorer, OneNote, Outlook,

    PowerPoint, SharePoint, SQL Server, Visio, Windows, Windows Server, and Windows Vista are

    either registered trademarks or trademarks of Microsoft Corporation in the United States and/or

    other countries.The names of actual companies and products mentioned herein may be the trademarks of their

    respective owners.

    ii

  • 8/14/2019 Design&BuildSItes Whitepaper

    3/143

    Contents

    Design and build sites for Office SharePoint Server 2007 ............................................ ...............1

    Abstract..................................................................................................................... ...............1

    About designing and building sites .............................................................................................. ....1

    Determine your approach ............................................................................................................... .2

    Basic customization approach ...................................................................................... ...............3

    Intermediate customization approach .............................................................................. ............3

    Advanced customization approach ................................................................................... ...........4

    Author-centric approach ............................................................................................ ...............4

    Developer-centric approach ............................................................................... ............... .......5

    Review of site elements ................................................................................................. ................ .7

    Elements of an Office SharePoint Server site ........................................................................ ..... .7

    Authored site elements ................................................................................................... .............7

    Artifacts ............................................................................................................... .............. .......8

    Master pages ...................................................................................................... .............. ....8

    Layout pages ................................................................................................ ............... .........8

    Cascading style sheets ......................................................................................... ............... .9

    Web content........................................................................................................... .............. ....9

    Tools used to deploy authored elements of sites ................................................................ ..... .9

    Content deployment..................................................................................................... .........9

    Migration APIs ............................................................................................................. ........10

    Solutions ............................................................................................................ ............... ..10

    Typical developed elements of sites ........................................................................ ................ ..10

    Web Parts ....................................................................................................................... ........11

    Workflows ................................................................................................................. ..............11

    List definitions ................................................................................................................. ........11

    Tools used to deploy developed elements of sites ......................................... ................ ........12

    Solutions ............................................................................................................ ............... ..12

    Features ........................................................................................................................ ......12

    Review of environments ......................................................................................................... .......13

    Development environment................................................................................................ .........13

    Software configuration management environment............................................ ................ ........14

    Integration environment ................................................................................................ .............15

    Authoring environment............................................................................................................. ..15

    Pilot environment ............................................................................................................ ...........16

    Production environment..................................................................................................... ........16

    Review of tools and processes ........................................................................... ............... ...........17

    Using software development and configuration management tools ........................................ ...18

    iii

  • 8/14/2019 Design&BuildSItes Whitepaper

    4/143

    Using integration and testing tools ....................................................................................... ......19

    Using site design and customization tools ................................................................... ..............19

    Using solutions packaging and deployment tools ...................................................... ................20

    Using content authoring and deployment tools ................................................................ ..........21

    About development team roles ............................................................................ ............... ..........23

    Architect.................................................................................................................................. ...23

    Developer .............................................................................................................. ............... .....23

    Designer ................................................................................................................ ................ ....24

    Author ........................................................................................................................... .............24

    Tester .................................................................................................................................. ..... ..25

    Administrator .................................................................................................. ............... ............25

    Customization scenarios ................................................................................................... ............27

    Corporate extranet site: An author-centric scenario ............................................................. ......27

    Customization tasks ........................................................................................... ................ ....28

    The Contoso approach .................................................................................................. .........28

    Enterprise Internet presence site: A developer-centric scenario ................................ .............. ..31

    Customization tasks ........................................................................................... ................ ....32

    The Blue Yonder Airlines approach ................................................................ ................ ........33

    Overview of upgrading from SharePoint Portal Server 2003 to Office SharePoint Server 2007 and

    new methods for common customizations ......................................................................... ........36

    About the upgrade process ..................................................................................................... ...36

    Step 1: Plan ...................................................................................................................... ......37

    Step 2: Prepare .................................................................................................... ................ ..37

    Step 3: Perform the upgrade ................................................................................. ............... ..38

    Step 4: Perform post-upgrade steps .................................................................................... ...38

    Best practices for customization ...................................................................................... .......38

    Overview of common customizations ................................................................ .............. ..........39

    Customization: Specific designs for area pages ........................................................ .............. ..40

    Upgrade considerations for custom area page templates ................................. ................. ....40

    Best practices for customizing subsites .............................................................................. ....40

    Customization: Custom authentication .............................................................. .............. ..........40

    Upgrade considerations for custom authentication solutions ......................... ................ ........40

    Best practices for customizing authentication methods ................................................. .........41

    Customization: Specific navigation scheme ............................................................................ ...41

    Upgrade considerations for navigation ..................................................................... ..............41

    Best practices for customizing navigation ................................................... ............... ............41

    Customization: Customized look and feature set for a template ......................................... .......42

    Upgrade considerations for custom site definitions ............................................. ............... ....42

    Upgrade considerations for themes and .css files ..................................................... .............42

    Upgrade considerations for Web Parts .............................................................................. .....43

    Best practices for creating custom features, master pages and page layouts, or for creating

    custom site definitions .................................................................................................... .....43

    iv

  • 8/14/2019 Design&BuildSItes Whitepaper

    5/143

    Resources for upgrading from Content Management Server 2002 ......................................... ......44

    Set up the server environments ................................................................................ .............. ......46

    Set up the software configuration management environment.................................... ................. ..48

    Set up the development environment............................................................... ............... .............50

    System requirements .......................................................................................................... .......51

    Software requirements ............................................................................................................. ..51

    Installing Office SharePoint Server 2007 and other software ..................................................... 53

    Set up the integration environment (Office SharePoint Server) ............................... ................ .....54

    Hardware and software requirements ................................................................................. .......54

    Installing Office SharePoint Server 2007 and other software ..................................................... 54

    Importing test data ......................................................................................................... ............55

    Overview of testing .................................................................................................. ................ ..55

    Set up the authoring environment.................................................................................. ...............57

    Hardware and software requirements ................................................................................. .......57

    Installing Office SharePoint Server 2007 and other software ..................................................... 57

    Set up the pilot environment................................................................................ .............. ...........58

    Hardware and software requirements ................................................................................. .......58

    Installing Office SharePoint Server 2007 and other software ..................................................... 58

    Overview of testing .................................................................................................. ................ ..59

    Deploy customizations ................................................................................................. ............... ..61

    About the two classes of customizable site elements .................................................... ............62

    Deploying developed site elements .......................................................................... .................63Deploying authored site elements ................................................................. ............... .............65

    Deploying authored site element customizations ............................................................ ..............68

    Deploying content by using the content deployment feature .................................. ................. ..70

    What is the content deployment feature? ............................................................... ................70

    When to use the content deployment feature .............................................................. ...........71

    Deploy content by using content deployment jobs ......................................... ................ ........71

    Deploying content by using content deployment packages .................................... ................ ...72

    What is a content deployment package? ............................................................................ ....72

    When to use a content deployment package ............................................. ............... .............73

    Create a content deployment package by using the Stsadm command-line tool...................73

    Saving a content deployment package to the software configuration management system ...74

    Importing a content deployment package by using the Stsadm command-line tool...............74

    Deploying content by using solution packages ........................................................... ...............75

    What is a solution package? ................................................................................................... 75

    When to use a solution package .................................................................... ................ ........75

    Deploying developed site element customizations .................................................................... ....77

    Deploying developed site elements by using solution packages ................................. ..............79

    v

  • 8/14/2019 Design&BuildSItes Whitepaper

    6/143

    What is a solution package? ................................................................................................... 79

    When to use solution packages ............................................................................................. .79

    Deploy a solution by using Central Administration ................................................................. .80

    Create a solution package ................................................................................................. .....81

    Manually create a solution package ........................................................................... .........82Create a solution package by using the SharePoint Solution Generator ................ ............89

    Create a solution package by using WSPBuilder ........................................................ ........90

    Import a solution package by using the Stsadm command-line tool.......................................90

    Deploy a solution package by using the Stsadm command-line tool......................................91

    Deploying developed site elements by using Features ....................................................... .......92

    What is a Feature? ................................................................................................... ..............92

    When to use Features ............................................................................................. ...............93

    Create a Feature package ................................................................................................. .....94

    Manually deploy a Feature ..................................................................................... ................95

    Install and activate a Feature by using the Stsadm command-line tool..................................96

    Solution package components ........................................................................................ ..............97

    Solution element............................................................................................................. ...........98

    FeatureManifest element............................................................................................. ..............98

    Assembly element.............................................................................................. ................ .......98

    ApplicationResourceFile element........................................................................ .............. ........99

    CodeAccessSecurity element........................................................................................ ..........100

    DwpFile element........................................................................................................... ...........100

    Resource element.................................................................................................................... 100

    SiteDefinitionManifest element........................................................................... .............. .......100

    RootFile element......................................................................................... ................ ............101

    TemplateFile element .............................................................................................................. .101

    Feature roadmap pages ........................................................................................................ ......102

    Sites and subsites roadmap ................................................................................................ ........103

    Before you begin ......................................................................................... ................ ............103

    General overviews ............................................................................................................. ...103

    About information architecture ............................................................................................. .103

    About site collections and sites ..................................................................... ................ .......104

    About navigation ................................................................................................................. ..104

    Determine information architecture .................................................................................... ......104

    Create site collections and sites ........................................................................ ................ ......104

    Customize navigation ...................................................................................... ............... .........105

    Page design roadmap ...................................................................................................... ...........106

    Before you begin ......................................................................................... ................ ............107

    General overviews ............................................................................................................. ...107

    About master pages ......................................................................................... ................ ....107

    About navigation ................................................................................................................. ..107

    About layout pages ............................................................................................................. ..107

    vi

  • 8/14/2019 Design&BuildSItes Whitepaper

    7/143

    About Web Parts and field controls ................................................................. ................ .....107

    Customize master pages ........................................................................................... ..............108

    Configure navigation ......................................................................................................... .......108

    Customize layout pages ................................................................................. ............... ..........109

    Incorporate Web Parts ................................................................................................... ..........109Use the Content Query Web Part........................................................................ ............... ..110

    Customize the styles used on page elements .................................................................... ......110

    Customize tools used by authors ......................................................................... ............... .....111

    Document management roadmap .................................................................................... ...........112

    Before you begin ............................................................................................................... .......113

    Create content types ....................................................................................................... .........113

    Define columns ............................................................................................................ .........114

    Add metadata .................................................................................................... .............. .....114

    Add information management policies ............................................................................. .....114

    Associate workflows ....................................................................................... .............. ........115Create document libraries .............................................................................................. ..........115

    Associate content types with document libraries ..................................................................... .115

    Add content to document libraries .......................................................................................... ..116

    Manage content permissions .................................................................................. ............... ..116

    InfoPath Forms Services roadmap .................................................................................. ............117

    Before you begin ............................................................................................................... .......117

    Plan form template design ........................................................................................ ............117

    Plan form template deployment.............................................................................. ..............118

    Plan server supportability and maintenance ............................................................ .............118

    Configure InfoPath Forms Services ...................................................................... .............. .....118

    Design form templates .............................................................................................. ...............118

    Overviews and demos for form template developers ....................................................... .....119

    Form design considerations ................................................................................................ ..119

    Managed code development........................................................................ ................ ........119

    Data connections and data connection libraries ................................................ .............. .....119

    Deploy form templates ...................................................................................................... .......120

    Additional resources .............................................................................................. ................ ..120

    Workflows roadmap ............................................................................................ .............. ..........121

    Before you begin ......................................................................................... ................ ............121

    Configure the workflows included with Office SharePoint Server 2007 ............................... ....122

    Design custom workflows in Office SharePoint Designer 2007 ............................ ................. ..122

    Design custom workflow forms in Office InfoPath 2007 .................................................. .........123

    Develop custom workflows in Visual Studio 2005 ............................................................. ..... ..124

    Use partner workflow tools ............................................................................ ............... ...........125

    Business intelligence roadmap .......................................................................... .............. ...........126

    Before you begin ......................................................................................... ................ ............126

    Connect to business data by using data connection libraries ....................................... ...........127

    vii

  • 8/14/2019 Design&BuildSItes Whitepaper

    8/143

    Add a trusted file location ..................................................................................... ............... .127

    Configure the Single Sign-On service ......................................................... ............... ..........127

    Add a trusted data provider ................................................................................. ................ .127

    Add a trusted data connection library ..................................................................... ..............128

    Connect to data in line-of-business applications ................................................................. .....128Configure security for the Business Data Catalog ................................................... .............128

    Create application definitions ......................................................................... ............... .......128

    Import application definitions ..................................................................................... ...........128

    Design business data actions ......................................................................................... ......129

    Display business data in lists and Web Parts ................................................... .............. .........129

    Create business data sites ............................................................................ .............. ............130

    Records management roadmap ............................................................................................... ...132

    Before you begin ......................................................................................... ................ ............133

    Create the Records Center site ......................................................................... ................ ......133

    Create a Records Center site ................................................................................... ............134Create document libraries ............................................................................... .............. .......134

    Define columns .................................................................................................................... .134

    Implement information management policies ....................................................... .............. ..134

    Implement the record routing table ............................................................................... ........135

    Connect active document sites to the Records Center site ...................................... ...............135

    Configure active document sites for records management.............................................. ........135

    viii

  • 8/14/2019 Design&BuildSItes Whitepaper

    9/143

    About designing and building sites

    This section provides overview materials for site architects, planners, and designers to help themunderstand the end-to-end Microsoft Office SharePoint Server 2007 site-development

    methodology and site-customization options.

    Determine your approach outlines and contrasts the range of customization

    approaches available to site architects and designers.

    Review of site elements defines the types of elements that compose a site based on

    Office SharePoint Server 2007 and provides examples of both types of elements.

    Review of environments reviews the various environments used in a Office

    SharePoint Server 2007 customization project.

    Review of tools and processes describes the most commonly used software

    development, configuration management, and authoring tools used to customize sitesbased on Office SharePoint Server 2007 along with the processes to deploy

    customizations.

    About development team roles reviews the various roles recommended in staffing a

    coordinated Office SharePoint Server 2007 customization project.

    Customization scenarios presents two contrasting customization scenarios illustrating

    an author-centric and a developer-centric approach.

    Overview of upgrading from SharePoint Portal Server 2003 to Office SharePoint

    Server 2007 and new methods for common customizations supplements theUpgrading

    to Office SharePoint Server 2007(http://technet.microsoft.com/en-

    us/library/cc303420.aspx) Guide. The guide covers the process of planning andperforming an upgrade from Microsoft Office SharePoint Portal Server 2003 to Office

    SharePoint Server 2007.

    Resources for upgrading from Content Management Server 2002contains links to

    resources that can help you plan and perform an upgrade from Microsoft Content

    Management Server 2002 to Office SharePoint Server 2007.

    1

    http://technet.microsoft.com/en-us/library/cc303420.aspxhttp://technet.microsoft.com/en-us/library/cc303420.aspxhttp://technet.microsoft.com/en-us/library/cc303420.aspxhttp://technet.microsoft.com/en-us/library/cc303420.aspxhttp://technet.microsoft.com/en-us/library/cc303420.aspxhttp://technet.microsoft.com/en-us/library/cc303420.aspx
  • 8/14/2019 Design&BuildSItes Whitepaper

    10/143

    Determine your approach

    In this article:

    Basic customization approach

    Intermediate customization approach

    Advanced customization approach

    There are a range of approaches to developing a custom Web site based on Microsoft Office

    SharePoint Server 2007. The approach you choose will depend on many factors, including:

    Purpose The Web site's purpose is the key factor in determining your approach.

    Depending on your site's purpose, you may choose a more basic or more advance

    customization approach. For example, a site for collaborating with a small team on a

    single project is short-lived and only used by a few people who perform a specific set of

    tasks. Therefore, it probably does not require a heavily customized appearance. On theother hand, a site that will be used as an enterprise intranet portal, with thousands of

    users visiting the site daily, might impel you to put effort and resources into branding the

    site and making it attractive in other ways. Similarly, an enterprise-level site that needs

    particular functionality that is not available in Office SharePoint Server 2007 can require

    the development of custom software solutions to supply the needed functionality. For a

    review of the types of Web sites and portals that can be implemented by using Office

    SharePoint Server 2007, see Plan sites and features (http://technet.microsoft.com/en-

    us/library/cc263267.aspx).

    Resources The resources available for developing custom solutions include

    software products, such as Microsoft Office SharePoint Designer 2007 and Microsoft

    Visual Studio 2005, and hardware resources, such as developer workstations and Web

    servers for testing and integrating code. More basic customization approaches require

    few or no additional resources. For example, you can add Web Parts to pages, create

    custom list views, and change the image on a site's home page directly in the Web

    browser. By adding Office SharePoint Designer 2007, you can implement more complex

    customizations such as designing master pages and layout pages. Fully customized

    enterprise-level Web sites, such as a corporate Internet presence site can require

    multiple Web farms for developing, testing, and piloting the site, along with dedicated

    software tools for code development and configuration management. For a description of

    the resources that may be required for custom solution development, see Review of tools

    and processes.

    Personnel As your customization requirements become more complex, you require

    a larger team of experts with skills across various disciplines. For example, designing and

    implementing a fully customized enterprise portal or Internet presence site will require

    system architects, designers, developers, testers, infrastructure specialists, and other

    specialists, working together for months. For information about the skills required for a

    more complex site development project, seeAbout development team roles.

    2

    http://technet.microsoft.com/en-us/library/cc263267.aspxhttp://technet.microsoft.com/en-us/library/cc263267.aspx
  • 8/14/2019 Design&BuildSItes Whitepaper

    11/143

    The following sections outline the range of customization approaches available to site architects

    and designers and describe the advantages of each approach.

    Basic customization approachIn the basic approach, you customize your site directly in the Web browser. For example, a

    medium-sized team's collaboration Web site that includes a calendar, shared documents,

    announcements, and shared contacts might benefit from customizations such as:

    Adding the team's logo to the site.

    Applying a new theme to enhance the site's appearance.

    Customizing the site's navigation elements to improve its usability.

    Adding Web Parts to the home page to add functionality.

    You can perform each of the preceding customization tasks in the Web browser by using the

    Office SharePoint Server 2007 user interface. Therefore, you do not need to use this guide. For

    information that can help you plan and implement a basic customization approach, use the OfficeSharePoint Server 2007 online Help along with the SharePoint Products and Technologies

    articles onOffice Online (http://go.microsoft.com/fwlink/?LinkId=104991&clcid=0x409).

    Intermediate customization approachIn the intermediate approach, you customize some elements of your site in the Web browser as in

    the basic approach. In addition, you use Office SharePoint Designer 2007, a product for creating

    and customizing Office SharePoint Server 2007 Web sites, to do more advanced customizations.

    For example, the intranet portal site in a medium-sized enterprise that includes a home page for

    sharing organization-wide news and information, and subsites for presenting human resources

    information, various workplace services, and business-related data, can benefit fromcustomizations such as:

    Customizing the portal's master page to create a unique, branded site framework.

    Creating custom layouts to display the various types of pages in the portal.

    Creating cascading style sheets that implement the enterprise's color scheme and

    fonts.

    Creating data views for presenting information stored in back-end systems, such as

    personalized displays of payroll and benefits data.

    You can perform each of the preceding customization tasks by using Office SharePoint Designer

    2007. Other customizations, such as configuring navigation and adding Web Parts to pages, can

    still be done in a Web browser by using the Office SharePoint Server 2007 user interface.

    Some of the contents in this guide can help you implement intermediate customizations.

    Particularly, review theFeature roadmap pages, which provide links to content and resources

    related to Office SharePoint Server 2007 features such as workflows, page design, document

    management, or business intelligence. For more information about implementing a Web site with

    Office SharePoint Designer 2007 and browser-based customizations, see the Office SharePoint

    Designer 2007 product documentation and the SharePoint Products and Technologies articles on

    Office Online (http://go.microsoft.com/fwlink/?LinkId=104991&clcid=0x409).

    3

    http://go.microsoft.com/fwlink/?LinkId=104991&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=104991&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=104991&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=104991&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=104991&clcid=0x409
  • 8/14/2019 Design&BuildSItes Whitepaper

    12/143

    Advanced customization approachThis guide is primarily targeted at site architects, developers, and designers who are customizing

    sites by implementing developed site elements such as custom workflows, Web Parts, document

    converters, and iFilters combined with customized authored site elements, such as master pages,

    cascading style sheets, and layout pages. An advanced customization approach is most likely to

    be used in enterprises for the development of widely used or mission-critical sites, such as

    corporate Internet presence sites, enterprise-wide portal sites, or sites with unique business

    functionality for example, a financial services company's dashboard site.

    The advanced customization approach requires combining authored and developed custom site

    elements and features for sites. Therefore, the approach requires a rigorous methodology, which

    is described in this guide. Developing these sites includes setting up multiple environments for

    developing, integrating, piloting, and deploying coded elements and content from one

    environment to another and coordinating the efforts of a large team charged with planning,

    designing, implementing, and testing the site.

    Two customization approaches are described in this guide:

    An author-centric approach, in which authored site elements (including artifacts such

    as master pages and layout pages) are maintained and deployed by using different

    methods than those used to maintain and deploy developed site elements. This promotes

    the more rapid dissemination of authored content.

    A developer-centric approach, in which developed site elements, such as Web parts

    and workflows, and site artifacts such as master pages, layouts, and cascading style

    sheets, are maintained and deployed using similar methods. This provides a more

    rigorous method of maintaining the site artifacts that is typically associated with software

    development.

    Author-centric approach

    In an author-centric approach, the methods for creating, maintaining, and deploying authored and

    developed site elements are different.

    Authored site elements You create a site's authored site artifacts its master

    pages, layouts, Web and cascading style sheets and its content pages, graphics, and

    other files, by using client applications such as Office SharePoint Designer 2007, Office

    Word 2007, or Office SharePoint Server 2007 running in the Web browser. Management

    of content, such as versioning, check-in/check-out, and content approval, are based on

    the document management features that are provided by default in Office SharePoint

    Server 2007. You deploy all authored site elements, including both artifacts and content

    pages, by using the Web publishing features included in Office SharePoint Server 2007,

    such as Content Deployment and Site Variations.

    Developed site elements You typically create a site's custom developed site

    elements by using Microsoft Visual Studio 2005 along with the Microsoft .NET Framework

    version 3.0. Source control and configuration management is handled by a program such

    as Visual Studio 2005 Team System. You package custom developed elements into

    4

  • 8/14/2019 Design&BuildSItes Whitepaper

    13/143

    features and deploy them by using the Office SharePoint Server 2007 solutions

    packaging and deployment capability.

    An author-centric approach is advantageous because it:

    Uses the content deployment features included in Office SharePoint Server 2007 to

    deploy custom artifacts such as master pages and layouts.

    Promotes more rapid dissemination of content because the content is all managed

    directly in Office SharePoint Server 2007 rather than in a separate configuration

    management system.

    Takes advantage of the built-in content versioning, check-in/check-out, and approval

    features of Office SharePoint Server 2007.

    Is generally easier to configure and deploy because it requires a less customized

    development environment.

    For a description of a scenario that uses the author-centric approach, including an illustration of

    the various environments used, seeCustomization scenarios.

    Developer-centric approach

    In a developer-centric approach, you use different methods to create authored and developed site

    elements, but you maintain both authored artifacts and developed items in a single configuration

    management system, and you deploy both by using similar methods.

    Authored site elements There are two categories of authored site elements:

    artifacts that create the framework in which your site's content is displayed (such as

    master pages and layouts), and Web content (the site's Web pages and images). In the

    developer-centric approach, artifacts are developed in the development environment and

    maintained in the same configuration management system in which coded site elements

    are maintained. The artifacts are packaged along with coded elements into solutionpackages which are then deployed to production, authoring, and pilot farms. Web content

    is maintained in the authoring farm using the document management features that are

    provided by default in Office SharePoint Server 2007. Artifacts and Web content are

    deployed from the authoring farm to the production and pilot farms using the Content

    Deployment feature.

    Developed site elements As in an author-centric approach, you typically create a

    site's custom developed elements by using Microsoft Visual Studio 2005 along with the

    Microsoft .NET Framework version 3.0. You use Visual Studio 2005 Team System or an

    equivalent configuration management system to manage source code, binary files, and

    the solution files. You package custom developed elements into features and deploy

    them by using the Office SharePoint Server 2007 solutions packaging and deployment

    capability.

    A developer-centric approach has the following advantages:

    Artifacts and code are managed in the same configuration management system.

    All custom elements of the site can be reconstructed and deployed from the

    configuration management system. This is useful in distributing sites geographically and

    in disaster recovery.

    5

  • 8/14/2019 Design&BuildSItes Whitepaper

    14/143

    A baseline environment can be maintained for disaster recovery or for rolling back

    from bugs.

    The test/integration environment and pilot environment can be deployed using

    production-level artifacts.

    Developed and authored elements are maintained by using similar tools and

    processes.

    For a description of a scenario that uses a developer-centric approach, including an illustration of

    the various environments used in this approach, see Customization scenarios.

    For a description of another developer-centric approach to combining custom code and content,

    with the aim of accelerating implementation and mitigating production risks, see the white paper

    Implementing Microsoft Office SharePoint Server 2007 and Windows SharePoint Services 3.0

    Solutions (http://go.microsoft.com/fwlink/?LinkId=108059&clcid=0x409).

    See Also

    Customization scenarios

    Deploy customizations

    6

    http://go.microsoft.com/fwlink/?LinkId=108059&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=108059&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=108059&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=108059&clcid=0x409
  • 8/14/2019 Design&BuildSItes Whitepaper

    15/143

    Review of site elements

    In this article:

    Elements of an Office SharePoint Server site

    Typical authored elements of sites

    Typical developed elements of sites

    Elements of an Office SharePoint Server siteThere are two categories of elements in sites based on Microsoft Office SharePoint Server 2007,

    authored elements developed elements:

    Authored elements These are the Web pages, images, layout pages, cascading

    style sheets, and other resources that compose your Web site based on OfficeSharePoint Server 2007. Authored elements are deployed in the SQL database. In some

    cases described below, specific types of authored elements may be deployed on front

    end servers.

    Developed elements These are programs and files that provide functionality to a

    site, such as providing a workflow that implements a business process or providing a site

    template so that users can create sites of a particular design. Developed site elements

    are deployed on the farm's Web servers or, in some cases, on dedicated application

    servers in the middle tier of the farm.

    See the Feature roadmap pages included in this guide for links to customization resources for

    most Office SharePoint Server 2007 site elements. For a detailed discussion of the various types

    of Office SharePoint Server server-deployed site elements, including technical details, examples,

    and support details, see White paper: SharePoint Products and Technologies customization

    policy (http://technet.microsoft.com/en-us/library/cc263010(TechNet.10).aspx).

    Authored site elementsThere are two categories of authored site elements, artifacts and Web content:

    Artifacts These are site elements, typically authored using a design tool such as

    Microsoft Office SharePoint Designer 2007, that create the framework in which your site's

    content appears, such as its layout and appearance.

    Web content These are site elements, typically authored directly in the Web browseror in a client authoring program such as Office Word 2007, that supply the content of your

    site, such as its Web pages and images.

    Authored site elements are typically deployed by using the Office SharePoint Server 2007

    Content Deployment feature or the content migration programmable interface. Custom artifacts

    can also be installed as part of a solution package (see Review of tools and processes). For more

    information, see Plan content deployment and Content migration overview

    (http://go.microsoft.com/fwlink/?LinkID=86999&clcid=0x409).

    7

    http://technet.microsoft.com/en-us/library/cc263010(TechNet.10).aspxhttp://technet.microsoft.com/en-us/library/cc263010(TechNet.10).aspxhttp://technet.microsoft.com/en-us/library/cc263428.aspxhttp://go.microsoft.com/fwlink/?LinkID=86999&clcid=0x409http://technet.microsoft.com/en-us/library/cc263010(TechNet.10).aspxhttp://technet.microsoft.com/en-us/library/cc263010(TechNet.10).aspxhttp://technet.microsoft.com/en-us/library/cc263428.aspxhttp://go.microsoft.com/fwlink/?LinkID=86999&clcid=0x409
  • 8/14/2019 Design&BuildSItes Whitepaper

    16/143

    Artifacts

    Artifacts are essential authored site elements for designing and building publishing sites such as

    corporate Internet presence sites or enterprise intranet portal sites. They provide the framework

    in which your site's Web pages will be displayed, including the branding of the pages, their

    appearance, navigation links, and other common elements. Even in non-publishing scenarios,custom artifacts can make Web sites more recognizable, useful, and appealing. An initial set of

    artifacts are created when you create a new site collection in Office SharePoint Server 2007. By

    using the Office SharePoint Server 2007 user interface and programs such as Microsoft Office

    SharePoint Designer 2007, you can modify these files and resources and add new ones.

    The following sections describe the three types of customizable artifacts. For links to resources

    for customizing authored site elements, see the Page design roadmap.

    Master pages

    A master page in a publishing Web site defines the outer frame of the Web page. It contains the

    features, such as navigation links, that you want all pages in your site to share, and it provides asingle place to control all of those features. Typically, a site uses a single master page, although

    large Internet sites might use more. For example, a corporate Web site that is used to publicize

    more than one product could use separate master pages so that the content for each product is

    properly branded.

    Note

    There are two types of master pages: site master pages and system master pages. The

    site master page is used on published Web pages in your site. It is the master page that

    site users and visitors see when they view published content. The system master page

    supplies the layout of pages in the site that implement the user interface for

    commands for example, Document Library Settings. The system master page is alsoused in some team site templates for example, Wiki Site and Document Workspace.

    Master pages for all sites in a site collection are stored in the Master Page gallery in the top-level

    site in the site collection. Because the Master Page gallery is a SharePoint library, master pages

    have all the features of documents in Office SharePoint Server 2007, such as versioning,

    auditing, workflow, check-in and check-out, and content approval.

    Layout pages

    A layout page is an Active Server Page Extension (ASPX) page that defines a layout for a type of

    content page. When a SharePoint site user opens a page in a browser, that page's associated

    layout page is first combined with the active master page, which supplies the outer frame of the

    page, and then the contents of the page are rendered in the fields (called field controls) on the

    layout.

    You design layout pages to match the contents of a type of content page. For example, if a

    content page type has two images, the associated layout page should have fields in which to

    display both images. You can design multiple layout pages for the same content page. For

    example, for a page with an image, you may have one "image left" layout page and one "image

    right" layout page.

    8

  • 8/14/2019 Design&BuildSItes Whitepaper

    17/143

    Layout pages for all sites in a site collection are stored in the Master Page gallery in the top-level

    site in the site collection.

    Cascading style sheets

    Cascading style sheets define styles, such as fonts, colors, or alignment, for the various elements

    of a Web page. In sites based on Office SharePoint Server 2007, one or more cascading style

    sheets can be associated with master pages. Each master page included in Office SharePoint

    Server 2007 has an associated cascading style sheet that is stored in the Styles library in the top-

    level site of a site collection. For example, the Blueglassband master page is associated with the

    zz1_BlueGlass style sheet.

    When a layout page is loaded, it uses the cascading style sheet information from the current

    master page. A layout page can also include its own inline cascading style sheet definitions.

    Because it is loaded after the master page, style conflicts between a layout page and a master

    page are resolved in favor of the layout page.

    A Styles library is available in each Office SharePoint Server 2007 site, and you can create yourown cascading style sheets and add them to a Styles library. When you do this, you can specify

    your own style sheet as the alternative style sheet for a site. (You can also link to an external style

    sheet as the alternative style sheet.) Because a site's alternative style sheet is loaded last, style

    conflicts between it and the current master page or layout page are resolved in favor of the

    alternative style sheet.

    Web content

    Web content includes HTML, images, and other resources used to compose the Web pages

    displayed in your site. Authors create Web page content in Pages libraries in Office SharePoint

    Server 2007 sites. Resources used to help create Web content are stored in other libraries. For

    example:

    Images This library is used to make images available for Web page authors.

    Style Library This library is used to make custom XSL styles and cascading style

    sheets available for Web page authors.

    For an overview of Web content and Web page options in Office SharePoint Server 2007 sites,

    see Plan Web pages and Plan Web page authoring.

    Tools used to deploy authored elements of sites

    The primary tools used to deploy authored site elements are:

    Content deployment

    The migration APIs

    Solutions packages

    Content deployment

    Content deployment copies content from a source Office SharePoint Server 2007 site collection

    to a destination site collection. The entire source site collection can be copied, or a subset of sites

    9

    http://technet.microsoft.com/en-us/library/cc263106(TechNet.10).aspxhttp://technet.microsoft.com/en-us/library/cc263367(TechNet.10).aspxhttp://technet.microsoft.com/en-us/library/cc263106(TechNet.10).aspxhttp://technet.microsoft.com/en-us/library/cc263367(TechNet.10).aspx
  • 8/14/2019 Design&BuildSItes Whitepaper

    18/143

    can be copied. In either case, content deployment is incremental by default, deploying only

    changed pages and related assets (such as images). A Quick Deploy feature supports

    deployment of a single page by authors.

    Because authored elements, such as master pages and layouts, are content items that are stored

    in a document library or gallery, they are deployed along with the Web pages, graphic files, andother content that composes a SharePoint site. For example, if a site is published as an Internet

    presence site and, in the authoring site collection, a change is made to a master page or

    cascading style sheet, that change will be deployed to the production site collection along with

    any new or changed content pages. For more information, seeReview of tools and processes

    andPlan content deployment.

    Migration APIs

    SharePoint Products and Technologies content migration provides a highly flexible set of

    application programming interfaces (APIs) that support migrating content and its dependencies

    into Office SharePoint Server 2007 and Windows SharePoint Services 3.0 sites. The content can

    originate from another SharePoint site or from an external source.

    SharePoint content migration is based on an export/import model. First, the developer exports the

    custom Web site data, dependencies, and site structure into data files that are rolled up into one

    or more content migration packages. Then, an administrator on the destination farm imports the

    content migration package, and its contents are unpacked, and the data, dependencies, and

    structure are reconstituted on the migration target.

    The content migration object model APIs are contained in the Microsoft.SharePoint.Deployment

    namespace. They are flexible, and you can migrate an entire Web site, a subset of a site's

    contents, or even a single list or library item.

    For more information on the migration programming interfaces, seeContent Migration

    (http://go.microsoft.com/fwlink/?LinkId=103094&clcid=0x409).

    Solutions

    As described in the Windows SharePoint Services 3.0 SDK, a solution is a deployable, reusable

    package that can contain a set of features, site definitions, artifacts, and assemblies that you can

    apply to a site, and can also enable or disable individually. Solution packages can be used to

    package artifacts such as layout pages and master pages, but not general Web content, and

    deploy them to authoring, pilot, or production farms. For more information, seeReview of tools

    and processes.

    Typical developed elements of sitesWhen Office SharePoint Server 2007 is deployed, a set of programs and files are installed on the

    servers in the Office SharePoint Server 2007 farm that provide features used by site

    administrators, authors, designers, or users. Developers can develop and deploy additional

    programs and files to provide custom features or support for tasks done in Office SharePoint

    Server 2007. Also, third party developers and vendors offer a range of developed elements that

    10

    http://technet.microsoft.com/en-us/library/cc263428.aspxhttp://technet.microsoft.com/en-us/library/cc263428.aspxhttp://technet.microsoft.com/en-us/library/cc263428.aspxhttp://go.microsoft.com/fwlink/?LinkId=103094&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=103094&clcid=0x409http://technet.microsoft.com/en-us/library/cc263428.aspxhttp://go.microsoft.com/fwlink/?LinkId=103094&clcid=0x409
  • 8/14/2019 Design&BuildSItes Whitepaper

    19/143

    you can deploy. For a complete list of Microsoft Certified Partners and Microsoft Gold Certified

    Partners, see Solutions directory(http://go.microsoft.com/fwlink/?LinkId=103095&clcid=0x409).

    This section describes some typical types of developed site elements that are typically

    implemented and deployed for use with Office SharePoint Server 2007.

    Web Parts

    Web Parts are ASP.NET controls that enable site users to modify the content, appearance, and

    behavior of Web pages directly from a browser. When users modify pages and controls, the

    settings can be saved to retain a user's personal preferences across future browser sessions.

    Office SharePoint Server 2007 includes many predefined Web Parts that you can be use to

    provide additional functionality to site pages, including:

    Content Query Web Part, which displays a dynamic set of items based on a query

    that is built by using a Web browser.

    RSS Viewer Web Part, which renders a Really Simple Syndication (RSS) feed.

    For information about developing custom Web Parts, see Working with ASP.NET 2.0 Web Parts

    and Windows SharePoint Services 3.0

    (http://go.microsoft.com/fwlink/?LinkId=103096&clcid=0x409). (Note that this content is useful for

    both Windows SharePoint Services 3.0 and Office SharePoint Server 2007 development.)

    Workflows

    Workflows implement business processes on documents and items in an Office SharePoint

    Server 2007 site to help members of an organization collaborate on documents and manage

    project tasks. Implementing workflows in sites helps organizations adhere to consistent business

    processes, and they also improve organizational efficiency and productivity by managing the

    tasks and steps involved in business processes. The workflow functionality in Windows

    SharePoint Services 3.0 and Office SharePoint Server 2007 is built on Windows Workflow

    Foundation, a Microsoft Windows platform component that provides a programming infrastructure

    and tools for development and execution of workflow-based applications.

    Office SharePoint Server 2007 includes predefined workflows that implement common content

    authoring and business processes. For example, the Approval workflow sends a document for

    approval before publishing it, and the Issue Tracking workflow routes an issue to team members

    for resolution.

    For information about developing custom workflows, see Developer Introduction to Workflows for

    Windows SharePoint Services 3.0 and Office SharePoint Server 2007

    (http://go.microsoft.com/fwlink/?LinkId=103097&clcid=0x409).

    List definitions

    A list definition defines the schema for a SharePoint list. By installing and activating a list

    definition, you make it available for site authors to create lists of the new type. For more

    information, see How to: Create a Custom List Definition

    (http://go.microsoft.com/fwlink/?LinkId=103100&clcid=0x409).

    11

    http://go.microsoft.com/fwlink/?LinkId=103095&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=103095&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=103096&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=103096&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=103097&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=103097&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=103100&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=103095&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=103096&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=103096&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=103097&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=103097&clcid=0x409http://go.microsoft.com/fwlink/?LinkId=103100&clcid=0x409
  • 8/14/2019 Design&BuildSItes Whitepaper

    20/143

    Tools used to deploy developed elements of sites

    You use the following primary tools to deploy developed site elements:

    Solutions

    Features

    Solutions

    A solution is a packaging mechanism for deploying customizations for SharePoint Products and

    Technologies. A solution typically includes .NET assemblies, deployment files such as resource

    files, images, or other helper files, templates or definitions for sites and lists, and files to support

    the required configuration of custom elements on the farm's Web servers. Solutions are the

    recommended form of deployment of developed customizations into a SharePoint site

    environment, because they can be deployed, upgraded, and retracted. You deploy solutions by

    using the Stsadm command-line tool. For more information, seeReview of tools and processes

    andDevelopment Tools and Techniques for Working with Code in Windows SharePoint Services

    3.0 (http://go.microsoft.com/fwlink/?LinkID=101494&clcid=0x409).

    Features

    A SharePoint Feature is usually installed as part of a solution package. It provides a mechanism

    for associating related executable files, schemas, site and list definitions, and other resources into

    a module that can be administered as a single unit in Office SharePoint Server 2007. You can

    enable or disable a feature at the Web application, site collection, or individual site level. For

    example, if you deploy two workflows in a solution, including them in a single feature enables you

    to administer them as a single unit, and including them in separate features enables you to

    administer them individually. For more information, see Review of tools and processesand

    Development Tools and Techniques for Working with Code in Windows SharePoint Services 3.0(http://go.microsoft.com/fwlink/?LinkID=101494&clcid=0x409).

    See Also

    Review of tools and processes

    12

    http://go.microsoft.com/fwlink/?LinkID=101494&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=101494&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=101494&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=101494&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=101494&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=101494&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=101494&clcid=0x409
  • 8/14/2019 Design&BuildSItes Whitepaper

    21/143

    Review of environments

    As sites for Microsoft Office SharePoint Server 2007 are designed and built, content, artifacts,and developed site elements pass through several processes managed by different people on the

    development and design teams. These processes occur in separate environments that use

    different tools to integrate and deploy content to sites.

    The development and design teams use the following environments to design and build

    SharePoint sites:

    Development environment

    Software configuration management environment

    Integration environment

    Authoring environment

    Pilot (or test) environment

    Production environment

    Each environment is associated with a different step in the deployment of site elements by

    solutions deployment, the content deployment features, or the Content Migration APIs. These

    environments are sometimes combined. For example, development, software configuration

    management, and integration could all occur in a unified development environment, without using

    solutions deployment except when deploying outside of the environment. In some deployments

    with fewer customizations of developed elements, pilot and production environments can be

    combined by converting a pilot environment to a production environment after customizations

    have been tested, without requiring an additional deployment step. In most cases, however,

    ongoing testing requires using a separate pilot environment.Any approach organized around frequent customization of developed elements tends to use more

    environments with greater specialization.

    For more information about different scenarios and the differences between author-centric and

    developer-centric approaches, see Customization scenarios andDetermine your approach.

    Each of these environments is associated with one or more commonly used tools and processes.

    For more information about tools used in each environment, see Review of tools and processes.

    Each of these environments is also associated with particular development team roles. For more

    information about development team roles, see About development team roles.

    Development environmentThe development environment is where developers and designers create site elements for use in

    SharePoint sites.

    In the author-centric approach, this environment consists of developer workstations that

    developers use to create and individually test developed site elements, such as Web Parts and

    workflows, using a development program such as Microsoft Visual Studio 2005 or Microsoft

    Visual Studio 2008.

    13

  • 8/14/2019 Design&BuildSItes Whitepaper

    22/143

    In some author-centric approaches with more informal software configuration management and

    source control, the developer environment might also include the software configuration

    management servers and an integration farm, with no formal deployment of solutions between

    separate environments. In most deployments, however, both software configuration management

    and integration occur in distinct environments.In the developer-centric approach, the development environment also includes authoring

    workstations that designers use to customize artifacts, such as master pages and layouts.

    Developers and designers who work in the development environment deploy site elements to the

    software configuration management environment for maintenance and source control.

    Notes:

    Developers and designers can deploy site elements as solutions directly to

    the integration environment for integration testing, although integration testing

    usually starts with site elements deployed from the software configuration

    management environment.

    The development environment, along with the software configurationmanagement and integration environments, usually operates in a common

    security zone.

    In very simple deployments that have no need for developed site elements, a development

    environment is unnecessary. Sites can be built and customized entirely within the authoring

    environment.

    Software configuration management environmentThe software configuration management environment is the environment where the software

    configuration management administrator maintains and manages site elements by using such

    tools as Visual Studio 2005 Team System.

    In the author-centric approach, only developed site elements are maintained by the administrator

    in the software configuration management environment. The administrator deploys developed site

    elements as solutions to the integration environment for initial integration testing under controlled

    conditions. Designers and authors create artifacts and authored content independently of the

    software configuration management environment.

    In the developer-centric approach, designers at workstations in the development environment

    deploy artifacts as solutions to the software configuration management environment. Software

    configuration management administrators then package artifacts and developed site elements in

    solutions that are deployed to the integration environment.

    The software configuration management environment does not typically include content createdin the authoring environment. Administrators in the authoring environment deploy content from

    that environment independently even in most developer-centric deployments. In some

    exceptional developer-centric deployments, the software configuration management administrator

    maintains, manages, and deploys all content, artifacts, and developed site elements from a

    centralized software configuration management environment that uses automated processes.

    14

  • 8/14/2019 Design&BuildSItes Whitepaper

    23/143

  • 8/14/2019 Design&BuildSItes Whitepaper

    24/143

    Pilot environmentThe pilot environment is where testers ensure that all site elements function as expected in

    network and security conditions that match the conditions of the production environment.

    Artifacts and authored content created in the authoring environment are deployed to the pilotenvironment using the content deployment features, or the Content Migration APIs in

    disconnected deployments. Developed elements and artifacts created in the development

    environment and tested for integration purposes in the integration environment are deployed to

    the pilot environment as solutions.

    Testers verify that these site elements function as expected. After testing, the independent

    deployment processes for content that originated from the development and authoring

    environments is maintained. Content and artifacts created in the authoring site are deployed by

    the farm administrator in the pilot environment from the pilot environment to the production

    environment using the content deployment features. Developed site elements and artifacts

    created in the development environment are deployed to the production environment from the

    integration environment.

    In a few exceptional developer-centric deployments with centralized software configuration

    management, all site elements are maintained in the software configuration management

    environment and deployed to the production environment from that environment.

    The pilot environment is typically maintained as a test environment for new content, artifacts, and

    developed site elements throughout the life of the site. In a few simple deployments with minimal

    customizations after the initial deployment of the site, it is possible to use the same environment

    as a pilot environment during initial testing and deployment, and as the production environment

    thereafter. This saves the expense of maintaining separate environments, but is not

    recommended because it makes future customizations more difficult.

    Production environmentThe production environment is where sites and all site elements are deployed for use in ongoing

    projects. Production environments typically consist of one or more farms running sites according

    to the information architecture planned by the architect. Several client workstations are part of this

    environment, which can exist in relatively open security and network conditions depending upon

    the purpose of the environment.

    Content, artifacts, and developed site elements are only deployed to this environment after they

    have been successfully tested in the pilot environment, and they continue to be tested in the pilot

    environment as new site elements are introduced and the production environment changes over

    time. Content created in the authoring environment is deployed to the production environmentusing the content deployment features, or the Content Migration APIs in disconnected

    deployments. Content created in the development environment is deployed to the production

    environment by using the solutions deployment framework.

    In a few exceptional developer-centric deployments, content, developed elements, and

    customizations are packaged as integrated solutions and deployed directly to the production

    environment from a centralized software configuration management environment.

    16

  • 8/14/2019 Design&BuildSItes Whitepaper

    25/143

    Review of tools and processes

    In this article:

    Using software development and configuration management tools

    Using integration and testing tools

    Using site design and customization tools

    Using solutions packaging and deployment tools

    Using content authoring and deployment tools

    Designing and building sites for Microsoft Office SharePoint Server 2007 requires a combination

    of processes using many tools in different environments by several people on the design and

    development team. The processes used to design and build sites include:

    Software development

    Software configuration management

    Integration and testing

    Web page and Web site design and customization

    Solutions packaging and deployment

    Content authoring and deployment

    Each of these processes requires one or more tools that can be supplemented by a number of

    optional tools. The most common tools used to design and build sites are:

    Microsoft Visual Studio 2005 or Microsoft Visual Studio 2008 for development

    Visual Studio Team System for source control and software configuration

    management

    Microsoft .NET Framework 3.0

    The software development kits (SDK) for Microsoft Office SharePoint Server 2007

    and Windows SharePoint Services 3.0, including the Content Migration APIs

    Office SharePoint Server 2007

    Microsoft Best Practices Analyzer for Windows SharePoint Services 3.0 and the 2007

    Microsoft Office system

    Microsoft Office SharePoint Designer 2007

    Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions Solution

    Generator Stsadm command-line tool

    2007 Office system client applications, specifically those used for authoring

    Supported browsers including Microsoft Internet Explorer, used to access Office

    SharePoint Server 2007

    The content deployment features in Office SharePoint Server 2007

    17

  • 8/14/2019 Design&BuildSItes Whitepaper

    26/143

    Using software development and configurationmanagement toolsThe most common software development tool for developing custom code and Web Parts to use

    in sites for Office SharePoint Server 2007 is the Microsoft Visual Studio development system.Visual Studio 2008 includes the following applications relevant to creating and managing

    developed site elements for SharePoint sites:

    Visual Studio Team System 2008

    (http://go.microsoft.com/fwlink/?LinkID=106482&clcid=0x409)

    Visual Studio 2008 Professional Edition

    (http://go.microsoft.com/fwlink/?LinkID=106483&clcid=0x409)

    Visual Studio 2008 Standard Edition

    (http://go.microsoft.com/fwlink/?LinkID=106484&clcid=0x409)

    Visual Studio Tools for the Microsoft Office System (version 3.0)

    (http://go.microsoft.com/fwlink/?LinkID=106485&clcid=0x409)

    Visual SourceSafe 2005

    (http://go.microsoft.com/fwlink/?LinkID=106460&clcid=0x409)

    Visual Studio 2008 Express Editions

    (http://go.microsoft.com/fwlink/?LinkID=106486&clcid=0x409)

    Visual Studio Tools for Applications 2.0

    (http://go.microsoft.com/fwlink/?LinkID=106487&clcid=0x409)

    Visual Studio 2005 includes the following applications relevant to creating and managing

    developed site elements for SharePoint sites:

    Visual Studio 2005 Team System

    (http://go.microsoft.com/fwlink/?LinkID=106456&clcid=0x409)

    Visual Studio 2005 Professional Edition

    (http://go.microsoft.com/fwlink/?LinkID=106457&clcid=0x409)

    Visual Studio 2005 Standard Edition

    (http://go.microsoft.com/fwlink/?LinkID=106458&clcid=0x409)

    Visual Studio 2005 Tools for the Microsoft Office System

    (http://go.microsoft.com/fwlink/?LinkID=106459&clcid=0x409)

    Visual SourceSafe 2005

    Visual Studio 2005 Express Editions

    (http://go.microsoft.com/fwlink/?LinkID=106461&clcid=0x409)

    Visual Studio 2005 Tools for Applications

    (http://go.microsoft.com/fwlink/?LinkID=106462&clcid=0x409)

    Another important tool for developing Web Parts is as follows:

    The Microsoft .NET Framework version 3.0

    (http://go.microsoft.com/fwlink/?LinkID=106463&clcid=0x409)

    The software development kits for Office SharePoint Server 2007 and Windows

    SharePoint Services 3.0 provide guidance in developing custom solutions, including

    18

    http://go.microsoft.com/fwlink/?LinkID=106482&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106483&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106484&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106485&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106460&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106486&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106487&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106456&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106457&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106458&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106459&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106461&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106462&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106463&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106482&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106483&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106484&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106485&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106460&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106486&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106487&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106456&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106457&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106458&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106459&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106461&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106462&clcid=0x409http://go.microsoft.com/fwlink/?LinkID=106463&clcid=0x409
  • 8/14/2019 Design&BuildSItes Whitepaper

    27/143

    sample Web Parts and applications. The software development kit for Windows

    SharePoint Services 3.0 also includes the Content Migration APIs, which are used during

    content deployment.

    Other tools that are useful for software development include:

    Internet Explorer Developer Toolbar

    (http://go.microsoft.com/fwlink/?LinkID=106464&clcid=0x409)

    Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions

    (http://go.microsoft.com/fwlink/?LinkID=106465&clcid=0x409)

    The process of source control and software configuration management is closely related to

    software development. In some scenarios for designing and building sites for Office SharePoint

    Server 2007, it occurs in the same environment as software development.

    The most common software configuration management and source control tools for Office

    SharePoint Server 2007 are Visual Studio Team System 2008 and Visual Studio 2005 Team

    System. Visual SourceSafe 2005 is used less frequently.

    Using integration and testing toolsThe integration environment for Office SharePoint Server 2007 sites includes one or more farms

    that are running Office SharePoint Server 2007. Other tools useful during integration include

    applications specifically designed for testing Web pages and Web Parts. Common tools used

    during integration and testing include:

    Microsoft Best Practices Analyzer for Windows SharePoint Services 3.0 and the 2007

    Microsoft Office System(http://go.microsoft.com/fwlink/?LinkID=106466&clcid=0x409)

    SharePoint 2007 Test Data Population Tool

    (http://go.microsoft.com/fwlink/?LinkID=106467&clcid=0x409)

    Visual Studio Team System 2005 or Visual Studio Team System 2008 and other

    source control and software configuration management tools

    After successful integration testing, the integration farm administrator or software configuration

    management administrator deploys developed site elements as solution packages to the

    authoring