Hounslow Borough Council (HBC), a long-time Obtree WCM customer tasked JCMS with implementing an integration between Obtree and Cludo Search. This included both the then public facing website and the intranet, both of which were powered by Obtree WCM. (Note: The public facing site is no longer powered by Obtree)
Public facing site
The results were presented as a simple paginated list.
The requirement for remote indexing of the internal content meant that the implementation for the intranet was considerably more involved. The required steps can be summarised as:
HBC needed to allow remote access to servers behind the firewall. (i.e. to a rendered instance of the intranet)
Cludo needed to access this opened tunnel and crawl the content.
Because this content is private to HBC, but stored on the potentially publicly available Cludo servers, access to search results must be restricted
HBC needed to implement a secure server side proxy providing an authentication token to gain access to the crawled content
Therefore, HBC needed to provide access to the Cludo servers from the intranet client machines and from the intranet web server
Allowing access to the material to be indexed required a network and firewall configuration change. This task was performed by the HBC network administrators. The subsequent indexing and storage was performed remotely by Cludo. Therefore, JCMS was not involved with this step.
Search result access
As noted, access to the indexed content required that a server-side authentication token was passed as part of the search request. This required a combination of tasks. The underlying network connectivity to allow search requests to reach the Cludo servers from within the HBC firewalled intranet was realised by HBC network administrators.
Authentication proxy development
The Cludo proxy code runs as an IIS application, so a suitable virtual directory, pointing at the Cludo C# code, was added and converted to an IIS application. The virtual path becomes important later on for the integration with the Obtree WCM system.
Client side script and proxy testing
The simple test harness is sufficient to confirm that the intranet site has been indexed and that the credentials are valid, as shown below.
Integration between Obtree WCM and Cludo proxy
However, Obtree CMS works by intercepting all requests for a given domain (or path in that domain) and attempting to dynamically serve content held in it's own repository. It is of course possible to configure the system to ignore requests on certain paths with so-called EXCLUDEMAGIC entries in the configuration file
This configuration change ensured that any HTTP requests that included /cludosearch/ in the URL would not be processed by the Obtree engine, but passed through to IIS to handle (in this case, the Cludo .NET application).
CMS template integration
Unlike the internet content, the intranet content was indexed with facet attributes, and the results are presented with a breakdown of matches per facet. Each displayed facet is a filter for the current result list. This output is all generated by the Cludo controller code. For example, a search for 'councillors':