Skip to main content

Generate Required Files

Legacy Process

The information here applies only for Showpad Apps v1 (deprecated). While your existing v1 Showpad Apps will continue to work, we strongly recommend:

The remaining required files are generated by running the Experience App CLI init command:

npx experience-app-cli init --src public

Version 3.1.x

The init command only initializes the required files. It does not set the Showpad access credentials. You must use the auth command to set these.

The remaining fields (identifier, name, version, description and author) should be confirmed without any edits. The default values suggested for these fields are taken from the package.json file.

If you open the public folder now you'll see two files (described in the following sections) have been added:

An .env file is not created in version 3.x. Instead, a credentials file is created in a hidden .showpad directory.

Source Files

Showpad Apps can not have duplicate source files (manifest.json, config.json, index.html) in your project.

When using a build tool, you should delete the directory built after bundling or use lib or dist as build directories since the Experience App CLI will ignore these directories.

config.json

This file contains the configuration settings which the Showpad administrator can change in the Online Platform. After you've created the structure of your app, this file will define the content you want available in your app (e.g., assets, labels, tags, etc.).

Your config.json file should follow this structure:

KeyDescription
versionThe version of the configuration structure. Currently at version 1.
labelsEverything related to text and copy.
contentsAn object containing all of the links to Showpad content:
  • asset
  • tags
  • channel
  • folder
  • url

We'll get into more detail about this file when you define your content.

Example

{
"version": 1,
"labels": {
"homepage": {
"title": "Your own Experience",
"subtitle": "How to get started with your own Experiences."
},
"slide1": {
"title": { "value": "Getting Started", "description": "Title for the first slide"},
"contents": "This Experience thing is going to be YUUGE"
}
...
},
"contents": {
"slide1": {
"presentation": { "type" : "asset", "value" : "d5d7736f4ecf8106f0be8ba35d11a2c4" }
}
...
}
}

manifest.json

The file contains all publicly available information about your app.

Example

{
"identifier": "com.showpad.showtime.demo",
"name": "Showtime Demo",
"version": "1.0.0",
"description": "A demo Experience for Showtime",
"author": "Showpad"
}

Version 3.x

The init command only initializes the required files. It does not set the Showpad access credentials. You must use the auth command to set these.

The remaining fields (identifier, name, version, description and author) should be confirmed without any edits. The default values suggested for these fields are taken from the package.json file.

If you open the public folder now you'll see two files (described in the following sections) have been added:

An .env file is not created in version 3.x. Instead, a credentials file is created in a hidden .showpad directory.

Source Files

Showpad Apps can not have duplicate source files (manifest.json, config.json, index.html) in your project.

When using a build tool, you should delete the directory built after bundling or use lib or dist as build directories since the Experience App CLI will ignore these directories.

config.json

This file contains the configuration settings which the Showpad administrator can change in the Online Platform. After you've created the structure of your app, this file will define the content you want available in your app (e.g., assets, labels, tags, etc.).

Your config.json file should follow this structure:

KeyDescription
versionThe version of the configuration structure. Currently at version 1.
labelsEverything related to text and copy.
contentsAn object containing all of the links to Showpad content:
  • asset
  • tags
  • channel
  • folder
  • url

We'll get into more detail about this file when you define your content.

Example

{
"version": 1,
"labels": {
"homepage": {
"title": "Your own Experience",
"subtitle": "How to get started with your own Experiences."
},
"slide1": {
"title": { "value": "Getting Started", "description": "Title for the first slide"},
"contents": "This Experience thing is going to be YUUGE"
}
...
},
"contents": {
"slide1": {
"presentation": { "type" : "asset", "value" : "d5d7736f4ecf8106f0be8ba35d11a2c4" }
}
...
}
}

manifest.json

The file contains all publicly available information about your app.

Example

{
"identifier": "com.showpad.showtime.demo",
"name": "Showtime Demo",
"version": "1.0.0",
"description": "A demo Experience for Showtime",
"author": "Showpad"
}

Version 2.x

The Experience App CLI will prompt you for the following information:

Host

The URL of your Showpad instance. If you copy/paste the URL, be sure to remove the trailing "/".



Example: https://yourdomain.showpad.biz

OAuth Client IdYour OAuth Client ID from from Showpad's Online Platform.
OAuth Client SecretYour OAuth Client Secret from Showpad's Online Platform.
Showpad UsernameThe email address used to log into Showpad.
Showpad PasswordThe password used to log into Showpad.

The remaining fields (identifier, name, version, description and author) should be confirmed without any edits. The default values suggested for these fields are taken from the package.json file.

If you open the public folder now you'll see two files (described in the following sections) have been added:

You'll also see an .env file has been created in the root folder.

Source Files

Showpad Apps can not have duplicate source files (manifest.json, config.json, index.html) in your project.

When using a build tool, you should delete the directory built after bundling or use lib or dist as build directories since the Experience App CLI will ignore these directories.

config.json

This file contains the configuration settings which the Showpad administrator can change in the Online Platform. After you've created the structure of your app, this file will define the content you want available in your app (e.g., assets, labels, tags, etc.).

Your config.json file should follow this structure:

KeyDescription
versionThe version of the configuration structure. Currently at version 1.
labelsEverything related to text and copy.
contentsAn object containing all of the links to Showpad content:
  • asset
  • tags
  • channel
  • folder
  • url

We'll get into more detail about this file when you define your content.

Example

{
"version": 1,
"labels": {
"homepage": {
"title": "Your own Experience",
"subtitle": "How to get started with your own Experiences."
},
"slide1": {
"title": { "value": "Getting Started", "description": "Title for the first slide"},
"contents": "This Experience thing is going to be YUUGE"
}
...
},
"contents": {
"slide1": {
"presentation": { "type" : "asset", "value" : "d5d7736f4ecf8106f0be8ba35d11a2c4" }
}
...
}
}

manifest.json

The file contains all publicly available information about your app.

Example

{
"identifier": "com.showpad.showtime.demo",
"name": "Showtime Demo",
"version": "1.0.0",
"description": "A demo Experience for Showtime",
"author": "Showpad"
}

.env file

This file is also created by the init command. It contains information that should be protected like the client secret and admin password in addition to some other fields. This file is ignored by .gitignore so if you ever check this app into version control your secrets are safe.