Wrapping your head aroundThe sharepoint beastMark Rackley - SharePoint Architect/DeveloperEmail: mrackley@gmail.comBlog: http://www.sharepointhillbilly.comTwitter: http://www.twitter.com/mrackley
Presentation OutlineWhy SharePoint?SharePoint OverviewLogical Architecture & TaxonomyGovernancePath to developmentEnd UserAdminDevelopmentThe Importance of CommunityAvoiding Beginner Hurdles2
4100 M+Licenses, 17k+ Customers, $1 Billion RevenueFastest growing server product in Microsoft history81 of Fortune 100 Companies#1 Portal VendorForrester April 2005Leader in Gartner Portal MQ*Top Fortune 500 websites: Viacom, Starbucks, etc.Leader in Gartner ECM 2008 & 2009 Visionary Gartner ECM MQ*, Challenger in Search MQ*325k Portals, Sites and Sub-Siteson MS Intra\Extranet 15TB DB!2250+ SharePoint ISV Partners*The Gartner Magic Quadrant is a proprietary research tool developed by Gartner Inc., a US based research and advisory firm. It is designed to provide an unbiased qualitative analysis of a “markets’ direction, maturity, and participants.”So… Why SharePoint?
What can SharePoint Do For Me?Source: http://www.sharepointcowboy.com5
5 Stages of Learning SP DevDenial – “They aren’t really going to make me learn this.  They’ll forget all about it in the next few months and move onto something new.”
Anger – “This is SO stupid! I can’t believe they are making me learn this! It’s impossible!”
Bargaining – “Okay.. How about this, I’ll do support 24/7 for the rest of my life, just don’t make me learn this!”
Depression – “It’s hopeless.  I’ll never learn this.  I wonder how much it would cost to rent Eric Shupps by the hour?”
Acceptance – “Well, it looks like I have no choice… maybe it won’t be that bad?  Hey! At least it will look good on my resume?”6
7SharePoint is a PLATFORM“A ‘platform’ is a system that can be programmed and therefore customized by outside developers — users — and in that way, adapted to countless needs and niches that the platform’s original developers could not have possibly contemplated, much less had time to accommodate.” - Marc Andreessen, NetscapeWhat IS SharePoint?
8SHAREPOINT overview
9SHAREPOINT overview
10SHAREPOINT overviewSource: http://www.gilham.orgWhich SharePoint technology is right for you?http://office.microsoft.com/en-us/products/FX101758691033.aspx?ofcresset=1
Terminology (Remember when a Web Application was an actual application?)Web ApplicationA virtual server that resides on an HTTP server but appears to the user as a separate HTTP server. Several Web applications can reside on one computer, each capable of running its own programs and each having individualized access to input and peripheral devices. Each Web application can have its own domain name and IP address.Site CollectionA set of Web sites on a Web application that has the same owner and share administration settings. Each site collection contains a top-level Web site and can contain one or more sites (or subsites). There can be multiple site collections on each Web application. A site collection can use only a single content database. Everything is now a site collection: a portal is a site collection where Home is the top-level Web site and the areas are sites (or subsites), a channel hierarchy is a site collection where the root channel is the top-level Web site and sub-channels are sites (or subsites).SiteA complete Web site stored in a named leaf of the top-level Web site.SubsiteA named subdirectory of the top-level Web site that is a complete Web site. Each subsite can have independent administration, authoring, and browsing permissions from the top-level Web sites and other subsites.Top-Level  Web SiteThe top, root default site in a site collection. Every site collection has, at its root a top-level Web site. Access to the top-level web site is provided supplying the URL of the site collection (like http://ServerURL or http://ServerURL/sites/SiteCollectionName) without specifying a page name or subsite.11http://sharepointkb.wordpress.com/2008/08/20/sharepoint-terminology/
12SHAREPOINT overview
Logical Architecture & TaxonomyLogical architecture model: Corporate deploymenthttp://technet.microsoft.com/en-us/library/cc261995.aspxhttp://go.microsoft.com/fwlink/?LinkId=82151&clcid=0x40913
Logical Architecture Diagram14
15
Taxonomy Diagrams16
Plan Your Logical Architecture & Taxonomy!!Where do you want to be in 2 years?How many farms? sites?Ensure you have the ability to expandTake into account licensing costsHow are users going to connect? ISA? F5? SSL? FBA?Plan… Plan… Plan…17
Avoid Analysis Paralysis!18
GovernanceWhat is this thing everyone talks about?Get executive buy-inSet up committeeAs few IT people as possible, but led by ITMake sure decision makers from important departments play key roleDocument policiesDetermine correct level of controlToo much will frustrate usersToo little will render sites unusableEnforce Policies19
Taxonomy & Governance20Community/Microsoft Recommended Core Corporate Intranet Taxonomy
Path To SharePoint Developer21End User -> Admin -> Developer
Path To SharePoint DeveloperEnd UsersCreate sitesWork with lists & Document LibrariesUse basic web partsManage contentAdd usersManage simple workflowshttp://www.endusersharepoint.com22
Path To SharePoint DeveloperAdminsBe End UserConfigure SharePoint farmUse Central AdminUse STSADMDeploy FeaturesAdd Workflows to ListsConfigure SearchBe familiar with all out of the box web partsKnow 12 Hive structure and what’s in there23
Path To SharePoint DeveloperDevelopersBe AdminKnow how & WHEN to use SharePoint DesignerBe .NET developerKnow XSLT, CAML, XML, JavaScript, jQuery, and other acronymsBe familiar with SharePoint Object ModelBe familiar with SharePoint Web Services Be able to debugBe able to Package24
What About Architects?Be able to use all the acronyms appropriatelyFake everything else (I’m kidding of course)25
SPD – A Beautiful Disaster26SharePoint Designer (SPD) The GoodDon’t have to develop on the serverSPD WorkflowsDeveloping BrandingData View Web PartsThe BadSPD Workflows Un-GhostingThe Ugly Possible to break a site collectionBe careful modifying default aspx filesMigration & RestoresDisconnectWorkflowsMaintenanceDon’t tell your boss what you have to doCONCLUSION - Don’t give End Users Access! Don’t connect to Production Server unless you fully understand the ramifications.
Dev… Rubber Meets The RoadDev on VMFree VHD from Microsoft (time bombed)http://www.microsoft.com/downloads/details.aspx?familyid=67F93DCB-ADA8-4DB5-A47B-DF17E14B2C74&displaylang=enBuild your own if possibleWindows Server 2003SQL Server 2005MOSS 2007 (Don’t do basic install!)Office 2007 ProfessionalSharePoint DesignerVisual Studio 2008 & Source SafeSDK’s etc..27
Custom DevelopmentWeb Part DevelopmentLearn File Structure and XML files purpose28
Development  Tools… (There’s an App For that)Web Part Development cont.STSDev from http://codeplex.comCreates structure and XML files for you – avoids typos in XMLGreat build options:29
More Development GoodnessDev/QA Farm Have One or Both!Should be as identical to production as possible80/20 RuleIf it doesn’t make sense to do in SharePoint DON’T DO IT in SharePointPackages?  We don’t need no stinking Packages! Oh wait.. Yes we do…Create Deployable Solutions wherever possibleIf 50% of deployment is packages you are ahead of 90% of the companies out there30
DebuggingEvent LogsAdmin Tools->Computer Management-> Event Viewer 31
DebuggingSharePoint LogsC:\Program Files\Common Files\Microsoft Share\Web Server Extensions\12\LOGSCan write to logs when writing custom code32
Debugging – Visual Studio33
DEMOThe obligatory “Hello World”34
35Deployment
DeploymentCreate deployable solutions when possibleSite DefinitionsContent TypesListsBrandingWeb PartsWorkflowsData Connection FilesCreate detailed deployment scripts for adminsTest scripts in QA environment36
Free Tools RockInternet Information Services (IIS) 6.0 Resource Kit Toolshttp://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&displaylang=enMetabase Explorer to fix port conflictsFiddler – Web Debugging Proxyhttp://www.fiddler2.com/Fiddler2/version.aspPerformance Tuning, inspect session data, etcApplication Pool Managerhttp://www.harbar.net/articles/APM.aspxIIS Reset usually not necessary, recycle app pools is much quickerSQL to CAML Converterhttp://www.spsprofessional.com/sqlcaml.aspx37
A Word (or two) About Community Don’t leave home without it!38
Tips when asking for helpWhat Version of SharePoint Do You Have?WSS 3.0? Standard? Enterprise? What Development Limitations Do You Have?Custom Code? 3rd Party Web Parts? SPD?What is your skill level?Get Your Terminology Down!For General “How To” Questions Be DetailedFor Help Fixing IssuesWhat are the steps to reproduce the problem? Provide Screen Shots Did you check the logs?Be Patient!39
OH COME ON!!40
A Little Knowledge is a Dangerous ThingSite CollectionsMake sure you want it to be a top level site; non-trivial to move to sub-siteAll content for site-collection & sub-sites in same content databaseAll list data for every site in content database is in same tableSite features must be activated on parent site to be available to sub-sitesDocument LibrariesAvoid Sub-Folders unless structure is well definedUse Metadata when possibleBe aware of Versioning!41
Trying to make your life easierDon’t host non-SharePoint Sites on FarmSSL (Secure Sockets Layer)Create Site Collection as SSL with self signed certificate if don’t have certificate yetConsider use wildcard cert – use of SAN (Subject Alternate Name) certificate will mean buying whole new certificate if you add serversService AccountsBasic install uses logged in user as service accountShould not be obviousLocked out account will bring down farmSite TemplatesMaster Pages and Themes must exist on target site10mb Size Limit???stsadm.exe -o setproperty -pn max-template-document-size -pv 50000042
How the heck do I…Create a blog/wiki/etc. sub-site under a Publishing Site??43GLOBAL#0 = Global template STS#0 = Team Site STS#1 = Blank Site STS#2 = Document Workspace MPS#0 = Basic Meeting Workspace MPS#1 = Blank Meeting Workspace MPS#2 = Decision Meeting Workspace MPS#3 = Social Meeting Workspace MPS#4 = Multipage Meeting Workspace CENTRALADMIN#0 = Central Admin Site WIKI#0 = Wiki Site BLOG#0 = Blog BDR#0 = Document Center OFFILE#0 = Records Center OFFILE#1 = Records Center OSRV#0 = Shared Services Administration Site SPS#0 = SharePoint Portal Server Site SPSPERS#0 = SharePoint Portal Server Personal Space SPSMSITE#0 = Personalization Site SPSTOC#0 = Contents area Template SPSTOPIC#0 = Topic area template SPSNEWS#0 = News Site CMSPUBLISHING#0 = Publishing Site BLANKINTERNET#0 = Publishing Site BLANKINTERNET#1 = Press Releases Site BLANKINTERNET#2 = Publishing Site with Workflow SPSNHOME#0 = News Site SPSSITES#0 = Site Directory SPSCOMMU#0 = Community area template SPSREPORTCENTER#0 = Report Center SPSPORTAL#0 = Collaboration Portal SRCHCEN#0 = Search Center with Tabs PROFILES#0 = Profiles BLANKINTERNETCONTAINER#0 = Publishing Portal SPSMSITEHOST#0 = My Site Host SRCHCENTERLITE#0 = Search Center SRCHCENTERLITE#1 = Search Center SPSBWEB#0 = SharePoint Portal Server BucketWeb Template  stsadm.exe -o createweb -url http://path-to-publishing-site/subsite-name -sitetemplate <template name> -title <title of site>
Why Did They Do That?I don’t think it means what you think it means…44
Really???SQL Forms Based Authentication (FBA) LimitationsRoles in Audiences45

Sps Boston The Share Point Beast

  • 1.
    Wrapping your headaroundThe sharepoint beastMark Rackley - SharePoint Architect/DeveloperEmail: mrackley@gmail.comBlog: http://www.sharepointhillbilly.comTwitter: http://www.twitter.com/mrackley
  • 2.
    Presentation OutlineWhy SharePoint?SharePointOverviewLogical Architecture & TaxonomyGovernancePath to developmentEnd UserAdminDevelopmentThe Importance of CommunityAvoiding Beginner Hurdles2
  • 4.
    4100 M+Licenses, 17k+Customers, $1 Billion RevenueFastest growing server product in Microsoft history81 of Fortune 100 Companies#1 Portal VendorForrester April 2005Leader in Gartner Portal MQ*Top Fortune 500 websites: Viacom, Starbucks, etc.Leader in Gartner ECM 2008 & 2009 Visionary Gartner ECM MQ*, Challenger in Search MQ*325k Portals, Sites and Sub-Siteson MS Intra\Extranet 15TB DB!2250+ SharePoint ISV Partners*The Gartner Magic Quadrant is a proprietary research tool developed by Gartner Inc., a US based research and advisory firm. It is designed to provide an unbiased qualitative analysis of a “markets’ direction, maturity, and participants.”So… Why SharePoint?
  • 5.
    What can SharePointDo For Me?Source: http://www.sharepointcowboy.com5
  • 6.
    5 Stages ofLearning SP DevDenial – “They aren’t really going to make me learn this.  They’ll forget all about it in the next few months and move onto something new.”
  • 7.
    Anger – “Thisis SO stupid! I can’t believe they are making me learn this! It’s impossible!”
  • 8.
    Bargaining – “Okay..How about this, I’ll do support 24/7 for the rest of my life, just don’t make me learn this!”
  • 9.
    Depression – “It’shopeless.  I’ll never learn this.  I wonder how much it would cost to rent Eric Shupps by the hour?”
  • 10.
    Acceptance – “Well,it looks like I have no choice… maybe it won’t be that bad?  Hey! At least it will look good on my resume?”6
  • 11.
    7SharePoint is aPLATFORM“A ‘platform’ is a system that can be programmed and therefore customized by outside developers — users — and in that way, adapted to countless needs and niches that the platform’s original developers could not have possibly contemplated, much less had time to accommodate.” - Marc Andreessen, NetscapeWhat IS SharePoint?
  • 12.
  • 13.
  • 14.
    10SHAREPOINT overviewSource: http://www.gilham.orgWhichSharePoint technology is right for you?http://office.microsoft.com/en-us/products/FX101758691033.aspx?ofcresset=1
  • 15.
    Terminology (Remember whena Web Application was an actual application?)Web ApplicationA virtual server that resides on an HTTP server but appears to the user as a separate HTTP server. Several Web applications can reside on one computer, each capable of running its own programs and each having individualized access to input and peripheral devices. Each Web application can have its own domain name and IP address.Site CollectionA set of Web sites on a Web application that has the same owner and share administration settings. Each site collection contains a top-level Web site and can contain one or more sites (or subsites). There can be multiple site collections on each Web application. A site collection can use only a single content database. Everything is now a site collection: a portal is a site collection where Home is the top-level Web site and the areas are sites (or subsites), a channel hierarchy is a site collection where the root channel is the top-level Web site and sub-channels are sites (or subsites).SiteA complete Web site stored in a named leaf of the top-level Web site.SubsiteA named subdirectory of the top-level Web site that is a complete Web site. Each subsite can have independent administration, authoring, and browsing permissions from the top-level Web sites and other subsites.Top-Level Web SiteThe top, root default site in a site collection. Every site collection has, at its root a top-level Web site. Access to the top-level web site is provided supplying the URL of the site collection (like http://ServerURL or http://ServerURL/sites/SiteCollectionName) without specifying a page name or subsite.11http://sharepointkb.wordpress.com/2008/08/20/sharepoint-terminology/
  • 16.
  • 17.
    Logical Architecture &TaxonomyLogical architecture model: Corporate deploymenthttp://technet.microsoft.com/en-us/library/cc261995.aspxhttp://go.microsoft.com/fwlink/?LinkId=82151&clcid=0x40913
  • 18.
  • 19.
  • 20.
  • 21.
    Plan Your LogicalArchitecture & Taxonomy!!Where do you want to be in 2 years?How many farms? sites?Ensure you have the ability to expandTake into account licensing costsHow are users going to connect? ISA? F5? SSL? FBA?Plan… Plan… Plan…17
  • 22.
  • 23.
    GovernanceWhat is thisthing everyone talks about?Get executive buy-inSet up committeeAs few IT people as possible, but led by ITMake sure decision makers from important departments play key roleDocument policiesDetermine correct level of controlToo much will frustrate usersToo little will render sites unusableEnforce Policies19
  • 24.
    Taxonomy & Governance20Community/MicrosoftRecommended Core Corporate Intranet Taxonomy
  • 25.
    Path To SharePointDeveloper21End User -> Admin -> Developer
  • 26.
    Path To SharePointDeveloperEnd UsersCreate sitesWork with lists & Document LibrariesUse basic web partsManage contentAdd usersManage simple workflowshttp://www.endusersharepoint.com22
  • 27.
    Path To SharePointDeveloperAdminsBe End UserConfigure SharePoint farmUse Central AdminUse STSADMDeploy FeaturesAdd Workflows to ListsConfigure SearchBe familiar with all out of the box web partsKnow 12 Hive structure and what’s in there23
  • 28.
    Path To SharePointDeveloperDevelopersBe AdminKnow how & WHEN to use SharePoint DesignerBe .NET developerKnow XSLT, CAML, XML, JavaScript, jQuery, and other acronymsBe familiar with SharePoint Object ModelBe familiar with SharePoint Web Services Be able to debugBe able to Package24
  • 29.
    What About Architects?Beable to use all the acronyms appropriatelyFake everything else (I’m kidding of course)25
  • 30.
    SPD – ABeautiful Disaster26SharePoint Designer (SPD) The GoodDon’t have to develop on the serverSPD WorkflowsDeveloping BrandingData View Web PartsThe BadSPD Workflows Un-GhostingThe Ugly Possible to break a site collectionBe careful modifying default aspx filesMigration & RestoresDisconnectWorkflowsMaintenanceDon’t tell your boss what you have to doCONCLUSION - Don’t give End Users Access! Don’t connect to Production Server unless you fully understand the ramifications.
  • 31.
    Dev… Rubber MeetsThe RoadDev on VMFree VHD from Microsoft (time bombed)http://www.microsoft.com/downloads/details.aspx?familyid=67F93DCB-ADA8-4DB5-A47B-DF17E14B2C74&displaylang=enBuild your own if possibleWindows Server 2003SQL Server 2005MOSS 2007 (Don’t do basic install!)Office 2007 ProfessionalSharePoint DesignerVisual Studio 2008 & Source SafeSDK’s etc..27
  • 32.
    Custom DevelopmentWeb PartDevelopmentLearn File Structure and XML files purpose28
  • 33.
    Development Tools…(There’s an App For that)Web Part Development cont.STSDev from http://codeplex.comCreates structure and XML files for you – avoids typos in XMLGreat build options:29
  • 34.
    More Development GoodnessDev/QAFarm Have One or Both!Should be as identical to production as possible80/20 RuleIf it doesn’t make sense to do in SharePoint DON’T DO IT in SharePointPackages? We don’t need no stinking Packages! Oh wait.. Yes we do…Create Deployable Solutions wherever possibleIf 50% of deployment is packages you are ahead of 90% of the companies out there30
  • 35.
    DebuggingEvent LogsAdmin Tools->ComputerManagement-> Event Viewer 31
  • 36.
    DebuggingSharePoint LogsC:\Program Files\CommonFiles\Microsoft Share\Web Server Extensions\12\LOGSCan write to logs when writing custom code32
  • 37.
  • 38.
  • 39.
  • 40.
    DeploymentCreate deployable solutionswhen possibleSite DefinitionsContent TypesListsBrandingWeb PartsWorkflowsData Connection FilesCreate detailed deployment scripts for adminsTest scripts in QA environment36
  • 41.
    Free Tools RockInternetInformation Services (IIS) 6.0 Resource Kit Toolshttp://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&displaylang=enMetabase Explorer to fix port conflictsFiddler – Web Debugging Proxyhttp://www.fiddler2.com/Fiddler2/version.aspPerformance Tuning, inspect session data, etcApplication Pool Managerhttp://www.harbar.net/articles/APM.aspxIIS Reset usually not necessary, recycle app pools is much quickerSQL to CAML Converterhttp://www.spsprofessional.com/sqlcaml.aspx37
  • 42.
    A Word (ortwo) About Community Don’t leave home without it!38
  • 43.
    Tips when askingfor helpWhat Version of SharePoint Do You Have?WSS 3.0? Standard? Enterprise? What Development Limitations Do You Have?Custom Code? 3rd Party Web Parts? SPD?What is your skill level?Get Your Terminology Down!For General “How To” Questions Be DetailedFor Help Fixing IssuesWhat are the steps to reproduce the problem? Provide Screen Shots Did you check the logs?Be Patient!39
  • 44.
  • 45.
    A Little Knowledgeis a Dangerous ThingSite CollectionsMake sure you want it to be a top level site; non-trivial to move to sub-siteAll content for site-collection & sub-sites in same content databaseAll list data for every site in content database is in same tableSite features must be activated on parent site to be available to sub-sitesDocument LibrariesAvoid Sub-Folders unless structure is well definedUse Metadata when possibleBe aware of Versioning!41
  • 46.
    Trying to makeyour life easierDon’t host non-SharePoint Sites on FarmSSL (Secure Sockets Layer)Create Site Collection as SSL with self signed certificate if don’t have certificate yetConsider use wildcard cert – use of SAN (Subject Alternate Name) certificate will mean buying whole new certificate if you add serversService AccountsBasic install uses logged in user as service accountShould not be obviousLocked out account will bring down farmSite TemplatesMaster Pages and Themes must exist on target site10mb Size Limit???stsadm.exe -o setproperty -pn max-template-document-size -pv 50000042
  • 47.
    How the heckdo I…Create a blog/wiki/etc. sub-site under a Publishing Site??43GLOBAL#0 = Global template STS#0 = Team Site STS#1 = Blank Site STS#2 = Document Workspace MPS#0 = Basic Meeting Workspace MPS#1 = Blank Meeting Workspace MPS#2 = Decision Meeting Workspace MPS#3 = Social Meeting Workspace MPS#4 = Multipage Meeting Workspace CENTRALADMIN#0 = Central Admin Site WIKI#0 = Wiki Site BLOG#0 = Blog BDR#0 = Document Center OFFILE#0 = Records Center OFFILE#1 = Records Center OSRV#0 = Shared Services Administration Site SPS#0 = SharePoint Portal Server Site SPSPERS#0 = SharePoint Portal Server Personal Space SPSMSITE#0 = Personalization Site SPSTOC#0 = Contents area Template SPSTOPIC#0 = Topic area template SPSNEWS#0 = News Site CMSPUBLISHING#0 = Publishing Site BLANKINTERNET#0 = Publishing Site BLANKINTERNET#1 = Press Releases Site BLANKINTERNET#2 = Publishing Site with Workflow SPSNHOME#0 = News Site SPSSITES#0 = Site Directory SPSCOMMU#0 = Community area template SPSREPORTCENTER#0 = Report Center SPSPORTAL#0 = Collaboration Portal SRCHCEN#0 = Search Center with Tabs PROFILES#0 = Profiles BLANKINTERNETCONTAINER#0 = Publishing Portal SPSMSITEHOST#0 = My Site Host SRCHCENTERLITE#0 = Search Center SRCHCENTERLITE#1 = Search Center SPSBWEB#0 = SharePoint Portal Server BucketWeb Template  stsadm.exe -o createweb -url http://path-to-publishing-site/subsite-name -sitetemplate <template name> -title <title of site>
  • 48.
    Why Did TheyDo That?I don’t think it means what you think it means…44
  • 49.
    Really???SQL Forms BasedAuthentication (FBA) LimitationsRoles in Audiences45
  • 50.
    Isn’t That JustPeachy!SQL Forms Based Authentication (FBA) Limitations cont.Crawling content secured by FBA (extend for Windows authentication and crawl that)Office 2007 integrationResolving nameshttp://msdn.microsoft.com/en-us/library/bb977430.aspx#MOSSFBAPart3_IntroductionPROFILE SYNCING!!!!!!!Limitations if using ISA 46
  • 51.
    To Avoid SharePointFail…47Image Source: http://theroosterstrikes.files.wordpress.com
  • 52.
    You Gotta Drinkthe Kool-Aid!Read BooksSetup a VHDRead the blogsJoin the CommunityStart a blogAttend eventsDON’T BE AFRAID TO DO SOMETHING!48Image Source: http://www.irvinehousingblog.com
  • 53.
  • 54.
  • 55.