openwave:1.29:applicatiebeheer:probleemoplossing:programmablokken:synchroniseer_open_swfruimtes

Synchroniseer Open SWF ruimtes

Het verversen/bijhouden van wijzigingen in het SWF op openstaande SWF zaken in OpenWave is een actieve taak (er worden geen verversberichten gestuurd vanuit het SWF).

Tot versie 1.28 was de enige mogelijkheid om de wijzigingen op te halen uit het SWF via handmatig klikken op de verversknoppen in het detailscherm van de SWF ruimte in OpenWave.

De gebruiker kan dan per te verversen onderdeel op het verversknopje klikken .

De handmatig te verversen onderdelen zijn:

  • SWF ruimte zelf
  • Actieverzoeken
  • Documenten
  • Notificaties

Vanaf 1.28 is het mogelijk om door middel van een geschedulde taak: de zogenaamde task SynchroniseerOpenSWFRuimtes, deze verversacties geautomatiseerd op te vragen bij het SWF voor alle open SWF ruimtes in OpenWave.

Op deze manier wordt voor alle openstaande SWF ruimtes in OpenWave, in 1 keer alle verversacties uitgevoerd. De verversacties zijn per openstaande SWF ruimte gelijk aan de al bestaande handmatige verversacties met als toevoeging dat ook het ophalen van ketenpartners wordt uitgevoerd.

Naast het verversen van de SWF zaken heeft de synchronisatie task als doel om te markeren welke zaken gewijzigd zijn: in de tabel van de SWF ruimtes in OpenWave (tbswfruimte) wordt veld dlgewijzigdbijsync op T gezet indien er een wijziging heeft plaats gevonden. Tevens wordt de datum van wijzigen geregistreerd.

Op deze pagina wordt eerst uitgelegd waar men het overzicht kan zien van de gewijzigde SWF zaken. Daarna volgt hoe het verloop van de synchronisatie gaat en een verwijzing naar hoe de taak in te stellen.

In het openingsportaal kan de ingelogde gebruiker zijn/haar gewijzigde SWF zaken inzien via tegel Mijn gewijzigde SWF zaken in de kolom Mijn taken. De tegel opent de lijst met Mijn Gewijzigde SWF zaken, waarin de SWF zaken staan waarvoor:

  • de ingelogde gebruiker
    • de behandelaar van de zaak is
    • OF in zaakverantwoordelijk team van de zaak zit
  • een wijziging heeft plaatsgevonden na uitvoeren taak Synchroniseer Open SWF ruimtes (tbswfruimtes.dlgewijzigdbijsync = T)
    • EN deze wijziging is nog niet gemarkeerd als gezien (zie Accorderen/Laatste wijziging gezien?).

Via deze lijst heeft men inzicht in de gewijzigde zaken, kan men doorklikken naar het detailscherm van de SWF ruimte en kan men navigeren naar de bovenliggende SWF zaak (tbomgvergunning). Voor meer informatie over deze lijst zie ook pagina Lijst Mijn Gewijzigde SWF zaken.

Op de lijst van Mijn gewijzigde SWF zaken kan men via de krul-knop 1 of meer SWF zaken afvinken: de laatste wijziging is gezien. Deze knop is ook zichtbaar in het detailscherm van de SWF ruimte in OpenWave.

Er zit geen gebruikersinterface achter de knop. Onder water leidt druk op de knop tot zetten van tbswfruimte.dlgewijzigdbijsync = F. Dit heeft als doel dat de SWF zaak uit de lijst van Mijn gewijzigde SWF zaken verdwijnt (uiteraard verwijdert men zo de ruimte niet!!). Indien er nieuwe wijzigingen in het SWF zijn voor de zaak, dan zullen deze door de task Synchroniseer Open SWF ruimtes verwerkt worden en wordt de zaak weer aangemerkt als gewijzigd bij synchronisatie.

Noodzakelijke instellingen:

(Let op: het kan zijn dat er een andere OINvanZender van toepassing is: wordt per op te halen SWF ruimte bepaald o.b.v. bovenliggende Omgevingszaak. Uitleg van de logica hoe OINvanZender bepaald wordt per zaak zie pagina Samenwerkingsfunctionaliteit).

Proces van synchroniseren open SWF ruimtes De taak/callable Synchroniseer Open SWF ruimtes gaat voor alle open SWF ruimtes (vwfrmswfruimte.dvstatus = OPEN) de gegevens verversen/ophalen uit het SWF en redeneert daarbij als volgt:

Er wordt dus voor alle omgevingszaken die voorkomen in vwfrmswfruimte where dvstatus = OPEN, per omgevingszaak gekeken of de OINZender bepaald kan worden (zo nee dan wordt dit gelogd in de Operationslog voor de taak Synchroniseer Open SWF ruimtes). Vervolgens wordt voor alle open SWF ruimtes onder deze omgevingszaak de volgende acties uitgevoerd: (waarbij alle SWF API's worden aangeroepen met als bevoegd gezag de bepaalde OINVanZender, en als samenwerkingsid het SWF-id van de SWF ruimte)

De SWF API voor het verversen van de SWF ruimte wordt aangeroepen: AlgemeenEndpoint + 'samenwerkingen/' + SWFid Indien de aanroep niet goed gaat dan zal er in de operationslog een regel worden toegevoegd dat het niet gelukt is om de ruimte te verversen. En zal vervolgens de actie voor verversen van Ketenpartner uitgevoerd worden.

Indien de aanroep wel goed gaat dan wordt de SWF ruimte (tbswfruimte) gewijzigd met waardes zoals deze door SWF in antwoordbericht zijn doorgegeven:

  • zijn de waardes hetzelfde als voorheen dan blijft tbswfruimte.dlgewijzigdbijsync ongewijzigd
  • zijn er daadwerkelijk wijzigingen doorgevoerd dan wordt tbswfruimte.dlgewijzigdbijsync op T gezet

Indien de respons van het SWF de errorcode 404 bevat, dan gaat OpenWave er vanuit dat de ruimte niet meer bestaat in het SWF. De datum ddverwijderd op de Open-Wave kaart van de tbswfruimte wordt dan gevuld met de systeemdatum. Indien bij een volgende synchronisatie dezelfde ruimte geen 404 meer oplevert, zal die ddverwijderd weer worden leeggemaakt.

De SWF API voor het ophalen van Ketenpartners wordt aangeroepen: AlgemeenEndpoint + 'samenwerkingen/' + SWFid + '/deelnemers' Indien de aanroep niet goed gaat dan zal er in de operationslog een regel worden toegevoegd dat het niet gelukt is om de ketenpartners te verversen voor de ruimte. En zal vervolgens de actie voor verversen van SWF Actieverzoeken uitgevoerd worden. Indien de aanroep wel goed gaat dan zal indien de ketenpartner:

  • nog niet bestaat bij de SWF ruimte een regel worden aangemaakt in tbswfoinpartners
    • EN indien de organisatie niet bekend is in tboin dan wordt ook een regel aangemaakt in tboin
    • EN wordt tbswfruimte.dlgewijzigdbijsync op T gezet
  • wel bestaat bij de SWF ruimte, de waardes in tbswfoinpartners worden gewijzigd met waardes die door SWF in antwoordbericht zijn doorgegeven:
    • zijn de waardes hetzelfde als voorheen dan blijft tbswfruimte.dlgewijzigdbijsync ongewijzigd
    • zijn er daadwerkelijk wijzigingen doorgevoerd (in 1 of meer van de actieverzoeken) dan wordt tbswfruimte.dlgewijzigdbijsync op T gezet.

De SWF API voor het verversen van de SWF actieverzoeken wordt aangeroepen: AlgemeenEndpoint + 'actieverzoeken?' + 'samenwerkingId =' + SWFid

Indien de aanroep niet goed gaat dan zal er in de operationslog een regel worden toegevoegd dat het niet gelukt is om de actieverzoeken te verversen voor de ruimte. En zal vervolgens de actie voor verversen van SWF Documenten uitgevoerd worden.

Indien de aanroep wel goed gaat dan wordt voor alle actieverzoeken binnen deze SWF ruimte de waardes in tbswfactieverzoeken gewijzigd met waardes die door SWF in antwoordbericht zijn doorgegeven:

  • zijn de waardes hetzelfde als voorheen dan blijft tbswfruimte.dlgewijzigdbijsync ongewijzigd
  • zijn er daadwerkelijk wijzigingen doorgevoerd (in 1 of meer van de actieverzoeken) dan wordt tbswfruimte.dlgewijzigdbijsync op T gezet.

De SWF API voor het verversen van de SWF Documenten wordt aangeroepen: AlgemeenEndpoint + 'samenwerkingen/' + SWFid + '/documenten'

Indien de aanroep niet goed gaat dan zal er in de operationslog een regel worden toegevoegd dat het niet gelukt is om de documenten te verversen voor de ruimte. En zal vervolgens de actie voor verversen van SWF Notificaties uitgevoerd worden.

Indien de aanroep wel goed gaat dan wordt voor alle documenten binnen deze SWF ruimte de waardes in tbswfdocumenten gewijzigd met waardes die door SWF in antwoordbericht zijn doorgegeven:

  • zijn de waardes hetzelfde als voorheen dan blijft tbswfruimte.dlgewijzigdbijsync ongewijzigd
  • zijn er daadwerkelijk wijzigingen doorgevoerd (in 1 of meer van de actieverzoeken) dan wordt tbswfruimte.dlgewijzigdbijsync op T gezet.

De SWF API voor het verversen van de SWF Notificaties wordt aangeroepen: AlgemeenEndpoint + 'samenwerkingen/' + SWFid + '/notificaties'

Indien de aanroep niet goed gaat dan zal er in de operationslog een regel worden toegevoegd dat het niet gelukt is om de notificaties te verversen voor de ruimte.

Indien de aanroep wel goed gaat dan wordt voor alle notificaties binnen deze SWF ruimte de waardes in tbswfnotificaties gewijzigd met waardes die door SWF in antwoordbericht zijn doorgegeven:

  • zijn de waardes hetzelfde als voorheen dan blijft tbswfruimte.dlgewijzigdbijsync ongewijzigd
  • zijn er daadwerkelijk wijzigingen doorgevoerd (in 1 of meer van de actieverzoeken) dan wordt tbswfruimte.dlgewijzigdbijsync op T gezet.

Om dubbele uitvoering van de callable te vermijden wordt bij het starten de Datum van de instelling Sectie: Operations Item: SynchroniseerOpenSWFRuimtes gevuld met timestamp. De kolom Tekst met medewerkerscode en Getal1 met 1. Indien klaar dan wordt Getal1 weer op null gezet. In de operationslog (Operations portaal) wordt voortgang en resultaat bijgehouden onder de code: SynchroniseerOpenSWFRuimtes.

Het loggen van alle synchronisatie acties in de Messagelog van OpenWave staat default aan. Het draaien van de taak Synchroniseer Open SWF ruimtes kan echter zorgen voor het aanmaken van zeer veel records in de messagelog tabel. Indien gewenst kan men het loggen van de acties van de taak in de Messagelog uitzetten (logging in operationslog blijft gewaarborgd).

Dit doet men door instelling Sectie: SWF, Item: MessageLog_SynchroniseerOpenSWFRuimtes uit te vinken.

Voor het instellen van de task scheduler zie pagina Taskscheduler

Waarschuwing

Let op: Indien de taak NIET wordt gescheduled met de task scheduler, dan zal er dus GEEN automatische synchronisatie van de open SWF ruimtes in OpenWave plaatsvinden.

Dit betekent dat de lijst van Mijn gewijzigde SWF zaken NIET gevuld wordt.

Alleen indien de synchronisatie taak is uitgevoerd/periodiek uitgevoerd wordt zal het overzicht van gewijzigde SWF zaken gevuld/aangevuld worden. De taak kan gescheduled worden door applicatiebeheer op gewenste tijdstip en met gewenst herhaalpatroon. Bijvoorbeeld door de taak iedere nacht te laten draaien en dit dagelijks te herhalen.

  • openwave/1.29/applicatiebeheer/probleemoplossing/programmablokken/synchroniseer_open_swfruimtes.txt
  • Laatst gewijzigd: 2023/12/12 15:28
  • door Ton Pullens