Appian Release Notes

Introducing Appian RPA

In this release, we're pleased to debut Appian Robotic Process Automation (RPA), a powerful technology with which you can build virtual "robots" to automate repetitive tasks, freeing up your workforce, and ensuring data accuracy. Appian RPA is an integrated solution that brings full-stack automation to your fingertips, allowing you to fully unify RPA, BPM, AI, and case management, so you can provide the right automation technology for the right use case.

Appian RPA provides a web-based console for scheduling, monitoring, and administering your digital workforce. Appian RPA also comes with Robotic Workforce Manager (RWM), which adds the ability to launch and control individual robotic processes, as well as report on, and manage your automation initiatives.

Appian RPA runs only on Appian Cloud, which provides world class availability, security, and governance. For more information about purchasing Appian RPA, please contact your account executive.

Interested in learning more? Visit the Appian RPA docs to see how you can use RPA in your Appian applications.

Building and Deploying Applications

Extract Data from Documents with Machine Learning

Appian's new suite of document extraction features make it easy to extract text and data from documents. Appian auto-generates a form for human-in-the-loop validation of automated extraction results, which trains the extraction to get smarter over time.

Automated Extraction

Many companies currently extract data from their documents manually or use expensive, outdated optical character recognition (OCR) software. Appian's document extraction, powered by Google Cloud Document AI, overcomes these challenges by using flexible machine learning models to analyze documents and accurately extract data. Once the information is captured, you can take action on it within your Appian processes and applications. Get started for free using Appian AI.

Manual Reconciliation and Retraining

Sometimes you want a human to review the data after it's extracted. Appian's prebuilt interface allows users to review and update extracted information without any developer configuration. Appian learns from this manual reconciliation process and automatically retrains the extraction over time, leading to more complete and accurate results with fewer manual exceptions.

End-to-End Intelligent Document Processing

Looking for a way to bring document classification and data extraction together in an easy to use interface? Then you'll love the Intelligent Document Processing application! This pre-built application brings together all of Appian's new document extraction features to intelligently extract data from documents. In addition, it adds classification to identify and route your documents using machine learning services that are all available for free using Appian AI.

New Appian Cloud customers will see this application pre-installed, while other customers can install it from the software downloads record on Appian Community.

Application Deployments

With this release we're adding more to the direct deployment feature introduced in 19.4. There's a new deployments view that displays your deployment history as well as details of each deployment, and enhancements that make direct deployments more flexible and powerful.

New Deployments View

The Deployments view is a new addition to Appian Designer that provides a central place to track and audit your incoming and outgoing deployments. As a developer, review the up-to-date status and details of your deployments. As an application administrator, monitor the changes to your application and see what needs your review. This view is available both globally and within each application, so that you can have crystal clear visibility!

Approve Deployment Requests

We've added the ability to review deployments before they're executed. You can see the details of each request, decide whether to deploy, and provide feedback to the requestor. With this feature, your team will be able to collaborate more closely and release with greater confidence.

Deploy Existing Packages to Higher Environments

You've invested time in gathering the right changes for deployment, and we've made the rest of it easier for you. Once you've made a successful deployment, you can re-apply that same set of changes to another environment with just a few clicks. Be assured that you're making consistent changes from development to production and deliver value to your users faster than ever!

Record Enhancements

Multiple User-Saved Filters for Record Lists

End users can now name and save their filters for a record list. User-saved filters can be applied in one click, and users can choose which to load by default when they return to a record list.

Saved filters are available from any record list immediately on upgrade—no developer work required!

Style your Record Headers

Make your records stand out even more by adding a background to the header. Choose a color or image as the background or leave the default styling. Use this feature when you have a specific decorative image that represents each record or to highlight a branding color.

New Ways to Open Record Actions

Improve the experience of launching a related action or record list action by configuring them to open in a dialog. Dialogs open quickly, helping your users start their actions right away. With the ability to easily close the dialog window, users don't need to worry about losing their previous context. In addition to dialogs, you can also configure actions to open inline as they do today or in a new tab. Choose the best way to open actions for your use cases.

Put Record Actions Anywhere with the Record Action Component

Make users more efficient by putting actions near records. The new record action component displays actions from any record in any report or form. Designers save time developing applications by reusing related actions already configured on records. Create a seamless and performant user flow by using the new dialog configuration for record actions and the new refreshAfter configuration for refresh variables. When configured this way, the new data (and only the new data) will refresh once the actions complete.

Reference Record Types Directly in Expressions

We are always looking for ways to speed up application development and improve workflow efficiency. With this release, you can now reference your record types without creating a constant. Simply use the recordType! domain and select your record type from the auto-suggest list to insert a record type reference.

Easier Expression-Backed Records

Your enterprise data may be spread across a number of different systems. Appian records enable you to bring this data together, and we've made it easier than ever! Our new lower code configuration for expression-backed records makes it quick and painless to set up paging, search, and user filters.

User filters can now be set up individually, rather than needing to be defined in a single expression. Not only did we simplify the configuration itself, we also added a user filter preview, giving you real-time feedback on the filters they build.

Additionally, we've increased the speed of the record list preview. This results in a snappier, more responsive design experience, especially for Record Types sourced by slower integrations.

To learn more, please see the Expression-Backed Record Tutorial.

UI Design

View Local Variable Values in Interface Designer

Debugging interfaces can be challenging, and in this release we are providing you with more insight into what is happening in your interfaces. Now, you can view the values and types of your local variables in Interface Designer. Used in conjunction with viewing the values of your rule inputs, you can design interfaces quicker, understand interfaces you didn't build faster, and find solutions to bugs more efficiently.

Design for Screens of Any Size

Appian has taken a big step in support of "write once, run anywhere" with a new responsiveness parameter on the columns and side by side layouts, stackWhen. Use this parameter to choose the window width at which your columns and side by side items will appear stacked on top of one another in order to ensure they have enough room to display. This will help your interfaces look amazing on all screens, large and small! If you're designing simple forms, our current responsive behavior will continue to work well for you. Check out the Responsive Design guidelines to get started.

Drag and Drop in Form Factor Preview

Form factor preview now works with drag and drop! There is no longer a need to switch over to the preview tab to see what your layouts look like on phone or tablets. You can also use the "responsive" option to view a variety of screen sizes and ensure the interfaces are laid out just the way you want. Use this tool in combination with the new responsive features on side by side and columns layout to get your interfaces looking great at all screen widths.

Create Flush Headers for Landing Pages and Reports

We've released a new top-level layout that lets you create a card or billboard-based header that is flush to the sides of the page, a!headerContentLayout(). This looks great when creating reports or landing pages where you would like to call out information at the top. If you're creating a record, check out the new record header styling feature instead which is a records-specific way to get this same look.

With this release, buttons and tags can now be used in grids. Use buttons to trigger an action from a grid row and tags to display important attributes.

More Billboard Overlay Styles

If you're looking for a lighter billboard overlay, consider using the new semi-light and semi-dark overlay style options. These options will provide more visibility to the background image or video.

New Interface Designer Patterns

Need inspiration for your next interface? Take a look at the patterns and examples in Interface Designer. We're constantly adding new patterns and updating existing ones with new features, including this quarter's Call to Action, Alert Banners, Navigation patterns and Timeline patterns.

Support for PostgreSQL and MariaDB Databases

Want to build applications that use data stored in PostgreSQL or MariaDB? PostgreSQL (version 11 & 12) and MariaDB (version 10.4) are now supported data sources in Appian!

Object Security Enhancements

Reminder to Set Security During Object Creation

Security is the backbone of any production grade application. Because of its importance, we've integrated it into the creation process for objects that don't inherit security. Now you have the power and flexibility to review and set security while you build!

Create Groups While Editing Security

To simplify maintenance, it's important to use groups to set object security. We've made this best practice even easier to follow by allowing you to create groups right from the security dialog. Create and use your new group without ever interrupting your flow!

New Object Security Warning

Not sure what your object security configuration should be? New security warnings provide a guided design experience, ensuring you set the appropriate security for each object. If you're curious about how security behaves for a particular object, refer to the inline tips for insight.

Improved Security Summary

With this release we've made the security summary even more powerful and easy to use. While the grouping of your settings hasn't changed, we now provide the same warnings you see in individual object's security dialogs in the summary. With new filters, you can navigate to important warnings and sets of objects smoothly. This allows you to view security for your patch contents, find only the objects with warnings, or review and edit security by object type.

Security Check During Deployments

Before you deploy, it's important to check your objects' security. That's why we included a reminder in the compare and deploy wizard for you. If you missed something, you will be alerted to remaining warnings and provided a link to access the security summary. From there, you're able to address these warnings before safely continuing with your deployment.

Process Model Improvements

Duplicate Process Models

Have you ever wanted an easy way to copy an existing process model? Now you can! We've added the ability to duplicate existing process models from within the creation dialog.

Undo and Redo in the Process Modeler

We've added undo and redo to the process modeler to make working there even more efficient. You don't need to struggle to remember what you changed last or waste time recreating a deleted configuration. Simply use the options in the Edit menu or familiar keyboard shortcuts to help you trace through your recent changes.

Format Expressions in the Process Modeler

We're making the expression editor in the process modeler easier to work with. You can now click the magic wand to auto-format expressions for better readability.

Productivity Enhancements

Safer Object Deletion

Have you ever found an old object from a project hanging around but you're not sure whether it's safe to get rid of? Now, deleting a single object checks for the impact of the deletion so you can clean up your environment with confidence! Object dependents are included in the deletion dialog so you can review and address them before choosing whether to continue.

Auto-suggested Domains

In order to help you build interfaces quicker, we are now auto-suggesting available domains in the expression editor as you start typing a domain. If you can't remember which domains are available to you, you can easily access the domains by typing in ! .

New Count Parameter on the rand Function

The rand() function now takes a count parameter, which returns a list of random numbers where the length of the list is based on the specified count.

Optional Headers and Parameters for Integrations

You can now configure integrations to not send query parameters or HTTP headers with null or empty values. This enables you to use a single integration object for endpoints with optional parameters or headers, rather than choosing between multiple integrations based on which values are null.

Modernized Designer Styling

Appian Designer now features an updated, contemporary color theme, and more consistent and legible navigation controls.

Mobile

Multitask With Other Mobile Apps On iPad

iPad users can now utilize multitasking mode, allowing you to view the Appian app side by side with other mobile apps. Want to refer to guidelines while completing an inspection? Simply use iOS gestures to open two apps in multitasking mode and see all your information in Split View. Received a task notification while browsing the web? Overlay the Appian app on top of your current app with Slide Over view, so it doesn't disrupt your experience.

View Task Counts in the Mobile App

Along with the mobile task list in Sites, you can now easily see your total assigned task count in both the slide out menu and top navigation bar. Note that task counts are only visible on sites with the 'Show Task List (Mobile Only)' configuration enabled.

Extending Appian

Formatted Test Output for Integrations built with the Integration SDK

In the last release, we made it easier to understand complicated built in integration results by formatting the outputs into a collapsible tree. In addition, we've added styling to better clarify between the data itself and the annotations describing the type and number of each field. In this release, we bring the same benefits to integrations built with the Integration SDK.

Dropdowns for Component Plug-in Design Experience

We want it to be as easy and quick for developers to use your components as it is to use the built in Appian ones. In this release, the Integration SDK allows developers to quickly configure component parameters using Dropdowns and Multiple-Dropdowns from the Design View, eliminating the need for Developers to navigate to Expression View to configure component parameters.

Administration

Change Usernames within Appian

Administrators now have the ability to change usernames directly within Appian! Previously, all username changes required a scheduled maintenance window and assistance from Appian Support. That entire process has now been updated and simplified. Individual user renames can now be done through the Administration Console, or bulk changes can be handled through a new Rename Users smart service and related expression function, a!renameUsers(). Best of all, renames now only take a few seconds!

Activate Maintenance Window

Need to deploy a large release or do some other application maintenance without users being in the environment? Simply activate a maintenance window in the Administration Console and add a message to display to users on both web and mobile. Everyone except administrators will be logged out immediately, so that you can proceed undisturbed!

Sign-out Deactivated Users

Previously, when you deactivated a user, that user was prevented from logging in again but was not logged out of any active sessions they had at the time. This was because we didn't want people to unexpectedly lose work that might have been in-flight.

However, we've gotten reports from you that this pattern is against what you expect: that when a user is deactivated they are immediately removed from the system and no longer able to take any action. And so we've updated our behavior to match this expectation. Now, when you deactivate a user, that user is signed out of all of their active sessions across all of their devices.

Manage Users from Appian Designer

Administrators can now manage users from the Users view in Appian Designer. This includes the options you're familiar with, such as creating, deactivating, and reactivating users. When you need to configure users while in the middle of building an application, it's conveniently there for you.

User Management Audit Log

Appian offers powerful user management capabilities that can be triggered manually, from process models, and by LDAP and SAML identity providers. With all of these different paths, it's important to track what changes are made to users' access and when they take effect. With the new user management log, customers can audit important changes to users' information and access to Appian.

Appian Cloud

Cloud Database Audit Log

An audit log containing all statements executed in the Appian Cloud database is now available in the System Logs to Database Administrators.

Additional log files in Log Streaming

Appian Cloud Log Streaming now supports additional logs for Web API, Cloud Database Utilization, Cloud Database Audit Logs, and Engine Status metrics. For more detail, please view the Log Streaming documentation.

Cloud Insights Availability

Cloud Insights is now available for all Appian Cloud customers. Cloud Insights is a service available to cloud customers that enables them to view key metrics and configuration information for their Appian Cloud environments via Appian Community.

For more information on this feature, please see the Cloud Insights documentation.

Latency Based Routing for Sites with Custom URLs

Appian Cloud now supports latency based routing for sites using custom URLs. These are customer owned URLs not within the appiancloud.com domain.

Latency Based Routing is a feature that helps serve static content (such as Appian product images, JavaScript libraries, and other Appian product static content files) to an end user from the geographic region available in Appian Cloud with the lowest latency.

This new feature allows for your Appian Cloud instances to take advantage of Latency Based Routing to provide the best experience for your user base across the world.

Customers with existing custom URLs have 1 year to make necessary changes to migrate to using Latency Based routing. Appian Technical Support will be communicating with existing customers via support cases concerning the migration.

Server Administration

Safely Restart Appian Engines without an Outage

Customers configured for High Availability can now safely restart their Appian engines while the site is live and serving traffic using the new Engine Restart Script.

G1 Garbage Collector

Appian now uses the G1 Java garbage collector. This garbage collector performs better on large heaps and leads to shorter system pauses during garbage collection. If you monitor the JVM heap usage, you will see a different pattern after upgrading as the thresholds for when garbage collection occurs and what data is collected has changed.

Resolved Issues

AN-154315 - Medium

Interfaces containing nested rules with nested columns layouts no longer extend outside their selection box in Interface Designer live view.

AN-99323 - Low

Fixes certain cases of users receiving "System has encountered an error" message.

AN-134900 - Low

Fixes an issue where long names in the related action menu were trimmed.

AN-136032 - Low

Fixes an issue where pie chart labels in the lower left corner were not rendering.

AN-108708 - Low

Rich text links now respect specified colors.

AN-148211 - Low

Checkboxes are now visible on IE11 in Microsoft high contrast mode. This was not an issue on any other browser.

AN-145718 - Low

Billboard overlays no longer show an error when their visibility is set to false.

AN-146388 - Low

Tooltips in narrow grid columns now render correctly.

AN-142877 - Low

Reduced memory overhead of certain components and designer interfaces, which could previously cause heap issues.

Removals

Disk Usage Metrics Log

The Disk Usage Metrics log has been removed. Previously, this log would record the amount of disk space consumed by logs, process model definitions, search indexes, and documents on a 12 hour cadence. For sites that had large numbers of these items, the size calculation could lead to intermittent performance issues.

Behavior Changes

Gateway Node Instance Limit

Appian has a limit on the number of times a process node may execute. However, this limit was not applied to gateway nodes (AND, COMPLEX, OR, and XOR). This meant that a mistake in process design could result in an infinitely executing loop, which could lead to a potentially large increase in the amount of memory used by that process. Now gateway nodes will pause by exception when they reach 100,000 executions, preventing accidental infinite loops.

Count Parameter Limit for the rand Function

The previously-unsupported count parameter in the function fn!rand() now has a maximum value of 1,000,000.

Optimization of Literal Function Invocations