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:
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.
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.
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.
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.
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 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:
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
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.
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.
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).