Skip to content

Navigation and URL Format (v2)

To support a more consistent navigation experience, a newer URL format, URL v2, is being introduced as the standard format going forward.

What this means for you

If you already use bookmarks, saved links, or shared URLs created with the previous format (URL v1), they will continue to work.

To support a smooth transition:

  • URL v1 is still supported
  • the application can recognize older URLs
  • when needed, older URLs are automatically interpreted and resolved using the URL v2 format

This means existing links do not need to be updated manually.

Why this change was made

The newer URL format helps the application represent navigation more clearly and more completely.

With URL v2:

  • the URL reflects the current navigation state
  • deeper navigation paths can be represented more clearly
  • filters and menu context can be included more accurately
  • browser navigation becomes more predictable

This makes it easier to open pages, use breadcrumbs, share links, and return to previous views.

URL structure overview

Previous structure: URL v1

In the previous version, the URL described only part of the current navigation state.

A typical structure looked like this:

https://app.metacomplatform.com/{environmentId}/menu/home/{menuBlock1}/{menuBlock2}?selected=(...)

Example:

https://app.metacomplatform.com/6740a92529d40ca284c60ff8/menu/home/contractsKanbanV2(...)/contractBlock?selected=(...)

In URL v1, different parts of the URL represented:

  • domain: the application address
  • environmentId: the active environment
  • menu / home: the entry point into the menu
  • menu blocks: opened sections or navigation levels
  • selected query parameter: selected items or active view state

Limitations of URL v1

The previous structure did not fully describe everything that was open or selected in the application.

Because of that:

  • some navigation information was stored in the URL
  • some navigation information was stored in the application state
  • some actions updated the interface first and the URL afterward

This made navigation less consistent and more difficult to track from the URL alone.

New structure: URL v2

In URL v2, the URL is used as the main representation of navigation.

A typical structure looks like this:

https://app.metacomplatform.com/{environmentId}/menu/{menuBlock1}/{menuBlock2}(filters:(datasetId~resolvedFilter))

Example:

https://app.metacomplatform.com/6740a92529d40ca284c60ff8/menu/contractsKanbanV2/contractBlock(filters:(52935d0a-6530-45e4-8822-3f1ecf1f6ced~65c8dbfe6134a73eb7b7f918))

In URL v2, the URL directly describes:

  • the active environment
  • the current navigation path
  • the open menu hierarchy
  • any applied filter state

This allows the application to restore the current view directly from the URL.

Pathname anatomy

Inside the parentheses of the child block, the grammar expects a comma-separated list of typed parameters, each following the pattern key:value.

blockName ( filters : ( datasetId ~ documentId ) )
      │            │           │            │
      │            │           │            └─ documentId  →  IDENTIFIER or JSON_FILTER
      │            │           └────────────── filterArgument → IDENTIFIER TILDE documentId
      │            └────────────────────────── typedParam  →  IDENTIFIER COLON paramValue
      └─────────────────────────────────────── blockName → As defined in the menu

What changed between v1 and v2

Compared with URL v1, the newer format:

  • reduces the need for navigation state to be handled separately
  • represents navigation more explicitly in the path
  • includes filtering information in a more structured way
  • improves link sharing, browser history behavior, and page restoration
  • only the following menu filters will be read from the URL:
  • A filter type select (which internally translates to URLRESOLVER("filter"))
  • A filter of type custom that uses URLRESOLVER in the expression. E.g. IF({{URLRESOLVER("filter")}}, {{URLRESOLVER("filter")}}, date = {{TODAY()}}).

New expressions

  • URLRESOLVER("filter") allows reading the filters modifier for the current dataset.

Backward compatibility

Many existing bookmarks, browser history entries, and shared links still use the v1 format.

For that reason, backward compatibility is maintained:

  • v1 URLs remain valid
  • the application detects them automatically
  • the application resolves them into the v2 structure internally

This helps ensure that older links continue to open correctly.

Going forward

While URL v1 remains supported, URL v2 is now the preferred format and will be used for navigation going forward.

Newly generated links will follow the URL v2 structure.

Summary

  • v1 URLs still work
  • v2 is the standard format going forward
  • the transition is handled automatically by the application
  • no action is required from end users

If an older link does not open as expected, please contact the support team.