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

Manifests & depends

Explain manifest fields and how depends drives install order without Go imports between addons.

Manifest shape

Every addon root needs a manifest.json. Technical name must match the folder name. Generated zmodels.go registers models under that module.

addons/my_module/manifest.json
json
{  "name": "my_module",  "display_name": "My Module",  "version": "1.0.0",  "author": "Your Company",  "description": "Premium standard module for Sumeru ERP.",  "depends": ["base"],  "application": true,  "data": [    "security/security.xml",    "security/sys.access.csv",    "views/actions.xml",    "views/form_view.xml",    "views/list_view.xml",    "views/kanban_view.xml",    "views/menus.xml"  ]}

Fields that matter

KeyMeaning
nameTechnical id (snake_case); install with -i my_module
display_nameUI label
dependsInstall order; list technical names (usually includes base)
applicationWhen true, appears as an installable app
dataOrdered list of XML/CSV files loaded on install/update

Depends without Go imports between addons

Module order comes from the manifest graph, not from importing another addon's Go package. Prefer depending on base (and other modules you need) and referencing XML ids with module.xml_id style refs.

Data load order

List security before views that assume groups exist. The sample order is: security XML -> access CSV -> actions -> views -> menus.

Compile and run

After editing the manifest data list:

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

What not to do

  • Do not invent a depends entry for a module that is not on addons_path.
  • Do not reorder data so menus load before the actions they reference.
  • Do not change name without renaming the folder and re-registering models.

Next step

Define tables in Models & fields.