You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

The DCM Lists application receives updates from the case engine when cases or tasks are updated. If you start using the DCM Lists application and you already have a database with cases and tasks, you want these cases and tasks to show up in the lists, regardless if they are updated or not. To achieve this, you can use the initial indexing API.

Initial indexing API for DCM Lists

This endpoint publishes all cases and tasks as events to the DCM Lists application, via a queue. This endpoint needs to be enabled in configuration using the following property in the application-dcm-lists-publisher.properties of the case-engine:

blueriq.dcm.lists-publisher.indexing.enabled=true

Note

It's important that you run this endpoint when the Blueriq Runtime is not in active use!


REST Call

 POST http://[host]:[port]/[case-engine_name]/server/caseengine/maintenance/index

Execution may take quite some time, depending on the number of cases. The progress of the indexing will be written to the log file on INFO level.

Preconditions

  1. No other users should use the runtime
  2. The Blueriq DCM Lists Service should be running and configured properly
  3. The property blueriq.dcm.lists-publisher.indexing.enabled  should be set to true.
  4. The endpoint uses the same authentication as other components in the Case Engine, see Blueriq Case Engine
  5. This endpoint is designed to be used only once.
    1. If the indexing fails, you can use this endpoint again if you empty the cases and tasks collections in MongoDB.
  6. The application ID that is stored with each case should resolve to a valid Blueriq project, according to the algorithm that is explained in the section about Migration API. If no project exists or if the project is not valid, the case and its tasks will be skipped.


Emptying collections and collation

When you manually drop the cases and task collections in MongoDB and then have Mongo create the collections automatically (this happens when you insert something in the collection), the collation of these automatically created collections is set to default. This has the effect that searches in the DCM Lists service are not case-insensitive anymore. That is why we advise to empty the collections instead of dropping them. If you still need to drop the collections, re-create them with the correct collation using one of the following steps:

  • After the collections are dropped, restart the DCM Lists application. The DCM Lists application will create the collections with the correct collation when they do not exist at startup
  • When the collections are dropped, manually re-create the collections with the correct collation:

The correct collation is

Collation
collation: { locale: <your locale>, strength: 2 } }

For more information on collations, please refer to the documentation of MongoDB.

  • No labels