Choose a data capability
This page helps you choose. After selecting a capability, use Data and integration for configuration entry points, boundaries, and acceptance.
Answer four questions first
- Who owns the data? The current runtime instance, one Runtime target, an external system, or the App project?
- How long must it remain? This run only, across restarts, or for long-term retention?
- What shape is it? One value, a complete parameter set, many rows, or a read-only file?
- Where is it shared? One QG instance, one App, one target, or several machines?
If an answer is unknown, record it as an open question instead of letting a default make the business decision.
Quick choice
| Need | Prefer |
|---|---|
| Share one small value during the current run | App Variable |
| Keep one small value after a target restart | Saved Variable |
| Keep state inside one QG instance | QG state |
| Name and switch a fixed parameter set as a unit | Recipe |
| Store limited rows on one target | TableStore |
| Read or write MES, ERP, or another external system | Query |
| Manage localized text for Pages and Components | i18n |
| Deliver read-only images, video, or 3D models with the App | Asset |
Use an external system for large histories, complex retrieval, or data shared by several machines, then access it through a Query.
Common boundaries
- Saved Variable or Recipe: Use Saved Variable for an independent small value. Use Recipe for a named, approved parameter set switched as a unit.
- TableStore or Query: Use TableStore for limited lightweight rows on one machine. Use Query for external, large, complex, or multi-machine data.
- App Variable or Object state: State owned by equipment or a business object should come from the Object. Do not copy it into a second Variable as another source of truth.
- Asset or runtime data: An Asset is read-only content delivered with a version. Reports, uploads, and site-generated data need an explicit data capability.
- QG state or shared state: Keep intermediate process state inside QG. Choose an explicit shared capability when several Pages or flows need it.
After choosing
- Record the capability, owner, lifecycle, backup, and migration responsibility in the design.
- Configure it from the correct entry point in Data and integration.
- Use a test account and reversible data for the first external write.
- After Build, verify restart, failure, and recovery on the correct Runtime target.
- Review credentials, personal information, equipment-action parameters, and long-term retention separately with a responsible person.
Revisit the choice when volume or sharing grows. Do not leave a Variable or TableStore with an unsuitable role merely because the App is already in use.