ข้ามไปยังเนื้อหา

Customization checklist and cautions

หมายเหตุ: บทความนี้ยังเป็นภาษาอังกฤษ เนื่องจากคำแปลภาษาไทยกำลังอยู่ระหว่างจัดทำ

Verify a customization — built through Web Designer, a reviewed AI proposal, exported metadata, or Functions/Scripts/native TypeScript — before it reaches production.

Application developers, customizers, and reviewers preparing a release.

The customization is complete in a development or staging environment. See Work with metadata, Create extensions, and Add business logic.

  • Check the naming prefix, app, model, and layer.
  • Check dependencies whenever an object extends across apps.
  • Inspect the inherited read-only chain and confirm the saved Extension contains only the intended Layer delta.
  • For Form Extensions, inspect every lineOverrides delta and test reset-to-inherited behavior.
  • Give Form groups/actions/Charts/lines and menu items stable IDs before targeting presentation overrides.
  • Confirm Enum and read-only fields are optional; verify read-only values through trusted code and rejected REST/Form edits.
  • Preview the change set and read every destructive or high-risk diff.
  • Test permissions with a real user account, not only an administrator.
  • Test dynamic lookups when the source is empty, when it changes, and when the referenced record is deleted.
  • Test a Function with showOnCreate when no recordId is available.
  • For an async Function, test HTTP/email rejection, service timeouts, non-success HTTP status codes, and explicit transaction boundaries.
  • Back up data.db and designer.db.
  • If SMTP is configured, back up .emu-secret.key or EMU_SECRET_KEY_PATH separately.
  • Confirm the Docker volume/network names for each deployment’s environment.
  • Export the app/model package or keep the metadata files in source control.
  • Test Function Extensions with and without next(args), and test View/Chart Extensions against lower-layer changes.

See Back up databases, Understand database storage, and Operate Docker.

  • Deleting metadata does not immediately delete the underlying physical business data; an orphaned table must be purged deliberately.
  • Functions and Scripts are executable code — restrict who can edit them and review every change. See Develop Functions and actions and Develop Scripts.
  • Lookups cap how many results load at once to avoid oversized dropdowns; design a dedicated search/picker for large datasets.
  • Avoid reusing an artifact name across apps — the registry treats names as a global identity.

Metadata · Extensions · Web Designer · Testing · Security