Interwoven SitePublisher/LiveSite, which recently released version 3.0 sp1, is a great tool to develop websites in. The end-users love it, it's easy to work with and develop in. And you can implement new functionalities for your websites very quickly.
It does, however, have some characteristics that require considering from the start. The most important one is the way LiveSite renders it's pages on the front-end.
1). Pages are created by placing components (in this context; pieces of content and/or functionality) on them. The pages themselves don't contain a higher level that you can control, apart from these components. A component could, for instance, be a header or the main navigation.
2). The pages, that are created in SitePublisher (LiveSite's back-end counterpart), are deployed to the front-end application servers as xml. These xml files contain the components and their absolute location on the page, and are then transformed, using xslt, to html.
Because of the way this is done, you don't fully control the actual generated html, which has it's consequences for the graphical design. More specifically, for the html code, css and javascript used. Some examples below. It's going to get a little technical, but that's the only way I can make my point;
HTML
The implementation of the graphical design should already take into account the bounderies of the components that will be placed on the pages. In other words; the parts of content that should be able to live independently of others on a page. In practice, these should be in separate divs, if you use div style layout.
CSS
You cannot apply any positioning on these divs, or apply styles depending on their context, if that context is outside one component. You can position pieces within components, but not relative to others, or absolute on the page. LiveSite takes care of that. The LiveSite runtime engine will actually surround each component with two additional div tags, which are used for positioning on the page. This also means that you should use classes to apply styles, and make sure that these are not hierarchical in the sense that they depend on styles applied to surrounding html elements outside the component.
Javascript
Using inline javascript is a bad idea. You'll be writing these out from a component, and any component can be on a page more than once and positioned anywhere within the site (unless you restrict this, but now we are drifting too far from the subject). You can use javascript, but you need to put the code in a js file and link it to the site.
A summary; it's not as straightforward as taking any html and transform it into a LiveSite template, as it might be for some other web content management tools. There are some technical peculiarities you need to look at before starting to generate html and css.
In my opinion, this is not negative. It forces developers to produce snippits of html that function well regardless of page context. That basically leads you to good html & css design.
Friday, 14 September 2007
LiveSite and HTML
Posted by
Dries Germonprez
at
22:05:00
Labels: Interwoven, LiveSite

0 comments:
Post a Comment