Project Toolkit

Overview

This toolkit is a result of years of project experience, with each expression rule or constant representing a distinct piece of functionality that proved to be a common requirement across multiple projects.

Some aspects of the Project Toolkit rely upon the Regular Expression Functions plugin, so to get the most out of the toolkit you’ll need to add that to your deployment; don’t worry – it's cloud approved and very quick to deploy. The Regular Expression Functions plugin can be found here: https://community.appian.com/b/appmarket/posts/regular-expression-functions

Need a version of the toolkit for an older environment? This toolkit was exported from Appian 23.3, but the toolkit will work across many different versions - even those older than 18.x! Contact us and we may well be able to provide a version to suit your environment.

Found a bug or limitation, or have a suggestion? Let us know! You can email either phil.bye@roboyo.co.uk or neil.coppin@roboyo.co.uk.

Key Features & Functionality

  • Task assignee formatting
  • JSON date conversion
  • Recursive index functionality
  • Retrieve CDT field names
  • Sort base types
  • Update CDT or dictionary fields
  • Common regular expressions
  • Common date and time formats
  • Many other useful utility expressions

Anonymous
  • v3.1.0 Release Notes
    • New rules
    • PRO_TK_UrlEncodeString - Encodes a string for use in a URL, replacing non-ASCII or disallowed characters (such as spaces or double quotes) with compatible characters (such as %20 or %22).
    • PRO_TK_FindLastOccurenceOfCharacterInString - Returns the position of the last occurrence of a given character in a string, or zero if it does not occur.
    • PRO_TK_GetFieldValueDifference - Returns an array of map containing the differences between two Dictionaries, Maps, CDTs, or Records.
    • PRO_TK_GetUniqueArrayItems - Returns the unique items from an array or arrays. Similar to (and uses) fn!union, but can handle multiple arrays at once.
    • Fixes
    • Minor fix to a test case that could prevent the toolkit from being imported

    Notes
    When this version of the toolkit is deployed to an environment where an older version of the toolkit already exists, it may be necessary to run the deployment twice as the first deployment may show import errors. This is because the renaming of some existing expressions may result in a number of circular dependencies that need to be resolved

  • v3.1.0 Release Notes
    • New rules
    • PRO_TK_UrlEncodeString - Encodes a string for use in a URL, replacing non-ASCII or disallowed characters (such as spaces or double quotes) with compatible characters (such as %20 or %22).
    • PRO_TK_FindLastOccurenceOfCharacterInString - Returns the position of the last occurrence of a given character in a string, or zero if it does not occur.
    • PRO_TK_GetFieldValueDifference - Returns an array of map containing the differences between two Dictionaries, Maps, CDTs, or Records.
    • PRO_TK_GetUniqueArrayItems - Returns the unique items from an array or arrays. Similar to (and uses) fn!union, but can handle multiple arrays at once.

    Notes
    When this version of the toolkit is deployed to an environment where an older version of the toolkit already exists, it may be necessary to run the deployment twice as the first deployment may show import errors. This is because the renaming of some existing expressions may result in a number of circular dependencies that need to be resolved.

  • v2.4.1 Release Notes
    New rules:
    • PRO_TK_GetCurrentDateForUser - Returns a localised date for a given or the logged in user
    • PRO_TK_GetCurrentDateTimeForUser - Returns a localised dateTime for a given or the logged in user

    New date/datetime formatting constants:

    • PRO_TK_FORMAT_DATE_DD_MMMM_YYYY
    • PRO_TK_FORMAT_DATE_TIME_DD_MMMM_YYYY_HH_MM_AM_PM
    • PRO_TK_FORMAT_DATE_TIME_DD_MMMM_YYYY_HH_MM_SS_AM_PM
    • PRO_TK_FORMAT_DATE_TIME_DD_MMMM_YYYY_HH_MM_SS
    • PRO_TK_FORMAT_DATE_TIME_DD_MMMM_YYYY_HH_MM

    Bug fixes:

    • Fixed a bug that occurred in PRO_TK_GetCurrentDateForUser and PRO_TK_GetCurrentDateTimeForUser
  • v2.3.0 Release Notes
    • PRO_TK_RandomiseList - New rule for randomising the the order of lists of any type.
    • PRO_TK_IndexHelper - New rule to assist with use of PRO_TK_Index within older functions such as fn!reduce
    • PRO_TK_GenerateUniqueRandomNumberList - renamed to PRO_TK_GenerateUniqueRandomIndices to better describe the rule functionality
    • PRO_TK_RemoveNulls - Fixed a bug when handling certain types of empty inputs.
    • PRO_TK_IsValidInteger - fixed a typo in the description
    • PRO_TK_IsFalse - fixed a bug relating to the output type

  • v2.2.1 Release Notes
    • New rules - PRO_TK_IsTrue, PRO_TK_IsFalse and PRO_TK_IsNull - see the documentation for details
    • Deprecated PRO_TK_IsNull_v2_1_1 - replaced by PRO_TK_IsNull above
    • Fixed a bug in PRO_TK_ConvertAppianDateTimeToJsonDateTime caused by migration to the newer version of a!fromJson
    • Removed the User record from the application to prevent overwrites of User record versions