I am happy to announce our new release of Anypoint Studio 7.10 is now available. Our goal with every new Anypoint Studio release is to deliver incremental productivity and speed value to our MuleSoft developers. This means enabling them to build MuleSoft apps faster, with more powerful and more intuitive tooling.
This release includes the ability to extract and propagate metadata across subflows with a few clicks through a new wizard, notifications when new connector versions are available, changes on flow names, and improvements on theme selection.
Metadata-driven development is becoming more and more common, allowing developers to focus on application logic to deliver new applications faster and make it easier to update existing ones. With Studio 7.10, it’s easier to work with metadata across flows and subflows. Users can now extract and propagate metadata across subflows with a few clicks through a new wizard, where previously this was a laborious manual process.
If you were a Studio 6 user, you may remember that subflows could see parent flow’s context (payload, attributes, and variables) and its associated metadata without any extra manual steps (automatically). This approach presents two main challenges:
- Encapsulation principle is broken. A subflow can modify the parent’s payload.
- Hard to enforce a consistent parent’s payload. If two parents use a common subflow, only one parent context is inherited (does not support union of multiple parent payloads).
Studio 7 does no longer automatically inherit event metadata in subflows via flow-ref. Due to challenges mentioned in Studio 6, if the developer is using flow-ref for decomposition, each subflow should define its interface. This is why, tooling in Studio 7, transitioned to use a well-defined contract between interacting parties (better encapsulation, modularization, and logical abstraction layer decoupling).
At runtime, parent and referenced subflows still share the same payload, so not really addressing encapsulation fully (but at least start creating this best practice behavior).
At the same time, this solution had a tactical inconvenience. Integration specialists liked the idea of automated context propagation without the need to explicitly define the subflow metadata (and the associated context mapping). Until Studio 7.9, this was a time consuming and manual task. Studio 7.10 will provide a mechanism to set calculated metadata as metadata to the destination Flow/Subflow: This is what we called Metadata Assistant.
How to use it
- Flow/SubFlow Extraction
When extracting a node to a new flow or subflow metadata will be automatically propagated to the newly created flow based on the metadata of the origin operation. “Expected” metadata is preferred over “Actual” metadata. By clicking on Metadata preferences >> it is possible to choose which payload, attributes, or variables to propagate.
- Flow reference
When a Flow Reference is selected, we face two scenarios. If the reference has no assigned custom metadata, metadata will be auto-generated and assigned automatically to the flow. In the case the reference has pre-existing assigned metadata, there won’t be changes.
- Setting/updating metadata on referenced flow on-demand
After making changes on the flow containing the flow reference, user may want to propagate the changes. For this scenario, “Set metadata” or “Update metadata” buttons are under the metadata tab of a Flow Reference operation. This option also allows users to customize the metadata to propagate as desired.
Notification center for new versions of connectors
We are recommending when new connector versions are available so they are on the latest innovation.
Projects in Studio handle different types of assets as dependencies. One of them are Mule Modules (connectors) already present in Studio or installed from Exchange: they are used only in Mule projects. Like any other asset, a module has its own GAV (group, artifact, version) and any project can use any available version of the same GA.
Until 7.9, Studio had no mechanism to find out when a new version of an asset being used is available, unless the user manually checks each of their projects for updates. The notification center is a new mechanism to notify users that there are available updates for the assets they are using, centralizing all the updates for the entire workspace in a single new dialog.
Every time Studio starts up it checks for updated modules in your open projects. When new versions are available, the notification popup will appear in the bottom right corner of the application.
You can choose to update to the latest minor version of your module, or upgrade directly to the latest version available.
You can also prompt Studio to check for module updates by selecting the request updates button. You can access Manage Mule Modules from the toolbar:
Refactor rename for flows
You asked for it, you have it! This update was one of your top-voted ideas in our ideas portal. Now it will be easier to rename flow references. Changes on a flow name will be propagated automatically across flow references. This new capability includes the following scenarios:
- When renaming a flow or subflow, any flow with a reference to them, will be updated to match the new name.
- When renaming an error handler, any error handler with a reference to it, will be updated to match the new name.
- It will be easier to find flow or error handler references after changing a flow name.
Theme selection improvements
Theme selection got smarter than ever! It will automatically match the user’s Operating System appearance preference, selecting the Light or Dark theme accordingly. We fixed minor reported issues with dark theme UI for a better experience.