Building fast track external facing sharepoint site
Upcoming SlideShare
Loading in...5

Building fast track external facing sharepoint site



Explains external facing SharePoint site development experience, techniques in agile manner

Explains external facing SharePoint site development experience, techniques in agile manner



Total Views
Views on SlideShare
Embed Views



2 Embeds 8 5 3



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Building fast track external facing sharepoint site Building fast track external facing sharepoint site Presentation Transcript

  • External facing SharePoint site
    By Manish Rawat
  • Architecture and Design Choices
  • Planning - Key Decision Points
  • Planning - Structure
    • Site Collections– It’s container of sites. Decisions
    • Number (How many) and Types (What kind) needed
    • Host header needs
    • Managed Paths – Enables where site collection will get created & help interpret URLs to determine site paths
    • Separate Content Database per site collection possible.Helps Performance and Scalability but rolling up data (query)from multiple Site collection is not OOTB
    • Unique administrative & Security privileges per site collection
    • Backup/Restore can happen per site collection
  • Planning – Structure… continued
    • SSP (v 2007) - hosting shared services that will be used any MOSS Web applications.
    • Search
    • BDC – Business Data catalog to connect to any Line of Business (LOB) apps e.g. SAP
    • User Profiles
    • Usage Reporting …..
    • Scripting
    • Reusable Script needed. Useful in medium to large teams.
    • STSADM is main scripting tool. Free Extensions available.
    • STSADM scripts have options are not available via UI. E.g. assigning Specific DB to Site collection.
    • Navigation : Custom Navigation VS. Built in.
  • Planning - Strategy
    • Branding :
    • Consistent Look and feel in different sites.
    • UI assets location
    • Document Management
    • Content Organization
    • Content Presentation & Customization
    • Content Publishing – OOTB publishing including Quick Deploy
    • Search : Sources, Scope, Keywords, Crawl, Best bets
    • Versioning and Workflow:
    • List versioned
    • Custom Workflow needs
  • Planning - Objects
    • Reuse OOTB Web parts: Content Query Web Part
    • Data pull from anywhere in site collection. Provide RSS capability
    • Custom Look and feel : XSLT conversion
    • Site ColumnsReusable and central managed entity. Its like a data type.
    • Content TypeType definition/Functional unit – collection of setting & metadata.Usually references to site columns - Supports Inheritance - Identify Hierarchy
    • ListsDatabase table whose schema is defined by Content Type OR adding column individually.
    • Page Layouts – Review Wireframes, Identify sections & types of layouts needed
  • Planning - Admin
    • Farm Topology needs
    • Small/Medium/Large Farm
    • Different environments connectivity
    • Automated build needs
    • Securing SharePoint-
    • Intranet, Internet, Extranet
    • Zones requirements
    • Roles and Permission
    • Data Protection, Recovery and Availability
    • Monitoring needs
    • Scalability & Capacity Planning
  • Design Choices
    • Use SharePoint Field Controls vs. Webparts/Lists
    Source : Andrew Connell book -
    • Provide easy and flexible Page Content authoring (Inline)
    • Project Structure/Processes setup to minimize need of SharePoint knowledge
    • Use OOB controls/infrastructure of SharePoint
    • XCopy (WSP) based deployment
    • Run in Minimal Trust level
    • Feature Based development
  • Models - .NET App & SharePoint App
    • Mix Model : Application consist of combination of SharePoint & web app
    • SharePoint Only : Application consist SharePoint only
  • Mix Model Design
  • Mix Model Design – continued…
    • ASP.Net page can use API to get content from SharePoint
    • Form Authentication cookie can Shared between multiple Web apps
    • Navigation Providers of ASP.NET & SharePoint combined to give Unified Look
  • Execution
  • Dev Environment
    • No one size fit all.
    • Own Domain environment (AD, TFS, DB, Middle tier Servers all in one domain)
    • All developers (10 to 12) machines/servers in same domain
    • Each developer has its own MOSS setup
    • Testing and Integration environment in same domain
  • Dev Machines Setup
    • Create Base machine (Use 64 bit dev machines )
    • Use Scripts to setup/configure in medium to large Teams/Farms
    • Unattended MOSS installation scripts
    • Setup PDF ifilter to search pdfs
    • Create SSP via scripts
    • Create Web Application
    • Next Steps
  • Solution Structure – Separation of Projects
    • Feature based development is recommended development methodology. It’s a way to deploy functionality (e.g. Page Layout, List) to SharePoint infrastructure
    • Typical SharePoint solution will have
    • Branding Project: Contains master page, page layouts and their corresponding content types
    • Types Project: Contains CAML definition of site columns, List content types etc
    • UserControl Project: Contains ascx controls . V2010 supports visual web parts
    • WebParts Project: Contains web parts definitions and code
    • MetaTag Project – supports adding (
  • Requirement-Design phase
    • Conditions /Needs
    • Requirements not fully flushed => Page Template/Layout keeps changing
    • PLD (Presentation developer) need isolated environment within SharePoint (Branding VS. Net Project)
    • Process
    • Person ‘X’ to be owner of SharePoint content database. i.e. responsible for types/building blocks
    • Change to Lists, Content Type, Site columns to be performed by Person ‘X’ and distribute the content database backup to team.
    • Page Layout
    • Person ‘X’ to create page layout with required elements (coming from content type)
    • PLD to use SharePoint designer to design Page Layout.
    • Use DisplayMode (Edit /Display) if SharePoint control default rendering is not sufficient
     <PublishingWebControls:editmodepanelrunat="server" id="editmodepanelEditModeQuickLinks" PageDisplayMode="Edit" >
           <PublishingWebControls:RichLinkFieldFieldName="QuickLink1" runat="server" id="RichLinkField0" /></li>
    <PublishingWebControls:EditModePanelrunat="server" id="QuickLink1DisplayMode" PageDisplayMode="Display">
         <pmxServerControls:LinkFieldRendererrunat="server" LinkFieldName="QuickLink1" />
  • Design-Development phase
    • Conditions /Needs
    • Requirements close to finalization => Page Template/Layout doesn’t change often
    • PLD need isolated environment within SharePoint
    • Process
    • Move SharePoint assets as Features
    • Anyone is team is owner of SharePoint content database.
    • Page Layout
    • PLD to use Visual Studio to design Page.
    • PLD to use Visual Studio -> WSPBuilder -> Copy to 12 Hive to test page. (v 2007)
  • Securing External facing site
    • Enable ViewPageLockdown Feature -o activatefeature -url <site collection url> -filename ViewFormPagesLockDownfeature.xml
    • Allowing and denying access by using the Web.config file
    <location path="_vti_bin“> <system.web> <authorization> <deny users="?" /> </authorization> </system.web> </location>
  • Securing Sensitive documents
    • Use Separate Site Collection (if possible)
    • Break permission inheritance & disable Anonymous
    • Set NoCrawl property to True
    • Exclude Library in SSP Search Index crawling
    • HTTPHandler to retrieve document - use following in code to retrieve document from library. SPSecurity.RunWithElevatedPrivileges (delegate() { <Insert/Select code to document library>})
  • Tools
    • WSPBuilder (v 2007)
    • Package of related file set deployable to SharePoint from VS.NET
    • Copy to 12 Hive -> Use once a features is deployed
    • You can controls where the assemblies will go (Bin vs. GAC). Bin is preferred because GAC assemblies runs in full control by default.
    • Highly configurable
    • Andrew Connell stsadm extensions
    • Usage: Create Site columns, content types from SharePoint GUI and use following to generate XML to create them as a Feature
    • Generate Site columns from existing SharePoint infrastructure
    STSADM.EXE -o GenSiteColumnsXml -url http://wcm -outputFile "c:siteColumns.xml“
    • Generate Site Content Types from existing SharePoint infrastructure
    STSADM.EXE -o GenContentTypesXml -url http://wcm -outputFile "c:ContentTypes.xml"
    • Generate Site columns from existing SharePoint infrastructure
    STSADM.EXE -o GenSiteColumnsXml -url http://wcm -outputFile "c:sitecolumn.xml“