TerriaJS v8.0.0 release

Ana Belgun
Terria
Published in
4 min readJul 28, 2021

Dear TerriaJS community, we’re planning to release TerriaJS v8.0.0 as the main branch on the 9th of August 2021. Although it seems like a big bang release, in fact it’s the opposite. We have been working on TerriaJS v8 as our next branch for quite some time, shipping 87 alpha releases at the time of writing. The following step is to switch the next branch, to be the main. This will help users of TerriaJS and TerriaMap to (finally) clone the latest version of the map by default.

Yes, common practice is to communicate after the release has happened; in this instance, given its significance, we’d like to give you a heads up.

Highlights

The new release comes with significant changes of our model layer to use more modern technologies like Typescript and mobX and simplify the CatalogMember classes that translate data into visualisation layers; it will also make extending TerriaJS easier for open source users.

Highlights include:

  • adoption of Typescript
  • adoption of mobX
  • a fully refactored model layer that is more modular and makes it easier to assemble a catalogue item from basic behaviours
  • support for Open Data Soft catalogue items used especially for IoT data
  • support for latest version of SDMX — JSON user especially for statistical data
  • new features such as:
  • Pedestrian View
  • Search within 3D data
Search within 3d data functionality on NSW Digital Twin
Change detection v1.0 feature designed for satellite imagery

What to expect

We’re hoping that on the 9th of August 2021 1:00pm AEST we’ll be starting the migration process; i.e. we’ll be renaming the latest TerriaJS next branch https://github.com/TerriaJS/terriajs/tree/next, the main branch and make it the default. The current master branch https://github.com/TerriaJS/terriajs/tree/master will be renamed v7.x.x branch.

All previous versions will continue to be available but support will only be accessible through the community contributions. The TerriaJS core development team will focus on v 8.0.0 and beyond.

Documentation for version 7 will still be available here: https://docs-v7.terria.io/guide/ while the new version 8 documentation is available here: https://docs.terria.io/guide/.

We’re providing more technical details and support on our GitHub forum https://github.com/TerriaJS/terriajs/discussions. Take note that we’re decommissioning our Gitter forum https://gitter.im/TerriaJS/terriajs to consolidate our community knowledge base and make support more efficient.

We’re planning to improve v8 documentation as we go, expediting our efforts in the first 4 weeks following the migration date, based on the community feedback and issues discovered during the migration from v7 maps to v8.

So, make sure you let us know what’s missing in the new documentation!

New TerriaJS user

If you are a new TerriaJS user, it’s easy! Head to our Getting started guide https://docs-v8.terria.io/guide/getting-started/.

Existing TerriaJS v7 user

If you’re an existing user with an established map based on v7, before starting the migration, you should check examples of TerriaJS v8 ‘in the wild’ like: https://nsw.digitaltwin.terria.io/ and https://qld.digitaltwin.terria.io/.

Example of TerriaJS v8 application — QLD Digital Twin

You will find that TerriJS v8 has some slightly different conventions to what a catalogue JSON looks like. To help converting your v7 catalogue to a new one, we developed a tool that we use for the platforms we’re managing. It will help you understand major discrepancies between the 2 major catalogue versions.

The catalogue converter can be accessed here: https://catalog-converter.terria.io/

If you want to contribute and make it better:

Although we took steps to make sure almost all catalogue items in v7 have been ported to v8, you might discover discrepancies. We’ll be publishing a list of deprecations on the Terria GitHub discussions forum. It is possible that not all functionalities in v7 have been refactored. If you find such issues, please let us know. We’ll do our best to reinstate support if they are not planned for deprecation.

A v7-v8 migration step by step guide will be part of the v8 documentation https://docs-v8.terria.io/guide/. You can monitor our progress on the release here: https://github.com/terriajs/terriajs/issues/5594

Existing TerriaJS v8 user

Ok, so you’ve been using TerriaJS next branch for some time. Make sure you’re pulling from the main branch next time you update.

What next

In the next 4–6 weeks, we’re focusing on supporting the community on migrating their v7 maps and improving the documentation as we go.

In parallel, we’re working on extending support for new or existing formats as well as releasing next versions of several existing functionalities such as:

  • Story v2.0
  • Print v2.0
  • Clip and ship v2.0

Looking forward to hear your story using the latest version of TerriaJS.

The Terria Team

--

--

Ana Belgun
Terria
Editor for

Project Manager working at CSIRO Data61 for TerriaJS