25
MOSS 2007 - WCM Architecture and Development Best Practices in a team based environment Karthik Venkataraman

Moss 2007 Wcm Architecture And Development Best Practices In A Team Based Environment

Embed Size (px)

DESCRIPTION

SharePoint Saturday Kansas City

Citation preview

Page 1: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

MOSS 2007 - WCM Architecture and Development

Best Practices in a team based environment

Karthik Venkataraman

Page 2: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

Agenda

• Architecting a MOSS-Internet Facing Site• Content Management Techniques• Team Based Development• Deployment Configuration– Code Deploy / Content Deploy

• Tiered Development Model – DEV-STAGE-PRODUCTION

• Questions?

Page 3: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

About Me

• Background:– SharePoint Architect with focus on ECM, WCM– Software Developer working with MS technologies– MS degree in Comp Science – UMKC

• From India with a not so easy to pronounce last name..– Call me Kar or Car-Thick!

Page 4: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

Introduction

• Slide content - Experiential– Partial focus on Architect/Senior developer topics– Some background in MOSS is assumed– Working background in Visual Studio is assumed

• Snapshots of identified scenarios– Concepts

• Questions – Raise your hand!

Page 5: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

WCM in MOSS 2007

• WCM Options in MOSS 2007– Publishing Portal– Collaboration Portal

• Publishing Portal– starter site hierarchy for Internet website – Workflow is enabled

• Collaboration Portal– starter site for Intranet portal– Workflow is not enabled by default

Page 6: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

Design / Architectural Elements

Consists of:– Custom Branding • Master Pages / CSS

– Content Authoring • Custom Page Layouts

– Source Control– Deployment• Custom / STSADM for Code• Custom / CD for Content

Page 7: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

Content Management

• Authoring Techniques– Smart Client authoring• Create content using Office tools• Deploy as HTML pages

– Browser-based authoring• In-context, rich-text editing experience• Add-ons support from third-party• Customizable editing and HTML toolbar• Commonly used approach for Content Management

Page 8: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

Design and Planning

• Information Architecture Plan– Site Structure • Site collections, Sites, Pages

– Roles and Permissions • People and Groups

– Inheritance model • Branding and Customization

• OTB versus Custom Development– Use Features and Packaged development

• Backup, Recovery and Archival Planning

Page 9: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

Implementation

• Framework Design– Identify Core functionality early in the design

process for re-use– Build Base libraries inheriting from the WSS 3.0

and ASP.NET OM• MOSS Artifacts– Group UI artifacts and identify repositories for

storage (CSS, Images etc)– Group functional modules and re-usable

components (ASPX, ASCX)

Page 10: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

Pause

• Questions?

Page 11: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

• Server based Development!– Runs on Windows Server 2003 – server/remote debugging

• External tools to emulate team development– Virtual Machines– Customized Deployment scripts

• Source Control Integration– Needs specific structuringOverall, not a seamless experience (yet!)

Challenges

Page 12: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

Conceptual Architecture

Page 13: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

• Virtual PC 2007 – H/W – At least 1.5 GHz with 4GB RAM– Base Install of Windows Server 2003 R2– Install SQL Server 2005 and MOSS 2007 (SP1)– Install SP Designer and Office 2007 (as needed)

• Visual Studio Team System – Visual Studio 2005– Team Explorer 2005– WSS 3.0 / VS Extensions for SharePointHow to Create a MOSS VPC Image link below:http://www.pptspaces.com/sharepointreporterblog/Lists/Posts/Post.aspx?ID=28

MOSS 2007/VS2005/TFS

Page 14: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

• Visual Studio / Team Foundation Server 2005– Source Control– Project Management and Reporting– Integrates with TFS using Team Explorer– Source Control Explorer

Source Control

Page 15: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

• Visual Studio Solution– Web Application Test Harness– Core Class Library Project– SharePoint Integration Project

• Web Application Project– Allows for RAD using ASP.NET– Can be used as a test harness

• Class Library Project– Framework consisting of Base classes,

DAL/BLL• SharePoint Integration Project

– Mimics 12 Hive– Allows for deployment to local VPC

VSTS Solution Architecture

Page 16: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

VSTS 12 Hive Structure

Maps to SharePoint 12 Hive

Relates code artifacts to MOSS

Generate WSP Solution

Packages “Features” into .wsp

BuildSharePointPackage.ddf

MakeCAB

Deploy Package

RemoveAndDeploy.bat

STSADM commands for deploying .wsp into MOSS Solution Store

MOSS Deployment

Page 17: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

Custom Deployment

Page 18: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

• Process must– be repeatable/failsafe– allow for flexible deployments– be configurable by

environment• Options– Manual scripts with XCOPY– Server builds (MSBuild) and

PsExec– Third Party tools (FinalBuilder)

Code - Build and Deploy

Page 19: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

• DEV-STAGE-PRODUCTION– Variations include H/W and S/W specifications• E.g.: Dev could be 32-bit single-server farm while

STAGE/PROD is 64-bit dual-server

• Content Deploy versus Code Deploy– In WCM scenario, typically STAGE is an authoring

environment with live content– Code deploys follow exact procedures while Content

Deploys are fluid in nature– Content Deploys using CD API / Third party tools

Environment Considerations

Page 20: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

Hardening a MOSS Server Farm

• Topology– Firewalls b/w App Server, DB servers

• Logical Architecture– Configure Anonymous Access– SSL for content deployment– Block access to CA

• Lockdown Mode– Secure Permissions for published sites– Ports, Protocols and IIS

Page 21: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

Production Environment

• Design Considerations– Consists of Default (Windows zone) and extended

Internet Zone– Internet Zone is configured for Anonymous access– Alternate URL Mappings for multiple public URLs

• Security Considerations– Read Only access to content on the Internet zone– Secure user permissions and lockdown user access

to admin folders

Page 22: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

Development Best Practices

• VPC Set Up– Use differencing disks to build a clean image– Install software with latest Service Packs– External HDD / Allocate at least 2 GB of memory

• Role based development– Understand functional impact in different SP roles

– End-User, Admin, Stakeholder• Resources– Keep up to date with MSDN/SharePoint releases– Use the SP community and blogs

Page 23: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

Tips N Tricks

• Cross Browser testing for WCM sites• Optimizing page size for anon access (Core.js)• Configuring anon access on Internet Zone• 32-bit versus 64-bit components• Third party components (make sure they are

packaged as MOSS solutions for easy install)• Performance counters for metrics after go-live• For advanced tips, check in with author after

session!

Page 24: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

• Speaker Blog: – http://www.tattvamasi.net (tat-tvam-asi)• Thou art that | That you are

• References– MSDN• http://blogs.msdn.com/sharepoint

– TechNet site for MOSS 2007• http://technet.microsoft.com/en-us/library/cc303422.a

spx

Wrap Up

Page 25: Moss 2007 Wcm Architecture And Development   Best Practices In A Team Based Environment

Thanks for attending!

• Questions?

• Contact: – [email protected][email protected]– Blog: www.tattvamasi.net