1.9.1 Application Manifest
A manifest is an XML file that describes the application and contains configuration sections:
Example (product management simplified - product and category entities):
<manifest xmlns="https://blueprint.retailys.com/blueprint.xsd"> <apps:section xmlns:apps="https://blueprint.retailys.com/blueprint.xsd"> <app id="pim" version="1.0" coreVersion="0.1"> <about> <label>PIM (Product Information Management)</label> <desc>Application for rich product data management.</desc> <author>Retailys</author> <url>https://pim.retailys.com</url> <phone>+420123456789</phone> <email>[email protected]</email> </about> <dependencies> <apps> <depends on="datanest" version="0.1"/> <depends on="dashboard" version="0.1"/> </apps> </dependencies> <interface base="https://pim.retailys.com" type="openapi"> <security> <oauth2/> </security> <methods> <ping url="/api/ping"/> <enroll url="/api/enroll"/> <remove url="/api/remove"/> <section url="/api/section"/> <response url="/api/response"/> <alert url="/api/alert"/> </methods> </interface> </app> <gateway type="openapi" format="yaml" source="/openapi.yaml"/> <section type="xsd" format="xml" source="/section.xsd"/> </apps:section> <datanest:section xmlns:datanest="https://blueprint.retailys.com/blueprint.xsd"> <entities> <entity name="product" permissionable="true"> <label>Product</label> <record> <field name="name" type="string" required="true" default="New product"> <label>Product Name</label> </field> <field name="sku" type="string"> <label>SKU (Primary Code)</label> </field> <field name="weight" type="number"> <label>Weight (kg)</label> </field> <field name="category" type="select" related="category"> <label>Category</label> </field> </record> </entity> <entity name="category" permissionable="true"> <label>Product Category</label> <record> <field name="name" type="string" required="true" default="New category"/> <field name="parent" type="select" related="category"/> </record> </entity> </entities> </datanest:section> <dashboard:section xmlns:dashboard="https://blueprint.retailys.com/blueprint.xsd"> <icon type="svg" source="/icon.svg"/> <routes> <route name="products" node="menu" canvas="productsList"> <label>Products</label> </route> <route name="categories" node="menu" canvas="categoriesList"> <label>Product Categories</label> </route> </routes> <canvases> <canvas name="productsList"> <label>Product List</label> <controls> <tablegrid name="productsGrid" dataset="productsList" width="1/1"> <label>Product Table</label> </tablegrid> </controls> </canvas> <canvas name="categoriesList"> <label>Product Categories</label> <controls> <tablegrid name="categoriesGrid" dataset="categoriesList" width="1/1"> <label>Category Table</label> </tablegrid> </controls> </canvas> </canvases> <datasets> <dataset name="productsList"> <resources> <resource from="product" resourceType="entity" as="product"/> </resources> <record> <field name="name" resource="product.name"/> <field name="sku" resource="product.sku"/> <field name="weight" resource="product.weight"/> <field name="category" resource="product.category.name"/> </record> </dataset> <dataset name="categoriesList"> <resources> <resource from="category" resourceType="entity" as="category"/> </resources> <record> <field name="name" resource="category.name"/> <field name="parent" resource="category.parent.name"/> <field name="productCount" resource="count(category.product)"/> </record> </dataset> </datasets> </dashboard:section> </manifest>apps:section: The section where you define the application’s identity, version, interface endpoints for communicating with the core, plus (optionally) any public API endpoints to be exposed by the gateway.datanest:section: A section used to define entities and fields so that Datanest can store them.dashboard:section: A section used to define how your application’s data will appear in the Retailys Dashboard (routes, canvases, controls).
Manifest Blueprint:
An official XSD that outlines the overall structure (the
<manifest>element, etc.) plus optional sections.The core (Apps) combines partial blueprint definitions (exposed by various applications) into a final blueprint (XSD).
Last updated