Dovetail 4.17 refinements
Release 4.17.0 was one of the biggest releases of Dovetail with the introduction of a new backend.
Most of the changes in this release were not directly visible, but were important to keep the backend modern and secure. I have blogged about these changes before:
Besides these hidden changes there are also many small usability improvements. Here are 10 changes I like to share:
1. Transactions
Transactions saw a few nice improvements like:
Prettify XML or JSON
Message properties
The new message properties show meta information of the message:
Show transactions with errors
Transactions used to show if steps had errors, but now it’s also shown on the transaction itself, so it’s easier to spot them.
2. Auto-refresh
Added a new configurable auto-refresh option to the Transactions tab (see screenshot above). This will automatically load new transactions when they occur. This can also be disabled if needed.
3. Set the message body
Traditionally, the body was set using the velocity component. However, this component did two things:
- Apply the simple language
- Apply a velocity template
While it was convenient to do multiple things in one step, it was not clear.
In 4.17, the velocity still exists, but only applies a velocity template. In normal cases you can just use the SetBody component.
Note that the simple language have much more options now. All new options can be found on the Apache Camel page:
4. Inbound HTTPS Component
In the previous version you always need to configure a HTTP component, by giving it an endpoint name:
Power users often did the following:
- Set the endpoint to #{self.flow_name} to automatically set the flow name as the endpoint.
- Set the tenant part in the URL to the tenant name so that it can used by different instances.
This was basically the convention, and since we always take a convention over configuration approach, we changed the defaults. This means that if you add an HTTP inbound now, it will work out of the box:
You can click the test URL directly and it will open in a new window. Note that the HTTP option has been removed, so the connection will always be encrypted using HTTPS.
5. HTTP Component
The outbound HTTP Component also saw several improvements , such as
- The component now supports a maximum number of retries, with each retry attempt displayed in the Flow Manager under Transactions and Logs.
- The retry process is no longer interrupted by 5xx messages from the server.
- The Flow Manager logs now display detailed information about 5xx server responses.
- Options for setting the timeout value for establishing a connection (ConnectTimeout) and sending messages (SocketTimeout).
6. Flows and versions
In the details page of a flow, you can see the statistics, transactions and logs. However, if you wanted to see the details of another version or another flow, you had to go back to the Flow Manager or Flow Designer first. Now the details page has sidebars to navigate between flows and versions of a flow.
7. Scripts
Both Groovy and JavaScript have been significantly upgraded. See the migration guide for details:
Note that Dovetail also offers assisted upgrades, where you can prepare upgraded scripts to be loaded after the platform is upgraded. Contact the support team for more information.
The Scripting component also saw some minor fixes and improvements. For example, the In Headers, In Properties, and In Body fields used for testing are now saved for reuse. In addition, the In Headers and In Properties fields have placeholders that indicate how they should be configured.
8. Views
In previous versions, the Flow Manager only showed statistics about flows by group. This is still the default, but users can get much more information, such as the number of installed flows, or toggle to show uninstalled flows as well. In 4.17, in addition to the default view (exchanges), you can also choose a management view:
The management view shows information about the flow without the need to go to the settings or flow details. The resources view gives information about the resource usage of the backend:
This gives a live indication of total of flows running, exchanges processed, threads running and the memory usage.
9. Custom views
In addition to the Exchanges, Management, and Resources views, users can also create their own views (just click the pencil next to the view selector):
This allows you to select only the columns you want to see and apply filters. For example, you can display only the failed messages for a specific group:
It is best to play around with custom views, as you can always remove them later.
10. Flow links
If you want to delete a flow, you must first stop the flow. However, this is a problem if you’re using flow links. It can happen that linked flows are still running and sending messages to this flow.
If you now delete or stop a flow with an inbound flowlink, you will get a message:
Final note
No new features are expected anymore for 4.17, but as it’s a long term support version we still provide patches (currently 4.17.4). We encourage everyone to upgrade to this latest release to take advantage of the new backend and UI refinements.