The /apps/[app-name.webapp]/webapp.properties file specifies app-specific properties in the Java properties file format.
The following general properties are supported:
classpaths | a semicolon-delimited (";") list of Java classpaths to consider, when loading Java classes within the "staticjava" web calls adapter; default: /apps/[app-name.webapp]/bin |
app_displayed_name | app name to be displayed to end users default: simple app directory name without the .webapp extension |
hidden | true|false, whether to hide the app from the list of apps displayed to end users default: false |
app_url_name | app url to be appended to [domain_or_ip]/apps/ to access the current web app default: lower-cased app directory name without the .webapp extension and without all blank characters |
app_extension | the default file extension (without the dot) default: the same as [app_url_name] |
supported_extensions | a comma-delimited list of supported file extensions (with or without dots) default: empty |
collaborative | true|false, whether the given app supports collaboration among multiple users default: false |
singleton | true|false, whether only one instance of the app can be launched at a time default: false |
app_type | specifies app type, which is equal to the name of the app adapter to use for delivering the app to the end user default: html |
requires_root_url_paths | true|false, whether the app requires root URL paths, i.e., it is not able to serve paths relative to /apps/[app_url_name]; if true, webAppOS will either create a subdomain for this service (if domain_or_ip in webappos.properties points to a domain), or reserves a separate HTTP and (if secure=true in webappos.properties) HTTPS ports that can accept paths without the "/apps/[app_url_name]" prefix; default: false |
main | the name of the webcall action to be launched when the user creates or opens some project with this app. The webcall will be invoked right after web memory has been initialized. The webcall must follow the "webmemcall" calling conventions, however, no web memory object will be passed to it as an argument (a zero web memory reference will be passed instead). default: empty |
requires_web_libraries | a comma-delimited list of required web libraries (with or without the .weblibrary extension) default: empty |
mimes | a semicolon(";")-delimited list of strings in the form of name:value, where name is an extension (including the dot, e.g., ".lua") or a directory name relative to the home folder (including the starting "/", e.g., "/Desktop"), while value is the mime-type, e.g., "source/lua" or "directory/desktop"; mime values are used when searching for icons |
app_templates_search_path | a colon or semicolon-delimited path, where to search for the out-of-the-box app-specific templates default: $WEBAPPOS_ROOT/apps/$APP_FULL_NAME/templates (see Placeholders below) |
published_templates_search_path | a colon or semicolon-delimited path, where to search for additional (e.g., published by the admin) app-specific templates default: $WEBAPPOS_ROOT/apps/$APP_FULL_NAME/published_templates (see Placeholders below) |
user_templates_search_path | where to search for user-specific app templates ($LOGIN is allowed as a placeholder for the user login name) default: $WEBAPPOS_ROOT/home/$LOGIN/templates (see Placeholders below) |
For some properties the following placeholders can be used. They will be automatically substituted by actual runtime values:
$WEBAPPOS_ROOT | the directory, where webAppOS is located, e.g., /some/path/webAppOS/dist |
$APP_DIR | the directory, where this app is located, e.g., /some/path/webAppOS/dist/apps/ThisAppName.webapp |
$APP_FULL_NAME | (in paths only) the full name of this app (equal to the app directory name without the path, but with the .webapp extension), e.g., ThisAppName.webapp |
$LOGIN | (for the user_templates_search_path property only) the login name of the end user, who is going to create a new project from a template located in the user's home directory |
Apps can introduce additional app-specific propertis and app adapters can introduce properties specific for all apps of the same type.
Refer to the documentation of the particular app for app-specific properties.
Refer to the documentation of the particular app adapter for app-type-specific properties. Currently, the out-of-the-box "html" app adapter does not have additional properties.