MOSS 2007 - WCM Architecture and Development Best Practices in a team based environment KarthikVenkataraman
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?
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!
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!
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
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
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
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
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)
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 structuring Overall, not a seamless experience (yet!) Challenges
MOSS 2007/VS2005/TFS 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 SharePoint How to Create a MOSS VPC Image link below: http://www.pptspaces.com/sharepointreporterblog/Lists/Posts/Post.aspx?ID=28
Source Control Visual Studio / Team Foundation Server 2005 Source Control Project Management and Reporting Integrates with TFS using Team Explorer Source Control Explorer
VSTS Solution Architecture 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
STSADM commands for deploying .wsp into MOSS Solution Store
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
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
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
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
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
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!
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.aspx Wrap Up
Thanks for attending! Questions? Contact: firstname.lastname@example.org email@example.com Blog: www.tattvamasi.net