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:
<?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
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
noupdateif 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.