1. Wrapping Your Head Around the SharePoint Beast Mark Rackley – Solutions Architect Email: mrackley@gmail.com Blog: http://www.sharepointhillbilly.com Twitter: http://www.twitter.com/mrackley
2. Presentation Outline What can SharePoint do for me? SharePoint Overview Logical Architecture & Taxonomy Governance Path to development nirvana The Importance of Community Avoiding Beginner Hurdles 2
7. Anger – “This is 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’s hopeless. I’ll never learn this. I wonder if McDonald’s is hiring?”
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. What IS SharePoint? A File Share? Content Management? Workflow Engine? Collaboration Portal? A silver bullet for all your business processes? The cure for cancer?
12. SharePoint 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, Netscape
15. Terminology Timer Job (Remember when a Web Application was a Web Application) Farm Elevated Privileges Safe Control CAML Feature Site Column Declarative Workflow STSADM Application Page Site Collection Persisted Object Content Type Site Definition List Definition Solution Package Scope Content Database List Instance Event Receiver Central Administration ONET Publishing Page Web Application Theme List View Feature Receiver Team Site Field Control Client Object Model
16. Server Farms A collection of SharePoint role servers and a SQL database server Servers can perform one or more functions (web front end, search, application, etc.) Farm-level features are managed via Central Administration Custom code can be deployed at the Farm level and managed centrally Solution Packages allow custom code to be automatically deployed across the farm Server Farm Web Front Ends Application Database
23. Plan Your Logical Architecture & Taxonomy!! Where do you want to be in 2 years? How many farms? sites? Ensure you have the ability to expand Take into account licensing costs How are users going to connect? ISA? F5? SSL? FBA? Plan… Plan… Plan… 19
25. Governance What is this thing everyone talks about? Get executive buy-in Set up committee As few IT people as possible, but led by IT Make sure decision makers from important departments play key role Document policies Determine correct level of control Too much will frustrate users Too little will render sites unusable Enforce Policies 21
27. Information Architecture GUIDANCE: MICROSOFT OFFICE SHAREPOINT SERVER 2007 INFORMATION ARCHITECTURE http://www.microsoft.com/industry/healthcare/technology/hpo/knowledgeworker/moss2007informationarchitecture.aspx 23 Microsoft Office SharePoint 2007 Information Architecture describes how to plan and design an information architecture and provides step-by-step instructions showing how to configure Microsoft® Office SharePoint® Server 2007 with these settings.
29. Path To Development Nirvana (Well… maybe you won’t want to kill yourself anymore) End Users Create sites Work with lists & Document Libraries Use basic web parts Manage content Add users Manage simple workflows http://www.endusersharepoint.com 25
30. Path To SharePoint Developer Admins Be End User Configure SharePoint farm Use Central Admin Use STSADM Deploy Features Add Workflows to Lists Configure Search Be familiar with all out of the box web parts Know 12 Hive structure and what’s in there 26
31. Path To SharePoint Developer Developers Be Admin Know how & WHEN to use SharePoint Designer Be .NET developer Know XSLT, CAML, XML, JavaScript, jQuery, and other acronyms Be familiar with SharePoint Object Model Be familiar with SharePoint Web Services Be able to debug Be able to Package 27
32. What About Solution Architects? Be able to use all the acronyms appropriately Fake everything else (I’m kidding of course) 28
34. Development Options Out of the box features Custom Views Web Parts SharePoint Designer Branding Custom Views External Datasources Javascript / jQuery Fancy GUI Stuff SPServices Web Services Visual Studio / remote development Object Model Visual Studio / On Server 30
35. SharePoint Designer… if you can’t say anything nice… SharePoint Designer (SPD) The Good Don’t have to develop on the server SPD Workflows Developing Branding Data View Web Parts The Bad SPD Workflows Un-Ghosting The Ugly Possible to break a site collection Be careful modifying default aspx files Migration & Restores DisconnectWorkflows Maintenance Don’t tell your boss what you have to do CONCLUSION - Don’t give End Users Access! Don’t connect to Production Server unless you fully understand the ramifications. 31
36. jQuery(The cause of, and the answer to, all your SharePoint Problems) No deployment necessary Put .js files in Document Library (or deploy to file system) Place code in CEWP (of in MP, IF you deploy the MP) Missing piece of SharePoint Out of the Box? Do complicated joins of data for reporting Graphical awesomeness with multitude of free libraries
37. jQuery(The cause of, and the answer to, all your SharePoint Problems) SPServices jQuery library for accessing SharePoint’s Web Services Executes as authenticated user But be careful with jQuery Executed on the Client computer, not the server Can cause performance issues I wrote a couple of intro blogs for jQuery in SharePoint http://www.sharepointhillbilly.com
38. Cracking open Visual Studio Dev on VM Free VHD from Microsoft (time bombed) 2007 - http://www.microsoft.com/downloads/details.aspx?familyid=67F93DCB-ADA8-4DB5-A47B-DF17E14B2C74&displaylang=en 2010 - http://www.microsoft.com/downloads/details.aspx?FamilyID=0c51819b-3d40-435c-a103-a5481fe0a0d2&displaylang=en Build your own if possible Windows Server 2003 / 2008 SQL Server 2005 / 2008 MOSS 2007 (Don’t do basic install!) Office SharePoint Designer Visual Studio SDK’s etc.. 34
40. Development Tools… (There’s an App For that) Web Part Development cont. STSDev from http://codeplex.com Creates structure and XML files for you – avoids typos in XML Great build options: 36
41. More Development Goodness Dev/QA Farm Have One or Both! Should be as identical to production as possible 80/20 Rule If it doesn’t make sense to do in SharePoint DON’T DO IT in SharePoint Packages? We don’t need no stinking Packages! Oh wait.. Yes we do… Create Deployable Solutions wherever possible If 50% of deployment is packages you are ahead of 90% of the companies out there 37
47. Solution Packages .WSP file (WSS Solution Package) Easily Deploy and Retract Files SharePoint manages deploying to multiple WFEs Deployed with STSADM #1 Best Practice For Developers!
48. Solution Packages Contains two things All necessary files Instructions for handling those files What Can be deployed? Assemblies Any file to SharePoint Root Custom Code Access Security Policies Web Part definitions and resources
50. Free Tools… Custom Development / Deployment STSDev WSP Builder SPServices Access SharePoint Web Services using jQuery http://spservices.codeplex.com Don’t forget to check CodePlex!
51. Free Tools Rock Internet Information Services (IIS) 6.0 Resource Kit Tools http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&displaylang=en Metabase Explorer to fix port conflicts Fiddler – Web Debugging Proxy http://www.fiddler2.com/Fiddler2/version.asp Performance Tuning, inspect session data, etc Application Pool Manager http://www.harbar.net/articles/APM.aspx IIS Reset usually not necessary, recycle app pools is much quicker SQL to CAML Converter http://www.spsprofessional.com/sqlcaml.aspx 47
52. A Word (or two) About Community Don’t leave home without it! 48
54. A Little Knowledge is a Dangerous Thing Site Collections Make sure you want it to be a top level site; non-trivial to move to sub-site All content for site-collection & sub-sites in same content database All list data for every site in content database is in same table Site features must be activated on parent site to be available to sub-sites Metadata Document Libraries Avoid Sub-Folders unless structure is well defined Use Metadata when possible Be aware of Versioning! 50
55. Trying to make your life easier SSL (Secure Sockets Layer) Create Site Collection as SSL with self signed certificate if don’t have certificate yet Consider use wildcard cert – use of SAN (Subject Alternate Name) certificate will mean buying whole new certificate if you add servers Service Accounts Basic install uses logged in user as service account Should not be obvious Locked out account will bring down farm Site Templates Master Pages and Themes must exist on target site 10mb Size Limit??? stsadm.exe -o setproperty -pn max-template-document-size -pv 500000 51
59. Why Did They Do That? I don’t think it means what you think it means… 55
60. Really??? SQL Forms Based Authentication (FBA) Limitations Roles in Audiences 56
61. More FBA fun… SQL Forms Based Authentication (FBA) Limitations cont. Crawling content secured by FBA (extend for Windows authentication and crawl that) Office 2007 integration Resolving names http://msdn.microsoft.com/en-us/library/bb977430.aspx#MOSSFBAPart3_Introduction PROFILE SYNCING!!!!!!! Limitations if using ISA 57
62. To Avoid SharePoint Fail… 58 Image Source: http://theroosterstrikes.files.wordpress.com
63. You Gotta Drink the Kool-Aid! Read Books Setup a VHD Read the blogs Join the Community Start a blog Attend events DON’T BE AFRAID TO DO SOMETHING! 59 Image Source: http://www.irvinehousingblog.com
The SharePoint Server has gained a lot of popularity with the release of Microsoft Office SharePoint Server 2007. With the inclusion of document management and enterprise search capabilities, as well as Records Center and Excel Services modules, more and more companies are turning toward SharePoint in search of solutions to their business problems. With this growth comes big opening for business opportunities, but those who don’t have the right training approach stand to lose out on a customer’s or internal business units satisfaction.Some of the SharePoint environment roles are often defined as IT related, and information workers are often overlooked.Lack of training is the number one