Please follow the recommended procedure to upgrade your agent version by following this note.
Upgrading to v7
This upgrade unlocks the following feature:- easier addition of additional databases
- no need to re-authenticate when switching between projects/environments/team
- dynamic smart action forms
- automatic model update
- SQL
- Mongoose
In case of a regression introduced in Production after the upgrade, a rollback to your previous agent is the fastest way to restore your admin panel.
Breaking changes
Agent initialization
In the filemiddlewares/forestadmin.js, the parameters of Liana.init have been updated. A few parameters have been deprecated and will either be ignored or throw an error.
Two new parameters have also been introduced to ease the addition and management of multiple databases.
The below tables list all these parameters:
Here is an example of an updated
middlewares/forestadmin.js file after the migration:
Models index
Themodels/index.js file should be updated as well, in order to export objectMapping & connections
- SQL
- Mongoose
config/databases.js file should be added as follows in order to declare the different database connections:
- SQL
- Mongoose
Mongoose specific changes
If you made the above recommended changes in yourmodels/index.js file, your Mongoose model files should now be written this way:
Authentication
One of the changes introduced by the v7 is that you no longer need to re-authenticate when switching between projects/environments/team. In order to support this easier authentication flow, the changes described below need to be made.New environment variable
A new environment variable calledAPPLICATION_URL is required and must be added to your .env file.
http://localhost:3310 is the default value to be set for the APPLICATION_URL. If you specified a specific url for your application in place of the default one (for example for an install on a remote machine), this url should be the value set.New CORS condition
A change in yourapp.js is required to modify how CORS are handled. The value 'null' must be accepted for authentication endpoints (lines 11-17).
Running up multiple server instances
If you’re running multiple instances of your agent (with a load balancer for example), you will need to set up a static client id. First you will need to obtain a client id for your environment by running the following command:client_id value from the response (it’s a JWT) to a FOREST_CLIENT_ID variable in your .env file.