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

Technical Roadmap for Angular Form Engine #90

Open
12 of 33 tasks
denniskigen opened this issue Oct 11, 2023 · 0 comments
Open
12 of 33 tasks

Technical Roadmap for Angular Form Engine #90

denniskigen opened this issue Oct 11, 2023 · 0 comments

Comments

@denniskigen
Copy link
Member

denniskigen commented Oct 11, 2023

Preamble

Changes to this library (which I'll refer to as ngx-formentry for clarity here) must be kept in lockstep with changes to:

  • File uploader - an Angular library that the Form Engine consumes to leverage image and PDF upload capabilities.
  • Form entry app - an Angular library in the O3 Patient Chart that consumes this library.

Housekeeping

ngx-formentry

Per Angular's version compatibility guide, v14 is currently the oldest supported version. Beyond leveraging potential API improvements, migrating Angular to v14 would offer us several immediate benefits, including support for newer TypeScript versions. Most things in the Patient Chart rely on TypeScript versions newer than v4.7. Angular v14.2.x depends on TypeScript versions between the >=4.6.2 <4.9.0 range. Bumping to v14 should help us get closer to a point where we don't need to manage different versions of TypeScript or rely on having resolutions in our manifest files.

  • Upgrade Angular
  • Update type annotations.
  • Review the validation engine.
  • Evaluate the feasibility of leveraging Lit Element components as embedded components.
  • Figure out how to optimally leverage the module federation capabilities of the ModuleFederationPlugin we're using in Patient Chart. The custom webpack config we're using should also be optimized in line with the latest API changes.

Form entry app

  • Upgrade Angular
    • Bump Angular to v15
    • Bump Angular to v16
    • Bump Angular to v17
  • Bump single-spa-angular to v9

File uploader

Updates to the form entry library must be kept in lockstep with the file uploader library.

Feature work

ngx-formentry

  • Migrate from @carbon/styles to carbon-components-angular.
  • Autoscroll to the top of the viewport after clicking on a page in the form UI.
  • Evaluate the possibility of adding an alternative renderer to the Form Builder that leverages this library.
  • Develop the next iteration of designs for the form UI.

File uploader

  • Fix UI issues
  • Leverage Carbon components

Bug fixes

ngx-formentry

  • Fix an issue where the custom webpack config in the esm-form-entry app in the Patient chart won't let you run a dev server using yarn serve
  • Fix an issue where the Combobox / Select and DatePicker Carbon components don't render correctly.

Performance

  • Investigate issues leading to slow initial load times in the Patient Chart - it appears that these apparent slow downs are primarily owing to network latency.

Testing

  • Protractor is deprecated. Evaluate Cypress as a replacement. Ultimately, feature work should be backed by a reliable end-to-end test suite.

a11y

  • Form labels should be accessible.

i18n

  • Integrate Transifex resources
@gracepotma gracepotma changed the title Technical roadmap Technical Roadmap for Angular Form Engine Oct 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant