integrations / integrations-xml-17Markdown ↓

Embedded app definitions

A CustomApp defines an app interface: one complete App.vue in source, optional server-api Lua, a name, handle, kind and optional icon. Kinds are PAGE, DASHBOARD, KIOSK and JOB_VIEW. App.vue is limited to 512 KiB. Supply the complete component inline, rather than a files container. Its Lua server API is validated when you save the definition.

<integration id="com.example.apps" version="1.0.0" sdk-version="2.0">
  <custom-apps><custom-app name="overview" handle="overview" kind="PAGE">
    <source><![CDATA[<template><p>Integration overview</p></template>]]></source>
    <server-api><![CDATA[exports = {}; function exports.inspect() return true end]]></server-api>
  </custom-app></custom-apps>
  <edge-apps><edge-app handle="sensor" name="Sensor">
    <handlers><handler name="read"><![CDATA[return 1]]></handler></handlers>
  </edge-app></edge-apps>
</integration>

Include a complete edge-app element using the Edge Apps XML vocabulary. Its XML, including CDATA and comments, is preserved on save and export. Lua warnings do not block publication. Review warnings before installing; the controller also validates the app when it receives it.

Saving or publishing embedded assets creates no CustomApp, EdgeApp or installation. These are reusable definition assets; tenant installations remain separate.

Published platform manual · revision 74985ac5b495