Comment on page
If your app is blendable, it might be used in complex UI systems consisting of multiple apps coming from different vendors.
To make sure that apps play well together, we recommend that you follow certain conventions.
These conventions exist for two reasons:
- 1.to prevent conflicts between apps in the same database
- 2.to provide a common ground, expectable user experience
Each app that have blendable views should have a
<AppName>.map.mdfile which contains the list of them.
The file should be provided at the root of the App Warehouse package. If the app is open source, the file should be provided in the code repository, preferably at the root.
Every view must be explained in the file and preferably illustrated with a screenshot.
# Blendable views
Shows a simple page for `Content` preview, image or video. In case of unexisting
content, shows empty file preview image.
Every blendable web app should have the entry point URI that follows the pattern
When you access this URI, the app main screen should be presented.
If there is no main screen, show a splash screen saying that the app is running.
Handle.GET("/people", () =>
By convention, a blendable web app must provide a metadata JSON that responds to the
The response JSON can consist of the following properties:
Handle.GET("/cssvariablesmanager/app-name", () => new AppName());
The icon is an image (preferably inline SVG) in the HTML file which path is provided as the
htmlproperty in the
<svg slot="cssvariablesmanager/app-icon" viewBox="0 0 185 185" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<use xlink:href="/cssvariablesmanager/images/cssvariablesmanager.svg#css-file" />
The app should not create required nor sample data without the user's consent.
If the app requires any data to operate (for example a list of the world's countries in the
Countrytable), it should present a nagging information with a button that creates the data:
- on the top of the main page
- possibly in every view that needs the required data
If the app offers some nice-to-have sample data, it should offer a button that creates this data:
If your app is configurable, it's good for to provide a user interface for changing the app settings.
By having a settings page mapped to the common token, your configuration UI can appear along settings pages from other apps. This is good because it gives the end user a single go-to place to configure all apps.
The common pattern is to have the settings page addressable by
/<appname>/settings, blended to the token
The settings page might contain a button to do a "Factory Reset" of the app (restores required data) or a "Sample data" button that populates the database with sample data.
Sample and prefab apps that have a settings page:
To make your app discoverable by others, you're invited to publish it in the App Warehouse.
Submitting apps to the App Warehouse requires an invitation.