2.4.2 <datanest:section> (Optional)

If your application needs database storage via the Datanest module, you declare your entities here. Each <entity> in <datanest:section> represents a table with fields. For instance:

<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>

You can define:

  • permissionable="true": If you want granular permission management for that entity.

  • Fields with attributes like type="string|number|datetime|select", required="true", etc.

  • Relationship fields with related="other_entity" for M:N bridging. Add cardinality="1" for 1:N bridging.

Last updated