6.0.0
Explore the new features in version 6.0.0 that make automation easier once again for your customers and internal teams.
Last updated
Explore the new features in version 6.0.0 that make automation easier once again for your customers and internal teams.
Last updated
Appmixer 6 operates on the same stack (Node.js version, MongoDB version, etc.), so all custom components should function without modification.
There are no breaking changes in the API. However, one small change worth noting is that if a flow is running, its database document cannot be updated unless ?forceUpdate=true
is added to the request. You can read more about this in the changelog.
An important database change in Appmixer 6 is the introduction of a flow type. A new property, type, is now present on each flow document, and a migration script will automatically execute when Appmixer 6 is deployed to assign a type to each flow in the system. More information about the types can be found in this section of the changelog. While this change isn’t breaking, SDK widgets now use this by default to display certain flow types. For instance, the appmixer.ui.FlowManager
widget shows flows with type: automation
. This default behavior can be modified using the customFilter, as described in the Appmixer SDK documentation. Similarly, the appmixer.ui.Integrations
widget uses type to distinguish integration templates from integration instances.
The most significant update in the main UI (not the SDK) is the split of all flows into two categories: Automations and Integrations. More details can be found in the changelog.
Appmixer 6 introduces several new garbage collectors, with additional information available in the changelog. Be sure to review the garbage collector for continuity scopes (the continuity scope feature is described in the Appmixer documentation). These scopes are now deleted after 100 days by default (modifiable). If you’re using flows with continuity scopes and expect a webhook after 100 days, then you have to increase the value. For any custom components that rely on this feature, you can use the new context.setMaxWait
function to set a specific expiration time, as explained in the documentation.
Finally, please review the System Configuration section, as several settings now have new default values.
The main menu has been redesigned and a Dashboard page with links to the most important tutorials has been added:
Automations and Integrations. The biggest change in Appmixer 6. Automations (internal business process/workflow automations) and Integrations (integration templates for end-users) are split into two separate views for better navigation.
Expandable main menu.
New menu options in Automation Designer, Integration Designer, Automations, and Integrations pages.
Integration designer now displays a magic wand button next to each field. You can now easily add any field to the integration wizard for your end-users simply by clicking on the magic wand button.
Go to “Edit Wizard” to see the live preview of the final wizard as your end-users would see it:
A new test flow has been added allowing you to test integration templates before publishing:
Starting a test opens the end-user Wizard allowing you to see and test how the integration configuration would look for your end-users:
Explore logs of a running test and repeat stop/edit/start/delete cycle until you’re ready to publish your integration template to your end-users.
Publishing popup has been redesigned and simplified:
You can now update all existing integration instances running for your end-users when publishing an update to your integration templates:
Log panel automatically opens when the flow starts.
The log panel toggle button is now visible in Designer:
The log panel can be extended to full screen.
A search bar was added to the log panel allowing a full-text search in logs.
Correlation ID added to each log. You can now copy this correlation ID, add it to the search bar to see logs from the same flow “run”.
Expression expand option in the source.
https://docs.appmixer.com/appmixer/component-definition/manifest/properties#expression
Show a hint to the user guiding them to create a new flow in Flow Manager if no flows are found.
New trigger and action marker icons have been added to the component selector in the Inspector panel to make it easier to differentiate triggers from actions.
A new trigger selector popup automatically opens by default when a new flow is created or the last trigger deleted. This guides the user to select a trigger first. This behaviour can be optionally turned off when using the SDK. See https://docs.appmixer.com/appmixer/v/6.0/appmixer-sdk/ui-and-widgets/designer#config.options.triggerselector
A new icon for variables makes it more visually clear that a variable can be modified by clicking on it.
Render brackets [] at the end of all array type of variables (for variables with JSON schema defined in the component manifest file):
Silent sign-in when passing access token in the URL.
The active tab is highlighted in the appmixer.ui.Integrations widget
.
Support Native Web Components in Custom Inspector Fields.
Font size increased in the Studio for better readability.
Introduce email argument as the third optional argument in api.signupUser(username, password, email)
.
New options for the appmixer.ui.InsightsLogs
widget (customFilter, showHistogram, filterLayout, logFilter).
New appmixer.api.sendAppEvent(). This allows you to trigger automations and integrations from your apps using a “named” event as opposed to using a generic webhook. See https://docs.appmixer.com/appmixer/getting-started/use-app-events for more information.
API Version Mismatch error is displayed only if the major or minor version of the API and SDK differs. Previously, it was shown even if the patch version was different.
Timeouts (created by context.setTimeout())
are automatically deleted after they are processed. In the previous version, timeouts might not have been correctly garbage collected in some cases (their consumption by components failed 30 times in which case they moved into the unprocessedMessages collection). In Appmixer 6.0 timeouts are correctly deleted in this scenario.
Garbage collector for continuity scopes (Mongo collection continuityScopes). Newly, continuity scopes are deleted after 100 days. This can be changed by GARBAGE_COLLECTOR_CONTINUITY_SCOPES_TTL (default value 100) and GARBAGE_COLLECTOR_CONTINUITY_SCOPES_TTL_UNIT (default value "days"). A component can increase the TTL of the continuity scope with context.setMaxWait()
https://docs.appmixer.com/appmixer/building-connectors/behaviour#context.setmaxwait-timestamp
Garbage collector for message scopes (Mongo collection messageScopes). A message scope is deleted by a job if it is not used in a timeout or continuity scope and if it is older than 7 days. This can be changed by GARBAGE_COLLECTOR_MESSAGE_SCOPES_TTL (default value 168) and GARBAGE_COLLECTOR_MESSAGE_SCOPES_TTL_UNIT (default value "hours").
POST|GET /logs API supports a new searchAfter query parameter, an example in https://docs.appmixer.com/appmixer/api/insights#query-parameters-1
A running flow cannot be updated via the API without ?forceUpdate=true in the query parameter. https://docs.appmixer.com/appmixer/api/flows#query-parameters-1
You can now inject a PWD-type account via API. https://docs.appmixer.com/appmixer/v/6.0/api/accounts
New options to control the webhooks sent to the WEBHOOK_FLOW_COMPONENT_ERROR URL.
WEBHOOK_FLOW_COMPONENT_ERROR_INCLUDE_RETRY (false by default). If a message fails and is scheduled for a retry, a webhook is not sent by default to the WEBHOOK_FLOW_COMPONENT_ERROR URL.
WEBHOOK_FLOW_COMPONENT_ERROR_INCLUDE_QUOTA (false by default). If a message cannot be processed due to insufficient quota, a webhook is not sent by default to the WEBHOOK_FLOW_COMPONENT_ERROR URL. https://docs.appmixer.com/appmixer/appmixer-backoffice/system-configuration#configuration-options
STRICT_COOKIES default value is set to false.
API_USER_CREATE_SCOPE is editable through the Backoffice without the need to restart the engine. https://docs.appmixer.com/appmixer/appmixer-backoffice/system-configuration#configuration-options
Incoming webhooks are not counted in the telemetry.
Added type property to flows. There are now 5 types of flows:
automation … Automation.
integration-template … Final published integration template.
integration-draft … Integration template that’s being edited.
integration-test … Temporary integration instance created by the Test functionality.
integration-instance … Instance of an integration template that runs in the context of an actual end-user.
The appmixer.ui.FlowManager
shows only the flows with type:automation, for example. The Integrations page displays flows with type:integration-draft
, once a draft is published, an integration-template
flow is created, and then every instance of the integration-template
has type:integration-instance
.
Context Quotas and a Slow Queue described inhttps://docs.appmixer.com/appmixer/appmixer-self-managed/configuration#context-quotas
AuthHub. Appmixer now features a central Authentication Hub, functioning as an authentication proxy, which simplifies the setup process by eliminating the need to register your own OAuth credentials with third-party services. The Authentication Hub is enabled for all hosted Appmixer tenants. In self-managed installations, the Authentication Hub has to be explicitly set. See https://docs.appmixer.com/appmixer/appmixer-self-managed/authentication-hub for more details.
Older (but compatible) versions of a connector can now be installed.
A custom scope can now be assigned to users in the Backoffice.
A connector that has been side-loaded from a filesystem can now be downloaded, same as connectors installed via the Appmixer marketplace.
Showing the installed version of a connector.