Skip to content

Migration from Portofino 5 to Portofino 6

Alessio Stalla edited this page Dec 2, 2022 · 7 revisions

Note: Portofino 6 is in development right now. It's expected to come out sometime in 2023.

Changes in Portofino 6.0

This list details the high-level changes from Portofino 5.3.x (the latest version in the 5.x line) to Portofino 6.0. Please refer to the changelog for a complete list of changes from Portofino 5.0.1 onwards.

In general, on the 6.x development branch, there are no breaking API changes unless otherwise noted in the changelog, and we'll strive to keep those to a minimum.

UI

The Portofino UI project, based on Angular, is no longer part of Portofino. Portofino 6 shifts the focus completely away from GUI generation, towards building a rich, model-driven, reflective REST API for your data, which is for the most part backward-compatible with Portofino 5. You can consume that API from:

  • A UI client that you write with your preferred technologies, or
  • The traditional Portofino UI developed for Portofino 5, which now lives on as a separate project and is regularly tested against Portofino 6.

Model

In Portofino 6, the model is more generic and not limited to a description of your database. As a consequence:

  • More of the application's self-information is saved in the model, particularly the configuration of each REST resource.
  • The model is no longer saved as XML, instead we've designed a small, human-readable entity-relationship language specifically for representing Portofino models as text files.
  • The model is now based on Ecore, rather than a proprietary format. This will enable future interoperability options.
  • Portofino 6 can still load Portofino 5 models and will convert them automatically to the new format.

Persistence and CRUD

  • Portofino 6 uses Hibernate 6 for persistence, a significant update from Hibernate 5.
  • It's now possible to subscribe to a CRUD resource for changes, using Server-Sent Events (SSE).

Integrations

TODO

Supporting Tools

TODO

  • portofino-cli
  • portofino-commander

Migration Paths

From Portofino 5 (latest version)

Since the UI is no longer included, WAR deployments are not supported out of the box. While it's still possible to build a WAR file (with or without the UI), here we'll describe a migration path toward a self-contained JAR deployment with an embedded Tomcat, à la Spring Boot. You'll be on your own if you want to deploy a WAR file.

TODO

From Portofino 4 (latest version)

First, migrate to Portofino 5, then, return here and follow the migration instructions from Portofino 5 to Portofino 6.