You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

To get started with DCM in a Blueriq context, an example project has been made to get a head start. This model is a basic DCM application that contains all necessary elements to start your DCM project on. The models can be found at the accelerator page on my.blueriq.com.

The Foundation versions are using the Case-Engine, and there are split two versions: one with and one without DCM-Dashboarding.The version without DCM-Dashboarding relies on project-widgets, flow-widgets and the DCM_ExecuteTask service for nesting Blueriq contexts. The new version uses DCM-Dashboarding to connect Blueriq contexts and start user-tasks, which is also the future state of DCM-Modelling.

For the remainder of this article, we assume the DCM Foundation version including DCM-Dashboarding (DCM Foundation - Case Modelling and Dashboarding (v7)).

DCM-Foundation project structure

The DCM-Foundation consists of the following projects, dashboards and internal libraries:

External Libraries + Internal Library: BlueriqDocumentModelling

The external libraries are imported from the BlueriqCompleteLibraries package, and are necessary for modelling the basic interaction with the Blueriq Runtime.

Internal Library: Globals

The Globals library contain process-types (globals) which can be similar for all Case-Types, and are used in the process module for each Case-Type.

Internal Libary: Basis_ZaakMetadata

This internal library shares the "ZaakMetadata" or Case Metadata definition. This is an aggregate definition where the properties are stored which are relevant for various Case-Types. This definition could hold attributes like "Phase", "Status" or "Deadlines". This is modelled in the form of an aggregate definition. In all interaction models, this definition can be used to either determine the values of this metadata field for the specific case, or to use the metadata "labels" for searching on active cases (DCM_CaseSearch) or requesting lists (for example the DCM_WorkList or DCM_CaseList).

Dashboards: Foundation

This is the model used in the DCM-Dashoard application. There is one dashboard model for all Case-Types (with possibly different pages for each Case-Type).

At this moment, there is no way to actively reload this model from Encore to the Dashboarding Service. Make sure when altered, to update the export on the server and restart the DCM-Dashboarding-service.

Project Main_Dashboard

Main_Dashboard exists for all user-interaction that is not bound to a single Case-Type. Widgets for Caselists, and selecting the start of a new CaseType are modelled in this project. It uses the Metadata to retrieve and filter on generic properties of Case-Types.

Project ZaakType_A

This is the implementation of a Case-Type. It uses all that is needed to model the user interaction with a case, and also the case properties itself. It uses the Basis_ZaakMetadata library to set all necessary metadata fields for this Case-Type, and also uses the interaction libraries from the BlueriqCompleteLibraries.

Using the Foundation in different repositories

To make sharing easier, all projects are maintained in a single repository. For demo purposes it is convenient to just keep every model in one repository. When you start using the DCM Foundation to actually create your solution, please consider how the models should be maintained. You could start by splitting the projects into two repositories:

  • DCM-Main_Dashboard containing all models which are deployed once for all Case-Types. This repository could consist of the Main_Dashboard project, the Dashboards project (there is one dashboard for all Case-Types), Globals libary and Basis_ZaakMetadata internal library.
  • Case-Type_XXX containing an actual Case-Type. This model includes the Case-Type itself, and the Basis_ZaakMetadata as an external library. Together with an include of the Globals (external) library. You could duplicate this repository for each new Case-Type that needs to be added.
  • No labels