Sesat > Docs + Support > Development using the SFC
work in progress

For newcomers there's a tutorial on how to build This may prove more useful to begin with than the following documentation.

Development Using the SFC

General Information

The SFC - SESAT Frontend Container - is the place to create vhosts that are using the full SESAT functionality.
All sites or applications running within the SFC also runs on the same JVM as the SESAT Kernel.

All code, configuration, images etc. related to a vhost are termed resources. These resources may be on the same file system as SESAT Kernel (in the Tomcat deployment catalogue), or they can be on some other server reachable by http.

In effect, SFC is just the notion of the JVM where we deploy and run applications using SESAT Kernel.

The following text will expose the details of how to create a site within the SFC.

Structure of an SFC application

Catalogue hierarchy

The resources are found under the main catalogue. As for now we are using the following:

  • /conf -  here is the config files, with basic files as modes.xml and views.xml
  • /css - the css files mainly reside in the /css/tabs folder which are default mapped from the id attribute for each tab in views.xml
  • /images
  • /javascript
  • /templates - velocity templates and jsp files.

The hierarchy for where a sitesearch is placed is: -> -> -> (

It's important to remember that every project inherits all the template-, css-, imagefiles and so on from the level above. That's a reason why we use the generic to keep the sitesearch spesific stuff for itself.


  • versioning of css-templates, versioning of images etc., cache-control

Configuration files

  • detailed description of the configuration files

HTML Templates - Velocity - JSP

While not a requirement, most users would want to use HTML to encode search results. SESAT does not pose any strict requirements on the user, but we strongly recommend following international standards.

While SESAT support any "style" of HTML-coding, we recommend using XHTML 1.0 with the TRANSITIONAL doctype.
We recommend using the STRICT doctype, but with the extensively use of javascript today it would be impossible to make it valid.

 The templates are defined through a custom templating system defined via the layout element in views.xml. Using these definitions work with the search:include tag or the searchTabInclude velocity macro.


We recommend the following:

  • All element- and attribute names must be in lower case. All attribute values must be quoted.
  • Close all elements. Example: <img src="image.jpg" alt="" />, <br />
  • Don't use deprecated elements and attributes
  • Avoid using tables for layout
  • Keep number of elements as low as possible (overuse of div's)
  • Allways add alt-attribute in <img> element
  • Allways set width and height attributes for images inline. Example: <img src="image.jpg" width="100" height="200" alt="" />
  • Encode ampersands in url's
  • Use relative path instead of absolute where this is possible
  • Make javascript unobtrusive where it's possible
  • www subdomains - for example, we recommend instead of All internal, and external links, should use the same way to link to sesam, not mixing the two. The Site class, responsible for handling the vhost always strips out any www. prefix.

The benefits by doing this are:

  • Simpler development and maintenance
  • Compatibility with futures web browsers
  • Faster download and rendering of pages
  • Better accessibility (for screenreaders and alternative browsing)


See Developing using CSS

Standard Taglibs


See Navigation documentation


Simple tutorial Developing a quick and simple Enrichment tutorial

 © 2007-2009 Schibsted ASA
Contact us