- Introduction
- Specifications
- defaultMenus
- Specifications
- defaultLivepages
- Specifications
- ❗predefinedBlocks in experience.json overrides template.json
Introduction
The structure of experience.json is similar to venue.json, but with 2 additional fields called defaultMenus
and defaultLivePages
. Here's an overview:
{
"name": "Half-Day Seminar with Breakout",
"description": "A very simple, efficient and minimalist style of venue, Genesis is ideal for 1-day multi-track conferences, seminars or meetings, with breakouts as options.",
"version": "1.0.0",
"author": "GSI",
"keyword": "1-Day, Multi-Track, Conference, Seminar, Meeting, Breakout",
"features": "7 templates, Sticky menu, Live stream, Chat, Direct message, Participants list, Speakers and agenda, Content blocks, Notifications, Responsive template, Light and dark mode",
"defaultMenus": // Configuration for default menus go here
"defaultLivepages": // Configuration for default LivePages go here
}
Specifications
Key | Type | Description |
---|---|---|
String | Name of the author / company | |
JSON Object | ||
JSON Object | ||
String | Description. Limit to 250. | |
String | Comma-separated list of features. Eg: Sticky menu, Live stream, Chat, Direct message, Participants list, Speakers and agenda, Content blocks, Notifications, Responsive template, Light and dark mode | |
String | Comma-separated list of keywords. Eg: 1-Day, Multi-Track, Conference, Seminar, Meeting, Breakout | |
String | Name of the menu group | |
String | Version number to differentiate between releases. Recommended to use semantic versioning - ie MAJOR.MINOR.PATCH |
defaultMenus
defaultMenus
section of experience.json follows the following format:
"defaultMenus": [
{
"name": "Header Menu",
"items": [
{
"name": "Lobby",
"link": "lobby",
"openInNewWindow": false
},
{
"name": "Main Stage",
"link": "main-stage",
"openInNewWindow": false
},
{
"name": "Studio",
"link": "https://www.gevme.com/en/studios/",
"openInNewWindow": false
},
// ... more items
]
}
]
Specifications
Key | Type | Description |
---|---|---|
Array | Array of JSON objects, where each object represents a menu item. The format of each menu item follows:
| |
String | Name of the menu group |
defaultLivepages
defaultLivePages
section of experience.json follows the following format:
"defaultLivepages": [
{
"slug": "lobby",
"title": "Lobby",
"isPublic": false,
"template": "lobby"
},
{
"slug": "agenda",
"title": "Agenda",
"isPublic": false,
"template": "blank",
"predefinedBlocks": {
"page-title-block": {
"type": "RichText",
"title": "Page Title",
"data": {
// Block data goes here
}
},
"agenda-block": {
"type": "Agenda",
"title": "Agenda",
"data": {
// Block data goes here
}
}
}
}
]
Specifications
Key | Type | Description |
---|---|---|
Boolean | Flag to determine whether the LivePage should be made public. | |
JSON Object | JSON object listing predefined blocks along with default configuration. Read full specs at | |
String | Unique slug for the LivePage. When instantiating the venue for a project, if the slug is already taken, it will be automatically suffixed with some additional characters to make it unique. | |
String | LivePage Template name as defined in the venue. | |
String | Title of LivePage |
❗predefinedBlocks in experience.json overrides template.json
The configuration specified in predefinedBlocks
within experience.json
overrides that in template.json
.
In fact, the set of attributes in predefinedBlocks
on experience.json
can be a subset of the full set specified in template.json
. The specific values in experience.json
will then overrides those in template.json
.
Any attributes listed in experience.json
file overwrites those in template.json
.
Note: The attributes are not compulsory to be stated in experience.json
. If certain attributes do not exist, template.json
template will be used instead.