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
Advantages of Hiring UIUX Design Service Providers for Your Business
Ep structured share point development - v.4
1. A Structured / Repeatable Approach to Building SharePoint Solutions Ivan Sanders SharePoint ArchitectDimension Solutions inc. ivan@dimension-si.com
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 SPFile http://foo/somePage.aspx * if file is uncustomized, underlying template is fetched File template/definition [ .. ]2EMPLATEEATURESomeFeatureageTemplate.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 Advantages Plenty of resources documenting the process WYSIWYG developmentwith SharePoint Designer 2010 Easily make changes in multiple environments Disadvantages 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 Goals 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!
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 WSPBuilder