At a glance

2021
2 to 4 months
Completed
GovCMS, QuantCDN, Drupal
Federal government
Discovery & strategy, Build & migration, Technical advisory
GovTech, Whole of government, Civic tech, Open data, Open source, Web development, Headless CMS, Jamstack, Static web, Content management systems
User needs, Multidisciplinary teams, Agile delivery, Tools & systems, Security, Open standards & common platforms, Open source

Overview

Geoscience Australia’s challenge

The new Geoscience Australia platform has been developed using static technologies via QuantCDNExternal Link . Website visitors interact with a static output, which provides security, performance and scalability. However, we needed to create a search solution for the platform that would query the content in Quant rather than querying Drupal.

Geoscience Australia’s transformation

Salsa created an end-to-end search solution. The search metadata is captured in Drupal, then custom code in Nuxt.js places that metadata into the HTML header of the static pages. The static content gets pushed to Quant, then Quant uses mappings to extract the metadata from the static content and feed it into Algolia. The search solution can be fully customised to create listing pages with keyword search and filters (faceted search).

The outcomes

  • A tailored search solution that can be used with static content and QuantCDN
  • A more secure and faster search (because the search is querying Algolia and not the Drupal backend)
  • Fully customisable search pages created by content editors

Salsa came up with a simple, fast and cost-effective site search solution for our pilot websites. We were also able to easily customise the approach to create filtered search experiences within the websites to solve complex content discovery. Salsa were easy to work with, innovative in their thinking, and responsive to our needs for this project. We are now exploring further opportunities to scale this solution across our website network.

Alan Maskell, Project Manager, Geoscience Australia

Full case study

Geoscience Australia’s challenge — searching static content

Salsa has been working with Geoscience Australia and GovCMS to pioneer new government digital platform approaches. Geoscience Australia’s Digital Earth AustraliaExternal Link (DEA) site forms the pilot of a broader objective to generate efficiencies and savings for Geoscience Australia. A key strategy for this new platform is the use of static technologies. The design system uses Nuxt.js to generate static output for the website data provided via a Drupal content API. This output is then pushed to QuantCDNExternal Link , a global edge engineered for the static web.

Website visitors interact with this static output (e.g. the compiled HTML/CSS/JS), which represents the ultimate in security, performance and scalability.

However, we needed to create a search solution for the DEA websiteExternal Link , the Exploring for the Future websiteExternal Link , the Community Safety websiteExternal Link , and future websites. Specifically, we needed to find a way to query the content in Quant rather than querying Drupal, because the Drupal backend is completely locked down. In addition, we needed to be able to search both the content that’s visible on the page plus metadata about the page that was stored in Drupal as field data and tags.

Salsa created a flexible search solution that would work for all the Geoscience websites, including those with more complex search requirements like the Exploring for the Future websiteExternal Link .

The DEA website has a global search that uses keywords. While it’s not obvious when you interact with the search, it’s actually using metadata that’s captured in Drupal and surfaced in the static content. The below screenshot shows some search results. The title, summary, type (e.g. news) and images are all metadata elements.

Image of a page showing search result for

We needed to capture this metadata and feed it into Algolia. Salsa’s solution is custom code in Nuxt.js, which pulls all the metadata from Drupal and puts that metadata into the header of the HTML. The code below shows an example of the HTML header.

<meta data-n-head="ssr" data-hid="search_date" name="search_date" 
content="1631576651">

<meta data-n-head="ssr" data-hid="search_pretitle" name="search_pretitle" 
content="Deep-dive projects">

<meta data-n-head="ssr" data-hid="search_title" name="search_title" 
content="Darling–Curnamona–Delamerian">

<meta data-n-head="ssr" data-hid="search_summary" name="search_summary" 
content="This project is delivering new data and knowledge to assess mineral 
and groundwater potential and support water management across western 
New South Wales and Victoria, eastern South Australia and northwest Tasmania.">

<meta data-n-head="ssr" data-hid="search_image" name="search_image" 
content="/_nuxt/image/c8f2d7.jpeg">

<meta data-n-head="ssr" data-hid="search_url_text" name="search_url_text" 
content="Learn more">

<meta data-n-head="ssr" data-hid="search_url_href" name="search_url_href" 
content="/darling-curnamona-delamerian">

<meta data-n-head="ssr" data-hid="search_filter_content_tags" 
name="search_filter_content_tags" content="EFTF - Current project">

<meta data-n-head="ssr" data-hid="search_filter_product_regions" 
name="search_filter_product_regions" content="NSW">

<meta data-n-head="ssr" data-hid="search_filter_product_regions_1" 
name="search_filter_product_regions" content="SA">

<meta data-n-head="ssr" data-hid="search_filter_product_regions_2" 
name="search_filter_product_regions" content="TAS">

<meta data-n-head="ssr" data-hid="search_filter_product_regions_3" 
name="search_filter_product_regions" content="VIC">

<meta data-n-head="ssr" data-hid="search_filter_product_systems" 
name="search_filter_product_systems" content="Groundwater">

<meta data-n-head="ssr" data-hid="search_filter_product_systems_1" 
name="search_filter_product_systems" content="Minerals">

<meta data-n-head="ssr" data-hid="search_filter_product_topics" 
name="search_filter_product_topics" content="Basins">

<meta data-n-head="ssr" data-hid="search_filter_product_topics_1" 
name="search_filter_product_topics" content="Lithospheric">

<meta data-n-head="ssr" data-hid="search_filter_product_topics_2" 
name="search_filter_product_topics" content="Crust">

<meta data-n-head="ssr" data-hid="search_filter_product_topics_3" 
name="search_filter_product_topics" content="Mantle">

<meta data-n-head="ssr" data-hid="search_filter_product_types" 
name="search_filter_product_types" content="Current projects and activities">

<meta data-n-head="ssr" data-hid="search_filter_page_type" 
name="search_filter_page_type" content="Project Detail">

The static content then gets pushed to Quant. In Quant, we set up configurations that extract specific content and feed it into the Algolia search. The Quant ‘magic’ effectively maps it from Drupal metadata to Algolia search results. The screenshot below shows an example of the Quant mappings.

Quant mappings

Geoscience Australia - enterprise search with Algolia - Quant mappings
Quant mappings
Download Quant mappings

This also means we have full control over what’s shown in the search results. For example, we can show different summary information than what’s on the main page, different images, etc.

Faceted search

The next site we built on the new Geoscience Australia platform was the Exploring for the Future websiteExternal Link . This website has a much more complicated search and includes faceted search (see example search pageExternal Link ). Faceted search allows users to narrow down the results through filters.

When creating new pages with faceted searches, content authors can choose which facets/filters they’d like to show. This gives them complete control to create listing pages that are highly interactive.

Image of Data and products page of Geoscience Australia website, showing search result for

The faceted search is also affected by the chosen keywords, so as you start typing a word the filters that no longer apply disappear so you can see the type of content that matches your keyword search. The screenshot below shows that when “multiscale” is entered as the keyword, only one project contains matching content. Likewise, there are two types of content with that keyword and one topic with that keyword.

Image of Data and products page of Geoscience Australia website, showing search result for

Next steps

Geoscience Australia will be revisiting the broader search/failover solution in the coming months as it continues to consolidate its websites.

  • A tailored search solution that can be used with static content and QuantCDN
  • A more secure and faster search (because the search is querying Algolia and not the Drupal backend)
  • A very flexible search that’s fully customisable by the content editors
  • The ability to implement sitewide search
  • The ability to implement very specific, faceted search (listing pages with keyword search and filters)

About Geoscience Australia

Geoscience Australia is Australia's pre-eminent public sector geoscience organisation. It’s the nation's trusted advisor on the geology and geography of Australia. It applies science and technology to describe and understand the Earth for the benefit of Australia.