Skip to content

DOM-PFM-MTD-004Custom Object

Markdown

DOM-PFM-MTD-004

Custom Object

Markdown
  • DocumentDraft
  • ImplementationObserved

Planning

Specified by
CON-PFM-MTD-004

Design

Owned by
SVC-PFM-MTD-custom-objects

KindDomain objectProduct areaPlatformModuleMetadata and Organization-defined RecordsRevision1

Read atservices-platform ad3f6a65react-console baf6dae3

Relationships

ToCardinalityOwnershipCrosses a serviceOn archive or delete
DOM-PFM-MTD-002one-to-manyMetadata owns the properties stored as custom fields for this object's record-type identity.no
DOM-PFM-MTD-005one-to-manyRecords reference their parent object, and the database prevents deletion of a parent with records.no
DOM-PFM-MTD-006many-to-oneThe object selects its owner type; Associations prevents retirement while that selection remains.no
DOM-PFM-MTD-001many-to-oneThe shared catalogue computes entries for draft and active custom objects without adding registry rows.no

Invariants

InvariantProtectsEnforced atProvenance
INV-DOM-PFM-MTD-004-01
Keys and record-type identities remain unique and unchanged across archival, and a workspace can hold fifty custom objects.
service, databasetest
INV-DOM-PFM-MTD-004-02
Replacement cannot alter identity or status; lifecycle actions control status changes.
api, servicetest
services-platform:modules/custom-objects/tests/e2e/custom-objects.e2e.spec.js#answers 400 to a replacement that changes the status, which only the actions chang
INV-DOM-PFM-MTD-004-03
Active definitions need an unarchived supported naming property and no more than three unarchived secondary properties.
service, databasetest
INV-DOM-PFM-MTD-004-04
An owner relationship must be active, target this object and permit at most one owner per record.
service, databasetest
INV-DOM-PFM-MTD-004-05
Publication cannot be disabled while any record remains published.
servicetest
INV-DOM-PFM-MTD-004-06
Archived definitions reject replacement; restoration produces a draft requiring fresh activation.
servicetest
INV-DOM-PFM-MTD-004-07
Placement accepts a console app or unarchived local custom app, and app archival refuses remaining draft or active placements.
servicetest
INV-DOM-PFM-MTD-004-08
Object and app mutations audit changed field names without recording their values.
servicetest
INV-DOM-PFM-MTD-004-09
Roles-only reach requires an active role assignment scoped to the object.
servicetest
services-platform:modules/custom-objects/tests/e2e/custom-object-records.e2e.spec.js#keeps a roles-only object from a customer-wide assignment, answering as if

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.