Using Office SharePoint Designer 2007 with SharePoint 2003
Note: the information in this weblog post is based on the Beta version of SharePoint Designer 2007 (version 12.0.3820.1002), the information might not reflect the working and available functionality of newer beta versions or the final product.
Did you know you can use the new SharePoint Designer 2007 on SharePoint 2003 sites? Well… it works! Still looks a lot like FrontPage, but it has some great new features. It can be installed side-by-side with FrontPage 2003, but switching between SharePoint Designer and FrontPage causes some strange error messages and automatic reinstallation/reconfiguration actions. Don’t try it on a machine where you depend on for real development work, after switching my FrontPage I had some strange behavior.
NOTE: I’m running WSS 2.0 SP2 under ASP.NET 2.0, I don’t know if everything reported here works the same for ASP.NET 1.1.
Ok, after all the warnings and disclaimers: let’s get started!
SharePoint Designer 2007 and WSS 2
Although FrontPage is renamed to SharePoint Designer, it looks like all the non-SharePoint functionality that was available in FrontPage is still available. I will look at the available fatures in the context of WSS 2, not the new WSS 3 (SharePoint 2007) platform.
For the Microsoft marketing speech on the full features of SharePoint Designer for SharePoint 2007, have look at http://www.microsoft.com/office/preview/programs/designer/highlights.mspx.
Master pages
Earlier I already tried to create a master page for usage with a WSS page, but didn’t get it working. I’m using ASP.NET 2.0 with WSS 2, so I actualy thought that that might work. I think that due to changes to the page the page got unghosted, and the Safe Mode parser prevented the usage of master pages. I didn’t try to add a master page to the site definition, that might work because ghosted pages linking to the pages in the site definition are not interpreted by the Safe Mode parser, but directly by ASP.NET 2.0.
SharePoint Designer has the capabilities to design a master page through File - New – Page – Master Page.
New content regions can be added through Format – Master Page – Manage Content Regions …, which hows the following dialog:
I even managed to create a page based on the master page:
When I load the test.aspx file in the browser I get the following error however:
[WebPartPageUserException: Unknown attribute "masterpagefile" found in @Page directive.]
The page is unghosted and does not seem to support master pages. I think due to the all the restrictions that exists for pages executed by the Safe Mode parser
Gladly enough good old Dynamic Web Templates, one of the most powerful and overlooked features in FrontPage, is still suported.. Where master pages combine at runtime, Dynamic Web Templates combine on save or attach of the Dynamic Web Template file I will spend a separate weblog entry on this topic in the near future.
CSS Styles
SharePoint Designer has a nice style selector to select a style of one of the connected stylesheets:
Data View
One of the renamed menu entries is Data View, which was named just Data in FrontPage 2003. Data Views are one of my favorite parts of WSS, and it is good to see that Data Views will still be there in WSS 3 and the support within SharePoint Designer is better than ever. Some disassembling of the Data View Web Part code and DDWRT XSLT function extension code in WSS 3 reveals that not much changes in the new version of WSS.
One of the biggest problems with FrontPage 2003 was that when data was retrieved for a Data View, the data querying could become really slow when a lot of items are retrieved. This made the user-interface often really sluggish. Data Views now have a special Data View Preview setting that solves these kind of problems:
Another good improvement in Data View editing is the Data View parameter editor:
This translates in the following parameter bindings in the Data View Web Part:
<ParameterBinding Name="ParamConnection" Location="Connection" DefaultValue=""/>
<ParameterBinding Name="ParamControl" Location="Control(L_SearchView)" DefaultValue=""/>
<ParameterBinding Name="ParamForm" Location="Form(FormField)" DefaultValue=""/>
<ParameterBinding Name="ParamCookie" Location="Cookie(MyCookie)" DefaultValue=""/>
<ParameterBinding Name="ParamQueryString" Location="QueryString(queryvar)" DefaultValue=""/>
<ParameterBinding Name="ParamServerVar" Location="ServerVariable(servervar)" DefaultValue=""/>
The editing of the Data View properties is a bit extended, but the supported functionality didn’t really change:
The Layout possibilities didn’t change, and there seems to be no way to extend the layouts. Specifying your own XSLT in the XSLT Source tab is new as far as I know.
The column header sorting bug is NOT solved in XSLT generator of SharePoint Designer.
The conditional formatting is made even more powerful due to a good style composer and good support for the creation of the xpath rules for conditional formatting. The biggest problem is still there: it is NOT possible to specify a CSS class for styling a conditional format. Microsoft: please change that, you want to be able to maintain style in a centralized place!
Conclusion
SharePoint Designer is a cool tool that makes nice improvements on the current SharePoint 2003 version that is already really powerful. It is great that all the already available power in SharePoint 2003 that is now “banned” due to the unghosting issues will be “the way to go” in the next version of SharePoint because the unghosting issues and Safe Mode parser will be something of the past.
SharePoint Designer is not production ready yet. I had a few crashes in preparing this blog entry. But start learning FrontPage 2003 now, and you will enjoy SharePoint Designer 2007 even more when it hits the market!
In some future blog entries I will describe the way we use FrontPage 2003 to build really powerful business application on the SharePoint development platform today.