====== Synchroniseer Gesloten SWF ruimtes ====== Op deze pagina staat beschreven hoe de gesloten SWF ruimtes in OpenWave ververst worden met de task //synchroniseerGeslotenSWFRuimtes//. Het betreft hier alleen gesloten SWF ruimtes die in de afgelopen twee weken gesloten zijn via het synchroniseren/verversen van de ruimte toen deze nog open was.\\ Het komt namelijk voor dat de SWF tijdelijk niet bereikbaar is en de ruimte dan ten onrechte gesloten wordt. Tevens kan het zo zijn dat een ruimte na sluiten, toch weer heropend wordt. Met deze task kan de huidige situatie opgehaald worden bij het SWF en de ruimte zo hersteld worden (indien weer heropend) of, indien de ruimte verwijderd is, de eventueel nog lege beëindigd datum van de SWF ruimte gevuld worden.\\ Indien de SWF ruimte bij het verversen van toch OPEN blijkt, dan wordt tbswfruimte ververst. Alle andere tabellen onder de ruimte (tbswfactieverzoeken etc.) worden niet ververst: dit gebeurd namelijk al bij de task //synchroniseerOpenSWFRuimtes//. De ruimte komt vanzelf weer mee met deze task. 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. ===== Mijn Gewijzigde SWF zaken ===== In het openingsportaal kan de ingelogde medewerker 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 medewerker * 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?//) * een wijziging heeft plaatsgevonden na uitvoeren taak //Synchroniseer Gesloten SWF ruimtes// (tbswfruimtes.dlgewijzigdbijsync = T) * als wijziging telt: * status is veranderd van **GESLOTEN** naar **OPEN** of **INITIALISATIE** * het SWF geeft aan dat de ruimte verwijderd is en **Datum beëindigd** was nog null voor de SWF ruimte. De programmatuur vult dan de beëindigd datum met now() * 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 pagina [[openwave:1.35:applicatiebeheer:probleemoplossing:portalen_en_moduleschermen:openingsportaal:mijn_taken:mijn_gewijzigde_swfzaken:lijst_mijngewijzigde_swfzaken|Lijst Mijn Gewijzigde SWF zaken]]. ==== Accorderen/Laatste wijziging gezien?==== 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 drukken 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 hiermee niet de SWF ruimte''). Indien er nieuwe wijzigingen in het SWF zijn voor de zaak, dan zullen deze door de tasks //Synchroniseer Open SWF ruimtes// en //Synchroniseer Gesloten SWF ruimtes// verwerkt worden en wordt de zaak weer aangemerkt als gewijzigd bij synchronisatie. ===== Verversen/synchroniseren van Gesloten SWF ruimtes ===== **Noodzakelijke instellingen:** * Algemeen endpoint van de SWF. Gedefinieerd in de instelling kolom //Tekst// van //Sectie: SWF en Item: AlgemeenEndpoint// bijvoorbeeld: ''https://pkio.service.pre.omgevingswet.overheid.nl/overheid/samenwerken/api/behandelen/v4/'' * OIN-nummer dat hoort bij de OpenWave implementatie dat gewhitelist is op het REM-certificaat waarmee de SWF API-aanroep wordt geautoriseerd. De kolom //Tekst// van instelling //Sectie: SWF en Item: OINvanZender// 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 [[openwave:1.35:applicatiebeheer:instellen_inrichten:samenwerkingsfunctionaliteit]]. **Proces van synchroniseren gesloten SWF ruimtes** De taak/callable //Synchroniseer Gesloten SWF ruimtes// gaat voor alle in de afgelopen twee weken gesloten SWF ruimtes (vwfrmswfruimte.dvstatus = GESLOTEN en (ddlaatstgewijzigdbijsync <= fn_vandaag(0) en ddlaatstgewijzigdbijsync >= fn_vandaag(-14)) en dvsamenwerkingid is gevuld) ophalen uit het SWF of de ruimte niet toch weer OPEN is, of dat de GESLOTEN ruimte al verwijderd is. Er wordt dus voor alle omgevingszaken die voorkomen in vwfrmswfruimte where dvstatus = GESLOTEN and (ddlaatstgewijzigdbijsync <= fn_vandaag(0) and dlaatstgewijzigdbijsync >= fn_vandaag(-14)) and dvsamenwerkingid is not null , per omgevingszaak gekeken of de OINVanZender bepaald kan worden (zo nee dan wordt dit gelogd in de Operationslog voor de taak //Synchroniseer Gesloten SWF ruimtes//). Vervolgens wordt voor alle gesloten SWF ruimtes onder deze omgevingszaak de volgende actie uitgevoerd: (waarbij de SWF API wordt aangeroepen met als bevoegd gezag de bepaalde OINVanZender, en als samenwerkingsid het SWF-id van de SWF ruimte) ==== Verversen Gesloten 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 voor de volgende SWF ruimte geprobeerd worden te verversen. Net zo lang als alle in de afgelopen twee weken gesloten SWF ruimtes ververst zijn. Indien de aanroep wel goed gaat, EN de ruimte bestaat nog, dan wordt de SWF ruimte (tbswfruimte) gewijzigd met waardes zoals deze door SWF in het antwoordbericht zijn doorgegeven: * is de status van de ruimte niet veranderd dan blijft tbswfruimte.dlgewijzigdbijsync ongewijzigd * is de status wel gewijzigd dan: * wordt tbswfruimte.dlgewijzigdbijsync op T gezet * wordt tbswfruimte.ddlaatstgewijzigdbijsync gezet met datum en tijdstip van dit moment (now()) * wordt er gecontroleerd of tbswfruimte.ddverwijderd leeg is. Is deze gevuld? Dan wordt de datum leeggehaald Indien de aanroep van het SWF de errorcode 404 bevat en het foutbericht de titel "Deze ruimte bestaat niet (meer)" bevat, dan gaat OpenWave er vanuit dat de ruimte niet meer bestaat in het SWF. In dat geval wordt er gekeken of de //Datum beëindigd// gevuld is: * is tbswfruimte.ddverwijderd al gevuld dan blijft tbswfruimte.dlgewijzigdbijsync ongewijzigd * is tbswfruimte.ddverwijderd nog leeg dan: * wordt tbswfruimte.ddverwijderd gezet met datum en tijdstip van dit moment (now()) * wordt tbswfruimte.dlgewijzigdbijsync op T gezet * wordt tbswfruimte.ddlaatstgewijzigdbijsync gezet met datum en tijdstip van dit moment (now()) ===== Voortgang en logging ===== Om dubbele uitvoering van de callable te vermijden wordt bij het starten de Datum van de instelling //Sectie: Operations Item: SynchroniseerGeslotenSWFRuimtes// 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: **SynchroniseerGeslotenSWFRuimtes**. ==== Loggen van synchronisatie gesloten SWF ruimtes in Messagelog ==== Het loggen van de synchronisatie actie voor gesloten ruimtes in de Messagelog van OpenWave staat default aan. Het draaien van de taak //Synchroniseer Gesloten SWF ruimtes// kan zorgen voor het aanmaken van 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_SynchroniseerGeslotenSWFRuimtes// uit te vinken. ===== Instellen van Synchronisatie gesloten SWF ruimtes met de task scheduler ===== Voor het instellen van de task scheduler zie pagina [[openwave:1.35:applicatiebeheer:instellen_inrichten:taskscheduler]] Indien de taak NIET wordt gescheduled met de task scheduler, dan zal er dus GEEN automatische synchronisatie van de gesloten SWF ruimtes in OpenWave plaatsvinden. Alleen indien de synchronisatie taak is uitgevoerd/periodiek uitgevoerd wordt zal het overzicht van gewijzigde SWF zaken gevuld/aangevuld worden voor de gesloten SWF ruimtes. 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. {{tag>openwave:1.35:applicatiebeheer:functionaliteiten:swf}}