Pre-alpha. No tagged release and no upgrade path between versions. Use for evaluation and development only, not production.
DevelopersPre-alpha

Data XML

Data XML format, noupdate patterns and reload behaviour.

Format

Data files are XML under <sumeru><data> with <record> elements (model + xml id + fields), or CSV for bulk ACL/data. Views and menus are also "data" from the loader's point of view.

noupdate

Use <data noupdate="1"> for seed rows that should not be overwritten on every -u:

Example seed
xml
<?xml version="1.0" encoding="utf-8"?><sumeru>    <data noupdate="1">        <record id="demo_my_module_seed" model="my.module">            <field name="name">Seed record</field>            <field name="sequence">10</field>            <field name="active" eval="True"/>        </record>    </data></sumeru>

Enforced on -u. When a module is updated, existing <record> rows with a known xml id inside noupdate="1" blocks are skipped — operator edits are preserved. New xml ids in the same file still insert. Inline <view> definitions and menus in the file still reload on -u.

Reload behaviour

  • -i module: install. Loads data and syncs models.
  • -u module: update. Reloads XML/CSV per noupdate rules and refreshes metadata.
  • -u all: updates every installed module.

Compile and run

Terminal
shell
go run . -- -c sumeru.conf -u my_module --stop-after-initmake run

What not to do

  • Do not put one-time demo data in a file without noupdate if operators will edit those rows.
  • Do not assume CSV column headers match another ERP's ir.model.access format without checking Sumeru's loader.
  • Do not load data that references XML ids from modules you did not depend on.

Next step

Hook automation in Events & automation.