Skip to content

BE Models to support adding custom sections and questions to a Template #579

@briri

Description

@briri

Table diagram: #425

The tables/models involved are:

  • TemplateCustomization (table templateCustomizations) - The top/parent of an org's customizations. Contains a pointer to the template being customized, the customization status, etc.
  • CustomSection (table customSections) - A CustomSection is a completely new section (e.g. "Berkeley Resources") that an admin adds to an existing published template (e.g. the "NSF Generic" template)
  • CustomQuestion (table customQuestions) - A CustomQuestion is a completely new question (e.g. "How much disk space will you need from Berkeley IT?") that an admin adds to EITHER a CustomSection that they've added (e.g. the "Berkeley Resources" section mentioned above, OR to a section of the original template (e.g. the "Data Collection" section of the "NSF Generic" template).
  • VersionedCustomSection (table versionedCustomSections) the published copies of a CustomSection
  • VersionedCustomQuestion (table versionedCustomQuestion) the published copies of a CustomQuestion

See the existing model files in the backend code which were added as placeholders and include comments about implementation

Acceptance Criteria:
[] Support all of the CRUD operations
[] Support queries from #428
[] Need to be able to Publish update to the customization
[] Customization can be in 3 states: Draft, Published, and Unpublished Changes

Notes:

  • This work does NOT include the work needed for handling when a Template changes that had been customized by an org
  • This will be using isDirty flags to determine if an object has changed since it was last published
  • Will be using last published date for table

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions