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

Streamline migration from v2/v3 to v4 #228

Closed
9 of 10 tasks
maxime-rainville opened this issue Feb 16, 2024 · 2 comments
Closed
9 of 10 tasks

Streamline migration from v2/v3 to v4 #228

maxime-rainville opened this issue Feb 16, 2024 · 2 comments

Comments

@maxime-rainville
Copy link
Contributor

maxime-rainville commented Feb 16, 2024

As a developer maintaining a project using LinkField v2/v3, I have a a clear path and clear guidance on how to migrate to v4.

Acceptance criteria

  • A BuildTask exists to converts LinkField v2/v3 data to v4 format.
    • The task accounts for versioning and all pre-existing links are assumed to be published.
    • Task accounts for HasMany relations to Link
    • Task can be extended to accommodate unusual usage of LinkField.
  • Deprecation warnings are added to v3. see Add deprecation warnings to v3 #246
  • Clear guidance on how to migrate to v4 is provided
  • Guidance covers the scenario where a project is upgraded all the way from CMS 4.
  • Guidance covers how to migrate custom link types.
  • Guidance mentions that we are assuming no versioning of v2/v3 links
  • Migration task is marked as @deprecated.
  • The task is disabled by default.

Exclude

  • Migration of DBLink data.

Possible unusual v3 customisations

  • Versioned links in V3
  • Custom links types
  • Link data with Fluent

PRs

See this installer run for green CI with the combined PRs.

@GuySartorelli
Copy link
Member

GuySartorelli commented Feb 18, 2024

Should the task be enabled or disabled by default?
I'd recommend disabled by default so it's not present for new installations. Developers who are migrating can enable it with a simple yaml config, run it, and disable it again afterward.

Bear in mind this is one of three migration tasks, and only one of these will apply to any given project, so probably makes sense to not show them all by default.

@maxime-rainville
Copy link
Contributor Author

My assumption was be that this task would a dev/build task. You would have to explicitly choose to run the task by calling it. This would seem to negate the need to have the option to enable/disable it.

Did you have something else in mind?

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

No branches or pull requests

3 participants