SharePoint Conference Seattle, day 3

Here’s the roundup for day 3, hope you can get some out of this. My idea is to provide links and stuff. I might update articles later on to add links.

Keynote - Greg LeMond

Greg LeMond was a pro-cyclist who won the tour du frans a few times. Apperantly he’s a hero. For my the keynote wasn’t all the inspiriting and good. So, not much to report on that.

DM309 - Best of Windows Server 2008 and SQL Server 2008 for SharePoint Deployments

The reason I went to this sessions was because I haven’t seen anything about the new 2008 stuff that is coming. For Windows Server 2008 I’m very happy, IIS 7 management really changed and performance should be better. Installing MOSS or WSS on Windows Server 2008 is quite easy. You only have to know that SP1 for WSS/MOSS should be slipstreamed into the install. For WSS this package is already available, for MOSS this isn’t available yet. Some other info on WSS/MOSS SP1:

  • Windows 2008 Support :)
  • Ajax Support
  • Stsadm -o mergecontentdbs
  • Last 32 bit version!
  • New People picker

For windows server 2008 some new features are introduced if you look at them, most of them are for management and performance improvements, including native 64bit support.
SQL2008 sees a lot of new features. The session went into the encryption and compression on database level. This is interesting for sharepoint since we can now store data compressed and encrypted on the database level.

ECMS400 - Sharepoint Tools for Style Advanced Technique for Branding SharePoint

This was the second session by Heather Solomon, which I think has a very nice blog and is quite unique out there being a female. That sad, the session was great and had LOADS of tips and tricks on sharepoint designer and altering the layout/design of the page. Here’s the list I wrote down:

Never edit core.css

This was also pointed out by MSIT in an earlier session. Again you should override the CSS’s in core.css in a separate css file that can be included in the master page. This also means you will not select a different css file. You leave core.css in place and add another CSS file to override the CSS properties from core.css.

Images

You can place them on a lot of places. The nices way to use them is to put them in a doclib but not the one that you get with the Publishing feature. This Images gallery is for content-images. This means that you can create an extra image lib to put layout images in there and store the images that belong to content in the one that you get with the publishing feature. You can also put images in the 12-hive or somewhere else on the server. If you put them in the 12-hive, create a directory for it! Do not override the default images that are located in the 12-hive. Another options is to just put images somewhere on a webserver. As long as they are readable for the same users.

CSS tricks

CSS @import can be used when you are building themes. Themes are easily selected and can be created inside SharePoint Designer. Problem is, once enabled files are copied and you (as a web designer) lose control over the themes already deployed. CSS Import is a great trick for that, basically the themes only have css imports and you put the imported files somewhere where you can change them.

In general a great sessions with loads of tips and tricks!

Lunch

Check out the picture to see how nice the weather was!

IBP01 - Rendering Data in SharePoint Using AJAX and LINQ

This session was actually split up in two. One was AJAX and the other was about LINQ (duh!). The AJAX was based on quering a web service and using that for AJAX. This is very nice functionaliteit because you use a webservice to retrieve data that is used within your website. The AJAX was implemented into a web part. To get AJAX you need to download ASP.NET Ajax 1.0 and follow a guide. To use a web service within AJAX you need to have a ScriptService attribute on the webservice. The result of the web service needs to be serializable and a small adaptation to the ASMX file must be made to read the code from the GAC in stead of the .CS file. When that’s all done, the WSDL file is changed to go into a ASPX file and some attributes are added. Lots of small details! Eventually you get a web service that can be called from Javascript and used for AJAX. This javascript is then used in a normal web part to do some magic.
Another cool trick was to add ‘debugger;’ to javascript, then VS2005 will stop running there and you can step trough the javascript!
Then the session went on with LINQ, to be more precise, LINQ2MOSS. This is a LINQ solution that lets you query WSS items, like lists. This is very nice because LINQ can do joins. Now we can use a LINQ query and join data from SharePoint lists. Although it is not recommended to do this, it is possible and provides great possibilities! In the end of the demo, Steve Peschka (the presenter) actually joined and XML file, SharePoint list, SharePoint Document library and a database into one result. Great stuff if you ask me. There are concerns about performance and that sharepoint now will be used as a database (hey, you can do joins!). In the end, the conclusion is that you really get nice extra functions to help you out when it is really needed.

DM400 - Best Practices for SharePoint Solutions

This session was presented by Ted Pattision who lots of people know. It’s funny seeing him present something in real life. The presentation was about SharePoint deployment and how you should do that. Of course STSDEV was named and then it went on with the details on how a STSDEV created project worked. This wasn’t all new to me, what was new was Application Pages and Custom Site Pages. Application Pages are deployed to the _layouts directory of the 12-hive. Custom Site Pages are deployed into the sharepoint site itself. SharePoint designer can’t do anything with it anymore because it’s created by a solution (this is actually good!). A caveheat to this is that SharePoint doesn’t override the files when you redeploy the solution AND it doesn’t delete the files when you retract the solution. You should do this in the featuredeactivation event via code.