Apex Designer: New Applications, Features, Libraries and Patterns

Photo by Kyle Johnson / Unsplash

Building a platform like Apex Designer is like climbing a mountain - progress with each step seems impossibly small, but occasionally you pause and look back to see you have come a surprisingly long way. Consider this post a retrospective of the highlights of the past ~12 months.

New Applications

Apex Designer continues to be a fast and flexible way to build applications. Some examples of the applications we have built with and for our clients recently include:

  1. Unemployment Claims Adjudication Workflow: Leverages configurable flows, forms and PDF templates to manage the adjudication of unemployment claims.
  2. Reverse mortgage partner portal: Partner portal for the submission and monitoring of loan applications including CRM integration, MISMO ingestion and synchronization with the loan origination system.
  3. HUD Assignment: Process based application to gather and validate documents and prepare submission packages for HUD.
  4. Web Based Adjustments: Application to ingest client financial data and prepare statutory and tax adjustments.
  5. Commercial and Retail Loan Application: SaaS platform for small institutions to prepare compliant commercial and retail loan applications and associated documents.

New Libraries

Libraries provide an easy way to re-use existing functionality from one application to another in Apex Designer. Libraries range from a thin wrapper around an NPM package, to a full-feature capability. The newest libraries added to our collection include:

  1. Configurable section library: User-configurable sections that present information in the application user interface with application-defined fields, conditional logic, and responsive layout.
  2. Flow Library: User-configurable flows and associated execution engine covering synchronous and asynchronous flows with application-defined activity types.
  3. Forms Library: User-configurable forms with application-defined fields, conditional logic, and nested forms.
  4. PDF Template Library: User-configurable PDF templates and generation engine with parametrization, conditional/repeat logic and application-generated chunks.
  5. PDF Viewer Library: In-page PDF rendering with progressive page rendering, selection and highlighting of segments.
  6. Calculation Library: Numerical calculation engine with configurable extractions, transformations, and calculation sheets.
  7. Microsoft Azure Authentication Library: MS Azure implementation of the patterns in the Auth0 and Cognito authentication libraries.
  8. Azure Key Vault Library: Used to retrieve database and service credentials from an Azure Key Vault.

New Patterns

A pattern describes a way to approach a specific, well-defined aspect of a solution, so that the concept can be re-used instead of re-invented.

Apex Designer users can leverage existing patterns to increase development productivity and improve the features and quality of their apps. The new patterns developed in the past year include:

  1. Microsoft App Insights Integration: Including debug log management, tracing requests through logic and dependencies, and recording app events including exceptions.
  2. Real-time cross-pod event streaming: Real-time event communication between multiple pods of an application.
  3. Path based routing in Kubernetes: Dynamic adjustment of Angular base href and API paths to support deploying an app on a path (vs subdomain) for tenant-specific instances and/or parallel execution of multiple versions.
  4. HubSpot Integration: Synchronizing companies and contacts from HubSpot using webhook-based integration. Used to maintain a single source of truth for authorization.
  5. Next generation export/import mixin: Export/import mixin that handles highly interconnected data structures with dynamic resolution of references during import.
  6. Automatic change history tracking mixin: Tracks create, update, and delete operations for the primary object and a set of related objects.
  7. Next generation versioned content mixin: Manages versioning, locking and publishing of complex data structures.
  8. Queue Management: Pattern for consistent execution of scheduled or event-based logic including throttling and load balancing across nodes.
  9. Streaming queries for large data download: Specialized endpoints for streaming large result sets or objects from the server to the client to avoid timeouts.
  10. Camunda 7 Combined Process and Business Data Queries: Real-time mirroring of process engine data in the app database for high performance task queries with simple joins to application data.
  11. Detect and prevent conflicting edits: Automatically detect out of order and conflicting patch / delete operations from multiple clients.
  12. Configurable ingestion and extraction of excel files: Upload of unstructured Excel files with interactive selection of information to extract into application data.
  13. Configurable mapping of app data to Acrobat form fields: Upload existing Acrobat forms and interactively define mappings from application data to the fields.
  14. Automated Deployment of Tenant Specific Instances in Kubernetes: On demand deployment of tenant-specific deployment including managed upgrades and scale to zero.
  15. Monaco Expression Editing: Leverage the Monaco editor (from VS Code) to provide autocompletes, formatting and syntax checking for configurable expressions and logic.
  16. Jsonata Template Editor: Pages and components to provide editing, syntax checking, formatting and testing of configuration Jsonata templates.
  17. Access Control Mixins: Control access and inherit access mixins that implement row-level security using inherited client ids or tenant ids.

New Features

Apex Designer is built with... Apex Designer. As such, new features are added by and for our developers, as well as for our customers. Our team committed over 150 versions, including many fixes and new features, including:

  1. Branch/Merge improvement including history tracking on individual artifacts
  2. Camunda integration improvements including processes diagram, process instance UIs and Camunda 8 integration
  3. Automated testing improvements including focus management, test coverage indicators, and library refinements
  4. Numerous incremental editing changes including save/generate hotkeys, find/replace on UI page, and improvements to cross-project copy/paste
  5. Code generation performance improvements

Conclusions

Looking back down the mountain, we have climbed a long way, but as we look to the summit, there is still much further to climb. Watch this space for more updates on our progress.

In the meantime, why not try Apex Designer yourself? If you are interested in working with Apex, you can contact us here.

Nick Laughton

Nick Laughton