Skip to main content

Key Concepts

Have you explored the VertiGIS Studio Web Designer?

The VertiGIS Studio Web Designer allows you to edit your application's layout, configure custom behaviors for buttons and other UI components, and solve complex business problems through VertiGIS Studio Workflow. Many use cases can be solved through the VertiGIS Studio Web Designer and don't require custom development.

Applications

The core element of VertiGIS Studio Web is an Application. Applications are composed of three main pieces:

1. Layout XML that represents the visual layout of the application.

<layout xmlns="https://geocortex.com/layout/v1">
<map config="default" />
</layout>

An layout is composed of components, such as a <map>, which are the conceptual building blocks of an application. Components can define their own UI, consume configuration, and can be nested and interact with other components.

Every component can have a config attribute; this attribute links a layout component to the app config.

2. App Config JSON that configures the application.

{
"schemaVersion": "1.0",
"items": [
{
"$type": "map-extension",
"id": "default",
"onInitialized": [
{
"name": "ui.alert",
"arguments": {
"message": "Hello World"
}
}
]
}
]
}

App Config files describe component configuration and other values relevant to application behavior. An app config file is composed of a list of app items. App items can correspond to components in the layout, portal items, or any other defined item type.

3. The VertiGIS Studio Web code which renders the layout and powers functionality.

VertiGIS Studio Web consumes layout and app config to create fully functional web mapping applications. You can use VertiGIS Studio Web out of the box, or extend it using the VertiGIS Studio Web SDK.


These three pieces are the building blocks behind an application, with the layout.xml and app.json files being the driving forces that control how an application looks, how it responds to user interaction, and what data it consumes. Extensive customization can be done simply by modifying these two files, without requiring any custom code.