I had the privilege of attending the SharePoint Best Practices Conference in San Diego. This was a fantastic opportunity for talking with industry insiders, MVPs, and colleagues. I also learned many new things. The weather and location was very beautiful, in fact the actual location was the La Jolla Torrey Pines Hilton about a 20 minute drive north from San Diego. Here are a few photos I took between sessions
I do not wish to repeat what other folks are covering so I thought I would focus more on common themes and offer just a few specifics to further ponder later when I have time.
Although I attended a variety of sessions I generally stayed within the development track. Having said that, I think two sessions of particular distinction was Dennis Martin, a File Systems & Storage MVP. His talk on storage performance and SQL best practices with regard to SharePoint was nothing short of outstanding. One of the other sessions I attended was Todd Bleeker, SharePoint MVP and his talk on webpart development best practices.
The first big theme that ties many sessions together is performance. Developer and team performance, webpart performance, Search, or SQL Performance.
Download SPDisposeCheck, poorly written code will often create memory pressure issues (leaks) – this utility will help.
- Maximize page load performance, get to know and love ICallbackEventHandler, AJAX technology (including JQuery extensions), and Silverlight
- The MS patterns and practice team updates SharePoint guidance about every two weeks, see http://www.codeplex.com/spg
- If you’re a TDD fan and find TDD a long process with SharePoint then download and try out TypeMock. This will mock up the SharePoint object model and eliminate the need for the write- compile-deploy- test cycle we all love to hate. This allows your SP TDD based app to be tested at the speed of your compilation. See http://www.typemock.com/Downloads.php
- For SQL Server here is a smattering of points I pulled out of that sessions (some of these you may know)
- TempDB and logs, use RAID 1+0
- Best performance is obtained when the number tempDB data files match the number of CPU cores on the server
- For windows 2003, or older servers, align the file system to the disk offset recommended by the storage vendor. If unknown use an offset of 64K. The command is create partition primary align=64. Windows 2008 uses the default of alignment of 1MB – so it’s a no brainer.
The next theme is follow the rules
- Direct access to SharePoint databases (sql selects for example) are not supported by Microsoft but we often need to debug and/or extract data for other purposes. The potential best practice in this regard is to either use an offline version of the db or create a utility via the object model to extract data out and into a secondary db that will act as the data source.
- Good reminder, Code Access Security (CAS) is not for just public facing and extranet deployments. Use CAS for intranet deployments as well.
- Good reminder, deploy your code to the BIN (with CAS), not the GAC unless absolutely necessary. However, in both cases strong name your assembly (yes even with BIN deployments).
The next big theme I felt was keeping simplicity a core feature for both standing up a commodity SharePoint farm or extending one. I think Joel Oleson put this well in his keynote – and I paraphrase here- that SharePoint follows the 80/20 rule and will not be a 100% solution OTB for what people have in their own minds. However, that should not be a license to extend without first growing the expertise to be successful. Its also not a license to just hand it over to the business without proper planning.
Many other themes and specific points could be extracted from the conference but the three above capture how I categorize the sessions I attended. Related posts will follow