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

Upgrade from Vue2 to Vue3 #13576

Open
4 of 13 tasks
severinbeauvais opened this issue Sep 12, 2022 · 7 comments
Open
4 of 13 tasks

Upgrade from Vue2 to Vue3 #13576

severinbeauvais opened this issue Sep 12, 2022 · 7 comments
Assignees
Labels
Assets ENTITY Business Team Epic Names Team Name Request Name Examination Team Relationships Work for Relationships team Search Search team development issues

Comments

@severinbeauvais
Copy link
Collaborator

severinbeauvais commented Sep 12, 2022

Note that this description is a bit out of date -- some things are handled and there may be new things to resolved.

Description (Hypothesis):

As the ministry developing web features
I want to keep my software framework up to current releases
So that my software doesn't go stale and unsupported
And so that my software can take advantage of better code
And so that all my software projects can have common tools, common patterns, share components, etc.

Specifically: Most of the BCROS software projects use Vue version 2, which has entered maintenance mode and will reach end of life by the end of 2023. We should upgrade these projects to use Vue version 3, which is the current, latest major version of Vue.

Ref: https://vuejs.org/about/faq.html#what-s-the-difference-between-vue-2-and-vue-3

Acceptance Criteria

Most BCROS projects use Vue 2 and should be upgraded, including:

Full regression testing will be required of each project.

Components that need to be (re)written (in Vue3)

  • date picker (ask Kial)
  • v-data-table (ask Kial)
  • fee summary (ask Kial)
  • staff payment? (ask Cameron)

Additional Information

  • Start date: TBD (does not appear to be on PI 14 Roadmap)
  • End date epic will be delivered: TBD but by end of 2023
  • T-shirt size: unknown - depends on work to be done and resources available
  • Process Flow: TBD
  • CM considerations: Unknown
  • Possible dependencies or blockers foreseen right now:
    • need to determine process flow (ie, what needs to be done to upgrade a project)
    • need to determine estimated effort per project
    • need to determine if some projects need to be upgraded before others
    • need to ensure that we're not missing anything
  • Any recommendation to NOT upgrade any particular project and just leave it with old code?

Migration Tips

https://blog.teamdev.com/vue-2-to-vue-3-migration-tips-58da12e81d33

Topics to investigate:

Vue3 (framework)

Vue CLI

Consider changing the framework over to Vite + Vitest. done for most UIs
See #13658.

Typescript (language)

See #13656.

Vuetify 3 (UI components library)

THIS WILL BE A LARGE EFFORT FOR EVERY UI

Vuex (global store)

Vue Router (paging/routes)

Composition API vs Options API (app/component structure/design)

Vue Class Component / Vue Property Decorator (component syntax + decorators)

Storybook for Vue 3 (UI components demo/test app)

See #16550.

Vuelidate (special validation)

See #13654.

Vue2Filters (inline special formatting)

See #13653.

Vue Test Utils (unit test tools)

Other considerations

@severinbeauvais severinbeauvais added ENTITY Business Team Epic labels Sep 12, 2022
@severinbeauvais
Copy link
Collaborator Author

FYI: @pwei1018 @cameron-freshworks @kialj876 @thorwolpert @davemck513

@pwei1018 pwei1018 added the SRE SRE team task label Sep 12, 2022
@cameron-eyds
Copy link
Collaborator

@severinbeauvais
Thanks!
Edited to include PPR UI 👍

@severinbeauvais severinbeauvais added Relationships Work for Relationships team Assets Search Search team development issues labels Sep 12, 2022
@severinbeauvais severinbeauvais self-assigned this Sep 12, 2022
@thorwolpert
Copy link
Collaborator

https://v3-migration.vuejs.org/breaking-changes/ is a good thing to check ... esp when adding anything new

@severinbeauvais
Copy link
Collaborator Author

@jonathan-longe
Copy link

@severinbeauvais we should revisit this issue and make sure it's on @davemck513 's radar.

Vue 2 will reach End of Life (EOL) on December 31st, 2023. After that date, Vue 2 will continue to be available in all existing distribution channels (CDNs and package managers), but will no longer receive updates, including security and browser compatibility fixes.

@ozamani9gh ozamani9gh added the Names Team Name Request Name Examination Team label Sep 27, 2023
@PCC199 PCC199 removed the SRE SRE team task label Oct 3, 2023
@NaveenHebbale NaveenHebbale added the Entities - Olga A label to filter on the tickets for the Entities based team that Olga is PO for. label Feb 23, 2024
@ozamani9gh
Copy link
Collaborator

Name Examination UI Vue3 has been released to PROD !!!!! WOOOOOOHOOOOO

@severinbeauvais
Copy link
Collaborator Author

Name Examination UI Vue3 has been released to PROD !!!!! WOOOOOOHOOOOO

Congrats! If you want to pass along any lessons-learned, or processes/tools that worked well for you, please consider adding a ticket to this epic to share with others :)

@NaveenHebbale NaveenHebbale removed the Entities - Olga A label to filter on the tickets for the Entities based team that Olga is PO for. label Apr 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Assets ENTITY Business Team Epic Names Team Name Request Name Examination Team Relationships Work for Relationships team Search Search team development issues
Projects
None yet
Development

No branches or pull requests

10 participants