App Manifest v2
Every published Flowgear App ZIP contains an app.json manifest that identifies the App and controls how it appears in Console navigation. The package also contains the static frontend files hosted by Flowgear.
Manifest location
Place app.json at the root of the ZIP. The filename must be exactly app.json.
When you use the current sample App, edit public/app.json before running npm run build. The build copies it to the root of the build output. Zip the contents of build, not the build folder itself.
Manifest example
{
"Name": "your-company.finance-remediation",
"Version": "1.0.0.0",
"DisplayName": "Finance Remediation",
"Rank": 10
}
Manifest fields
| Field | Type | Description |
|---|---|---|
Name |
String | Stable internal identity used to create or update the App. Use a unique, namespaced value and do not change it when publishing a new Version of the same App. |
Version |
String | Published App Version. It must differ from the currently published Version when updating an App. Use a consistently increasing version such as 1.0.0.1. |
DisplayName |
String | User-facing name shown in the App list and Console navigation. It can contain spaces. |
Rank |
Integer | Controls App order in Console navigation. Lower values appear first. Apps with no Rank appear after ranked Apps; equal ranks are ordered by DisplayName. |
Use the exact field casing shown above.
Package layout
The ZIP root must contain:
app.json.- A landing page named
index.html,index.htm,default.html, ordefault.htm. - The asset folders and files referenced by the landing page.
You can also include icon.svg at the ZIP root. When present, the Console uses it for the App's navigation and title icon.
A typical package is:
app.json
icon.svg
index.html
assets/
index.css
index.js
The Console accepts ZIP uploads up to 30 MB. Use relative asset URLs because Flowgear publishes the files beneath an App-specific public path. The current sample configures its build base as ./ for this reason.
Treat every packaged file as public client-side content. Do not include Connection values, API-key tokens, client secrets, or private keys.
Publishing a new App
When no published App has the same Name, Flowgear creates a service-generated App key and assigns ownership to the Account selected in Publish new App.
Package publish and Site assignment are separate. After the package is published, open its details and publish it to each Site where it should appear.
Publishing a new Version
To update an existing App:
- Keep the existing
Name. - Change
Versionto a value different from the published Version. - Build and upload the complete package under the same owning Account.
Flowgear retains the App key, owning Account, and existing Site assignments. Files at the same package paths are overwritten by the uploaded Version.
The Version comparison checks that the string changed; it does not require a specific versioning scheme. Use an increasing four-part version so operators can understand publish order.
An App Name already owned by another Account cannot be republished under a different Account.
Package validation errors
Publish fails when:
- The ZIP does not contain root
app.json. app.jsonis not valid JSON for the App manifest.- The package has no supported root landing page.
- The selected Account does not own an existing App with the same
Name. - The uploaded
Versionmatches the current Version. - The upload exceeds the Console size limit.
The Console displays the upload or publish failure in an alert. Correct the manifest or package, rebuild the complete output, and upload it again.
See also
See Manage Apps screen for publish and Site assignment, and Apps for the end-to-end development journey.