Files
richard-churchman 5f6bbe45f7 A major refactoring of the software to make model IDs less volatile between Import, Export, and Peek (comparison) of the model configuration environment. As part of the extensive refactor, most tables have been updated to include a GUID field, which is consistent across Import, irrespective of the IDs remaining volatile. The consistent GUID allows for the separation of production (i.e., Case, Transaction, and Counter data), Redis cache data and quasi-production data(i.e, Lists, Suppressions, and Dictionaries) from the configuration environment. Significant rework of Controllers, Repositories and POCOs to support GUID as an access path rather than ID.
Major bug fixes relating to the Redis implementation in Reprocessing and Search Key Cache were identified and fixed as part of the rekeying development.

Included functionality to stop the Exhaustive training.  Fixed the Unsupervised learning functionality in Exhaustive Training.  Embedded the Mock Data CSV data into a class to make it compatible with Docker without needing to modify the Dockerfile (i.e, build).  Included a new table that stores training data to enhance support capabilities for Exhaustive.

Reintroduced and validated the Multitenancy functionality.

Postgres is now fully deprecated in place of Redis for cache, and all implementations of the Interfaces for Postgres have been removed.  No migrations exist to support this deprecation, and Postgres as a cache is now wholly unsupported.  Removed the Indexing background thread,  as Redis does not require it, given that it is a key-value pair database.

Created a RedisCommandFlag Environment Variable to support Fire and Forget write to Redis in Invocation.

Implemented functionality to Export, Peek and Download configuration environments using a secure, encrypted scheme.  Created a permission to access the functionality via the user interface.  Extensive database-based logging is included to provide for a comprehensive audit.  Created functionality to Import the encrypted Export file inside a database transaction to ensure consistency.

As Docker is now the primary deployment model, log4net instantiation has been moved to an approach that primarily uses programmatic instantiation of the ConsoleLogger and RollingFileAppender given Environment Variables. Implemented functionality to support remote \ mounted Log4Net XML Serialisation files for more advanced log4net configurations.

Reintroduced access to counters via the user interface and created a permission.

Took the opportunity to implement ReSharper linter suggestions.

Disabled the Lock button across the whole application, with that functionality being reserved for future use. It is intended that locking happens programmatically on the basis of dependencies in future commits.

Fixed several significant end-use bugs which became apparent during testing of the refactored code relating to case management and visualisations.  Fixed certain other minor bugs that came up during testing.

Brought documentation up to date for this commit.

Brought the Docker Compose file up to date for this commit.

Removed Redundant Environment Variables for this commit.

Made the README file less verbose and unnecessary.
2025-08-13 19:01:08 +03:00

3.9 KiB

layout, title, nav_order, parent, grand_parent
layout title nav_order parent grand_parent
default Case Workflow Display 8 Case Management Configuration

🚀Speed up implementation with hands-on, face-to-face training from the developer.

Case Workflow Display

Upon the creation of a case the payload that caused the creation is stored alongside the case record. Upon navigation to the case creation record in the case page, the record is of course displayed in the default view whereby data is extracted and colored from the payload record using the Cases Workflows Xpath functionality. It is a key value table.

From the Cases page, the default display can be seen as follows:

Image

The Cases Workflow XPath functionality provides some capability to format cells but it is quite limited and the amount of information can be overwhelming in the case of very large payloads. Cases Workflow Displays provide a means to create a custom display based on arranging tokens in HTML fragments. A Cases Workflow Display allows a narrower and emphasised display as compared with the default.

Start by navigating to Models >> Cases Workflows >> Cases Workflow Displays:

Image

Click on a Cases Workflow in second level of tree to expose the add case display configuration:

Image

The form looks almost identical to the Cases Workflow Form configuration, with the only difference being that the Display HTML is intended for display HTML and not form elements. Furthermore, the Cases Workflow Display supports tokenization that will swap tokens for the values that have been extracted by the Cases Workflow XPath. In this example the AmountUSD has been specified as a Cases Workflow XPath. The tokenization takes the same form as is expected in the Notification functionality, with the name being flanked by the [@ and @] characters. Upon rendering of the Cases Workflow Display, the tokens will be extracted and replaced with their actual values as extracted by the Cases Workflow XPath.

The form takes the following properties:

Value Description Example
Display HTML HTML display Elements for the purposes of data capture. The HTML display elements will be embedded in a HTML div on rendering, hence, it will support all HTML. Tokens [@ @] can be used to replace the token placeholder with the value name having being extracted in cases workflows xpath. As below for clarity.
<p style="color:blue;font-size:30px;">Another Colour and Format.  The AmountUSD is [@AmountUSD@]</p>

Complete the form as above and below example:

Image

Notice that the HTML display has been rendered, yet not tokenized with data.

Click the Add button to create a version of the Cases Workflows Display:

Image

Navigate a the case record:

Image

Notice the creation of a new entry in the displays list item on the left hand side:

Image

Click on the newly created display to expose tokenized display:

Image

The display has been rendered in exactly the same manner as the configuration, with the token being swapped for the actual value on case creation.