Skip to content

4. Manifest Document Format

Matthew Hockenberry edited this page Aug 19, 2024 · 19 revisions

Manifest is not only a visualization platform, it is a document format for describing supply chains, trade networks, and other logistical structures. Manifest documents are JSON files that correspond to the Manifest Document format. They can be created by hand, or in the Manifest editor.

Manifest Document Format Overview

  1. Manifest Overview - All Manifest documents contain some basic overview information, including a name and a description.
  2. Location - Manifest documents can also contain a location. This location is associated with the document as a whole (for example, Manifests of products might like the iPhone might use the location for the designing firm--in this case, Apple in Cupertino, California.
  3. Node List - Manifest documents are primarily a list of Nodes. This nodes presents sites, suppliers, parts, and similar divisions of the supply chain. Each document could have an arbitrary number of nodes.
  4. Nodes - Each node contains information like an overview that includes names, descriptions, and similar details; locations, the address that geographically represents the node; lists of: other nodes that node is connected to, categorizations for the node, quantitative measures for the node, images associated with the node, and sources for the information about the node.
  5. Notes - Manifest documents an also contain additional notes that will not be used by the Manifest web app.
  6. Key-Value Pairs - Manifest documents can also contain an arbitrary number of key-value pairs that will not be used by the Manifest web app.
  7. Meta Info - Manifest documents can also contain meta information used by the Manifest web app (describing preferred styling and similar sorts of information).

Data Notes

  • Special Measures - Manifest treats some measures differently, enabling additional functionality or formatting them in special ways. This is a list of the current special measure types, values, and units supported.

    • Start and End Times (start and end or starttime and endtime): These measures indicate when a node becomes relevant (start) to the supply chain when it ceases to be relevant (end). A node can have a start without having an end. This measure, given as a Unix Time Stamp and with the unit utc will also be printed as a conventional date by the Manifest web app. You may find it useful to refer to the site Epoch Converter to convert dates into timestamps.
      • For example: (starttime,189302400,utc),(endtime,220942800,usd) describes the time range January 1, 1976 12:00:00 AM - January 1, 1977 5:00:00 AM.
    • Date (date): This measure, given as a Unix Time Stamp and with the unit utc will also be printed as a conventional date by the Manifest web app. You may find it useful to refer to the site Epoch Converter to convert dates into timestamps.
      • For example: (data,189302400,utc) will be formatted as January 1, 1976.
    • Currencies: Any measure that includes a currency unit (usd,eur,gbp) print specially, showing the currency symbol in front of the value. These can also be given in terms of larger hyphenated values (million-usd, billion-eur, etc.)
      • For example: (Cost,100,usd) will be formatted as $100; (Cost,100,million-usd) will be formatted as $100 million.
    • Ranges: Any measure can include a ranged value (separated by a dash). When a fixed value is needed (for sorting, etc.) Manifest will use the midpoint value of the range.
      • For example: (Size,1000-5000,sqft) describes a size range between 1000 and 500 square feet.
    • Time Series: Any measure can include a time series instead of a fixed value. This is done by entering the measure value as a parenthetical list of comma separated times and values, with the time and value being represented as time:value. This series indicates that, for this node, the value changes over time. This makes the most sense when nodes in the map are also indicating start and end times (see above). When the time slider interface is adjusted, the node will show the largest value of that measure currently in the selected time range.
      • For example: (Productivity,(1546300800:100,1577836800:200,1609459200:300,1640995200:400,1672531200:500),units) indicates yearly productivity from 1/1/2019 to 1/1/2023 (starting with 100 units in 2019 and ending with 500 units in 2023).
  • Styling Information - Nodes in Manifest documents can be given certain styling cues to tell Manifest how to display them. Right now, the currently supported node-level style information includes:

    • Color - Each node can have color information associated with it independent of the overall document color scheme. This can be useful for showing categorizations, groupings, etc. Each nodes color information includes a primary color, a secondary color, and a contrasting color (usually used for text). Individual colors for nodes can be entered as hexadecimal colors in the format: primary,secondary,contrasting.
      • For example: (#3498DB,#dbedf9,#dbedf9)
    • Icon - Each node can include an icon drawn from a pre-selected list (nodes that are clustered will always show the cluster icon instead). This list is: [building, factory, warehouse, inventory, people, star, store, boat] - you can see these icons at: https://github.com/hock/Manifest/tree/master/src/lib/images/markers

Clone this wiki locally