Posted on October 21, 2014 by Alessio Stalla

Portofino 4.1.1

Today we released Portofino 4.1.1, the first revised version in the 4.1 series. There's a fair amount of cool new stuff, and more is to come! Let's see the main points.

HTML5 charts based on chart.js. Alongside the historic Chart action based on the venerable JFreeChart library, we have added a snappier, fresher ChartAction leveraging the improved capabilities of modern browsers. If you want, you can easily convert from one version to the other - the basic structure of the underlying queries stays the same.

HTML5 pie chart

BlobManager redesign. The BlobManager class in Elements makes forms capable of handling blobs kept in some form of external storage. We redesigned that feature to improve its ease of use, and in particular to allow easier customizations and a clear, explicit lifecycle for blobs. For example, if you want to store your blobs on Alfresco or Google Drive or $cloudServiceOfTheMonth, even selectively for just a few CRUD pages, now you can - and there's no need to work around the framework anymore. Also, the default blob manager now partitions blobs over many subdirectories in order to avoid filesystem limits on the maximum number of files in a single directory. And we provide a handy tool to convert old-style blob directories to the new layout, if you wish so!

Notifications. A customer financed this development. We added support for server-generated push notifications over websockets (falling back to long polling) using the Atmosphere framework. You can easily subscribe to a topic using JavaScript and listen for events from the server, for example to update a page in near-real time, notifying the user about important events, and so on.

Simpler form control sizing. Elements form controls in Portofino are now sized with the Bootstrap grid system, without absolute sizes. This enables nicer two- and three-column forms, as well as simplifying our CSS and avoiding JavaScript to correctly size some components. We are confident that our power users will appreciate!

Connection parameters outside of portofino-model.xml. Managing the deployment of the same application to multiple environments is now easier. If you don't specify url, username and/or password in the model, they'll be loaded from

Small improvements and bug fixes across the framework. As usual, besides adding nifty stuff we strive to make the existing better.


This time, there are news that go beyond the code. The community around Portofino is slowly but steadily growing. New people subscribe to the mailing list looking for help to get started, and our long-time users come up with interesting questions and answers. We feel that we should now give the community more tools to interact and help us make Portofino a better product. So, together with this release, we're also:

  • giving Portofino a dedicated website, separated from our company website;
  • opening our internal ticket tracker for Portofino, which is based on demo-tt; everybody will be able to look at the issues, and selected users will also have permissions to submit new ones;
  • opening an all-new community wiki to easily share documentation, tutorials, examples, authored by us and by our users.

Also, as a reminder, we host the full source code of Portofino on SourceForge.

Go get it!

Download Portofino 4.1.1 from SourceForge or grab it from Maven Central and have fun! If you have issues or suggestions, please come to our community forums.


comments powered by Disqus