Skip to content
Snippets Groups Projects
Commit 2fb27e55 authored by Pascal Neub's avatar Pascal Neub Committed by Sebastian Pongratz
Browse files

duplicate documentation

parent 4e3efbcd
No related branches found
No related tags found
No related merge requests found
Showing
with 100 additions and 6 deletions
......@@ -3,6 +3,7 @@
<name>DuplicateOrganisation_entity</name>
<title>Duplicate</title>
<majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/entity/DuplicateOrganisation_entity/documentation.adoc</documentation>
<grantCreate v="false" />
<grantUpdate v="false" />
<grantDelete v="false" />
......
= DuplicateOrganisation_entity
== Overview
Shows the duplicates of a record.
The views are only referenced in the OrganisationMain_view.
This entity is used to show all duplicates of an organisation, merge duplicates to one record and to ignore duplicates.
==== Actions
* ignoreDuplicates: The selected record is marked as no duplicate.
* mergeselectedintocurrent: The selected record will be merged into the current opened one.
* mergecurrentintoselected: Same behavior as with the mergeselectedintocurrent action only the other way.
== AID
More information on duplicates can be found in the AID60 or in the documentation of the DuplicateScanner_entity
\ No newline at end of file
......@@ -3,6 +3,7 @@
<name>DuplicatePerson_entity</name>
<title>Duplicate</title>
<majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/entity/DuplicatePerson_entity/documentation.adoc</documentation>
<grantCreate v="false" />
<grantUpdate v="false" />
<grantDelete v="false" />
......
= DuplicateOrganisation_entity
== Overview
Shows the duplicates of a record.
The views are only referenced in the PersonMain_view.
This entity is used to show all duplicates of a person, merge duplicates to one record and to ignore duplicates.
==== Actions
* ignoreDuplicates: The selected record is marked as no duplicate.
* mergeselectedintocurrent: The selected record will be merged into the current opened one.
* mergecurrentintoselected: Same behavior as with the mergeselectedintocurrent action only the other way.
== AID
More information on duplicates can be found in the AID60 or in the documentation of the DuplicateScanner_entity
......@@ -97,7 +97,6 @@
<name>DBRecordContainer</name>
<onDBInsert>%aditoprj%/entity/DuplicateScanner_entity/recordcontainers/dbrecordcontainer/onDBInsert.js</onDBInsert>
<onDBUpdate>%aditoprj%/entity/DuplicateScanner_entity/recordcontainers/dbrecordcontainer/onDBUpdate.js</onDBUpdate>
<onDBDelete>%aditoprj%/entity/DuplicateScanner_entity/recordcontainers/dbrecordcontainer/onDBDelete.js</onDBDelete>
<alias>Data_alias</alias>
<recordFieldMappings>
<dbRecordFieldMapping>
......
=DuplicateScanner_entity
= DuplicateScanner_entity
A "DuplicateScanner" is a definition
- WHICH objects may be searched for duplicates
- and HOW these are searched
== Overview
The duplicate scanner is the configuration for duplicate recognition.
It defines WHICH objects may be searched for duplicates and HOW these are searched.
Speaking of this, the duplicate scanner is the configuration for duplicate recognition.
== Technical details
The filter is a field with contentType: FILTER_TREE which is loaded in the onInsert/onUpdate of the db recordcontainer.
All records in the DuplicateScanner cannot be deleted/created
and should be created via liquibase scripts, during the implementation of the duplicates for a new entity. Note that, the provider and the entity must be set in the filter.
The field EXTERNAL_SERVICE_USAGE_ALLOWED is deprecated and is not used in the implementation as of 06 May 2021.
The field FILTER_NAME is only used as displayName in the UI and is irrelevant for the duplicate search.
SCAN_PATTERN defines the filter. Note that, the provider of the ENTITY_TO_SCAN_NAME must use an index recordContainer.
ID_FIELD_NAME the uid field for the duplicate search. Note that currently, it must be the uid field of the entity.
==== Actions
* rebuild: rebuilds all duplicates see rebuildDuplicates_serverProcess.
* viewDuplicates: opens the target entity with default duplicate filter.
== AID
Further information and how to implement custom duplicate functionality can be found in AID60 Duplicates
......@@ -2,6 +2,7 @@
<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.2">
<name>DuplicateMerge_lib</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/process/DuplicateMerge_lib/documentation.adoc</documentation>
<process>%aditoprj%/process/DuplicateMerge_lib/process.js</process>
<variants>
<element>LIBRARY</element>
......
= DuplicateMerge_lib
Provides functionalities for merging 2 datasets. Currently implemented for Person and Organisation.
This lib is, among other things, able to create activities for the merge and to update the duplicates for the merged datasets.
......@@ -2,6 +2,7 @@
<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.2">
<name>DuplicateScanner_lib</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/process/DuplicateScanner_lib/documentation.adoc</documentation>
<process>%aditoprj%/process/DuplicateScanner_lib/process.js</process>
<alias>Data_alias</alias>
<variants>
......
= DuplicateScanner_lib
Provides a utility function for reading scan patterns (getScannerByEntity).
Provides functions to create duplicate filterExtensions (getDuplicateConditionalListSql).
Provides functions to manage ignored duplicates (filterIgnored, updateIgnored).
Provides functions to search for ignored duplicates.
The base function is DuplicateScannerUtils.getDuplicateIds. The other helper functions are
DuplicateScannerUtils.getDuplicateIdsByEntityScanner and DuplicateScannerUtils.getDuplicateIdsByEntityObj.
both call the base function but simplify the call for the 2 usecases:
* get all duplicateids of a dataset by entity and uid: getDuplicateIdsByEntityScanner
* get all duplicateids of a dataset based on the entity and the variable (if the dataset has not been saved yet).
......@@ -2,6 +2,7 @@
<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.2">
<name>IndexSearch_lib</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/process/IndexSearch_lib/documentation.adoc</documentation>
<process>%aditoprj%/process/IndexSearch_lib/process.js</process>
<variants>
<element>LIBRARY</element>
......
= IndexSearch_lib
Provides functionality to generate a adito-solr indexquery
= rebuildDuplicate_serverProcess
== Overview
Manages the asynchronous server-side recalculation of all duplicates of an entity.
This process should only be necessary initially and possibly during data imports.
== Technical Details
Currently the process is called in the rebuild action of the DuplicateScanner_entity.
The batchsize of the process (how many data sets should be loaded at once)
can be determined by the preference custom.duplicates.dataBlockSize.
The default value is 5000.
......@@ -5,6 +5,7 @@
This process can only be executed within the client.
The action (Rebuild selected entries) can be found in the administration context "Duplicate Configuration".</description>
<majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/process/rebuildDuplicates_serverProcess/documentation.adoc</documentation>
<process>%aditoprj%/process/rebuildDuplicates_serverProcess/process.js</process>
<alias>Data_alias</alias>
<variants>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment