Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In our example of asynchronous full-text indexing, the API-gateway service is responsible for evaluating the system hook. To apply the configuration, the API-gateway service must be restarted after saving the configuration file. Messages will then be send to the messaging system (question) haben wir hier was zur Installation for the import of compound documents.

Types of AMQP

...

Hooks

...

...

Please exchange the previous denomination (object.insert.document) by the current denomination (dms.response.insert). The old denomination will not be supported in yuuvis® Momentum 2.4 anymore.

...

1) reaction to every object creation:
spel:true

2) reaction to every object creation having a content range attribute:
spel:contentStreams[0]['range'].length() > 0

3) reaction to every object creation without content:
spel:options['action']=100

...

Code Block
languageyml
{
    "objects": [      
        {
            "properties": {
                "system:objectId": {
                    "value": "333c226c-3a44-5e66-7777-8d999a0000e1"
                },
                "system:baseTypeId": {
                    "value": "system:document"
                },
                "system:objectTypeId": {
                    "value": "document"
                },
                "system:createdBy": {
                    "value": "111c226c-3a44-5e66-7777-8d999a0000e1"
                },
                "system:creationDate": {
                    "value": "2020-09-16T16:57:40.780Z"
                },
                "system:lastModifiedBy": {
                    "value": "111c226c-3a44-5e66-7777-8d999a0000e5"
                },
                "system:lastModificationDate": {
                    "value": "2020-09-16T16:57:40.780Z"
                },
                "system:versionNumber": {
                    "value": 1
                },
                "system:tenant": {
                    "value": "default"
                },
                "system:traceId": {
                    "value": "1234567887654321"
                },
                "Name": {
                    "value": "test.eml"
                }
            },
            "contentStreams": [
                {
                    "contentStreamId": "0AB98765-CDEF-4321-ABCD-098EF76AB543",
                    "archivePath": "default/DOCUMENT/32/15/7/",
                    "length": 82683,
                    "mimeType": "message/rfc822",
                    "fileName": "test.eml",
                    "digest": "12345678123456781234567812345678123456781234567812345678",
                    "range": "1234-12345,123456-123458,123489-234567,245678-345678",
                    "repositoryId": "repo252"
                }
            ],

           "options": {
             "action": 101,
             "detail": "OBJECT_CREATED_WITH_CONTENT"

           }       

        }
    ]
}

dms.response.update

...

1) reaction to every object update:
spel:true

2) reaction to every tag creation:
spel:options['action']==110

3) reaction to every tag deletion:
spel:options['action']==210

4) reaction to every metadata update:
spel:options['action']==300

5) reaction to every content update:
spel:options['action']==301

...

Code Block
languageyml
Dem Objekt wurde ein Tag 'ocr' hinzugefügt. Unter options ist im Attribut "previousVersion" das Dokument vor der Änderung bereitgestellt.


    "objects": [      
        {
            "properties": {
                "system:objectId": {
                    "value": "333c226c-3a44-5e66-7777-8d999a0000e1"
                },
                "system:baseTypeId": {
                    "value": "system:document"
                },
                "system:objectTypeId": {
                    "value": "document"
                },
                "system:createdBy": {
                    "value": "111c226c-3a44-5e66-7777-8d999a0000e1"
                },
                "system:creationDate": {
                    "value": "2020-09-16T16:57:40.780Z"
                },
                "system:lastModifiedBy": {
                    "value": "111c226c-3a44-5e66-7777-8d999a0000e5"
                },
                "system:lastModificationDate": {
                    "value": "2020-09-16T16:57:40.780Z"
                },
                "system:versionNumber": {
                    "value": 1
                },
                "system:tenant": {
                    "value": "default"
                },
                "system:traceId": {
                    "value": "e686f806ed44f37d"
                },
                "Name": {
                    "value": "test.eml"
                },
                "system:tags": {
                    "value": [["ocr", 1, "2020-09-16T16:57:40.780Z", "ce03f1c20308d77d" ]]
                }
            },
            "contentStreams": [
                {
                    "contentStreamId": "1D2AD7BA-F82B-11EA-A5EA-7FE7FFB009F6",
                    "archivePath": "default/DOCUMENT/32/15/7/",
                    "length": 82683,
                    "mimeType": "message/rfc822",
                    "fileName": "test.eml",
                    "digest": "12345678123456781234567812345678123456781234567812345678,
                    "range": "1234-12345,123456-123458,123489-234567,245678-345678",
                    "repositoryId": "repo252"
                }
            ],

           "options": {
             "action": 110,
             "detail": "OBJECT_TAG_CREATED",
             "previousVersion" :

{
            "properties": {
                "system:objectId": {
                    "value": "2b7a3b0a-3038-433e-96bd-493d7702b510"
                },
                "system:baseTypeId": {
                    "value": "system:document"
                },
                "system:objectTypeId": {
                    "value": "document"
                },
                "system:createdBy": {
                    "value": "275c826c-6a61-4e89-9512-8d935a1631e5"
                },
                "system:creationDate": {
                    "value": "2020-09-16T16:57:40.780Z"
                },
                "system:lastModifiedBy": {
                    "value": "111c226c-3a44-5e66-7777-8d999a0000e5"
                },
                "system:lastModificationDate": {
                    "value": "2020-09-16T16:57:40.780Z"
                },
                "system:versionNumber": {
                    "value": 1
                },
                "system:tenant": {
                    "value": "default"
                },
                "system:traceId": {
                    "value": "1234567887654321"
                },
                "Name": {
                    "value": "test.eml"
                }
            },
            "contentStreams": [
                {
                    "contentStreamId": "0AB98765-CDEF-4321-ABCD-098EF76AB543",
                    "archivePath": "default/DOCUMENT/D2/AD/7/",
                    "length": 82683,
                    "mimeType": "message/rfc822",
                    "fileName": "test.eml",
                    "digest": "12345678123456781234567812345678123456781234567812345678",
                    "range": "1234-12345,123456-123458,123489-234567,245678-345678",
                    "repositoryId": "repo252"
                }
            ]

  }
   

           }       

        }
    ]
}

dms.response.delete

...

1) reaction to every object deletion:
spel:true

2) reaction to every object deletion of type document:
spel:properties['system:objectTypeId']['value']=='document'

3) reaction to every failed deletion of objects that were flagged for deletion:
spel:options['action']==202

...

languageyml

...

Summary

In this article, we gave an introduction to AMQP Hooks, covered the configuration using the example of asynchronous full text indexing and provide a list of all AMQP Hooks available. Check out Webhooks which are the second type of System Hooks in yuuvis® Momentum.

...