App Config
Before learning about app config...
Check out the Key Concepts.
While layouts depict the visual structure of how components are going to appear in the viewer, app config is used to define the functional structure within a given component.
Think of the app config as the structural materials for building a house (wood, bricks, etc.) and the layout as the blueprints for the house.
The materials are the fundamental building blocks that create the house itself, and the blueprints allow for them to be structured together into something that people can interact with.
Every component within the viewer that requires functional, compositional content needs to be configured within the viewer's corresponding app config.
Want to follow along?
Download and setup the Geocortex Web SDK and edit the minimal layout and app config provided.
Anatomy of an App Config
An app config file is composed of a list of app items. App items can potentially be anything. Each app item has an item $type
, which viewer is aware of and knows how to locate and load. They usually they represent configuration for components, maps, portal items, or shared data. All item app configuration is specified within the items
array of the app.json
file.
note
Each component can only load a certain $type
of app item which corresponds to it. For example, <map>
components can only load app items of type map-extension
as their configuration.
Linking Layout to App Config
Every component in the layout can be linked to app config with the config
attribute. The config
attribute is used to identify the item in the app config that has configuration for the component.
note
If you do not provide a config
attribute for a component, Geocortex Web will attempt to infer a default value.
- Layout
- App Config
- UI
Targeting Components by ID
Every component can also have an id
attribute. The id
attribute uniquely identifies a component within a layout and allows app items to target the component. The ID can be used by commands like ui.activate
to target components, or by commands like run.workflow
to target a host container component to display workflow UI within.
note
This example uses commands and operations to power its behavior.
- Layout
- App Config
- UI
Example: Application with Hidden Side Panel
This example demonstrates a web application with a hidden side panel that pops out when you click a button. It was created entirely with app config and layout. Some advanced layout concepts and advanced app config concepts, such as linking config items through item URIs, were used.
- Layout
- App Config
- UI
Next Steps: Commands and Operations
This article demonstrated some simple examples of layouts with buttons that affect the map or other components in the UI. Commands and operations are the infrastructure which powers those behaviors, and power much of the behavior internal to Geocortex Web.
Commands and Operations
Learn about commands and operations and how to configure them
Create a Custom Theme
Learn how to create a custom theme using app config
Advanced App Config Topics
Learn more about what you can accomplish with app config