Frequently Reused Appian Components

Skills Covered

A key benefit of the Appian platform is that it allows you to create and store development and design objects so you can easily retrieve them for future use. A developer needs to consider reuse in the way a component is built. To enable effective reuse, a minimum of parameterization is required. While this will add a small amount of additional effort, it is easily outweighed by efficiency gains throughout the application development life cycle. The following five components are commonly found in Appian projects, and therefore make excellent candidates for reuse.

Skills Checklist:

  • Identify benefits to reusing Appian components and interfaces in development.
  • List three frequently reused Appian components.
  • Identify strategies to ensure proper handling of reusable components.

Queries

Data capture, storage and retrieval are key functions of any application. The storage and retrieval of data to and from the database is efficiently managed through query rules. The functionality supporting the retrieval or update of data to a database table is one of the most common parameterized expressions you will find in any application.

To create more reusable queries, first build a query object or query expression object that returns all columns for a given row. Then add all major columns as filters and configure the query to ignore empty filters, which is done by using a!logicalQueryExpression. Once the object is created, you can source local variables within interface or expression objects using the general query object with desired filter criteria.

Interface Components

Appian delivers out-of-the-box drag and drop functionality of countless components which allows you to create great user interfaces. However developers often take it a step further in fine-tuning layout to the specific needs of the end-users. These needs can relate to how data is graphically presented on-screen (e.g. branding, fonts, graphs, date formats) as well as how the data is manipulated before presented on screen (e.g. accumulation, permutation, classification). Both categories of fine-tuning, the interface components and business rules, once configured can be easily reused by making them available through a shared components application.

Business Rules

  • Validator rules (email, SLA, date, etc.)
  • Formatting (Dates, datetimes, SSN, etc.)

Interfaces

  • Section headers
  • Grids
  • Charts/Graphs

Steps to Create Reusable Section Header

  • Create interface object using stamps, icons, and multiple types of formatted rich text.
  • For each element that could be different from instance to the next (stamp, header value) replace the element’s value with a rule input.
  • In all interfaces that will use this section header, reference the object and enter the desired values for the parameterized elements in the rule inputs.

Steps to Create Reusable Email Validator

  • Create expression rule to check if myUsername@mydomain.com ends with ‘@mydomain.com’ and does not contain any special characters in the username.
  • Once the validation is accurate, remove any direct reference of myUsername@mydomain.com from the expression and replace it with a rule input named ri!email.
  • In all form objects that require this validation, simply reference the object and enter the desired value into the parameter input for ri!email.

AppMarket Applications

Appian offers a robust set of frameworks, support applications, utilities and third-party integrations designed to streamline application development. Examples include audit, comments, user and group management, metrics capture, and reporting.

Simply download the application from the AppMarket and import into your environment through the Admin Console. Once the application is uploaded, you are free to use the packaged objects anywhere in your application! For the full list of available applications and plug-ins, click here.

Internationalization

The Appian design and admin interfaces are available out-of-the-box in multiple languages. Applications developed as part of a project, along with their user interfaces, are built from scratch. Therefore, support for multiple languages is optional and depends on business requirements. Backend functionality, a multi-language framework, is set up once and shared across the Appian platform. As of version 23.4, applications use the Translation Set Object to enable multi-language support.

Make Applications Available in Multiple Languages

You may need to build an application that will be used by people speaking different languages. There are two levels of internationalization that need to be handled:

  • Platform level: This includes all base-product words, such as the names of the five tabs, numerical value, and date formats.
  • Application level: This includes all application-specific words, such as record names and field labels on an interface.

Platform Internationalization

Platform internationalization is handled in the Administration Console under the Internationalization tab. You can select the languages available to users and the primary locale of the site. Users will default to the primary language and can change their language to any enabled language through the settings. For details on how to enable additional languages for your site, see Internationalization Settings.

If multiple languages are enabled, users can switch the language in which they see the Appian interface. For instance, if Russian is enabled, users can display Appian in Russian or English. The following elements will be translated into different languages:

  • The five tabs and any base-product words in the Tempo interface, including:
    • Filters and actions in the News tab
    • Out-of-the-box filters in the Tasks tab
    • Summary, News, and Related Actions tabs in Records
    • Search filter on the Reports tab
    • Filters in the Actions tab
  • The Appian Designer, Designer Interface, and Administration Console out-of-the-box words will also appear in the user’s selected language. Note that most proper nouns or common abbreviations (Tempo, Appian, LDAP) will not be translated.
  • All out-of-the-box notifications will be sent to users in their selected locale.
  • Date and number formatting will be changed to reflect the user's selected locale.

Application Internationalization

Any displayed words that are application-specific can be internationalized as part of application development. Application internationalization is enabled through the Translation Set Object. This object is a collection of translation strings that you can use to translate user display text, such as headers and labels, in interfaces and expressions. It is possible to add translation strings in bulk by generating them directly from an interface, converting hard-coded labels into translation strings.

When all interfaces are included in the translation set, it can be exported in a spreadsheet format for professional translators to provide the values in all other locales, and imported back once it’s populated. Then, switch your user profile settings to a different language/locale to enable viewing your application in that language/locale.

Special Considerations for Implementation

  • If a language is not supported and available out-of-the-box within the Internationalization Settings of the platform environment at the Admin Console, Appian offers an Internationalization Application plugin and the Load Resource Bundle plugin on Appian AppMarket.
  • Object names cannot be internationalized, for example, Groups, Record Types, Knowledge Center, Documents, etc.
  • Object internal components with expression-backed labels can be internationalized, for example, Record List View User Filters, Process Model Display Names, etc.
  • Reference data coming from the database will require translation via the Load Resource Bundle plugin. Instead of storing reference data labels, save data keys that you can then use for translation in the database. The updated table structure needs to have a label defined for the same key for each language. Create a view for data retrieval and a non-nested CDT to write data. On interfaces, retrieve all reference data from the database in one read operation that you can then use to populate fields and selection lists.

By implementing these internationalization practices, you can ensure that your application is accessible and user-friendly for a global audience, meeting diverse language and locale requirements effectively.

Business Processes

A key architectural design principle in building Appian applications is to compartmentalize functional process steps. This is not only good for efficient system memory management, but also allows for reuse of repetitive business logic. To leverage a reusable process, simply add it to your business workflow as a subprocess within that process model.

Review and approval is a typical business process that can be applied to multiple areas. A frequently seen example occurs in loan origination processes within the banking industry. For some banks, different types of loans (eg. secured or unsecured) both go through the same or similar approvals. Through parameterization of the business process components the approval functionality can be efficiently reused across the platform.

Authentication

Many Appian customers configure their higher environments with SAML Single Sign-On (SSO) or LDAP configurations to leverage already existing identity providers. Authentication configurations are done at the platform level, meaning that it can be reused across all applications in a given environment with minimal additional configurations.

SAML and LDAP configuration is located in the Admin Console underneath Authentication. For more detailed instructions, see Configuring Multi-Factor Authentication (MFA).