Build and deploy

The development loop: validate, run against mock data, deploy. Then instances, settings, and versions.

An edge app is a web application plus a screenly.yml manifest. Everything below is done with the CLI.

The loop

screenly edge-app validate
screenly edge-app run --generate-mock-data
screenly edge-app deploy

Validate checks the manifest before anything reaches a screen. Run it first, and run it in CI.

Run starts the app locally against generated mock data, so you can develop without a device and without touching your workspace.

Deploy ships it. Every screen running the app picks up the new version on its next sync.

Creating and naming

edge-app create makes the app, rename changes its name, and delete removes it.

Settings

edge-app setting list and edge-app setting set work with the fields your manifest declares.

Settings are ordered as declared in the manifest, so the order in your screenly.yml is the order somebody sees in the dashboard. Put the field they must fill in first.

Settings can also be conditionally visible, using depends_on, so an option only appears once a prior choice makes it relevant. That is worth using: a form with eight fields where three are irrelevant is a form people get wrong.

Instances

edge-app instance list, create, update, delete.

An instance is the app plus one configuration, and it is the instance that goes in a playlist. One app can have many. See Instances.

Where it runs

On a Screenly player or Player Max, the app runs on the device. On some Screenly Anywhere platforms it is rendered on our infrastructure and sent as an image instead.

Important

An app that depends on running locally, animating or reacting between refreshes, will not behave the same on Screenly Anywhere. Test on the hardware you are targeting. The local emulator or a player is the right place to develop a dynamic app.

See Where an app runs.

The full reference

The manifest schema, the JavaScript API available to your app, the branding values, and the deploy model are at developer.screenly.io.

Type to search the documentation