Files
jube-fork/docs/Configuration/Models/Lists/index.md
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.8 KiB

layout, title, nav_order, parent, grand_parent
layout title nav_order parent grand_parent
default Lists 5 Models Configuration

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

Lists

The Lists Page facilitates the creation of lists of data that can be referenced as an operator in all rules in the models. For example, the Lists page can be used to maintain a list of bad customer account identifiers that can be referenced using the Builder or Coder.

Lists might for example be used to maintain large Deny and Accept lists, without having to embed large amounts of complexity into rules, instead embedding only the list reference.

Lists are synchronised by the engine in the background constantly, and they do not require an explicit synchronisation. It follows that any new list value is available more of less straight away.

The page is available by navigating to the menu item Lists, in the main page. The positioning of the List navigation is in the main section, even though it is in fact part of models, for the purposes of delegating this otherwise administrative function to customer service orientated roles:

Image

Click as customary to expose a model tree which takes a similar form as other model administration objects:

Image

To create a list, click on the Model in the tree towards the left hand side:

Image

Creating a List by the name Bad Customers:

Image

Click the Add button to confirm creation of the List:

Image

The List values are maintained using a grid facilitating the addition, updating and removal of List Values:

Image

To add a value to the list, a button is implemented titled 'Add Value':

Image

Clicking the Add button will overlay a form and create a new entry in the grid:

Image

To commit the new value, click on the tick icon:

Image

Or to cancel the creation of the Value click the opposing icon:

Image

Include the value as follows in the input box:

Image

To update a List Value, click on the pen icon for the list value to be updated. Upon clicking the Pen icon:

Image

A form with a text box will be overlay:

Image

Update the text box with the new value:

Image

Commit by clicking on the Tick icon:

Image

Or to cancel the edit of the Value click the opposing icon:

Image

Upon the successful commit of the Value, it will appear updated in the List control:

Image

To delete a List value entry, it is a simple matter of clicking on the Disk Icon next to the List Value targeted for deletion:

Image

A confirmation of the delete will be sought:

Image

Upon confirming the delete, it will be removed from the list of values:

Image

It is also possible to upload a list of values by uploading a CSV file of the following structure:

Image

Note there is no column header in the above file and structure. The control to upload a file is the button Select Files:

Image

Either drag the file to the area shown above, or click the button titled Select files, navigating to the file:

Image

Clicking Open, which will happen implicitly if the file has been dragged and dropped, will both upload the file and process, adding each row as a new list entry:

Image

The list and its values will now be available to rules, for example:

Image