Project

General

Custom queries

Profile

Project activity #29747

closed

Notification callbacks implementeren voor objecten

Added by Diego Mirandola 7 months ago. Updated 3 months ago.

Resolved
P4 Normal
Category:
-
Target version:
Start date:
24/10/2024
Due date:

Description

We willen graag dat de Objecten via de Default Objecten API worden aangemaakt en dat er een Callback Create Objecten binnenkomt in tezza Services door Open Notificaties zodat de Dossiers worden aangemaakt in de Juiste ObjectType Site.


Related issues 1 (0 open1 closed)

Related to Tezza - Project activity #30187: Callback: Objectrelatie verschijnt niet in Tezza na koppeling vanuit OpenZaakResolvedSabine Schoppers10/12/2024

Actions
Actions #3

Updated by Diego Mirandola 7 months ago

  • Status changed from In Progress to Ready in Dev
  • Assignee changed from Diego Mirandola to Bram Geerlings

Graag testen en codereviewen in branch feature/objecten-notification-callback/#29747

Merk op dat de volgende moet lokaal gedaan worden:

Voorbeeld create (POST) body

{
    "record": {
        "typeVersion": "1",
        "startAt": "2024-04-22",
        "data": {
            "omschrijving": "z new",
            "objectCode": "test oc last",
            "titel": "test titel" 
        },
        "geometry": {
            "type": "Point",
            "coordinates": [
                4.975615971971063,
                52.27262104686219
            ]
        }
    },
    "type": "http://objecttypen.local:8000/api/v1/objecttypes/936ed45f-ea34-44fb-abb7-a4ace08d2f40" 
}

Voorbeeld partial_update (PATCH) body

{
    "record": {
        "startAt": "2024-04-22",
        "data": {
            "omschrijving": "z patch!",
            "objectCode": "test oc",
            "titel": "test titel" 
        }
    }
}

Aandachtspunten bij code reviewen:
  • Ik heb twee callback scripts aangemaakt, een voor create en een voor partial_update en update. Deze zijn eigenlijk bijna dezelfde code. Ik heb ze apart gehouden om de lijst van scripts overzichtelijker te maken, maar misschien is het beter om deze samen te voegen.
  • Ik heb twee nieuwe methoden in ObjectsCreateUpdateActionExecuter aangemaakt, updateObjectInAlfresco en createObjectInAlfresco. Deze zijn een kopie van onderdeel van de bestaande updateObject en createObject. Ik zie twee opties om dit op te schonen, (1) roepen updateObjectInAlfresco en createObjectInAlfresco vanuit updateObject en createObject, (2) vervangen updateObject en createObject met updateObjectInObjectsApi en createObjectInObjectsApi en aanpassen hoe ze worden gebruikt.
  • Geometry data zijn lastig om mee te nemen want alfresco slaat op de https://api.bag.kadaster.nl url terwijl objects API slaat een geo object op, deze worden dus voorlopig genegeerd.
  • Deze callbacks betekenen dat, als ObjectsCreateUpdateActionExecuter is geroepen vanuit tezza, dan wordt een notificatie getriggert die opnieuw ObjectsCreateUpdateActionExecuter roept. Volgens mij gebeurt dezelfde al voor zaken. Is dit erg?
Actions #8

Updated by Tahir Malik 5 months ago

Zie gerelateerde test, die moet ook nadat een call-back af gegaan is nog blijven werken

Actions #11

Updated by Erik Hoogland 5 months ago

  • Assignee changed from Rick de Rooij to Erik Hoogland

Ik neem dit over voor review

Actions #12

Updated by Erik Hoogland 5 months ago

  • Status changed from Ready in Dev to In Progress
  • Assignee changed from Erik Hoogland to Bram Geerlings

Getest lokaal. Callback komt aan in Alfresco, maar kijgt een 409 error bij het aanmaken van de site.

2024-12-31 15:42:49,468  ERROR [service.acs.SitesRestApiService] [Camel (alfrescoCamelContext) thread #3 - JmsConsumer[nl.contezza.mq.actions]] 409 

Ook werkt dit nog met de oude Objecten site, moet waarschijnlijk een refactor naar de nieuwe stijl krijgen.

Voor de twee scripts van update en create, ik denk dat dit niet één script hoeft te worden, want ze gebruiken wel dezelfde Action

Also available in: Atom PDF