Your SlideShare is downloading. ×
Ep   structured share point development - v.4
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Ep structured share point development - v.4


Published on

SharePoint architecture …

SharePoint architecture
Review typical SharePoint Development
SharePoint customization vs development
Development with SharePoint Features
Deployment using WSS solution packages
Tips and tricks to SharePoint development

Published in: Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. A Structured / Repeatable Approach to Building SharePoint Solutions
    Ivan Sanders
    SharePoint ArchitectDimension Solutions inc.
  • 2. Agenda
    SharePoint architecture
    Review typical SharePoint Development
    SharePoint customization vs development
    Development with SharePoint Features
    Deployment using WSS solution packages
    Tips and tricks to SharePoint development
  • 3. SharePoint Architecture
    SharePoint v4 built on top of .NET 3.5
    Majority of SharePoint files installedwithin SharePoint “14” RootFolder
    Each SharePoint Web applicationhas its own Web root on file system
    File system of SharePoint sites is virtualized
    Many pages and files map to files on the file system
    But not all…
  • 4. Templates Versus Instances Concept
    Files in a site exist in the siteobject model as SPFile objects
    All files live within folders (SPFolder)
    Customized versus uncustomized files
    Uncustomized file – source on the file system
    Customized file – source in sites content DB
    Customization appliesonly to site pages and files
    Application pages (/_layouts/*) don’t apply
  • 5. File Source Retrieval Process
    SharePoint Designer
    Browser/Web Services
    SharePoint(HTTP Application/Modules/Handlers)
    Source of the file is retrieved… first
    the content database is checked
    * if file is uncustomized, underlying template is fetched
    File template/definition
    [ .. ]12TEMPLATEFEATURESSomeFeaturePageTemplate.aspx
  • 6. Typical Site Development
    Infrastructure assets
    Create site column andcontent types via browser
    Layout assets
    Create master pages and pagelayouts with SharePoint Designer 2010
    Modify look and feel, adding CSS and images using SharePoint Designer 2010
  • 7. "Big Picture" Challenges
    How do you make this development process repeatable? How to automate it?
    What about source control?
    SharePoint has version control on lists and libraries
    No version control for infrastructure assets
    No version control for site pages and files
    What about a true softwaredevelopment lifecycle process?
    What about change management process?
  • 8. SharePoint Customization
    Creating and editing instances of assetsthat live exclusively in the site’s content DB
    Even if originally based off a template,source still lives in content DB
    Tools used in SharePoint customization
    SharePoint API
    SharePoint browser interface
    SharePoint Designer 2010
  • 9. SharePoint Customization
    Plenty of resources documenting the process
    WYSIWYG developmentwith SharePoint Designer 2010
    Easily make changes in multiple environments
    Site columns and content types arenot easily moved between environments
    Challenging to package and deploy
    New files and changes to existing files
    Multiple environments
  • 10. Challenges In Creating Publishing Sites
    Publishing sites exacerbate the challenges
    All projects require sharing assets
    Between developers on project team
    Between environments (Dev/QA/UAT/Prod)
    How to move asset change to other environments?
    Manually move infrastructure and layout assets
    Backup/restore (*** bad badbad option! ***)
    Content deployment
    Does not promote code reuse!
  • 11. SharePoint Development
    Developers work at a lower level (file system)
    Keep infrastructure/layout assets out of DB
    Developers DevelopersDevelopers
    SharePoint Feature schemaallows creation of all kinds of assets
    Upon activation, Feature creates uncustomized instances in the site
    SharePoint solutions enable packagingof Features in one portable file
  • 12. SP DevelopmentDisadvantages
    SharePoint Features are tedious to build
    No visual designer
    Lots of CAML (XML) markup
    Minimal debugging support
    Provisioning files requires double development (but does it)
    Feature deactivation leaves artifacts (Can this be avoided)
    Current tools do not promote this approach (Tooling)
  • 13. SP DevelopmentAdvantages
    Developers stay in Visual Studio
    Keeps layout files uncustomized on server
    Easy to package changes in order to
    Share with other members on project dev team
    Deploy to other environments
    Fully leverage existing SCM solutions
    Easier to adhere to SDL and change control
    Full control of site columns and content types
    Avoiding the _x0020_ in site columns!
  • 14. Structured SharePoint Solution Development
  • 15. Tips And Tricks To SP Dev
    Add CAML IntelliSense to Visual Studio
    via Visual Studio XML Schema Cache
    Using existing tools as IDE, then “Featurize”
    Use browser for site column and content types
    Use SharePoint Designer 2010 to createmaster pages and page layouts faster
    Utilize SharePoint API to extract assets
    STSADM.EXE Custom Commands
    VSeWSS 1.3
    Automate process of building WSP’s
  • 16. Third Party Tools & Demos
    Beyond Compare 2
    Elumenotion SharePoint Skinner
    SharePoint Manager 2010
    Visual Studio 2008 SP1 – VSTA, VSTO, SharePoint SDKs, Windows SDK
    WildCard Search
    Faceted Search
    Cascading Lookup Columns