Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI Migration #307

Open
5 of 34 tasks
Tracked by #345
jon-nfc opened this issue Sep 19, 2024 · 0 comments
Open
5 of 34 tasks
Tracked by #345

UI Migration #307

jon-nfc opened this issue Sep 19, 2024 · 0 comments
Labels
breaking-change label used to denote that the issue/Merge Request does/will introduce a breaking change type::specification Design specification

Comments

@jon-nfc
Copy link
Member

jon-nfc commented Sep 19, 2024

This issue is to track the work required for the UI to migrate to it's own project.

Details

At this stage the proposal is that the ui move to it's own repository and be developed using react.js.

Models

  • defines detail layout

Serializers

Serializes to be separated into three types:

  • Base
  • Model
  • View

Base Serializer

provides the basic details to show as a JSON dict. contains id, name and url.

Model Serializer

user for the creation and update of an item and contains ALL fields defined in display order, including any additional fields as specified within the View Serializer. these additional fields must be set as read_only=True

View Serializer

Used to serializer to display the data. related fields are redefined to use their own base serializer.

defines parameter _urls: dict that always contains key _self which is the items detail view url.

Requirements

  • API redesign #248

  • UI Proof of concept #319

  • url patterns defined

    • /module/model

    • /module/model/pk

    • /module/model/pk/child_model

    • /module/model/pk/child_model/pk

    • /module/model/common_name

    • /module/model/common_name/pk

    • /module/model/common_name/pk/child_model

    • /module/model/common_name/pk/child_model/pk

  • Root API URL HTTP/OPTIONS method contains navigation key

  • Each detail view of model specifies the page layout key for HTTP/OPTIONS method

  • normalised URLs

  • follows nav structure

API Requirements

  • notate within model docs that if field is mandatory, don't add attribute default to the field. This prevents swagger from showing it a required.

Features to migrate

Existing work that may affect UI

Links

/cc @jasonpagetas, fyi and for your input

@jon-nfc jon-nfc added breaking-change label used to denote that the issue/Merge Request does/will introduce a breaking change type::specification Design specification labels Sep 19, 2024
This was referenced Sep 27, 2024
@jon-nfc jon-nfc added this to the v1.3 - UI / API Refactor milestone Sep 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-change label used to denote that the issue/Merge Request does/will introduce a breaking change type::specification Design specification
Projects
Status: Planning
Development

No branches or pull requests

1 participant