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 Vue to 3.0 #7110

Open
agriffard opened this issue Sep 21, 2020 · 24 comments · May be fixed by #14256
Open

Upgrade Vue to 3.0 #7110

agriffard opened this issue Sep 21, 2020 · 24 comments · May be fixed by #14256
Milestone

Comments

@agriffard
Copy link
Member

Migrate the ResourceManifest, the dependent scripts, the ContentPicker and the LocalizationContentPicker to use vue.js 3.0

https://www.npmjs.com/package/vue/v/3.0.0

/cc @Skrypt

@jptissot
Copy link
Member

@Skrypt
Copy link
Contributor

Skrypt commented Sep 22, 2020

Major version = breaking changes.

@jptissot
Copy link
Member

We should wait a couple months for the ecosystem to migrate to it and fix the bugs.

@Skrypt
Copy link
Contributor

Skrypt commented Sep 23, 2020

Or at least if we migrate do manual testing to make sure nothing is breaking. I'm pretty sure it will break all the draggable components.

@sebastienros sebastienros added this to the 1.0.x milestone Sep 24, 2020
@agriffard
Copy link
Member Author

SortableJS/Vue.Draggable#881

There is a https://www.npmjs.com/package/vue-draggable-next package available.

Not sure if we should switch to this one to be compatible with vue 3?

@jptissot
Copy link
Member

jptissot commented Oct 2, 2020

I would wait a couple months for others to test the vue components for us 😁

@Skrypt
Copy link
Contributor

Skrypt commented Oct 2, 2020

Well create the PR guys if you think it could potentially work. But test a lot before merging.

@sebastienros sebastienros modified the milestones: 1.0.x, 1.0 Sep 9, 2021
@Piedone
Copy link
Member

Piedone commented Mar 21, 2022

@agriffard any specific reason you closed this? Eventually, we should upgrade. And since then, Vue.Draggable
is also upgraded: SortableJS/Vue.Draggable#942

@agriffard
Copy link
Member Author

There is no CDN available for the latest version:
https://www.npmjs.com/package/vuedraggable/v/4.1.0

The url they give returns a 404:
https://github.com/SortableJS/vue.draggable.next#with-direct-link

<script src="//cdnjs.cloudflare.com/ajax/libs/Vue.Draggable/4.0.0/vuedraggable.umd.min.js"></script>

@Piedone
Copy link
Member

Piedone commented Mar 21, 2022

That's a bug in Vue.Draggable then that we need before this can be addressed. However, any reason why not keep this issue open?

@agriffard agriffard reopened this Mar 21, 2022
@Piedone
Copy link
Member

Piedone commented Mar 21, 2022

Hmm, there's https://github.com/SortableJS/Vue.Draggable and https://github.com/SortableJS/vue.draggable.next. The latter is the project going forward with Vue v3. It appears to have restarted versioning (though this is inconsistent on GitHub/NPM vs the CDN) and the new CDN is here: https://unpkg.com/[email protected]/dist/vue-draggable-next.global.js See: SortableJS/vue.draggable.next#64

@Piedone
Copy link
Member

Piedone commented Dec 20, 2023

We need this ASAP now, since Vue 2 reaches its EOL by the end of the year: https://v2.vuejs.org/lts/.

@Skrypt
Copy link
Contributor

Skrypt commented Dec 20, 2023

You have some WIP there: #14256

@Piedone Piedone linked a pull request Dec 20, 2023 that will close this issue
10 tasks
@Piedone
Copy link
Member

Piedone commented Dec 20, 2023

Awesome! Do you need some help with that?

@Skrypt
Copy link
Contributor

Skrypt commented Jan 3, 2024

Yeah, any help would be appreciated. Basically my PR adds the ability to keep Vue 2 and Vue 3 in the solution ; so that we can split the tasks in different PR's afterward. Though, I still need to migrate the media library picker component to be able to say that the PR is a complete Media Library upgrade.

Let me know if you need more details we can do a Teams call.

@Skrypt
Copy link
Contributor

Skrypt commented Jan 4, 2024

Another suggestion would be to convert all of these to Blazor components. Get rid of the Vue dependency and find something else than the JQuery UI upload component to do this. I upgraded the Vue component to use it as a standalone app for a different project but I definitely would see this rewritten as a Blazor component. @sebastienros

@Piedone
Copy link
Member

Piedone commented Jan 10, 2024

I'd upgrade Vue instead of a more drastic change, at this point at least. Also, the Vue dependency itself needs to be upgraded in any case, so module authors can depend on the new version.

@Skrypt
Copy link
Contributor

Skrypt commented Jan 10, 2024

The way the OC admin UI is built is to not depend on Vue at all. Just Bootstrap and some custom Javascript.
It is possible to keep Vue 2 and Vue 3 in the resourceManager for the time that people will migrate their custom modules to Vue 3.

I think most of the work is about migrating the Media Library and the CORS module UI. Of course now that we have a good migration of the Media Library here I'd say just push to migrate everything else for now. We could alternatively create a small Blazor component for the OptionEditor ... we have the choice as this is a smaller component. But definitely agree that the Media Library would take way more time to Blazorize so nothing planned in the short term for this.

Vue dependency itself needs to be upgraded in any case

I think it needs to be added in the resourceManager along with the Vue 2 dependency instead.

@Skrypt
Copy link
Contributor

Skrypt commented Jan 10, 2024

Also wanted to have a clear opinion about Blazor components and OC from @sebastienros first. That's why I pinged him.

@Piedone
Copy link
Member

Piedone commented Jan 10, 2024

Yes, we definitely would need to keep the v2 resource too.

@agriffard
Copy link
Member Author

/cc @Skrypt

@Piedone
Copy link
Member

Piedone commented Jan 26, 2024

Where was this done @agriffard? #14256 is open.

@agriffard
Copy link
Member Author

Closed in favor of #14256

@Piedone
Copy link
Member

Piedone commented Jan 26, 2024

But that's a PR, we still need an issue to keep track of the request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants