-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Write an outline of a migration guide for LB3 users - an initial "seed" version that we can incrementally improve later.
Acceptance criteria
-
Collect a list of all different runtime artifacts & features we are aware of, use https://loopback.io/doc/en/lb4/Understanding-the-differences.html as the starting point. Few examples:
- Models (how to define them, attach to a datasource, expose via REST)
- DataSources
- Boot scripts
- Operation Hooks
- Remoting Hooks (global/application-level, model-level, method-level)
- Storage Component
- API Explorer
- Express middleware like CORS, helmet, compression, favicon, etc.
- etc.
-
Update https://loopback.io/doc/en/lb4/Understanding-the-differences.html with any missing details, replace
TBDmarkers with real content. Add new table rows to capture missing features --> see docs: update "Understanding differences between LB3 and LB4" #3915 -
Create a draft of the Migration guide in our docs, setup structure in the left navigation bar, etc. Create a placeholder section for each aspect/feature we need to document. --> see docs: add a skeleton of migration guide #3922
-
Describe how to import LB3 model into LB4 app (see Import LB3 model JSON file to LB4 model class #2480).
- Model definition
- Persistence (via LB4 repositories)
- REST API (via LB4 controllers)
Show how to use
lb4 import-model.--> see docs: describe how to migrate model definition & built-in APIs #3969
-
If we know the instructions for migrating a certain aspect/feature, then write down the high level instructions as part of this spike.
-
For the remaining sections, create follow-up issues and reference them from the section text.
--> the task list:- How to migrate (app-level) Express middleware from LB3 to LB4 How to migrate (app-level) Express middleware from LB3 to LB4 #3947
- How to migrate model relations How to migrate model relations #3948
- How to migrate user-defined model methods How to migrate user-defined model methods #3949
- How to migrate remoting hooks How to migrate remoting hooks #3950
- How to migrate model mixins How to migrate model mixins #3951
- How to migrate CRUD Operation Hooks How to migrate CRUD Operation Hooks #3952
- How to map LB3 CLI commands to LB4 CLI How to map LB3 CLI commands to LB4 CLI #3953
- [EPIC] How to migrate LB3 clients [EPIC] How to migrate LB3 clients #3954
- How to migrate LB3 components How to migrate LB3 components #3955
- Which official LB3 components are not planned in LB4 Which official LB3 components are not planned in LB4 #3956
- How to migrate boot scripts How to migrate boot scripts #3957
- How to migrate apps using loopback-component-passport How to migrate apps using loopback-component-passport #3958
- How to migrate apps using loopback-component-oauth2 [Spike] How to migrate apps using loopback-component-oauth2 #3959
While this story is a spike task, the skeleton of the migration guide should be landed and published in our docs. The spike aspect is related to the fact that we don't know the scope of the migration guide, which parts are easy to document and which will require further research.
Out of scope
- Authorization, authentication and using built-in models like
User,AccessTokenandRole- see Spike: Migration guide from LB3 - Authentication & authorization #3719