Sesat > Docs + Support > Upgrade Guides > 2.17 Upgrade

Compatibility changes

Enable sesat templating system to accept JSP templates (17 Feb 2008)

SEARCH-4294 Enable sesat templating system to accept JSP templates

Changed API:

  • AbstractVelocityTemplateTag.importTemplate(..) renamed to importVelocity(..). method parameters unchanged.
Anonymous TokenPredicates (2 April 2008)

SEARCH-4421 Anonymous TokenPredicates

TokenPredicate is now a interface. It's inner classes provide all functionality: Categories for the existing hardcoded enumerations, Static for static-utility methods, and TokenPredicateImpl for anonymous TokenPredicates.

Changed API:

  • All of TokenPredicate's existing enums have been moved into TokenPredicate.Categories
  • All of TokenPredicate's static methods have been moved to TokenPredicate.Static

Added APIs:

  • TokenPredicate.Static.getAnonymousTokenPredicate(String) :: finds an existing anonymous TokenPredicate
  • TokenPredicate.Static.createAnonymousTokenPredicate(String, Type) :: create a anonymous TokenPredicate
  • TokenPredicate.Static.getTokenPredicates(Type) :: retrieve all tokens by type

Removed APIs:

  • TokenPredicate.ALWAYSTRUE :: had been deprecated for quite some time already.
  • TokenPredicate.getFastTokenPredicates() :: use TokenPredicate.Static.getTokenPredicates(Type) instead

Deprecated APIs:

  • TokenPredicate.getMagicTokenPredicates() :: norway specific logic
  • TokenPredicate.getTriggerTokenPredicates() :: norway specific logic
index.jsp removed

Any root request (ie "/") is now automatically forwarded to "/search/?".
So instead of using the index.jsp -> index.vm mechanism the layout's front defined template is used.
If your front page is broken you can most likely fix it just by adding front="index" to that tab's layout element in views.xml
For the "/" case, where neither the c nor q paramter is defined make sure you've set site.defaultTab in

Base skin now called "generic.sesam"

Whereas before it was "".
The same goes for the profile counter parts: generic.alpha.test.sesam, generic.nuclei.test.sesam, generic.beta.test.sesam, generic.electron.test.sesam.
It is wise now to explicitly define the port in the property in any skin extending generic.sesam, since generic.sesam isn't a valid domain and might not be successfully handled by any front end proxy, eg apache, handling the default port 80.

Gamma profile now an almost identical copy of the Production profile

Allows multiple tomcat instances to be run behind the one proxy front making it easy to switch between profiles. Useful for supporting multiple version of sesat-kernel under the one domain.


Changed API:

Change the syntax of XML written to the logfile sesam.access (07 Jul 2008)

Commit r6724

Instead of using the parameter's key, as the name of the tag, we now use the fixed tag <parameter> for this. The key and value are added as parameters inside the parameter tag.
So we have gone from this:
<parameter key="1_wonkey_name" value="123" />
Changed API:

  • sesam.access logfile

New Features

Using JSPs in skins (16 Feb 2008)

SEARCH-4290 Design and code with JSPs in skins.

It is now possible to use both JSPs and Velocity templates in the skin's templates/ folder.
The full documentation on this feature is in the javadoc for SiteJspLoaderFilter

AllParametersDirective added (2 Jun 2008)

SEARCH-4760 Replace usages of ${request.requestURL} in velocity templates with AllParametersDirective.

Velocity templates are encouraged to be $request free and so http-implementation independent.
So now $request.queryString can be replaced with #allParameters()

It is also an encoding safe way of writing out the current URL's query string in correct UTF-8 encoding if the original request was ISO encoded.

SearchMode.isAutoBroadening() added (16 Sep 2008)

By adding the attribute auto-broadening="false" the query will not be wrapped and re-executed when all commands return zero hits. Default value is true leaving functionality as is today.
See SKER5004 Create option to disable the automatic rewrite of <multi-word query> to (<multi-word query>) when there are zero hits across all verticals

Rss mode can executed multiple commands (5 Jul 2008)

In views.xml/views/tab@rss-result-name multiple commands can be entered each separated by commas. The first will be used by the SyndicationGenerator and will continue to be the return result from SearchTab.getRssResultName(). An extra method has been added SearchTab.getRssCommands() that returns the whole list. This method is used by RunningQueryImpl to ensure all specified commands are executed in rss mode.

CopySearchRunHandler (5 Jul 2008)

A whole SearchDataObject in the datamodel can be copied with a new name.

FederatorRunHandler (5 Jul 2008)

Easily configurable run handler to merge results from multiple search command together into one ResultList.


Renaming of news case facade (16 Sept 2008)

SEARCH-4987 RMI doesn't work in alpha or beta

Changed API in newsadmin-services:

  • NewsCaseFacadeInterface renamed to NewsCaseFacade

The sesat revision r6808 requires an upgrade of newsadmin-services from v1.4 to v1.5 on the RMI backend server.

 © 2007-2009 Schibsted ASA
Contact us