SharePoint Best Practices Conference Notes (London 2009) – Day 1
Posted
19Apr09 by Erwin in General
Keynote. (Joel Oleson)
10 Steps to a successful SharePoint deployment
- SharePoint = a killer bunny, looks cute, but it can bite you in the…
- Governance: consistent management, cohesive policies, processes and decision-rights for a given area of responsibility.
- Executive sponsor with vision and budget.
- SharePoint team: Site Collection admin, SP Designer or Business analyst, Content Administrator, SP Infrastructure admin, SP Developer [Admin <> Devs].
Best Practices for Developing Web Parts. (Todd Bleeker)
- Start with a well named VS.NET library, e.g. companyProject.content.purpose (content = e.g. webpart, workflow), should be unique on the internet.
- Start with a class library.
- Use common webpart suffixes e.g. FooPart.cs.
- .NET webpart vs. SharePoint webpart – .NET webpart can work in all environments not only in SharePoint.
- Never use Render, Rendercontrol, rarely use RenderContent
- Sign or strong name the assembly.
- GAC = full trust (bad practice and needs IISRESET).
- BIN = wss_minimal trust and no recycle of the application pools.
- Get public key options (slides).
- Signing Best Practice: AllowPartiallyTrustedCallers() in assembly.cs.
- Use the 12 hive structure in your project to organize your project.
- Use MakeCab.exe, command line tool to generate CAB/WSP.
- Post build vs. Target, use Target.
- Use XCopy commands to install (slides).
- isCallBackEventHandler(), like AJAX.
- Move the UI to a User control – Page.LoadControl.
- User control vs. Server Control, use User Control.
- Code Access Security (CAS).
- EnsureChildControls().
Making the most of the Out of the box Web Parts. (Brett Lonsdale)
- Excel Web Access (EE).
- Filter Web Parts (EE).
- Current User Filter.
- BDC filter – web service.
- Choice filter.
- Date filter.
- Filter Actions.
- Page field filter.
- Query string filter.
- SharePoint list filter.
- SQL Server Analysis Services filter.
- Text Filter.
- Content Query Web Part.
- Summery Link Web Part.
- Table of Contents Web Part.
- Outlook Web Access Web Part.
- BDC Web Parts.
- Data View Web Part, db connection, web service.
Difference between Field Controls and Web Parts in publishing sites. (Andrew Connel)
- Field Controls.
- Window to content.
- Content in SPListItems.
- Content Versioning.
- Structure of page is important.
- Page History is important.
- Consistent branding.
- Web Parts.
- Content is stored in Web Part in the ASP.NET personalization store.
- Content in the context of the current page.
- To provide functionality.
- History and structure are not important.
- Don’t use Content Editor Web Part on publishing sites.
- No history.
- No centralized control.
- Links are absolute, not relative
- Content owners can use JavaScript, CSS, HTML.
- Block usage:
- <SafeControl Type=”ContentEditorWebPart” Safe=”False” />
- http://blogs.msdn.com/ecm
- http://code.msdn.microsoft.com/ProhibitCEWP
Capacity planning and Performance tuning. (Mike Watson)
- Capacity planning is an educated decision.
- Goals are:
- Performance.
- Scalability and affordability.
- Maintainability.
- Simplicity.
- Monitor growth of system (trending).
- Cheap, fast, good – choose 2.
- Concurrency increase – plan for it through capacity planning.
- Max 5 web front end servers / SQL instance.
- Use 64bit – 32bit is dead.
- Sequence of upgrading: SQL Server – index – excel – search – WFE.
- Virtualization:
- Disks:
- Use pass through or fixed VHD.
- No dynamic disks.
- Networking:
- Use multiple NIC’s and NIC teaming on the hosts.
- Disks:
- 1.2 – 1.5 times the file system is needed on the SQL server.
- 30% – 50% of the size of all content is needed on the index server.
- Size of index is needed for the Query Server.
- Performance:
- Mirorring 27% performance loss
- DAS < 1s., SAN > 5s.
- Performance in Visual Studio Test Suite (Trial), Web Test Edition
- Use 10% of total users for normal tests, use 50% of users for peak tests.
- SPDataPop, Data Population Tool
If you like this post then please consider subscribing to my full feed RSS. You can also subscribe by Email and have new posts sent directly to your inbox.