Epic: Auto-Generate App Data Models
Entity schemas can be used to generate models in the App code. Now we want to do this automatically, as the schema changes.
But it's important that the developer actively chose to do this, because some changes (such as removing or renaming fields) can result in broken code.
π Status Overview β WIP - Updated: 2026-10-17
- Implementation: ca. 70%
- Documentation: ca. 50% (just this document)
- Next Priorities:
- Finish all relevant triggers
- Optimize performance for asynchronous handling
Motivation
Faster development, better IntelliSense and better AI coding support.
Features Needed
Code Generation (β done)
π Status: β Done
Configuration for Auto-Generation (β done)
π Status: β Done
Triggers on all relevant schema changes (WIP)
TODO: document / verify which of these triggers already correctly work
- Trigger on Content-Type changes
- Create content-type
- Rename content-type
- Update content-type (description)
Delete(not relevant, as we don't remove code)
- Trigger on Field changes
- Create field
- Add existing field definition (shared)
- Rename field
Reorder fields(should not be relevant)- Update field (name, type, validations)
- Delete
- Trigger on Field details changes (such as entity-relationships, default values etc.)
- Detect if a stored entity has changes that affect the generated code (field-definitions, source-definitions)
- Trigger changes in these scenarios
π Status: β TODO, but API may still need to mature before widespread use.
Planned Improvements
As of now, the system feels a bit sluggish, because the code runs synchronously every time a relevant schema change is detected. Optimizing this process or introducing asynchronous handling could improve performance. This may be a bit tricky, as async processing could break because the dependency-provider may be deleted during async execution.
Related Features
- Code Generation of
ITypeddata classes (β done) - Code Generation of clean Models (β done)
- Model conversion system (entity --> model) (β done)
History
- 2026-03 started for v21.14
- 2026-09 released first version v22.00
- 2026-10-17 created these docs