Upload
ari-bakker
View
1.074
Download
1
Embed Size (px)
DESCRIPTION
Presentation delivered to the Wellington SharePoint User Group in January 2008. The session covered the experience developing a large internet site using SharePoint 2007.
Citation preview
Fly Buys Website
SHAREPOINT USER GROUP PRESENTATIONJanuary 2008
Overview
Project Overview:• The goal• The solution• Public vs. Publish• MOSS customisation• ASP.NET development• Lists vs. SQL
Development and Deployment• Development environment• Deployment strategies• Content deployment
Project Overview
Project Overview
Goals• A rebuild of the existing site using MOSS
• Look and feel to match brand refresh
• Make it easy for the marketing team to manage content
• Encourage people to join the programme
• Encourage members to be more active in redeeming rewards, and in engaging with participants
• Provide an easy way for maintaining semi structured data, including rewards and participant information
Project Overview
The Solution• Use Web Content Management features as a platform
• Build custom functionality using ASP.NET 2.0
• MOSS Lists for storing data
• SQL for searching and complex queries
• MOSS Solution deployment for releases
Project Overview
Publishing site• Internal site for content authoring
• Windows authentication and Active Directory
Public site• External site for public users
• Forms based authentication and custom membership provider
• Content deployment to move content between environments
Project Overview
MOSS Customisation• Content types, page layouts, web parts created in Visual Studio and deployed using features
• Single master page for both publish and public sites
• SPSecurityTrimmedControl to filter content
Project Overview
ASP.NET development• Join form, member screens, reward search
• Created user controls/web parts in Visual Studio and placed on pages within the site
• Custom membership provider using ASP.NET 2.0 to authenticate via web services
Project Overview
Lists vs. SQL• WSS Lists provide versioning, approval• MOSS provides content deployment• SQL is faster and more scalable (especially over multiple lists)• Combined solution used MOSS lists for authoring, and SQL for searching
Development and Deployment
Development and Deployment
Environments• Development – Ideally each developer has their own dev image or environment where they can do their thing and bring them together in a common environment
• Test – IT environment, ability to test out service packs and do preliminary tests.
• UAT – Mirror of production. Releases can be verified and tested before going into production.
• Production – Locked down. No development access.
Development and Deployment
Fly Buys development environment• Developers running MOSS locally
• All artefacts stored in TFS
• Custom code developed in Visual Studio 2005
• Layouts and Styles authored in SharePoint designer and copied into TFS for release
• Post build scripts to move files from Visual Studio into MOSS
Development and Deployment
Deployment strategies• STSADM backup and restore – good for one off deployments
• STSADM export/import – good for moving sites
• Content Deployment via Central Admin – good for scheduled deployments
• Content migration API – also good for scheduled deployments, more
• Features/Solution
Development and Deployment
Features/Solution deploymentGood for:
Iterative development/deployment
Deployment of assemblies and filesystem files (none of the other methods deal with this)
Ability to deploy assemblies/filesystem files to all servers in a farm with Solution packages
Possibilities for continuous integration
Considerations:
Developer is responsible for evaluating and deploying dependencies (e.g. underlying content types).
Updates to content types, list definitions, site columns etc. deployed via a Feature must be done with the API - modifying original Feature files and then reprovisioning is not supported
Can be very time-consuming due to lack of assistance from current tools
Development and Deployment
Deployment Demo
Resources
Ari’s blog – ari.provoke.co.nz
Chris O’Brien – sharepointnutsandbolts.blogspot.com
Joel Oleson – blogs.msdn.com/joelo