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

Spike: How to migrate LB3 components #4099

Closed
11 tasks done
bajtos opened this issue Nov 11, 2019 · 4 comments
Closed
11 tasks done

Spike: How to migrate LB3 components #4099

bajtos opened this issue Nov 11, 2019 · 4 comments

Comments

@bajtos
Copy link
Member

bajtos commented Nov 11, 2019

This is the first spike for #3955, see also #3718 and #3922.

Eventually, we want to write content for docs/site/migration/extensions.md and explain how can users migrate their custom LB3 components to LB4 extensions:

  • How to rewrite components from LB3 component to a LB4 extension?
  • How to migrate applications using such components/extensions?
  • What's our advice for apps using official loopback components like loopback-component-storage?

Before we can write such migration guide, we need to build a better understanding of how a typical LB3 component look like, what kind of features & functionalities are contributed by existing LB3 components (including 3rd party modules) and how to map such functionality to LB4 concepts.

Unfortunately, our documentation for LB3 component authors is rather short, see LoopBack components and Creating components

Acceptance criteria

Initial research

Action plan

  • For each feature/pattern found in existing components, propose how to implement it in LB4 style. Some patterns may require functionality that's not available in LB4 yet. This is expected, put down a note and try to link to existing GitHub issues where possible. (Do not create any new issues yet!) Get the proposals reviewed & approved by the team before moving to the next step.

  • Propose a plan - create a list of follow-up tasks. Some of these tasks may be "implement a feature we already have a GitHub issue for", some of the tasks may be "create a new GH issue to implement a missing feature". Don't forget to describe tasks for writing the migration guide too, e.g. "write a skeleton/outline", "fill content for section XYZ", etc.

List of areas to cover:

Out of scope

Migration of the following component is out of scope of this spike:

  • OAuth2 - will be covered by auth&auth migration guide
  • Passport - will be covered by auth&auth migration guide
  • Synchronization - won't be implemented in LB4. It's important to mention this fact in the migration guide.
@jannyHou
Copy link
Contributor

  • lb3 component and lb4 component are consistent on high level.
  • lb4 component can contribute artifacts as bindings, but some are not supported yet, like connector

@deepakrkris
Copy link
Contributor

@bajtos can we scope out the following tasks into a separate issue:

  • - For each feature/pattern found in existing components, propose how to implement it in LB4 style. Some patterns may require functionality that's not available in LB4 yet. This is expected, put down a note and try to link to existing GitHub issues where possible. (Do not create any new issues yet!) Get the proposals reviewed & approved by the team before moving to the next step.

  • - Propose a plan - create a list of follow-up tasks. Some of these tasks may be "implement a feature we already have a GitHub issue for", some of the tasks may be "create a new GH issue to implement a missing feature". Don't forget to describe tasks for writing the migration guide too, e.g. "write a skeleton/outline", "fill content for section XYZ", etc.

@deepakrkris
Copy link
Contributor

@bajtos since you have covered enough ground in this spike, can we close this issue, and open a new issue for #5262

@bajtos
Copy link
Member Author

bajtos commented May 25, 2020

Closing as done 🕺

@bajtos bajtos closed this as completed May 25, 2020
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

4 participants