Fluent Commerce Logo
Docs

Top Level Manifest Structure

Essential knowledge

Changed on:

23 Sept 2024

Overview

There are 2 types of manifest document format. The primary type is the main web application manifest, and the second type is a fragment which can be referenced from the main Manifest document.

Key points

[Warning: empty required content area]
There are 2 types of manifest document format. The primary type is the main web application manifest, and the second type is a fragment which can be referenced from the main Manifest document.The main manifest document structure is as follows:`{`
`    "manifestVersion": "2.0",`
`    "name": "store",`
`    "title": "Fluent Store",`
`    "context": {`
`        "level": "location"`
`    },`
`    "routes": MystiqueRoute[]`
`}`
The required fields include:
  • manifestVersion
  • name
  • title
  • context
  • routes
Additionally, a main manifest can also set the homePath, which is the default path to load on login.The Context configuration defines that the App either operates at a LOCATION level or at a RETAILER level. You can also declare that a user should have a specific role assigned in that context in order to be allowed access to the App.Routes are what drive the Navigation menu drawer. The simplest type of Route is a Section route, which simply defines navigation group header. For example, you may want to group a number of top level menu items under a section called "Admin", or "Customer Service", or "Inventory Management" for example.No alt providedThe primary Route type is a page route. This defines a specific page to display when the user clicks on the navigation item.No alt providedFinally, there are Reference routes, which provide manifest fragmentation capability, so that you do not need to manage the whole UI configuration in a single (and very large) JSON document.`{`
`    "type": "reference",`
`    "settingName": "fc.mystique.manifest.servicepoint.fragment.pickandpack"`
`}`
The structure of a fragment Manifest is as follows:`{`
`    "manifestVersion": "2.0",`
`    "routes": MystiqueRoutes[]`
`}`
Finally, the Manifest document can also be configured to read custom plugins containing custom components referenced within the Manifest.`"plugins": [{`
`    "name": "Example",`
`    "src": "https://example.com/bundle.js"`
`}]`

For more information, and to learn how to configure each part of the Manifest document, see the Configuration Guide.