diff --git a/.github/workflows/dockerimage.yml b/.github/workflows/dockerimage.yml index 3931a768..9790803f 100644 --- a/.github/workflows/dockerimage.yml +++ b/.github/workflows/dockerimage.yml @@ -44,15 +44,15 @@ jobs: - name: Print definitive APP_ENV run: echo "APP_ENV is now $APP_ENV and APP_BUILD is now $APP_BUILD" - name: Build the Docker image - run: docker-compose build --build-arg APP_ENV=$APP_ENV --build-arg APP_BUILD=$APP_BUILD --build-arg APP_BUILD_ALL_FIXTURES=true + run: docker compose build --build-arg APP_ENV=$APP_ENV --build-arg APP_BUILD=$APP_BUILD --build-arg APP_BUILD_ALL_FIXTURES=true - name: Run the docker image - run: docker-compose up -d + run: docker compose up -d - name: Taking some sleep (for containers to come up) run: sleep 20 - name: Check if all containers are running run: docker ps - name: Dumping the logs - run: docker-compose logs + run: docker compose logs - name: Show all images run: docker images - name: Login to Container Registry @@ -66,13 +66,13 @@ jobs: fi - if: steps.containerregistry-login.outputs.success == 'true' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/development') name: Push to Container Registry - run: docker-compose push + run: docker compose push - if: steps.containerregistry-login.outputs.success == 'true' && github.ref == 'refs/heads/main' name: Push versioned containers to Container Registry id: version-push run: | - images=$(docker-compose images -q | xargs docker inspect --format='{{ index .RepoTags 0}}' | cut -d':' -f1 | grep $APP_NAME) + images=$(docker compose images -q | xargs docker inspect --format='{{ index .RepoTags 0}}' | cut -d':' -f1 | grep $APP_NAME) for image in $images do docker push "${image}":"${APP_BUILD}" @@ -96,4 +96,4 @@ jobs: prerelease: false - name: Chores if: (success() || failure()) - run: docker-compose down + run: docker compose down diff --git a/README.md b/README.md index 34bde4c2..e1e8efe2 100644 --- a/README.md +++ b/README.md @@ -2,22 +2,24 @@ > **Ondersteuning en bijeenkomsten** > -> +> > Meer weten over deze oplossing? Dat kan! Hiervoor hebben we een apart [Slack kanaal](https://samenorganiseren.slack.com/archives/C067Q3UE9F0) binnen Common Ground. We helpen je daar graag verder. Uiteraard kan je ook altijd mailen naar [info@conduction.nl](mailto:info@conduction.nl) > > Tevens worden vanuit de aangesloten leveranciers worden regelmatig webinars georganiseerd. -> -> - [8 Mei 13:00 | Community Meeting](https://www.linkedin.com/events/openwoo-appcommunitymeetingmei7184090446346768385/comments/). -> +> +> - [10 Juli 10:00 | Community Meeting](https://www.linkedin.com/events/7206649524776284161/comments/?originTrackingId=BVZjR39lT72%2BfNaik99cew%3D%3D). +> > Terug kijken afgelopen webinars en meetings? > +> - [12-06-2024 | Community Meeting](https://www.youtube.com/watch?v=ab_FEexYYMY). +> - [09-05-2024 | Community Meeting](https://www.youtube.com/watch?v=Q0ElcTP-R4M). > - [10-04-2024 | Community Meeting](https://www.youtube.com/watch?v=zMqElLzy0BM). -> - [25-03-2024 | Sim-Groep Webinar](https://www.simgroep.nl/toekomstbestendige-woo-oplossing) +> - [25-03-2024 | SHIFT2](https://www.shift2.nl/een-toekomstbestendige-woo-oplossing) > - [13-03-2024 | Community Meeting](https://www.youtube.com/watch?v=TNZghskRu5c). > - [14-02-2024 | Community meeting](https://www.youtube.com/watch?v=ri5U8x-lsxo) > - [30-01-2024 | OpenGemeente Woobinar](https://vimeo.com/909134953) -> - [19-12-2023 | xxllnc Demo ](https://www.youtube.com/watch?v=_FGpUYH1yd0) -> - [17-11-2023 | xxllnc Woobinar ](https://www.youtube.com/watch?v=NCnLDEoPh5A) +> - [19-12-2023 | xxllnc Demo](https://www.youtube.com/watch?v=_FGpUYH1yd0) +> - [17-11-2023 | xxllnc Woobinar](https://www.youtube.com/watch?v=NCnLDEoPh5A) De Wet Open Overheid (Woo) is een initiatief gericht op het verbeteren van de openbaarheid van overheidsinformatie. Het doel is om overheidsinformatie beter toegankelijk te maken voor iedereen. Meer informatie over de Wet Open Overheid kan [hier](https://www.open-overheid.nl/onderwerpen/actieve-openbaarmaking) worden gevonden. @@ -37,19 +39,20 @@ Deze uitdagingen kunnen niet effectief worden aangepakt met een enkel Content Ma |-----------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------|--------------------------------------------------------------------------------| | [](https://www.conduction.nl/) | [](https://xxllnc.nl/) | [](https://www.opengemeenten.nl/) | [](https://www.simgroep.nl/) | [](https://acato.nl/) | [](https://www.notubiz.nl/)| [](https://www.drupalvoorgemeenten.nl/)| -## Belangrijkste functionaliteiten en voordelen van OpenWoo.app: +## Belangrijkste functionaliteiten en voordelen van OpenWoo.app + - **Centrale Index Pagina:** Een overzichtelijke locatie voor alle openbare data van uw organisatie voor verbeterde vindbaarheid van informatie. - **Multibron Dataweergave:** Een naadloze integratie en presentatie van data uit diverse bronnen, zoals het zaaksysteem, websites, raadsinformatiesystemen en archieven. - **Keuze uit Publicatieplatformen:** Met opties zoals NL Design React en Open Gemeente Typo 3, biedt OpenWoo.app flexibiliteit in de manier waarop uw gegevens gepubliceerd worden, terwijl het tegelijkertijd eenvoudig integreerbaar is in uw huidige website. - **Automatische Data-aanlevering:** Efficiënte aanlevering bij landelijke indexen zoals KOOP en Woogle, door middel van sitemap.xml-bestanden en API's, vergroot het bereik en de zichtbaarheid van uw gegevens. - **Proactieve Publicatie:** Automatiseer het publicatieproces en verminder handmatige inspanningen met de slimme, proactieve publicatiefuncties van OpenWoo.app. -- **Toekomstbestendig en Veilig:** Bereid uw organisatie voor op toekomstige ontwikkelingen met configureerbare publicatietypen en verhoog de veiligheid en efficiëntie door het verminderen van directe bevragingen op bronnen. +- **Toekomstbestendig en Veilig:** Bereid uw organisatie voor op toekomstige ontwikkelingen met configureerbare publicatietypen en verhoog de veiligheid en efficiëntie door het verminderen van directe bevragingen op bronnen. ![epe.png](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/epe.png "Woo Website van de Gemeente Epe") Wil je meer weten over de functionaliteiten van de Open Woo-app? Kijk dan op de [architectuur pagina](/docs/product/Features.md). -## Oplossing van OpenWoo.app: +## Oplossing van OpenWoo.app OpenWoo.app gaat verder dan alleen deze basisfunctionaliteiten door een geïntegreerde oplossing aan te bieden die bestaat uit essentiële componenten: @@ -58,12 +61,12 @@ OpenWoo.app gaat verder dan alleen deze basisfunctionaliteiten door een geïnteg - **Zoekpagina (Optioneel):** Een op NL Design gebaseerd publicatieplatform dat belanghebbenden in staat stelt om naar relevante informatie te zoeken. - **Open WooService:** Deze module verzamelt informatie uit verschillende bronnen, waardoor een gecentraliseerde toegang tot diverse categorieën van gegevens mogelijk wordt. - **Open Index:** Een opgebouwde index van openbare informatie die samen met andere zoekindexen een landelijke federatie vormt. -- **Overige Bronnen (Optioneel):** Bronnen zoals het Zaaksysteem, Raadsinformatiesysteem en archief kunnen optioneel worden gekoppeld, met ondersteuning voor handmatige uploads via het CMS van uw huidige website. - +- **Overige Bronnen (Optioneel):** Bronnen zoals het Zaaksysteem, Raadsinformatiesysteem en archief kunnen optioneel worden gekoppeld, met ondersteuning voor handmatige uploads via het CMS van uw huidige website. Deze geïntegreerde aanpak zorgt voor een naadloze, efficiënte en effectieve implementatie van de Wet Open Overheid (Woo), waardoor overheidsorganisaties hun informatie op een gebruiksvriendelijke en toegankelijke wijze kunnen delen. OpenWoo.app is niet alleen een tool om te voldoen aan de Wet open overheid (Woo), maar een strategische partner die handwerk vermindert, transparantie bevordert, en de toegankelijkheid van overheidsinformatie aanzienlijk verbetert. De OpenWoo.app architectuur is bewust ontworpen om gemeenten de keuze te geven in hoe zij willen omgaan met de Wet Open Overheid en KOOP + - Wil je automatisch publiceren uit je huidige zaaksysteem? dat kan! - Liever publiceren uit je huidige website? dat kan ook! - Of wil je bij KOOP aanleveren vanuit een kleine openzaak installatie? dan kan dat natuurlijk ook. @@ -80,6 +83,8 @@ Op dit moment wordt de OpenWoo.app al door een aantal organisaties gebruikt |-------------|------|------------|--------------|--------| | [Noordwijk](https://www.noordwijk.nl/) | Gemeente | [Pagina](open.noordwijk.nl) | Zaaksysteem.nl | Productie | | [Epe](https://www.epe.nl/) | Gemeente |[Pagina](https://open.epe.nl/) | Zaaksysteem | Productie | +| [Roosendaal](https://www.roosendaal.nl/) | Gemeente |[Pagina](https://open.roosendaal.nl/) | Zaaksysteem | Productie | +| [Zutphen](https://www.zutphen.nl/) | Gemeente |[Pagina](https://open.zutphen.nl/) | Zaaksysteem | Productie | | [Tubbergen](https://www.tubbergen.nl/) | Gemeente |[Pagina](https://conductionnl.github.io/woo-website-tubbergen/) | Zaaksysteem.nl | Acceptatie | | [Dinkelland](https://www.dinkelland.nl/) | Gemeente |[Pagina](https://conductionnl.github.io/woo-website-dinkelland/) | Zaaksysteem.nl | Acceptatie | | [Gouda](https://www.gouda.nl/) | Gemeente |[Pagina](https://conductionnl.github.io/woo-website-gouda/) | Zaaksysteem.nl | Acceptatie | diff --git a/docs/Bronnen.puml b/docs/Bronnen.puml index 43c8beb8..5bb7972d 100644 --- a/docs/Bronnen.puml +++ b/docs/Bronnen.puml @@ -3,19 +3,16 @@ title Integratie op bronnen footer: OpenWoo.app header: OpenWoo.app -' Publicatie platformen (Laag 5 UI) -frame "Publicatie platformen " { - interface "Afnemer" as Searchsite #1abc9c -} -' Services(Laag 4) -frame "Services" { + +' Services (Laag 4) +frame "Services (Laag 4)" { process "OpenWoo Service" as OWS #1abc9c } ' Integratie (Laag 3) -frame "Integratie" { - database "Open Index" as OI #1abc9c +frame "API (Laag 3)" { + database "Open Index" as OI #1abc9c } ' Bronnen (Laag 2) @@ -29,7 +26,6 @@ frame "Bronnen" { } ' Relationships -Searchsite -down-> OI : Bevraagd (API) OWS ..> OI: Slaat op in OWS -down-> CMS : Scrapes periodically\nUses as source diff --git a/docs/Componenten.puml b/docs/Componenten.puml new file mode 100644 index 00000000..71d53c80 --- /dev/null +++ b/docs/Componenten.puml @@ -0,0 +1,83 @@ +@startuml +title: Components +footer: Open Catalogi | Components +header: Open Catalogi | Components + +cloud "Identity & Access"{ + [ADFS] as identity +} + +cloud "Gebruikers"{ +actor "Burger" as burger +actor "Ambtenaar" as medewerker +actor "Beheerder" as adminUser +} + +cloud "Externe Applicaties"{ +package "Bronnen" { + [Zaaksysteem] as ZGW + [Etc.] as ETC +} +package "Catalogi" { + [Externe Catalogus] as externalCatalogue +} +} + +cloud "Kubernetes"{ + +package "Layer 5 (Interaction)" { +package "React NL Design" { + [Zoeken UI] as ui +} + +package "Vue NL Design" { + [Beheer UI] as admin +} +} + +package "Layer 4 (Logic)" as layer4 { + [Synchronisaties] as service +} + +package "Layer 2 (API)" as layer2 { + +package "Open Index" { + [Zoeken API] as SearchAPI +} +package "Open Registers" { + [Beheer API] as ObjectsAPI +} +} + +package "Layer 1 (Data)" { + +package "Search Index" { + [Elastic Search] as search +} + +package "Object Store" { + [ORC] as db +} + +package "Document Store" { + [DRC] as drc +} +} + +externalCatalogue <..> SearchAPI: Search + Directory +burger <..> ui: Zoeken via browser (ANONIEM) +medewerker <..> ui: Zoeken via browser (ANONIEM) +adminUser <..> admin: Beheren via browser (JWT Claim) + +ui <..> SearchAPI: Search + Directory +admin <..> ObjectsAPI: Publicaties + Catalogi + Metadata +ZGW <..> service: Synchronisatie +ETC <..> service: Synchronisatie + +ObjectsAPI .down.> db: Persist +ObjectsAPI .down.> drc: Persist +SearchAPI <.down. search: Lookup +SearchAPI <.down. drc: Lookup +layer2 .down.> identity: AUTH +service .down.> ObjectsAPI: In synchroniseren van publicaties +@enduml \ No newline at end of file diff --git a/docs/GOVERNANCE.md b/docs/GOVERNANCE.md index 68b02b61..cdbcafd6 100644 --- a/docs/GOVERNANCE.md +++ b/docs/GOVERNANCE.md @@ -2,11 +2,19 @@ Het succes en de continue verbetering van het OpenWoo.app project zijn afhankelijk van een effectieve governance-structuur. Een belangrijk onderdeel van deze structuur is de stuurgroep, die verantwoordelijk is voor het beoordelen en prioriteren van de issues die op GitHub worden ingediend, en voor het bepalen welke daarvan worden opgenomen in de roadmap van het project. +## Open Webconcept + +OpenWoo.app is een doorontwikkeling van de OpenWoo WordPress-plugin uit Open Webconcept. Vanuit die oorsprong is OpenWoo.app eigenlijk een subcommunity van OpenWebconcept. De community staat echter nadrukkelijk open voor niet OWC-afnemers en leveranciers. + +De gemeente Gouda vormt hierin de linking pin. + +Gemeenten zo als Noordwijk, Gouda, Barendrecht, Alblasserwaard, Ridderkerk en Hoeksche Waard vormen met de deelname aan + ## Community Meetings -Iedereen die actief gebruik maakt OpenWoo.app of intresse heeft in de ontwikkeling hiervan is welkom op de maandenlijke community meeting. De community meetings zijn de plek waar we de roadmap doornemen daar proberen gemeenchapenlijk beslutien op te nemen +Iedereen die actief gebruik maakt OpenWoo.app of interesse heeft in de ontwikkeling hiervan is welkom op de maandelijkse community meeting. De community meetings zijn de plek waar we de roadmap doornemen daar proberen gemeenschappelijk besluiten op te nemen -De community meetings worden aangekondigd via openwoo.app. +De community meetings worden aangekondigd via openwoo.app, LinkedIn en per mail aan de bekende leveranciers en afnemers. ## Stuurgroep @@ -14,7 +22,7 @@ De Stuurgroep is samengesteld uit verschillende leden die een breed scala aan pe - **Conduction (Leverancier)**: Met een rijke ervaring in het leveren van technologische oplossingen, brengt Conduction waardevolle inzichten en technische expertise in het project. - **xxlnce (Leverancier)**: Als leverancier draagt xxlnce bij aan de technologische vooruitgang en zorgt ervoor dat het project blijft voldoen aan de behoeften van de gebruikers. -- **Epe (Pilot Gemeente)** +- **Epe ( Gemeente)** - **Noordwijk (Pilot Gemeente)** - **Noaberkracht (Pilot Samenwerkingsverband)** diff --git a/docs/KoopHulp.md b/docs/KoopHulp.md index b70102a1..14743d9c 100644 --- a/docs/KoopHulp.md +++ b/docs/KoopHulp.md @@ -2,10 +2,6 @@ Vanuit de gemeente Buren is Koophulpje.nl opgezet. Het doel van Koophulpje is het doen van een proof of concept (poc) met de OpenWoo.app en het stellen van integrale zoek vragen aan de hand van het federale data stelsel (FSC) en API's. -## Voorgeschiedenis - -asd - ## Voordelen - Het uitvragen van informatie via API's is gemakkelijker te integreren dan sitemap.xml diff --git a/docs/NavbarContent.json b/docs/NavbarContent.json index cdc1ccd7..1ca1be28 100644 --- a/docs/NavbarContent.json +++ b/docs/NavbarContent.json @@ -70,6 +70,19 @@ } } }, + { + "label": "Community", + "type": "internalMarkdown", + "current": { + "pathname": "/GOVERNANCE" + }, + "handleClick": { + "internalMarkdown": { + "directoryName": "/docs", + "fileName": "GOVERNANCE" + } + } + }, { "label": "Veel gestelde vragen", "type": "internalMarkdown", diff --git a/docs/OverigFlow.puml b/docs/OverigFlow.puml new file mode 100644 index 00000000..67cc071c --- /dev/null +++ b/docs/OverigFlow.puml @@ -0,0 +1,13 @@ +@startuml +title Open Webconcept zonder integratie + +' User Interface Component +interface "Open Webconcept Website" as Website + +' Backend Components +component "Open Webconcept CMS" as CMS + +' Relationships +Website -down-> CMS : Directly connected + +@enduml \ No newline at end of file diff --git a/docs/Publicatie.puml b/docs/PublicatiePlatformen.puml similarity index 59% rename from docs/Publicatie.puml rename to docs/PublicatiePlatformen.puml index 11232649..6cc443b6 100644 --- a/docs/Publicatie.puml +++ b/docs/PublicatiePlatformen.puml @@ -7,37 +7,25 @@ header: OpenWoo.app frame "Publicatie platformen " { actor "KOOP" as KOOP #cce5ff actor "WOOGLE" as WOOGLE #cce5ff + actor "Open Catalogi" AS OpenCatalogi #1abc9c + interface "KoopHulpje" AS KoopHulpje #1abc9c interface "Website" AS Website #1abc9c interface "Thema site" as Themasite #1abc9c interface "Zoek pagina" as Searchsite #1abc9c } -' Services(Laag 4) -frame "Services" { - process "OpenWoo Service" as OWS #1abc9c +' API's (Laag 2) +frame "API's (Laag 2)" { + database "Search API" as OI #1abc9c } -' Integratie (Laag 3) -frame "Integratie" { - database "Open Index" as OI #1abc9c -} - -' Bronnen (Laag 2) -frame "API" { - component "Bronnen" as Bronnen #cce5ff -} ' Relationships KOOP -down-> OI : Indexeerd (XML Sitemap) WOOGLE -down-> OI : Indexeerd (API) +OpenCatalogi -down-> OI : Bevraagd (API) +KoopHulpje -down-> OI : Bevraagd (API) Website -down-> OI : Bevraagd (API) Themasite -down-> OI : Bevraagd (API) Searchsite -down-> OI : Bevraagd (API) -OWS ..> OI: Slaat op in - -OWS -down-> Bronnen : Scrapes periodically\nUses as source - -' Notifications -Bronnen -up-> OWS : Notifies of changes or deletes - @enduml \ No newline at end of file diff --git a/docs/PublicatiePlatformen.svg b/docs/PublicatiePlatformen.svg new file mode 100644 index 00000000..9ec47df8 --- /dev/null +++ b/docs/PublicatiePlatformen.svg @@ -0,0 +1 @@ +OpenWoo.appPublicatie platformenPublicatie platformenAPI's (Laag 2)KOOPWOOGLEOpen CatalogiKoopHulpjeWebsiteThema siteZoek paginaSearch APIIndexeerd (XML Sitemap)Indexeerd (API)Bevraagd (API)Bevraagd (API)Bevraagd (API)Bevraagd (API)Bevraagd (API)OpenWoo.app \ No newline at end of file diff --git a/docs/VerzoekFlow.puml b/docs/VerzoekFlow.puml new file mode 100644 index 00000000..67cc071c --- /dev/null +++ b/docs/VerzoekFlow.puml @@ -0,0 +1,13 @@ +@startuml +title Open Webconcept zonder integratie + +' User Interface Component +interface "Open Webconcept Website" as Website + +' Backend Components +component "Open Webconcept CMS" as CMS + +' Relationships +Website -down-> CMS : Directly connected + +@enduml \ No newline at end of file diff --git a/docs/componenten.svg b/docs/componenten.svg new file mode 100644 index 00000000..58dc183a --- /dev/null +++ b/docs/componenten.svg @@ -0,0 +1 @@ +Open Catalogi | ComponentsComponentsIdentity & AccessGebruikersExterne ApplicatiesBronnenCatalogiKubernetesLayer 5 (Interaction)React NL DesignVue NL DesignLayer 4 (Logic)Layer 2 (API)Open IndexOpen RegistersLayer 1 (Data)Search IndexObject StoreDocument StoreADFSBurgerAmbtenaarBeheerderZaaksysteemEtc.Externe CatalogusZoeken UIBeheer UISynchronisatiesZoeken APIBeheer APIElastic SearchORCDRCSearch + DirectoryZoeken via browser (ANONIEM)Zoeken via browser (ANONIEM)Beheren via browser (JWT Claim)Search + DirectoryPublicaties + Catalogi + MetadataSynchronisatieSynchronisatiePersistPersistLookupLookupAUTHIn synchroniseren van publicatiesOpen Catalogi | Components \ No newline at end of file diff --git a/docs/components.puml b/docs/components.puml index 5fad89d3..605e5e00 100644 --- a/docs/components.puml +++ b/docs/components.puml @@ -1,55 +1,80 @@ @startuml -title Algemene Architectuur en keuze mogenlijkheden -footer: OpenWoo.app -header: OpenWoo.app +title: Open Catalogi +footer: Open Catalogi | Components +header: Components +interface "F5 extern (port 443)" as f5extern +interface "F5 intern (port 443)" as f5intern -' Publicatie platformen (Laag 5 UI) -frame "Publicatie platformen " { - actor "KOOP" as KOOP #1abc9c - actor "WOOGLE" as WOOGLE #1abc9c - interface "Website" AS Website #cce5ff - interface "Thema site" as Themasite #cce5ff - interface "Zoek pagina" as Searchsite #1abc9c +interface "Hipp (outd of scope)" as hipp + +cloud "Azure"{ + [ADFS] as identity } -' Services(Laag 4) -frame "Services" { - process "OpenWoo Service" as OWS #1abc9c +cloud "Internet"{ +actor "User" as user +actor "Admin" as adminUser +actor "Externe Catalogus" as externalCatalouge + } -' Integratie (Laag 3) -frame "Integratie" { - database "Open Index" as OI #1abc9c - component "Federatieve Connectie" as FCS #1abc9c + +cloud "Kubernetes"{ + +package "Layer 5 (interaction)" { +package "React NL Design" { + [User Interface] as ui } -' Bronnen (Laag 2) -frame "Bronnen" { - database "Zaaksysteem (ZGW)" as ZRC #cce5ff - database "Raadsinformatiesysteem (RIS)" as RIS #cce5ff - database "Website (CMS)" as CMS #cce5ff - database "Archief" as DEPOT #cce5ff +package "Vue NL Design" { + [Admin Interface] as admin +} } -frame "Legenda" { - component "Standaard onderdeel" #1abc9c - component "Optioneel" #cce5ff +package "Layer 4 (Logic)" as layer4 { + [Synchronysations] as service +} + + +package "Layer 2 (API)" as layer2 { + + +package "Open Catalogi App" { + [Search API] as SearchAPI + [CRUD API] as ObjectsAPI +} + + +} + +} + +package "Layer 1 (data)" { + +package "Search index" { + [Elastic Search] as search +} + +package "Object Store" { + [ORC] as db +} } -OWS -down-> ZRC: Indexeerd -OWS -down-> RIS: Indexeerd -OWS -down-> CMS: Indexeerd -OWS -down-> DEPOT: Indexeerd -OWS ..> OI: Slaat op in +externalCatalouge <..> hipp: PKIO +hipp <..> SearchAPI: Catalogus uitwisselingen -FCS ..> OI : Bevraagd -KOOP -down-> FCS : Indexeerd (XML Sitemap) -WOOGLE -down-> FCS : Indexeerd (API) -Website -down-> FCS : Bevraagd (API) -Themasite -down-> FCS : Bevraagd (API) -Searchsite -down-> FCS : Bevraagd (API) +user <..> f5extern: Browser ANONIEM +adminUser <..> f5intern : Browser MET JWT Claim +f5extern <..> ui: Alleen openbare endpoints en objecten +f5intern <..> admin: Alle endpionts +ui <..> SearchAPI: Alle endpionts +admin <..> ObjectsAPI: Alle endpionts +ObjectsAPI .down.> db: Persist +SearchAPI .down.> search: Look up +layer2 .down.> identity: AUTH +service .down.> ObjectsAPI: AUTH -@enduml +@enduml \ No newline at end of file diff --git a/docs/partners/Datamask.md b/docs/partners/Datamask.md index 4879d856..0af7ffee 100644 --- a/docs/partners/Datamask.md +++ b/docs/partners/Datamask.md @@ -1,37 +1,44 @@ # Datamask -OpenWoo.app en Datamask willen graag een gemeenschappenlijek propositie voeren voor de WOO + +OpenWoo.app en Datamask willen graag een gemeenschappelijke propositie voeren voor de WOO ## Product Datamask -Datamask zet de kracht van haar reeds bestaande koppelingen vanuit haar anonimiserings tool (en e.v.t. publicatie platform) in + +Datamask zet de kracht van haar reeds bestaande koppelingen vanuit haar anonimiseringstool (en e.v.t. publicatie platform) in Heeft wel -- Anonimesering + +- Anonimisering - Zoekindex a.h.v huidige koppelingen - Organisatie breder publicatie pagina - Beheerschermen en configuratie op de inrichting Heeft niet + - Federatief en organisatie overkoepelend zoeken ## Product OpenWoo.app + Datamask zet de kracht van haar data federalisatie en common ground netwerk in. Heeft wel + - Federaliseren van indexen - NL Design voorkant - Volledig open source - Koppeling met Koop -- Meezoeken in andere organisaties (samenwerkings verbanden, provincies etc) -- Ondersteuning vanuit het common ground programma +- Meezoeken in andere organisaties (samenwerkingsverbanden, provincies etc.) +- Ondersteuning vanuit het Common Ground programma -Heeft niet -- Anonimeseringstool -- Beheers interface op het koppelvlak +Heeft geen + +- Anonimiseringstool +- Beheerinterface op het koppelvlak ## Samenwerking -De samenwerking kan er redelijk simpel uitzien, Datamask kan als aditionele funtionaliteit publiceren richting OpenWoo.app (daarvoor moet de betreffende afnemer wel over het motorblok van OpenWoo.app en Datamask beschicken). Vervolgens kan OpenWoo.app deze data beschickbaar maken op haar federale netwerk en door publiceren naar KOOP en WOOGLE aanvullend kan Datamask ook gegevens ophalen vanuit OpenWoo.app en zo ook aanvullende catageorien naast verzoeken weergeven in haar publicatie platform. +De samenwerking kan er redelijk simpel uitzien, Datamask kan als additionele functionaliteit publiceren richting OpenWoo.app (daarvoor moet de betreffende afnemer wel over het motorblok van OpenWoo.app en Datamask beschikken). Vervolgens kan OpenWoo.app deze data beschikbaar maken op haar federale netwerk en door publiceren naar KOOP en WooGLe aanvullend kan Datamask ook gegevens ophalen vanuit OpenWoo.app en zo ook aanvullende categorieën naast verzoeken weergeven in haar publicatie platform. ## Architectuur -![OpenWeb Architecture](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/Datamask.svg) \ No newline at end of file +![OpenWeb Architecture](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/Datamask.svg) diff --git a/docs/partners/DeVault.md b/docs/partners/DeVault.md index b70102a1..7d0fc063 100644 --- a/docs/partners/DeVault.md +++ b/docs/partners/DeVault.md @@ -1,10 +1,6 @@ # Koop Hulp(je) -Vanuit de gemeente Buren is Koophulpje.nl opgezet. Het doel van Koophulpje is het doen van een proof of concept (poc) met de OpenWoo.app en het stellen van integrale zoek vragen aan de hand van het federale data stelsel (FSC) en API's. - -## Voorgeschiedenis - -asd +Vanuit de gemeente Buren is [Koophulpje.nl](koophulpje.nl) opgezet. Het doel van Koophulpje is het doen van een Proof-of-Concept (poc) met de OpenWoo.app en het stellen van integrale zoekvragen aan de hand van het federale datastelsel (FSC) en API's. ## Voordelen @@ -16,18 +12,18 @@ asd - Koophulpje.nl is een 'platte' React pagina, ze beschikt niet over een eigen server, maar maakt direct gebruikt van één API - Deze API bevat de gegevens van meerdere gemeenten aan de hand van federale bevraging -- Ter vergelijking creëren we ook sitemap en robot bestanden voor dezelfde gemeenten t.b.v van de door KOOP voorgestelde harverster +- Ter vergelijking creëren we ook sitemap en robot bestanden voor dezelfde gemeenten t.b.v van de door KOOP voorgestelde harverster. ## Bevindingen -Dataveiligheid: Tijdens vroege testen kwam snel naar voren dat het via API de bron bevragen in plaats van het opbouwen van een index een databeveiligheidsverbeteringen opleverde. Foutieve test data kon snel worden verwijderd en was na verwijdering in het bronsysteem geen onderdeel meer van het federale netwerk en daardoor niet meer vindbaar via Koophulpje. +Dataveiligheid: Tijdens vroege testen kwam snel naar voren dat het via API de bron bevragen in plaats van het opbouwen van een index een verbetering voor de databeveiliging opleverde. Foutieve test data kon snel worden verwijderd en was na verwijdering in het bronsysteem geen onderdeel meer van het federale netwerk en daardoor niet meer vindbaar via Koophulpje. Hoewel dit bij het testen vooral fijn was, levert het bij daadwerkelijke productie gang een sterk voordeel op. Het stelt organisaties in staat om gegevens terug te trekken. Bijvoorbeeld bij het per ongeluk publiceren van persoonsgegevens kunnen de gegevens onmiddellijk worden teruggetrokken (i.p.v. dat er moet worden gewacht op de volgende keer data de harvester langs komt). Schaalbaarheid: Het generen van sitemap.xml-bestanden aan de hand van grotere datasets (1000+) blijkt intensief te zijn -Belasting en kosten: Het genereren van grote sitemap bestanden is server intensief, het confronteert de publicerende overheid daarmee met relatief hoge kosten. We vermoeden dat dit ook geld aan de kant van de harvester. +Belasting en kosten: Het genereren van grote sitemap bestanden is server intensief, het confronteert de publicerende overheid daarmee met relatief hoge kosten. We vermoeden dat dit ook geld aan de kant van de harvester.   -Actualiteit: Doordat de sitemap xml bestanden groot zijn blijkt het niet uitvoerbaar om ze bij elke wijziging bij te werken (bijvoorbeeld toegekende vergunning of afgeronde zaak) ipv daarvan worden ze 's nachts gegenereerd. Dit betekent dat het koppelvlak per definitie achterloopt. +Actualiteit: Doordat de sitemap xml bestanden groot zijn blijkt het niet uitvoerbaar om ze bij elke wijziging bij te werken (bijvoorbeeld toegekende vergunning of afgeronde zaak) i.p.v. daarvan worden ze 's nachts gegenereerd. Dit betekent dat het koppelvlak per definitie achterloopt. We interpreteren de WOO als alle niet vertrouwelijke gegevens moeten pro-actief openbaar worden gemaakt. Door gebruik te maken van API's in plaats van sitemap xml bestanden zorgen we dat de gegevens alleen worden verstuurd op het moment dat ze worden opgevraagd. Dat vergroot het dataverkeer bij gebruik, maar voorkomt dataverkeer vooraf. diff --git a/docs/partners/Dimpact.md b/docs/partners/Dimpact.md index 13643e87..bde7da6b 100644 --- a/docs/partners/Dimpact.md +++ b/docs/partners/Dimpact.md @@ -1,32 +1,36 @@ # Dimpact -Dimpact heeft als samenwerkings en inkoop organisatie vanuit diverce van haar leden de vraag gekregen om te verkennen hoe een eventueele in het kader van de Wet open overheid zou kunnen worden vormgegeven. Dimpact heeft deze verkenning in eerste instantie gemeenschappenlijk met de gemeente Rotterdam uitgevoerd. +Dimpact heeft als samenwerkings- en inkooporganisatie vanuit diverse van haar leden de vraag gekregen om te verkennen hoe een eventuele proof-of-concept(PoC) in het kader van de Wet open overheid zou kunnen worden vormgegeven. Dimpact heeft deze verkenning in eerste instantie gemeenschappelijk met de gemeente Rotterdam uitgevoerd. -Tijdens deze verkenning is Dimpact de oplossing OpenWoo.app tegen gekomen voor het publiceren van Woo verzoeken naar een publicatie pagina én landelijke platformen zo als KOOP. Vanuit hergebruik heeft Dimpact de wens om deze oplossing in te zetten en zich eventueel aan te sluiten bij de OpenWoo.app community. +Tijdens deze verkenning is Dimpact de oplossing OpenWoo.app tegengekomen voor het publiceren van Woo verzoeken naar een publicatiepagina én landelijke platformen zoals KOOP. Vanuit hergebruik heeft Dimpact de wens om deze oplossing in te zetten en zich mogelijk aan te sluiten bij de OpenWoo.app community. ## Overwegingen -- OpenWoo.app kent een community van actieve leden waaronder naast gemeentelijke overheden ook provincies, code for nl, open state foundation en het nationaal archief. + +- OpenWoo.app kent een community van actieve leden waaronder naast gemeentelijke overheden ook provincies, Code for NL, Open State foundation en het Nationaal Archief. - OpenWoo.app heeft een beproefde koppeling met KOOP - OpenWoo.app kan publiceren vanuit open zaak. -- OpenWoo.app maakt hergebruik van binnen Open Catalogi ontwikkelde componenten -- OpenWoo.app is onderdeel van het commonground portfolio met een rating van zilver +- OpenWoo.app maakt hergebruik van binnen OpenCatalogi ontwikkelde componenten +- OpenWoo.app is onderdeel van het Common Ground-portfolio met een rating van goud - OpenWoo.app bied naast het zaaksysteem ook werkende koppelingen met andere bronnen -- OpenWoo.app draaid reeds bij verscheidende overheden in productie -- OpenWoo.app heeft *geen* annonimiserings component -- OpenWoo.app heeft *geen* afhandel component voor Woo verzoeken +- OpenWoo.app draait reeds bij verscheidende overheden in productie +- OpenWoo.app heeft *geen* annonimiseringscomponent +- OpenWoo.app heeft *geen* afhandelcomponent voor Woo verzoeken ## Conclusie -De OpenWoo.app kan op een goede manier invulling geven aan de publicatie vraag van Dinpact. De reeds gekopelde bronnen geven invulling aan de behoefte van de Dimpact leden en daar waar nieuwe extra bronnen nodig zijn is er een actieve community waarin deze (ook buiten Dimpact om) ontwikkeld kunnen worden. Ook de samenwerking met IO bied Dimpact gemeente een snel implementeerbare route op Open Online richting productie. Het inzetten van de oplossing ligt dan ook voor de hand. -Echter, naar OpenWoo.app zal Dimpact echter wel zelf moeten faciliteren op het afhandelen en anonimiseren van Woo verzoeken. Dit zal seperaat moeten worden neergezet, zowel Datamask, Mylex als andere markt partijen bieden hier ook losse oplossingen voor aan. Als alternatief voor deze losse oplossingen zou Dimpact ook kunnen inzetten op afhandeling via haar eigen podium d componenten zo als open formulieren en zaak afhandel component. Voor het annonimiseren zou samenwekring kunnen worden gezocht met de gemeente Buren (OWC) die wil inzetten op een open source annonimiserings tool. + +De OpenWoo.app kan op een goede manier invulling geven aan de publicatie vraag van Dimpact. De reeds gekoppelde bronnen geven invulling aan de behoefte van de Dimpact leden en daar waar nieuwe extra bronnen nodig zijn is er een actieve community waarin deze (ook buiten Dimpact om) ontwikkeld kunnen worden. Ook de samenwerking met IO biedt Dimpact gemeente een snel implementeerbare route op Open Online richting productie. Het inzetten van de oplossing ligt dan ook voor de hand. +Echter, naar OpenWoo.app zal Dimpact echter wel zelf moeten faciliteren op het afhandelen en anonimiseren van Woo verzoeken. Dit zal separaat moeten worden neergezet, zowel Datamask, My-Lex als andere markt partijen bieden hier ook losse oplossingen voor aan.  Als alternatief voor deze losse oplossingen zou Dimpact ook kunnen inzetten op afhandeling via haar eigen Podium D-componenten zo als open formulieren en zaak afhandel component. Voor het annonimiseren zou samenwerking kunnen worden gezocht met de gemeente Buren (OWC) die wil inzetten op een open source annonimiseringstool. ## Werkzaamheden -Voor beheer, onderhoud en support kan Dimpact aansluiten bij de huidige community, dit heeft als voordeel dat Dimpact niet alleen minder verantwoordelijkheid naar zich toetrekt maar ook een reeds goedlopende community (financieel) ondersteund en beloond voor haar inspanningen. Dit aanhaken boven overnemen verstevigd het opensource ecosysteem zonder hogere kosten. + +Voor beheer, onderhoud en support kan Dimpact aansluiten bij de huidige community, dit heeft als voordeel dat Dimpact niet alleen minder verantwoordelijkheid naar zich toetrekt, maar ook een reeds goedlopende community (financieel) ondersteund en beloond voor haar inspanningen. Dit aanhaken boven overnemen verstevigt het open source ecosysteem zonder hogere kosten. Voor het traject tót publicatie staat Dimpact echter voor een meer ingewikkelde keuze, kort samengevat zijn er drie opties: -- De opensource keten overnemen zo als deze bij OWC staat (dat zou de introductie van xxllnc zaak registraties betekenen) -- Op haar eigen podium d componenten een oplossing vormgeven (dit zou werk voor eigen ontwikkelaars betekeken, en los hiervan een annonimiserings tool onboarden) -- Een commerciele woo verzoeken afhandelings flow inkopen + +- De open source keten overnemen zo als deze bij OWC staat (dat zou de introductie van xxllnc zaak registraties betekenen) +- Op haar eigen podium d componenten een oplossing vormgeven (dit zou werk voor eigen ontwikkelaars betekenen, en los hiervan een annonimiseringstool onboarden) +- Een commerciële Woo-verzoeken afhandelingsflow inkopen ## Opmerkingen -Het “gat” met betrekking tot de woo afhandeling bestaat alleen voor Woo verzoeken, voor de overige Woo categorieën kan direct worden gepubliceerd vanuit de huidig bronnen. Hier zal een voorziening voor moeten worden getroffen, maar het is goed om in het oog te houden dat deze per definitie tijdelijk is. Het einddoel van de Woo is dat alle relevante informatie pro-actief openbaar word gemaakt. In de context bestaat een verzoek tot openbaar making niet meer. +Het “gat” met betrekking tot de Woo-afhandeling bestaat alleen voor Woo-verzoeken, voor de overige Woo categorieën kan direct worden gepubliceerd vanuit de huidig bronnen. Hier zal een voorziening voor moeten worden getroffen, maar het is goed om in het oog te houden dat deze per definitie tijdelijk is. Het einddoel van de Woo is dat alle relevante informatie pro-actief openbaar wordt gemaakt. In de context bestaat een verzoek tot openbaarmaking niet meer. diff --git a/docs/partners/Koop.md b/docs/partners/Koop.md new file mode 100644 index 00000000..105f76c2 --- /dev/null +++ b/docs/partners/Koop.md @@ -0,0 +1,50 @@ +# Koop integratie van search API + +Vanuit verschillende overheden is aan KOOP de vraag gesteld of zij ook een API kunnen ondersteunen (naast de sitemap.xml) + +Voordelen van API gebruik +- Stabielere standaard en minder fout gevoelig +- Kleineere bevragingen + +## API versus Sitemap +OpenWoo.app maakt onder water gebruik van Open Catalogi als infrastructuur. Kort samengevat faciltieerd Open Catalogi het per organisatie neerzetten van een Woo catalogus. Binnen deze woo catalogus worden vervolgens publicaties (met bijlagen) aangemaakt die binnen een federatief netwerk worden gedeeld (vindbaar zijn). + +Om de publicaties voorspelbaar te houden wordt er vervolgens gebruik gemaakt van json-ld context die voor de normale json api is vertaald naar schema.json. Dat wil zeggen dat centraal wordt beheerd welke properties er per publicatie type beschickbaar zijn. Hiermee onstaat een moderne goed leesbare JSON api die ook gemakkenlijk door andere partijen te implementeren is. De meest basale voorwaarde voor een partij om mee te doen aan het federatief stelsel is een `/search` endpoint beschickbaar stellen waarop zij de data die zij doorzoekbaar wil maken aanbied in een JSON standaard. Het is dus niet per definitie nodig om de gehele OpenCatalogi standaard te implementeren of een installatie van Open Catalogi neer te zetten. Dat maakt de standaard voor andere leveraniers behapbaar. + +Documentatie +- [API definties](https://conduction.stoplight.io/docs/open-catalogi/liqfp3acl8cro-publication) +- [Open Catalogi Architectuur](https://documentatie.opencatalogi.nl/Handleidingen/Architectuur/) + +Dit is in de praktijk een stuk sneller te organiseren vo + +## Crawling (harvesting) versus pub/sub +Op dit moment crawled KOOP iedere nacht alle overheids organisaties die een sitemap XML hebben aangeleverd. Dat heeft een aantal nadelen +- **Server intensief:** De volledige sitemap xml word opgehaald en verwekt dat kan over duizende bestanden gaan +- **Foutgevoelig:** De sitemap xml nor blijkt in de praktijk lastig te volgen voor ontwikkel partijen +- **Latend:** Er wordt alleen s'nachts gecrawled, hierdoor loopt de data altijd achter +- **Privacy gevoelig** Evenutele datalekken worden pas na 24 uur autatisch bijgewerkt + +Vanuit OpenWoo.app bieden we daarom een pub/sub patroon aan conform het NL GOV profiel voor cloud events. Dat betkend dat KOOP bij iedere CRUD actie op publicaties of bijlagen een systeem notifiatie `event` ontvangt. Aan de hand waarvan zij publicaties en documenten kan herindexeren of verwijderen. Hierdoor wordt de server belasting gelijkmatiger over de dag verdeerd en eventueele publicaties meteen zichtbaar. + +Om te zorgen dat er gedurende de dag geen notificaties verloren gaan hanteren we naast de ontvangst protocollen vanuit cloud events ook de mogenlijkheid om iedere nacht aan de API alle wijzigingen op te vragen zodat de administratie vierkant kan worden gemaakt. + +## Aanmelden versus discovery +Op dit moment moeten sitemap.xml bestanden handmatig worden aangemeld en verwerkt door KOOP. Vanuit Open Catalogi gebruiken we een adverticing/discovery waarbij nieuwe API's zichzelf kenbaar maken op het netwerk waarbij `trust` wordt gehandhaaft aan de hand van PKI certificaten. Vanuit Koop gezien betkend dit dat de Koop API bij iedere nieuwe `Woo Catalogus` een bericht krijgt, contact kan leggen met deze catalogus om aan de hand van het PKI certificaat te bepalen of deze legitiem is en dan een notificatie abbonement te nemen aan de hand van pub/sub. + +## Variant 1, Koop leest in via centrale dienst (koophulpje.nl) +In de meest makkenlijke opzet kan koop inlezen via de reeds bestaande landelijke voorziening van openwoo.app, deze biedt een federatieve API naast het search meganisme ook het notificatie megansisme. Hetgeen betekend dat KOOP (net als woogle) aan de hand van deze éné API de gegevens van alle deelnemende organisaties kan ophalen. + +Voordelen: Snel te realiseren +Nadelen: Het betkend dat en een flinke verschuiving van verkeer naar koophulpje optreed. Hiervoor zal om een bijdrage worden gevraagd + +## Variant 2, Koop leest in via de decentrale catalogi +Onder water is het federaal stelsel Open Catalogi een versameling van decentrale catalogi. Koop kan de verschillende Catalogi zelf in kaart brengen aan de henad van het in de API ingebouwde discovery meganisme. Om verolgens per organisatie een connectie te nemen + +## Variant 3, Koop installeerd Open Catalogi +Open Catalogi is een set van scripts die onderling zoek indexen uitlijnen. Daarmee bevat zij in de kern de logica die nodig is om deel te nemen aan het federatief netwerk. Hoewel er hierbij voor is gekozen om géén data duplicatie maar vragen bij de bron toe te passen zou dat in theorie wel kunnen. Dat betekend dat er vanuit een OpenWoo.app perspectief twee uitbreidingen nodig zouden zijn om de gefederaliseerde data de huidige WOO index in te lezen. + +1 - Ondersteuning/Koppeling met de onderligende zoek engine +2 - Ondersteuning/Koppeling voor het locaal opbouwen van een zoek index + +Voordeel: Dit betkend dat Open Catalogi een door Koop gehoste uitbreiding kan zijn op haar huidige index, ofwel weinig "bouw" +Nadeel: Koop zal en Open Catalogi instantie moeten (laten) hosten. Er zullen ook ontwikkelkosten zijn aan de kant van OpenCatalogi en OpenWoo \ No newline at end of file diff --git a/docs/partners/POC-check.md b/docs/partners/POC-check.md new file mode 100644 index 00000000..6618e355 --- /dev/null +++ b/docs/partners/POC-check.md @@ -0,0 +1,361 @@ +# Vragenlijst POC + +## Common Ground Architectuur + +### Voldoet de oplossing aan de CG architectuur? Zie ook figuur 5 in de PSA + +Ja, de architectuur voldoet aan de Common Ground-architectuur (het heeft immers status [goud](https://app.powerbi.com/view?r=eyJrIjoiOWU4MjlmYTktNjE2MS00OGRhLTgwMjYtZWZhNTFhZmRhZjI2IiwidCI6IjZlZjAyOWFiLTNmZDctNGQ5OC05YjBlLWQxZjVmZWRlYTZkMSIsImMiOjh9&pageName=ffe4f1f9018d7bd035bc)). In principe is de OpenWoo.app een implementatie van de [OpenCatalogi-architectuur](https://documentatie.opencatalogi.nl/Handleidingen/Architectuur/) aangevuld met een aantal extra componenten en inrichtingen. De aanvullingen staan beschreven in de [OpenWoo](https://openwoo.app/Techniek/Architectuur/) architectuur. Deze komen neer op diverse extra frontends (de publicatiepagina's van de leveranciers) en een service voor het inladen van gegevens uit diverse bronnen. + +Versimpeld komt de architectuur daarmee neer op: +![architectuur versimpeld](https://raw.githubusercontent.com/OpenCatalogi/.github/main/docs/handleidingen/components_commonground.svg). + +Alle componenten zijn los te draaien en vervangbaar, en de inzet van meerdere frontends toont aan dat de applicatie voldoet aan een goede architecturale scheiding. De codebases van OpenCatalogi zelf zijn terug te vinden onder [OpenCatalogi architectuur](https://documentatie.opencatalogi.nl/Handleidingen/Architectuur/) en de aanvullende codebases van OpenWoo.app onder [OpenWoo architectuur](https://openwoo.app/Techniek/Architectuur/). + +Als we de verschillende oplossingen in kaart brengen die invulling geven aan de bovenstaande componenten komen we uit op de volgende plaat: + ![architectuur componenten](https://raw.githubusercontent.com/OpenCatalogi/.github/main/docs/handleidingen/components.svg). + +Opmerkingen + +- Documenten worden (bij voorkeur) alléén opgeslagen in het documentmanagmentsysteem(DMS) +- Metadata over documenten wordt opgeslagen in de objectstore + +### Wordt er een scheiding gemaakt tussen gegevens ontsloten door API's aan de ene kant en applicaties aan de andere kant? Slaat de applicatie zelf nog gegevens op direct in een database? Welke? + +Ja, er wordt een duidelijke scheiding gemaakt tussen gegevens ontsloten door API's en applicaties. OpenWoo.app is ontworpen volgens de Common Ground principes, waarbij gegevens worden ontsloten via API's. Dit betekent dat de applicatie zelf niet direct gegevens opslaat, maar gebruikmaakt van API's om toegang te krijgen tot de benodigde data. Dit geldt bijvoorbeeld voor Publicaties en Bestanden. De beheerinterface beschikt daarnaast echter wel over een eigen database voor het opslaan van configuratie zoals rollen, rechten, logging, etc. +Het is belangrijk om te vermelden dat OpenCatalogi beschikt over drie mogelijkheden voor het opslaan van data: + +- Opslag in MongoDB (hierbij wordt OpenCatalogi zelf een register) +- Opslag in Overige Objecten en Document Registratie Component +- Opslag in de interne PostgreSQL database van de beheeromgeving (alleen bedoeld voor demo en development) + +In afwijking van de Dimpact-architectuur kiest OpenCatalogi (en daarmee OpenWoo.app) ervoor om documenten en de metadata daarvan los op te slaan. Metadata wordt opgeslagen als object en een document binnen een DMS (via DRC). De overweging hierachter is dat objecten en documenten gebaat zijn bij gespecialiseerde systemen, waarbij met name rondom documenten de inzet van een DMS binnen een overheid gangbaar is. + +![alt text](dimpact_architectuur_publicatieplatform.png) + +Daarmee is de volgende vertaaltabel te maken van de Dimpact Publicatie-PSA naar OpenWoo.app + +| Doel | Dimpact component | OpenWoo.app component | Repository | +| ------ | ------------------|-----------------------|-------| +| Ambtenaar | Openbare Documenten Publicitie Component (Publiceren)| Publicatie Afhandel Component | Nog niet openbaar | +| Beheerder | Openbaar Documenten Burger Portaal (Contenbeheer)| Technische Beheer Omgeving | [OpenCatalogi.app](https://github.com/ConductionNL/opencatalogi) | +| Burger | Openbaar Documenten Burger Portaal (Zoeken en raadplegen)| Publicatie Platform | Nog niet openbaar | +| Opslag | Openbaar Documenten Registratie Component (Model en publicatiebeheer)| Technische Beheer Omgeving | [OpenCatalogi.app](https://github.com/ConductionNL/opencatalogi) | +| Opslag | Openbaar Documenten Registratie Component (ODRC API)| Overige Objecten + Document Registratie Component | [Objects-api](https://github.com/maykinmedia/objects-api) , [Open zaak](https://github.com/open-zaak/open-zaak) | +| Index | Search Engine | Search Engine | [Elastic](https://github.com/ConductionNL/opencatalogi) | + +Hierbij hanteren we overigens scheiding tussen laag 1 en 2 waarbij op laag twee gebruik wordt gemaakt van "convience" APIs die bronnen combineren, te weten + +- **Publicatie API** Gebruikt: +- - Objects API (voor publicatie objecten en meta data over documenten) +- - Documenten API (voor documenten) +- **Search API** Gebruikt: +- - Elastic API (voor zoeken) +- - Documenten API (voor ophalen en uitleveren van documenten) + +Voor beide API's is de documentatie te vinden op [stoplight](https://conduction.stoplight.io/docs/open-catalogi/6yuj08rgf7w44-open-catalogi-api) + +### Kun je ook andere applicaties aansluiten op de API's van de oplossing? Bijv. website, portaal of een mobiele app? + +Zeker, sterker nog, dat is gangbaar. Er zijn op dit moment vijf verschillende publicatieplatformen aangesloten op de OpenCatalogi-API, waarvan vier onderdeel zijn van de OpenWoo.app community. In de [OpenWoo](https://openwoo.app/Techniek/Architectuur/) staat een overzicht met verwijzingen naar de codebases. Daarnaast maken Koop (via Koophulpje.nl), WooGLe en een tweetal gemeenten ook direct gebruik van de API. Er zijn op dit moment geen mobiele apps die gebruik maken van de API, maar er zijn wel organisaties die overwegen om deze in hun omgeving op te nemen (voor lokaal nieuws, met name het OpenWeb-concept). + +In een bredere context zijn naast Koophulpje.nl (de sitemap.xml-adaptor voor KOOP) ook andere adapters in verkenning of ontwikkeling die de API weer omslaan naar externe bronnen (voor publiceren vanuit OpenCatalogi). Voorbeelden hiervan zijn DROP en SDG. + +## Technologie + +### Hoe ziet de technologiestack van de oplossing eruit? Taal, frameworks, databases, etc + +- **Laag 5 en 4** Voor de publicatieplatformen (inwoners frontends) wisselen technologiestacks per leverancier. Conduction en Acato bouwen statische voorkanten aan de hand van het NL Design React framework (bijvoorbeeld de UI van de gemeente Tilburg) en IO Digital volledige PHP WordPress-plugins. +- **Laag 2** Op de backend zijn we recentelijk overgestapt van Conduction's eigen oude Common Gateway (PHP+React) naar het Nextcloud framework (PHP+Vue). Er zijn veel redenen voor deze overstap, die uitgelegd staan in een [blog](https://documentatie.opencatalogi.nl/Handleidingen/Nextcloud/), maar kort samengevat is Nextcloud als framework echt gericht op Kubernetes (en bevat dus van zichzelf integratie voor logging, monitoring, ADFS, etc.). +- **Laag 1** Op de datalaag wordt er door Nextcloud zelf gebruik gemaakt van [PostgreSQL](https://www.postgresql.org/). Vanuit applicatieoogpunt schrijven we de overige data bij voorkeur weg naar objectregistraties (zoals overige objecten of MongoDB) en documenten naar een gespecialiseerd documentmanagementsysteem (zoals documentregistratiecomponent). Voor zoekfuncties wordt weggeschreven naar een gespecialiseerde zoekindex (Elastic Search). + +### Welke bestaande componenten (zoals Elastic of KeyCloak) worden gebruikt? + +OpenWoo.app maakt gebruik van diverse bestaande componenten om een robuuste, veilige en schaalbare oplossing te bieden. Hieronder staan de belangrijkste componenten die in de technologiestack worden gebruikt: + +- Document Registratie Component (uit bijvoorbeeld Open Zaak) +- Object Registratie Component +- Object Type Catalogus +- Elasticsearch +- FSC/NLX +- Nextcloud als basisframework +- Diverse NL Design React componenten + +Daarnaast is het belangrijk om te vermelden dat de keuze voor Nextcloud als basisframework voortkomt uit de goede out-of-the-box ondersteuning voor Keycloak, Splunk, Nagios, Apache Spark, Prometheus, Loki, Grafana, Harbour, OpenShift en Azure. Dit is belangrijk omdat dit het platform goed schaalbaar en monitorbaar maakt in complexe Kubernetes-omgevingen en daarmee bij uitstek geschikt is voor uitlevering als SAAS-platform. + +### Zijn er automatische tests? Welke soort (unit, end-to-end)? Wat is de dekkingsgraad? + +We draaien beide soorten tests. Voor end-to-end testing maken we gebruik van [Vitest](https://vitest.dev/) en voor unit tests van [PHPUnit](https://phpunit.de/index.html) en [Jest](https://jestjs.io/). De test coverage wisselt rond de 60 procent. Het doel is om dat voor 12 augustus naar 80% te hebben. Meer documentatie hierover is opgenomen in de [GitBook](https://conduction.gitbook.io/opencatalogi-nextcloud/developers/verder-documentatie) van de OpenCatalogi Nextcloud-app. + +![alt text](image.png) + +### Zijn er installatiescripts? Is er een Helm-chart? Zijn voldoende omgevingsvariabelen ontsloten voor een volledige automatische installatie? + +Zeker, goede installeerbaarheid was een drijfveer achter deze stackkeuze. Simpel gezegd komen alle OpenCatalogi-installaties neer op drie stappen, met een extra stap voor OpenWoo.app: + +1. Installeer Nextcloud: + - Via Helm, zie [Artifact Hub](https://artifacthub.io/packages/helm/nextcloud/nextcloud) + - Als Azure-app, zie de [Azure Marketplace](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/nextcloudgmbh1597841818906.nextcloud?tab=overview) + - Via OpenShift, zie de [OpenShift-catalogus](https://catalog.redhat.com/software/container-stacks/detail/65e9dc6f6365ba88288a412c) +2. Activeer de OpenCatalogi-app, instructie op de [OpenCatalogi GitBook](https://conduction.gitbook.io/opencatalogi-nextcloud/developers/installatie-via-nextcloud-lokaal-deel-2-een-app-toevoegen) +3. Configureer de Nextcloud-app, instructie op de [OpenCatalogi GitBook](https://conduction.gitbook.io/opencatalogi-nextcloud/developers/installatie-via-nextcloud-lokaal-deel-2-een-app-toevoegen) +4. Installeer de WooPublicatie-pagina, instructies op de [OpenWoo.app GitHub](https://github.com/ConductionNL/woo-website-template) + +Deze stappen staan ook nader beschreven in de nieuwe [OpenCatalogi GitBook](https://conduction.gitbook.io/opencatalogi-nextcloud). + +Voor (lokaal) ontwikkelen en demo's is er ook een `docker-compose` voor het draaien in een container. De instructies zijn [hier](https://conduction.gitbook.io/opencatalogi-nextcloud/developers/installatie-via-docker) te vinden. Deze wordt momenteel door Acato getest (so far so good). + +Na installatie zijn er enige (optionele) vereisten, zoals een API-sleutel voor MongoDB en clusternaam en voor het activeren van Elastic een sleutel en index of voor productieomgevingen toegang tot de objecten API, objecttype API en documentregistratiecomponent. + +## Bronnen + +### Welke bronnen kunnen nu worden aangesloten? + +Momenteel de volgende bronnen: + +- (xxllnc) zaaksysteem.nl +- ZGW-API-bronnen (DRC en ZRC) +- ORI-API-bronnen (Notubiz en andere raadsinformatiesysteemleveranciers) +- Objectregistraties (MongoDB en overige objecten) +- SharePoint +- StUF en ZDS +- Bronnen met een REST API kunnen in theorie worden geconfigureerd + +Daarnaast zijn er ook diverse afnemeners van de search api + +- KOOP +- WooGLe +- IO (website) +- Acato (publicatieplatform) +- Yard (website) + +### Is er een adapter framework of iets anders voor het aansluiten van nieuwe bronnen? + +Ja, momenteel gebruiken we voor dit specifieke stukje van het ecosysteem nog wel de CommonGateway. Dat werkt aardig (Acato heeft daar nu ook de eerste koppelingen mee gemapped), maar we willen deze eigenlijk ook overzetten naar een Nextcloud-app voor Kubernetes. Voor zaakgerichtwerken, objectregistraties en open raadsinformatie is er nu al een adapter voor ondersteuning en Tilburg en Acato zijn aan het afronden op StUF en SharePoint. + +Deze adapter voorziet in het ontsluiten van bronnen náár het publicatieregister toe. Omdat Dimpact binnen de MVP gebruikmaakt van handmatig publiceren, is de CommonGateway voor de MVP out of scope. In een bredere context geldt dat we de CommonGateway in Q3 gaan uitfaseren. Het doel is om bij de inwerkingtreding Woo (1 november) alles op Nextcloud te draaien. + +### Worden bronnen via streaming aangesloten? Of is dat batch (bijv. 's nachts of ieder uur)? + +Beide, bij voorkeur gebruiken we een [pubsub-patroon](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) zoals notificaties bij ZGW. Bij pubsub nemen we een notificatie op CRUD acties op bron objecten (bijvoorbeeld zaken van het type w00-verzoeken) en werken we het publicatie opbject bij op het moment dat er iets wijzigd in de onderligende zaak. Zo zorgen we dat gegevens altijd bij zijn, en we niet afhankenlijk zijn van nachtenlijk crawlen of harvesten. Maar in de praktijk ondersteunen lang niet alle pakketten dit. In die gevallen grijpen we terug op batchverwerking. Hoe vaak die draaien hangt van de bron af en is per bron instelbaar. Dat kan elk uur of elke nacht. Maar als de bron bijvoorbeeld kan filteren op items die afgelopen x minuten zijn gewijzigd, kijken we graag iedere 5 tot 10 minuten even (als het antwoord dan leeg is, zijn we ook niet excessief aan het vragen). + +## Zoeken + +### Hoe verhoudt de zoekindex zich tot de ODRC? + +Deze is bewust losgekoppeld, we hanteren het principe dat in de zoekindex alleen openbare informatie mag staan. + +### Slaat Elastic alle gegevens (docs) zelf op? + +Dat hangt van de configuratiekeuzes van de gemeente af, maar bij voorkeur slaan we alleen de metadata van documenten op en halen we het document zelf uit het DRC op het moment dat het wordt opgevraagd. Er zijn echter casussen waarin dat vanuit belasting of performance niet wenselijk is. + +### Is de API voor zoeken een Elastic API of specifieke API voor WOO? + +Het is een specifieke API voor de WOO die binnen de parameters valt van wat Elastic zelf ook kan leveren met wat configuratie. Met andere woorden, de Elastic-instantie kan ook direct worden bevraagd. De adapter erbovenop voorziet echter in twee extra functionaliteiten die wij binnen de WOO wenselijk vinden: + +- Federatief zoeken over meerdere Elastic Search-instanties +- Ophalen documenten door routeren naar bijvoorbeeld DRC in plaats van Elastic. + +### SaaS + +### Dimpact wil de oplossing als SaaS-dienst aanbieden aan haar leden. Wat is er nodig om de oplossing als SaaS aan te bieden? + +Een Kubernetes- of Azure-omgeving met daarop bij voorkeur een managementtool voor container orchestratie die Artifact Hub ondersteunt (er zijn er een aantal). In dat geval kan er visueel geïnstalleerd worden. + +Daarnaast ondersteunen we best een flink aantal monitoring- en dashboardtools, het is verstandig om die ook operationeel te hebben (bijvoorbeeld Grafana). + +### Hoe ziet een gemeentelijke implementatie eruit? Ervan uitgaande dat alle technische integratie al gedaan is bij installatie? + +Hiervoor is een handleiding beschikbaar op . + +## Authenticatie en autorisatie + +### Kan de oplossing worden aangesloten op AD (OIDC)? + +Ja, Nextcloud werkt met LDAP voor het AD, of (onder andere) ADFS voor SSO. Hiervoor zijn meerdere [handleidingen](https://www.schiessle.org/articles/2023/07/04/nextcloud-and-openid-connect/) beschikbaar die bijvoorbeeld ook gebruik maken van Keycloak (er kan ook direct met LDAP op AD worden gekoppeld). + +### Hoe worden rollen en rechten ingeregeld? Kan de oplossing rollen uit AD gebruiken? + +Dit werkt via [LDAP](https://docs.nextcloud.com/server/latest/admin_manual/configuration_user/user_auth_ldap.html). De oplossing kan dus de rollen uit het AD overnemen. Het toekennen van specifieke rechten aan rollen (bijvoorbeeld publiceren) gebeurt vervolgens in de applicatie zelf. Ook kunnen in de applicatie rollen worden aangemaakt waardoor er flexibiliteit is ten aanzien van de rollen structuur van de afnemende overheid. + +### Kunnen beide bij installatie worden ingericht via de Helm-chart? + +Ja, voor zover wij weten zijn alle configuratieopties (dus ook adapters) via de config-optie van de [Helm-chart](https://artifacthub.io/packages/helm/nextcloud/nextcloud?modal=values) in te stellen. Dat betekent dus dat de applicatie (in theorie) volledig werkend kan worden opgespannen. + +## Standaarden + +### Welke standaarden worden nu al gebruikt en ondersteund? TMLO, ZGW API's, etc + +- ZGW +- REST API (OpenAPI) +- MDTO (voorheen TMLO) +- JSON-LD +- [Triple Store](https://en.wikipedia.org/wiki/Triplestore) +- Geo-JSON +- NFC/NLX + +Zie voor meer standaarden de [OpenCatalogi Architectuur](https://documentatie.opencatalogi.nl/Handleidingen/Architectuur/). + +### Is de ODRC API een standaard API? + +Het is een API die volgens de NL API-strategie functioneert, met 'reguliere' endpoints en convenience-endpoints. We zijn nu in overleg met VNG en KOOP over standaardisatie, we verwachten daarbij maandag 22 juli een eerste besluit vanuit Koop. De VNG heeft 27 juni reeds aangegeven de API als kandidaat te zien. + +## **Aan te tonen functionaliteiten bij PoC OpenWoo.app** + +Onderstaande functionaliteiten worden ondersteund of worden op zeer korte termijn gerealiseerd. + +## ODRC / gebruikersinterface “Model- en publicatiebeheer” + +1. Inloggen (met SSO?) + +- SSO via ADFS of SAML via Nextcloud + +2. Modelbeheer: +Toevoegen, wijzigen en intrekken/verwijderen van extra informatiecategorieën, rekening houdend met TOOI-waardelijst +Toevoegen, wijzigen en intrekken/verwijderen van organisaties, rekening houdend met TOOI-waardelijst +Toevoegen, wijzigen en intrekken/verwijderen van organisatie-onderdelen +Toevoegen, wijzigen en intrekken/verwijderen van extra metadata-velden (per informatiecategorie) +Toevoegen, wijzigen en intrekken/verwijderen van thema’s/onderwerpen + +De OpenWoo.app ondersteunt het CRUD + intrekken van alle bovenstaande functionaliteiten voor het beheer van de modellen. + +3. Publicatiebeheer: + +- a. Wijzigen en intrekken/verwijderen van een concept-publicatie +- b. Wijzigen en intrekken/verwijderen van een publicatie +- c. Waarderen archief +- d. Raadplegen logging/audittrail van een (concept-)publicatie +- e. Rapportages + +De OpenWoo.app ondersteunt het CRUD + intrekken van alle bovenstaande functionaliteiten voor het beheer van de publicaties. + +4. Help-functie + +Er wordt nagedacht over help-functies binnen de beheerinterface. Denk hierbij aan tooltips en documentatie voor zowel gebruikers, beheerders als ontwikkelaars van het ODRC. + +## ODPC / gebruikersinterface “Autorisatiebeheer” + +5. Inloggen (met SSO?) + +Dit gebeurt op dezelfde manier als het inloggen voor het ODRC, via ADFS, LDAP of SAML. + +6. Toevoegen, wijzigen en verwijderen van autorisatiegroepen + +Gebruikers kunnen autorisatiegroepen toevoegen, wijzigen en verwijderen. Deze groepen worden beheerd via LDAP. + +7. Medewerkers toevoegen aan en verwijderen uit een autorisatiegroep + +Medewerkers kunnen worden toegevoegd aan of verwijderd uit een autorisatiegroep. Dit wordt beheerd via LDAP. + +8. Een autorisatiegroep autoriseren voor: + +- a. Informatiecategorieën (cq “publiceren van”) +- b. Organisaties (cq “publiceren namens”) +- c. Organisatie-onderdelen (cq “publiceren namens”) +- d. Thema’s/onderwerpen (cq “publicatie hoort bij”) + +Configuratie en authorisatieschema's: De configuratie en authorisatieschema's voor bovenstaande autorisaties worden al ondersteund via LDAP. De beheerinterface voor het uitvoeren van deze taken wordt momenteel ontwikkeld. + +9. Raadplegen logging van (wijzigingen in) autorisaties + +Het is een herleidbaar audittrail dat inzichtelijk wordt gemaakt voor het raadplegen van de logging. + +10. Help-functie + +Er wordt nagedacht over help-functies binnen de beheerinterface. Denk hierbij aan tooltips en documentatie voor zowel gebruikers, beheerders als ontwikkelaars van het ODPC. + +## ODPC / gebruikersinterface “Publiceren” + +11. Inloggen (met SSO?) + +Dit gebeurt op dezelfde manier als het inloggen voor het ODRC, via ADFS, LDAP of SAML. + +12. Aanmaken nieuwe (concept-)publicatie, met o.a.: + +- a. Uploaden van een of meerdere bestanden +- b. Selecteren van een of meerdere informatiecategorieën +- c. Selecteren van een organisatie +- d. Selecteren van een of meerdere thema’s/onderwerpen +- e. Verplichte DiWoo-velden +- f. Invullen van extra metadata-velden +- g. Opslaan als concept of direct publiceren + +Alle bovenstaande functionaliteiten worden ondersteund in het publicatiemodel in de beheerinterface voor publicaties. + +13. Een concept-publicatie muteren en alsnog publiceren + +14. Een publicatie intrekken + +Publicaties intrekken wordt al ondersteund door het verwijderen van een verplicht veld. Zo is een conceptpublicatie ook al gelijk ondersteund. Met andere woorden, een publicatie zonder alle verplichte velden ís een concept-publicatie. Let wel op dat als een publicatie eenmaal is gepubliceerd en een derde partij een kopie heeft gemaakt, de OpenWoo.app daar niets meer aan kan doen. In dat geval moet er contact opgenomen worden met bijvoorbeeld WooGle of KOOP. + +15. Help-functie + +Er wordt nagedacht over help-functies binnen de beheerinterface. Denk hierbij aan tooltips en documentatie voor zowel gebruikers, beheerders als ontwikkelaars van het ODPC. + +## ODBP / gebruikersinterface “Contentbeheer” + +16. Inloggen (met SSO?) + +Dit gebeurt op dezelfde manier als het inloggen voor het ODRC, via ADFS, LDAP of SAML. + +17. Wijzigen welkomstpagina + +Dit wordt ondersteund. + +18. Aanmaken, wijzigen en verwijderen webpagina met overzicht andere relevante websites + +Deze functie wordt niet direct door OpenCatalogi ondersteund, althans content en url-beheer zoals we dat kennen binnen CMS-systemen. We kunnen natuurlijk prima een metadatatype toevoegen (of de gebruiker zelf) voor pagina's. Op dezelfde manier als waarop we die kennen voor producten en diensten (SDG) en nieuwsberichten. + +19. Raadplegen rapportage bezoekers-/gebruiksstatistieken + +Dit wordt ondersteund door bijvoorbeeld Google Analytics, Nextcloud Analytics, maar er kan gedacht worden aan dit op te lossen via Elastic(Stack) in hoeverre hier vraag naar is. + +20. Help-functie + +Er wordt nagedacht over help-functies binnen de gebruikersinterface. Denk hierbij aan tooltips en documentatie voor zowel gebruikers, beheerders als ontwikkelaars van het ODBP. + +## ODBP / gebruikersinterface “Zoeken en raadplegen” + +21. Huisstijl / NL design +22. Raadplegen welkomstpagina (zie 17) en overige pagina’s (zie 18) +23. Zoeken met behulp van een zoekbalk: + +- a. Full-tekst +- b. In metadata-waarde + +24. Gebruik van boolean operators +25. Zoeken met behulp van filters +26. Raadplegen lijst met zoekresultaten +27. Openen van een zoekresultaat en raadplegen van een publicatie +28. Downloaden van een publicatie + +Alle bovenstaande functionaliteiten worden ondersteund. + +29. Help-functie + +Er wordt nagedacht over help-functies binnen de gebruikersinterface. Denk hierbij aan tooltips en documentatie voor zowel gebruikers, beheerders als ontwikkelaars van het ODBP. + +## Technisch + +29. ODRC API: + +- a. Raadplegen model (zie 2) +- b. Creëren, raadplegen, updaten en verwijderen van (concept-)publicaties + +Wordt ondersteund via API. Sterker nog, de interfaces sturen de API aan. + +30. Search API + +De search API is het kloppende hart van OpenCatalogi. Het ondersteunt naast full-text search twee belangrijke mogelijkheden: + +- Aggregated search (ofwel federatief over organisaties zoeken) +- Faceted search (van te voren zien hoeveel zoekresultaten een aanpassing in de zoekopdracht oplevert) + +De documentatie van de search API is aan uitbreiding onderhevig, maar bevindt zich momenteel op [Stoplight](https://conduction.stoplight.io/docs/open-catalogi/6yuj08rgf7w44-open-catalogi-api) (een API-design tool). + +31. Genereren sitemap(-index) + +Op dit moment heeft OpenWoo.app een tweetal keer meegedaan aan de beproeving van de sitemap-XML-koppeling naar KOOP. Een keer met als onderliggende bron zaaksysteem.nl en een keer met Notubiz. Beide keren zijn de gegevens succesvol overgebracht naar KOOP (en trouwens ook Woogle). Wel merken we hierbij de volgende problemen op: + +- Het sitemap-XML-formaat slaat de gegevens plat, hierdoor verdwijnen onderlinge verbanden tussen publicaties. Een voorbeeld hiervan is een raadsstuk. Daarvan wil je eigenlijk zien dat het daarvoor in een commissie is behandeld en daarvoor bij B&W. In de opbouw van KOOP gaat deze context verloren, terwijl juist dit interessant is voor het transparant maken van besluitvorming. +- KOOP ondersteunt geen videobestanden +- KOOP ondersteunt alleen documenten, waardoor sommige objecten (e.g. raadsagenda's) moeten worden omgezet naar PDF en minder toegankelijk worden. diff --git a/docs/partners/Tilburg.md b/docs/partners/Tilburg.md index 0b094c27..64b637dd 100644 --- a/docs/partners/Tilburg.md +++ b/docs/partners/Tilburg.md @@ -2,7 +2,7 @@ ## Context -De gemeente Tilburg wil graag een WOO publicatieplatform inrichten met daarbij een focus op zo min mogelijk handmatige acties. Zij heeft hiervoor de leverancier Acato aangetrokken. Zij heeft kennis genomen van OpenWoo.app en wil graag kijken of dit onderdeel kan zijn van haar oplossing. Acato en Conduction hebben hier al vaker contact over gehad en het lijkt ons inderdaad een reële oplossing. +De gemeente Tilburg wil graag een WOO-publicatieplatform inrichten met daarbij een focus op zo min mogelijk handmatige acties. Zij heeft hiervoor de leverancier Acato aangetrokken. Zij heeft kennis genomen van OpenWoo.app en wil graag kijken of dit onderdeel kan zijn van haar oplossing. Acato en Conduction hebben hier al vaker contact over gehad en het lijkt ons inderdaad een reële oplossing. We hebben hierbij gekeken naar wat er reeds beschikbaar is en zonder uitbreiding kan worden ingezet, welke componenten er nog uitgebreid zouden moeten worden en welke er überhaupt zouden moeten worden gebouwd. Dat brengt ons tot het volgende inzicht. @@ -19,18 +19,18 @@ Naast de standaard koppelingen (KOOP, WooGLe), heeft de gemeente een keuze te ma - **`OpenGemeente` Website (keuze / uitbreiden):** Vanuit Open Gemeenten is er een Typo3 plugin beschikbaar voor het integreren van OpenWoo.app in de bestaande site. - **`Acato/OpenGemeente` Themapagina (keuze / uitbreiden):** Vanuit Open Gemeenten wordt een losse TYPO3 themapagina aangeboden, maar er zou er ook een kunnen worden gebouwd door Acato. Een themapagina zou een mooie oplossing kunnen zijn voor Tilburg maar is naar waarschijnlijkheid niet direct herbruikbaar door andere gemeenten. - **`Acato` Zoekpagina (keuze / uitbreiden):** Er is momenteel reeds een zoekpagina beschikbaar, maar deze kan zeker nog wat doorontwikkeling aan de hand van gebruikersonderzoek gebruiken. Dit zou kunnen worden uitgevoerd door Acato, voordeel daarvan is dat de ontwikkeling direct bijdraagt aan de gemeenten die deze pagina reeds gebruiken. -- **`Acato` Woo Dashboard:** Op dit moment beschikt de OpenIndex nog niet over een beheersomgeving. Deze zal dus in zijn geheel ontwikkeld moeten worden. +- **`Acato` Woo Dashboard:** Op dit moment beschikt de OpenIndex nog niet over een beheeromgeving. Deze zal dus in zijn geheel ontwikkeld moeten worden. ### Services (laag 4) -- **Backend for frontend:** Op dit moment beschikt de OpenIndex nog niet over een beheersomgeving. Deze zal dus in zijn geheel ontwikkeld moeten worden. +- **Backend for frontend:** Op dit moment beschikt de Open Index nog niet over een beheeromgeving. Deze zal dus in zijn geheel ontwikkeld moeten worden. ### Integratie (laag 3) - **`Conduction`OpenWoo Service (Uitbreiden):** De OpenWoo service is reeds beschikbaar en in gebruik, toch verwachten wij dat er nog kleine aanpassingen nodig zijn voor het inlezen van nog niet ondersteunde bronnen (Notubiz, iBabs, SharePoint en DeVault) als het bevragen via de integratievoorziening. Wat in ieder geval positief is, is dat we momenteel reeds in gesprek zijn met Notubiz en DeVault over een koppeling. - **`n.v.t` Federatief Netwerk (Beschikbaar):** Het federatieve netwerk van OpenWoo (gebaseerd op FSC/NLX) is reeds beschikbaar en in gebruik. We verwachten niet dat hier aanpassingen op nodig zijn. - **`Tilburg` Integratieplatform (Beschikbaar):** De gemeente Tilburg heeft zelf reeds een integratieplatform beschikbaar, hiermee kunnen de in Tilburg reeds beschikbare bronnen worden benaderd door de OpenWoo-service. We verwachten niet dat er aanpassingen nodig zijn aan de integratievoorziening. -- **`Conduction` OpenIndex (Uitbreiden):** Voor het indexgedeelte van de OpenWoo.app geldt dat deze publicaties niet langer automatisch door moet zetten maar pas na een controle en aanvulling door een medewerker. Dat betekent een aantal zaken, om te beginnen zal de index een soort van buffer moeten kunnen zijn voor publicatieobjecten daarnaast zullen er API-endpoints en business logica moeten komen voor het beheer van publicaties. Hierbij doen zich ook een aantal vragen voor als een publicatie daadwerkelijk wordt aangepast (is dan de bron of index leidend). Met name het uitvogelen van de benodigde business logica zal nog flink wat uitwerking vragen. +- **`Conduction` OpenIndex (Uitbreiden):** Voor het indexgedeelte van de OpenWoo.app geldt dat deze publicaties niet langer automatisch door moet zetten, maar pas na een controle en aanvulling door een medewerker. Dat betekent een aantal zaken, om te beginnen zal de index een soort van buffer moeten kunnen zijn voor publicatieobjecten daarnaast zullen er API-endpoints en business logica moeten komen voor het beheer van publicaties. Hierbij doen zich ook een aantal vragen voor als een publicatie daadwerkelijk wordt aangepast (is dan de bron of index leidend). Met name het uitvogelen van de benodigde business logica zal nog flink wat uitwerking vragen. ### Bronnen (laag 2) @@ -45,9 +45,9 @@ Naast de standaard koppelingen (KOOP, WooGLe), heeft de gemeente een keuze te ma ![OpenWeb Architecture](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/Tilburg.svg) -## Overige werksaamheden +## Overige werkzaamheden -- **`Acato` Project menagment:** +- **`Acato` Project management:** - **`Acato` Validatie:** - **`Acato` Design:** - **`Acato` Gebruikers Onderzoek:** diff --git a/docs/partners/Yard.md b/docs/partners/Yard.md new file mode 100644 index 00000000..8ed4bcdd --- /dev/null +++ b/docs/partners/Yard.md @@ -0,0 +1,3 @@ +# Yard + +(moet nog ingevuld worden) diff --git a/docs/partners/dimpact_architectuur_publicatieplatform.png b/docs/partners/dimpact_architectuur_publicatieplatform.png new file mode 100644 index 00000000..bb05cf53 Binary files /dev/null and b/docs/partners/dimpact_architectuur_publicatieplatform.png differ diff --git a/docs/partners/iO.md b/docs/partners/iO.md new file mode 100644 index 00000000..c0163791 --- /dev/null +++ b/docs/partners/iO.md @@ -0,0 +1 @@ +# iO diff --git a/docs/partners/image-1.png b/docs/partners/image-1.png new file mode 100644 index 00000000..d3491441 Binary files /dev/null and b/docs/partners/image-1.png differ diff --git a/docs/partners/image.png b/docs/partners/image.png new file mode 100644 index 00000000..d09a9439 Binary files /dev/null and b/docs/partners/image.png differ diff --git a/docs/partners/xxllnc.md b/docs/partners/xxllnc.md new file mode 100644 index 00000000..adbc909d --- /dev/null +++ b/docs/partners/xxllnc.md @@ -0,0 +1,3 @@ +# xxllnc (Zaaksysteem.nl) + +(moet nog ingevuld worden) diff --git a/docs/product/Features.md b/docs/product/Features.md index c9b0393d..315cef00 100644 --- a/docs/product/Features.md +++ b/docs/product/Features.md @@ -1,19 +1,37 @@ # Features +Een federaale search API + ## Centrale Index Pagina + Een overzichtelijke locatie voor alle openbare data van uw organisatie, verbetert de vindbaarheid van informatie. ## Multibron Dataweergave + Een naadloze integratie en presentatie van data uit diverse bronnen, zoals het zaaksysteem, websites, raadsinformatiesystemen en archieven. ## Keuze uit Publicatieplatformen + Met opties zoals NL Design React en Open Gemeente Typo 3, biedt OpenWoo.app flexibiliteit in de manier waarop uw gegevens gepubliceerd worden, terwijl het tegelijkertijd eenvoudig integreerbaar is in uw huidige website. ## Automatische Data-aanlevering + Efficiënte aanlevering bij landelijke indexen zoals KOOP en Woogle, door middel van sitemap.xml-bestanden en API's, vergroot het bereik en de zichtbaarheid van uw gegevens. ## Proactieve Publicatie + Automatiseer het publicatieproces en verminder handmatige inspanningen met de slimme, proactieve publicatiefuncties van OpenWoo.app. ## Toekomstbestendig en Veilig + Bereid uw organisatie voor op toekomstige ontwikkelingen met configureerbare publicatietypen en verhoog de veiligheid en efficiëntie door het verminderen van directe bevragingen op bronnen. + +| Functionaliteit | Component | Laag | Beschrijving | +| Publicatie platform | Woo Website Template | 5 (UI) | +| Search (Openbaar) | Open Index | API (2) | Een zoek index met geavenceerde facet search opties +| Search (Vertrouwlijk) |Open Index | API (2) | +| Publicatie Register | Open Register | API (2) | Het publicatie register bevat de publicatie objecten, en onder +| Publicatie Beheer | OpenWoo.plugin voor drupal (Io), OpenWoo app voor nextCloud (Conduction), React container (Acato) | +| Document Creatie | OpenWoo app voor nextCloud (Conduction) | | Creert PDF versies van documenten en bijvoorbeeld voorbladen en inhouds opgaven | +| Harvesting | Woo Service | 3(integratie) | +| diff --git a/docs/product/Kosten.md b/docs/product/Kosten.md index c0f9444f..7774888c 100644 --- a/docs/product/Kosten.md +++ b/docs/product/Kosten.md @@ -16,7 +16,7 @@ Als organisatie dient u te beschikken over minimaal één publicatieplatform | Integratie in Open Webconcept | [Yard](https://www.yard.nl/) of [Acato](https://acato.nl/) | Onbekend | Onbekend | | | Sim Site | [SIMgroep](https://www.simgroep.nl) | Onbekend | Onbekend | | | Drupal Site | "??" | Onbekend | Onbekend | | -| TYPO3 themasite | [OpenGemeenten](https://www.opengemeenten.nl/) | Onbekend | Onbekend | | +| TYPO3 themasite | [[OpenGemeenten](https://www.opengemeenten.nl/](https://www.opengemeenten.nl/oplossingen/website-en-koppeling-voor-de-wet-open-overheid)) | € 6000.- | € 250.- | | > **notice** > Weet u niet welk frontend framework uw organisatie op dit moment gebruikt? Kijk dan eens op [digimonitor](https://www.digimonitor.nl/cms-en/gemeenten/). @@ -35,7 +35,7 @@ U kunt meerdere bronnen koppelen, sommige van deze bronnen vragen daarvoor zelf | Component | Leveranciers(s) | Eenmalig | Maandelijks | Meer informatie | |------------------|----------------------------------------------------------|----------|-------------|-------------| -| Zaaksysteem.nl | [Xxllnc](https://xxllnc.nl/) | € 3000,- | n.v.t | | +| Zaaksysteem.nl | [Xxllnc](https://xxllnc.nl/) | € 3000,- | Onbekend | | | RX Fundament | [Roxit](https://www.roxit.nl/) | Onbekend | Onbekend | | | Decos JOIN | [Decos](https://www.decos.com/nl) | Onbekend | Onbekend | | | OpenZaak | [Maykin Media](https://www.maykinmedia.nl/nl/) | Onbekend | Onbekend | | diff --git a/docs/techniek/Architectuur.md b/docs/techniek/Architectuur.md index f1c23e2f..40b460c1 100644 --- a/docs/techniek/Architectuur.md +++ b/docs/techniek/Architectuur.md @@ -4,22 +4,100 @@ > > Hiervoor hebben we een apart [Slack kanaal](https://samenorganiseren.slack.com/archives/C067Q3UE9F0) binnen Common Ground. We helpen je daar graag verder. -## Versimpelde opzet +## Doel van OpenWoo.app -OpenWoo.app bestaat in essentie uit een drietal onderdelen die samen de totaaloplossing vormen. +De OpenWoo.app heeft als doel om een ecosysteem van samenwerkende componenten te bieden dat voorziet in de volgende functionaliteit -![Basis Architecture](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/Basis.svg) +- [X] Opslag en ontsluiting van documenten en metadata middels API's; +- [X] Het indexeren van documenten en metadata, en het ontsluiten van zoekresultaten middels API's; +- [X] Het werken met (concept) publicaties +- [X] Het uploaden, registreren en publiceren van documenten en metadata door medewerkers; +- [X] Het (door)zoeken, vinden en raadplegen van documenten en metadata door burgers; +- [X] Het beheren van autorisaties, configuratie en publicaties door beheerders; +- [X] Integratie met de landelijke voorziening PLOOI/KOOP, WooGLe, Koophulpje, DSO. +- [X] Integratie met standaard gemeentelijke bronnen zoals een zaaksysteem, raadsinformatiesysteem of website +- [X] Afhandelingsflow voor zowel publiceren als Woo-verzoeken +- [X] Het kunnen terugtrekken van publicaties t.b.v herstel op procedurele fouten +- [X] Help functie voor medewerkers aan de hand van werk instructies +- [X] Interne publicaties die niet openbaar toegankelijk zijn +- [ ] (Roadmap) Generatie van documenten ten behoeve van publiceren en inhoudslijsten +- [ ] (Roadmap) Koppeling met anonimiseringssoftware +- [ ] (Roadmap) Naar PDF kunnen omzetten van documenten +- [ ] (Roadmap) Archiveren +- [ ] (Roadmap) Opslaan van zoekfilters en resultaten +- [ ] (Roadmap) Abonneren op nieuwe publicaties die voldoen aan een opgeslagen zoekfilter + +We hebben deze functionaliteit opgedeeld in drie blokken + +1. Publicatieplatform +2. Motorblok +3. Bronnen + +Secundair doel daarbij is wat idealistischer: om een gemeenschappelijke codebase te realiseren die door meerdere leveranciers kan worden uitgeleverd en deze vanaf dag één te betrekken. Het voorkomen van een lock-in vraagt om een open source oplossing die door en door begrepen wordt door meerdere markt partijen. + +## Hergebruik tot op het bot + +OpenWoo.app maakt voor haar onderliggende techniek en architectuur gebruik van [OpenCatalogi](https://documentatie.opencatalogi.nl/). Meer technische informatie over publiceren naar het federatief datastelsel vind je dan ook in de [architectuurdocumentatie van OpenCatalogi](https://documentatie.opencatalogi.nl/Handleidingen/Architectuur/). Er zijn echter een paar zaken die we binnen OpenWoo.app aanvullend regelen. + +1. In plaats van de standaard OpenCatalogi-voorkant gebruikt OpenWoo en een publicatiepagina die geoptimaliseerd is voor de Woo, dit kan een (sub)site zijn bij de website leverancier van de gemeente, of een van de twee losstaande React pagina's. We laten de keuze hiervoor bewust bij de deelnemende overheden zelf. + +2. We gebruiken een aantal aanvullende metadata modellen in plaats van DCAT en PublicCode, deze worden landelijk onderhouden. + +3. We maken gebruik van een losse WOO (micro) service die vanuit verschillende bronnen (o.a. zaaksystemen en raadsinformatie systemen) informatie ophaalt en klaar zet als publicatie. Of en hoe publicaties vervolgens automatisch worden gepubliceerd is een configuratie keuze. + +4. Er is naast de standaard beheer omgeving van Open Catalogi ook een Publicatie Taak applicatie beschikbaar die specifiek gericht is op het (handmatig) verwerken van Woo-verzoeken en beheren van publicaties. + +In een meer algemene zin hebben we bij OpenWoo.app voor andere (sub)doelgroepen gekozen dan binnen Open Catalogi, inwoners, onderzoekers, journalisten, raadsleden en ondernemers staan centraal. + +## Codebases + +Voor de installatie van OpenWoo.app zijn meerdere codebases beschikbaar, dat heeft zowel een historische achtergrond als dat het een bewuste keuze is om van (met name UI) componenten meerdere versies te hebben. Omdat deze ook nog eens over verschillende organisaties verdeeld zijn, kan het moeilijk zijn om overzicht te houden op welke code waar staat. We houden daarom hier een overzicht bij van de extra componenten en codebases ten opzichte van de standaard OpenCatalogi-componenten. + +| Codebase | Rol | Leverancier | Licentie | +|----------|------------------------------| | | +| [Github]() | Taakapplicatie publiceren, Publicatieplatform | IO Digital | | +| [Github]() | Taakapplicatie publiceren | Acato | | +| [Github]() | Publicatieplatform | Acato | | +| [Github](https://github.com/OpenWebconcept/plugin-openwoo) | Publicatieplatform | Yard | EUPL | +| [Github](https://github.com/ConductionNL/woo-website-template) | Publicatieplatform | Conduction | EUPL | +| [Github](https://github.com/ConductionNL/plugin-openwoo) | Synchronisatieservice | Conduction | EUPL | + +Hierop zijn een paar opmerkingen te maken + +- We gebruiken de synchronisatie service van Open Catalogi niet (die is immers gericht op GitHub, GitLab en DCAT), in plaats daarvan is er een Woo-synchronisatieservice gericht op ZGW, STUF, DRC en ORI. +- We gebruiken voorkant van Open Catalogi niet (die is immers software en datagericht), in plaats daarvan hebben meerdere leveranciers eigen publicatieplatformen ontwikkeld. + +## Uitdagingen + +Bij het ontwikkelen van een publicatie voorziening komen een aantal uitdagingen in beeld + +- Woo gegevens staan vaak opgeslagen in bronnen die niet makkelijk toegankelijk zijn +- De scope van de Woo (alle niet vertrouwelijke gegevens) in combinatie met het concept actieve openbaarmaking raakt de volledige informatie huishouden +- Handmatig publiceren kan daarmee geen eindoplossing zijn, maar eigenlijk ook al geen tussenoplossing +- Er mogen géén fouten worden gemaakt met anonimiseren, dit vraagt om een afgebakende proces flow met checks en balances rondom publiceren + +Dat leidt tot de conclusie dat we niet op zoek zijn naar een WOO-publicatieplatform maar een algemene publicatie voorzienen die één of meerdere publicatie kanalen kan 'voeden', daarbij denken we naast de WOO-Index (koop) ook nadrukkelijk aan een organisatie eigen publicatie platform, WooGLe en bijvoorbeeld een gemeentelijke website. In het verlengde hiervan liggen ook DROP, SDG, Algoritme registers en WHO als kanalen die vanuit een generiek publicatieplatform moeten kunnen worden ontsloten. + +## Belangrijkste verschillen ten opzicht van OpenWoo.app 1.0 + +**Splitsing opslag en search** Binnen de OpenWoo.app 1.0 werd er één MongoDB-instance als opslag en search gebruikt, we hebben deze zowel qua opslag uit elkaar getrokken in een Elasticsearch en ORC-instantie als verdeeld over twee aparte API's (zoeken en beheer). +**Lostrekken integratie component** De 1.0 versie was direct gebouwd op de Common Gateway, een integratie voorziening. Vanaf 2.0 zijn de zoek-API en beheer-API gepositioneerd als losse componenten die (desgewenst) ook op NLX/FSC kunnen worden ontsloten. +**Publicatie flow** De 1.0 versie was gebouwd op de gedachte dat objecten vanuit de bron altijd automatisch moesten worden gepubliceerd. In de 2.0 is dit omgedraaid en wordt er vanuit gegaan dat er actief beheer is op publicaties en dat ze pas worden gepubliceerd als daartoe is geaccordeerd. Wel kunnen er nog steeds automatische spelregels worden afgesproken. ### Publicatieplatform (onderdeel 1) -Woo-publicaties moeten worden uiteraard ergens worden gepubliceerd, dat gebeurd via een organisatie specifiek Woo-publicatieplatform. De OpenWoo.app ondersteund meerdere mogelijke publicatieplatformen waarbij de keuze bij u als organisatie ligt of u het publicatieplatform binnen uw website wilt integreren of niet. +Woo-publicaties moeten worden uiteraard ergens worden gepubliceerd, dat gebeurd via een organisatie specifiek Woo-publicatieplatform. Open Catalogi kent haar eigen zoeken UI, maar voor de gemiddelde gemeente is die te generiek. Daarom zijn er vanuit het OpenWoo.app project een aantal alternatieve user interfaces beschikbaar waarbij de overheid zelf kan kiezen welke interface het beste bij haar past. Hierbij kunt u zowel kiezen voor de zoekinterface als los component als voor een integratie binnen uw huidige website. + +Let op, alle interfaces maken onderwater gebruik van de [zoeken-API](https://documentatie.opencatalogi.nl/Handleidingen/Architectuur/#de-zoek-api). De interface is dan ook niet te gebruiken zonder een OpenCatalogi zoeken-API. +. | Component | Open Source | Leverancier(s) | Beschrijving | Meer informatie | |-------------------------------|-------------|----------------------------------------------------------|-------------------------------------------------------------------|-----------------| -| Losse React pagina | Ja | [Conduction](https://conduction.nl/) | Een losse NL Design zoekpagina in de huisstijl van uw organisatie | | -| Integratie in Open Webconcept | Ja | [Yard](https://www.yard.nl/), [Acato](https://acato.nl/) | Een NL Design weergavecomponent voor WordPress-websites | | -| Sim Site | ? | SIMgroep | Een weergavecomponent voor SIM Site | | -| Drupal Site | ? | "??" | Een weergavecomponent voor Drupal | | +| OpenCatalogi zoeken-Ui | Ja | [Conduction](https://conduction.nl/) | Een losse NL Design zoekpagina in de huisstijl van uw organisatie | | +| OpenWoo.app default zoeken-Ui | Ja | [Conduction](https://conduction.nl/), [Shift2](https://www.shift2.nl/) | Een losse NL Design zoekpagina in de huisstijl van uw organisatie | +| Tilburgse frontend | Ja | [Acato](https://acato.nl/) | Een losse NL Design zoekpagina in de huisstijl van uw organisatie | | +| Integratie in Open Webconcept | Ja | [Yard](https://www.yard.nl/), [Conduction](https://conduction.nl/) | Een NL Design weergavecomponent voor WordPress-websites | | +| Drupal Site | Ja | [Drupal voor Overheden](https://www.drupalvooroverheden.nl/) | Een weergavecomponent voor Drupal | | | TYPO3 thema site | Ja | [OpenGemeenten](https://www.opengemeenten.nl/) | Een weergavecomponent voor TYPO3-websites | | Naast het lokale publicatieplatform ondersteund OpenWoo.app ook altijd de volgende landelijke publicatieplatformen @@ -27,46 +105,70 @@ Naast het lokale publicatieplatform ondersteund OpenWoo.app ook altijd de volgen - Een gestandaardiseerde verbinding met het Kennis- en Exploitatiecentrum Officiële Publicaties (KOOP) - Een federale zoekvraag via [koophulpje.nl](https://koophulpje.nl/). - WooGLe van de Wooverheid van de UvA. +- KoopHulpje van OpenWoo.app +- OpenCatalogi.nl van Rotterdam > **notice** > Voor Open Source componenten bent u natuurlijk niet beperkt tot deze leveranciers, dit zijn de op dit moment bij ons bekende leveranciers. > > Weet u niet welk frontend framework uw organisatie op dit moment gebruikt? Kijk dan eens op [digimonitor](https://www.digimonitor.nl/cms-en/gemeenten/). -![OpenWeb Architecture](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/Publicatie.svg) +![Publicatie Platformen Architectuur](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/PublicatiePlatformen.svg) ### Motorblok (onderdeel 2) -Het kloppende hart (of motorblok) onder het publicatieplatform is het [Common Ground](https://commonground.nl/) component [OpenIndex](https://openindex.online/) dat haar oorsprong vindt in het [OpenCatalogi](https://opencatalogi.nl/) project. Dit OpenIndex-component stel ons in staat om snel en organisatie-overstijgend te zoeken in meerdere Woo-categorieën tegelijkertijd. Hierbij wordt onder water gebruik gemaakt van een MongoDB-object store. +Het kloppende hart (of motorblok) onder het publicatieplatform is het [Common Ground](https://commonground.nl/) project [OpenCatalogi](https://documentatie.opencatalogi.nl/) vanuit dit project nemen we een tweetal componenten over; te weten [Open Index](https://openindex.online/) en [Open Registers](https://openregisters.app/). + +**Open Index** stelt ons in staat om snel en organisatie-overstijgend te zoeken in meerdere Woo-categorieën tegelijkertijd. Hierbij wordt onder water gebruik gemaakt van Elasticsearch. Open Index normaliseert en standaardiseert Elasticsearch voor ons door het toevoegen van JSON-ld, contextuele metadata, organisaties, directory en catalogi waardoor de onderliggende infrastructuur ontstaat voor een federatieve zoekvraag. Het vormt daarmee het hard van zoeken in OpenWoo.app. Meer informatie over hoe we de techniek van Open Index inzetten vind je in de [architectuurdocumentatie van OpenCatalogi](https://documentatie.opencatalogi.nl/Handleidingen/Architectuur/). + +**Open Registers** levert voor ons een publicatieregister waar publicaties binnen komen (automatisch aan de hand van synchronisatie of handmatig) en we deze behandelen voordat ze verder worden gecommuniceerd naar Open Index. + +Er is dus een bewuste en harde scheiding tussen de werkbak (Open Registers) en de publicatiebak (Open Index) waarbij de zoek-API (en daarmee de burger interface) gebruik maakt van de zoekbak. De medewerkers maken via de Admin-UI en beheerinterface gebruik van Open Registers om publicaties te behandelen. Onder het behandelen van publicatie verstaan we onder andere: -Het tweede component is de [OpenWoo service](https://openwoo.openservices.online/), gebaseerd op het Common Ground [OpenServices](https://openservices.online/) framework. Deze service faciliteert de data-uitwisseling tussen de onderliggende bronnen en de [Open Index](https://openindex.online/). +- Controleren en aanvullen van metadata +- Toevoegen van documenten +- Controleren van anonimisering +- Eventueel anonimiseren a.h.v. externe service +- Accorderen voor publicatie +- Eventueel terugtrekken van publicaties +- Archiveren + +Hierbij dient te worden opgemerkt dat het publicatieprincipe niet alleen de Woo, maar ook [WHO](https://wetten.overheid.nl/BWBR0036795/2024-06-19/0) en [DSO](https://iplo.nl/digitaal-stelsel/) ondersteund. + +Afhankelijk van de specifieke configuratie wensen van overheden kunnen sommige van deze handelingen worden geautomatiseerd (bijvoorbeeld terugtrekken van en DSO-publicatie die ter inzage ligt na het verloop van de termijn). Hiervoor ondersteunen we twee patronen + +- Een BPMN (Camunda) task die wordt afgetrapt n.a.v een notificatiebericht +- Een NextCloud-workflow + +**OpenWoo Service** gebaseerd op het Common Ground [Open Services](https://openservices.online/) framework faciliteert het inlezen van externe bronnen naar `open index` toe. Hierbij wordt bij voorkeur gebruik gemaakt van een Pub/Sub-principe (abonnement op notificaties vanuit de bron) maar kan ook (indien gewenst) gebruik worden gemaakt van crawling. | Component | Leverancier | Meer informatie | |-----------------|---------------|---------------------------------------------------| -| Open Index | Conduction | [Open Index](https://index.openregisters.app/) | -| OpenWoo Service | Conduction | [Lees meer](https://openwoo.openservices.online/) | +| Open Index | [Conduction](https://conduction.nl/) | [Documentatie](https://index.openregisters.app/) | +| Open Registers | [Conduction](https://conduction.nl/) | [Documentatie](https://openregisters.app/) | +| OpenWoo Service | [Conduction](https://conduction.nl/) | [Documentatie](https://openwoo.openservices.online/) | -![OpenWeb Architecture](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/Integratie.svg) +![Componenten Architecture](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/Componenten.svg) ### Bronnen (onderdeel 3) -Een van de krachten van OpenWoo.app is het ondersteunen en automatisch publiceren vanuit een groot aantal bronnen +Een van de krachten van OpenWoo.app is het ondersteunen en (automatisch) publiceren vanuit een groot aantal bronnen -| Component | Koppelvlak | Open Source | Leveranciers(s) | Meer informatie | +| Component        | Koppelvlak | Open Source | Leveranciers(s)                                  | Meer informatie | |------------------|------------|-------------|-----------------------------------------------|-----------------| -| Zaaksysteem.nl | Search | Ja | [Xxllnc](https://xxllnc.nl/) | | -| RX Fundament | ZGW | Nee | [Roxit](https://www.roxit.nl/) | | -| Decos JOIN | ZGW | Nee | [Decos](https://www.decos.com/nl) | | -| OpenZaak | ZGW | Ja | [Maykin Media](https://www.maykinmedia.nl/nl/) | | -| SimSite | Custom API | ? | [SIM Groep](https://www.simgroep.nl/) | | -| Open Verzoeken | Custom API | Ja | [Yard](https://www.yard.nl/), [Acato](https://acato.nl/) | | -| Open Convenanten | Custom API | Ja | [Yard](https://www.yard.nl/), [Acato](https://acato.nl/) | | -| Open Klachten | Custom API | Ja | [Yard](https://www.yard.nl/), [Acato](https://acato.nl/) | | -| Open PUB | Custom API | Ja | [Yard](https://www.yard.nl/), [Acato](https://acato.nl/) | | -| Open PDC | Custom API | Ja | [Yard](https://www.yard.nl/), [Acato](https://acato.nl/) | | +| Zaaksysteem.nl   | Search     | Ja          | [Xxllnc](https://xxllnc.nl/)                  |                 | +| RX Fundament     | ZGW        | Nee         | [Roxit](https://www.roxit.nl/)                |                 | +| Decos JOIN       | ZGW        | Nee         | [Decos](https://www.decos.com/nl)             |                 | +| OpenZaak         | ZGW        | Ja          | [Maykin Media](https://www.maykinmedia.nl/nl/) |                 | +| SimSite          | Custom API | ?           | [SIM Groep](https://www.simgroep.nl/)                                      |                 | +| Open Verzoeken   | Custom API | Ja          | [Yard](https://www.yard.nl/), [Acato](https://acato.nl/)                                          |                 | +| Open Convenanten | Custom API | Ja          | [Yard](https://www.yard.nl/), [Acato](https://acato.nl/) |                 | +| Open Klachten    | Custom API | Ja          | [Yard](https://www.yard.nl/), [Acato](https://acato.nl/) |                 | +| Open PUB         | Custom API | Ja          | [Yard](https://www.yard.nl/), [Acato](https://acato.nl/) |                 | +| Open PDC         | Custom API | Ja          | [Yard](https://www.yard.nl/), [Acato](https://acato.nl/) |                 | > **notice** -> Er zijn meer koppelvlakken en daarmee bronnen beschickbaar (bijvoorbeeld StUF en ZDS). Bovenstaande is slechts een overzicht van de bij ons bekende en beproefte bronnen. Andere koppelvlakken en maatwerk zijn uiteraard ook mogenlijk, neem daarvoor contact op met een leverancier. +> Er zijn meer koppelvlakken en daarmee bronnen beschickbaar (bijvoorbeeld StUF en ZDS). Bovenstaande is slechts een overzicht van de bij ons bekende en beproefte bronnen. Andere koppelvlakken en maatwerk zijn uiteraard ook mogenlijk, neem daarvoor contact op met een leverancier.   ![OpenWeb Architecture](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/Bronnen.svg) @@ -76,63 +178,65 @@ De drie onderdelen samen geven ons een totaalbeeld van samenwerkende componenten ![OpenWeb Architecture](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/Totaal.svg) -## Hoe werkt dat scrapen vanuit de integratievoorziening? +## Hoe werkt dat scrapen vanuit de Woo-service? -De integratievoorziening "scraped" elke nacht alle relevante informatie en bouwt hier een organisatie-specifieke index over op. De stappen zijn als volgt: +De Woo-service "scraped" elke nacht alle relevante informatie en synchroniseert deze met de publicatie objecten in Open Registers. De stappen zijn (bijvoorbeeld bij een zaaksysteem) als volgt: 1. Ophalen van alle zaaktypen. 2. Per zaaktype worden de beschikbare eigenschappen gecontroleerd (zie inrichting zaaksysteem). 3. Voor elk zaaktype dat aan de voorwaarden voldoet, worden de zaken opgehaald. -4. Per zaak wordt gecontroleerd of er een publicatiedatum is; zo ja, wordt de zaak opgenomen in de index. -5. Zaken die niet zijn gevonden in bovenstaande loop, maar wel in de index staan, worden verwijderd. +4. Per zaak wordt gecontroleerd of er een publicatiedatum is; zo ja, wordt de zaak opgenomen of bijgewerkt als publicatie object in Open Registers. +5. Zaken die niet zijn gevonden in bovenstaande loop, maar wel in Open Registers staan, worden gedepubliceerd(ingetrokken) en geoormerkt. -Het bovenstaande proces zorgt ervoor dat het zaaksysteem leidend is en dat zaken zowel kunnen worden gepubliceerd als worden gedepubliceerd. +Het bovenstaande proces zorgt ervoor dat het zaaksysteem leidend is en dat zaken zowel kunnen worden gepubliceerd als worden ingetrokken. ## Integraal (Organisatiebreed) zoeken -De kern van de Woo is het zoeken in de openbare informatie van een overheid organisatie, hierbij zou het in theorie niet mogen uitmaken in welke bron/applicatie informatie staat. Deze vorm van bron en domein overstijgend zoeken kennen we vanuit overheid architectuur al langer en noemen we doorgaans integrale zoekvraag. -OpenWoo.app geeft invulling aan deze integrale zoekvraag door gebruik te maken van het commonground component [Open Index](), wat een standaardisatie is op reeds bestaande (en eventueel al binnen de organisatie beschikbare) tools. Waarin OpenWoo.app afwijkt is dat zij alleen publieke informatie in deze index opneemt waardoor een zoek index openbare informatie ontstaat. Dit heeft een aantal privacy, security en architectuur voordeelen. +De kern van de Woo is het zoeken in de openbare informatie van een overheid organisatie, hierbij zou het in theorie niet mogen uitmaken in welke bron, of applicatie, informatie staat. Deze vorm van bron- en domeinoverstijgend zoeken kennen we vanuit de overheidsarchitectuur al langer en noemen we doorgaans integrale zoekvraag. + +OpenWoo.app geeft invulling aan deze integrale zoekvraag door gebruik te maken van het Common Ground component [Open Index](https://index.openregisters.app/), wat een standaardisatie is op reeds bestaande (en eventueel al binnen de organisatie beschikbare) tools. Waarin OpenWoo.app afwijkt, is dat zij alleen publieke informatie in deze index opneemt waardoor een zoek index openbare informatie ontstaat. Dit heeft een aantal privacy, security en architectuur voordelen. -Deze OpenIndex is echter ook buiten OpenWoo bruikbaar en kan bijvoorbeeld worden ingezet vanuit de website, zaaksysteem of klant contact centrum om burgers, inwoners en medewerkers van relevante informatie te voorzien. +Deze Open Index is echter ook buiten OpenWoo bruikbaar en kan bijvoorbeeld worden ingezet vanuit de website, zaaksysteem of klant contact centrum om burgers, inwoners en medewerkers van relevante informatie te voorzien. ## Federatief (Landelijk) zoeken -OpenWoo.app maakt gebruik van de federatieve zoekvraag ontwikkeld binnen [OpenCatalogi](https://opencatalogi.nl/) om verschillende integrale zoekvragen virtueel samen te voegen. Simpel gezegd roept de landelijke zoek API meerdere instanties van [Open Index]() aan en aggregeert de resultaten. Technisch zitten daar nog wat haken en ogen aan die binnen Open Index worden [uitgelegd](). -Er word hierbij dus géén gebruik gemaakt van een landelijke index, het geen data duplicatie voorkomt en organisaties zelf in controlle houdt op hun publicaties. Dit dit concept is verder uitgewerkt in [koophulpje.nl](https://koophulpje.nl/) waarbij ook een voorziening is gerealiseerd voor het genereren van `robot.txt` en `sitemap.xml` bestanden (ten behoeve van KOOP). De facto is hiermee dus ook een landelijke Woo-API gerealiseerd met de beperking dat deze alleen organisaties bevat die participeren in OpenWoo.app -De bevragingen tussen de federale zoekvraag en de verschillende organisaties kan via [NLX/FSC]( https://www.nlx.io/) lopen, of daarbuiten. Gezien het publieke bevragingen zijn op openbare informatie is NLX an zich niet verplicht en kan het inregelen van een PKI certificaat nodeloos complex zijn. Dat gezegd hebbende biedt NLX ook voordelen met betrekking tot het monitoren en loggen van verkeer. + +OpenWoo.app maakt gebruik van de federatieve zoekvraag ontwikkeld binnen [OpenCatalogi](https://opencatalogi.nl/) om verschillende integrale zoekvragen virtueel samen te voegen.  Simpel gezegd roept de landelijke zoek-API meerdere instanties van [Open Index](https://index.openregisters.app) aan en aggregeert de resultaten. Technisch zitten daar nog wat haken en ogen aan die binnen Open Index worden [uitgelegd](). +Er wordt hierbij dus géén gebruik gemaakt van een landelijke index, het geen data duplicatie voorkomt en organisaties zelf in controle houdt op hun publicaties. Dit dit concept is verder uitgewerkt in [koophulpje.nl](https://koophulpje.nl/) waarbij ook een voorziening is gerealiseerd voor het genereren van `robot.txt` en `sitemap.xml` bestanden (ten behoeve van KOOP). De facto is hiermee dus ook een landelijke Woo-API gerealiseerd met de beperking dat deze alleen organisaties bevat die participeren in OpenWoo.app +De bevragingen tussen de federale zoekvraag en de verschillende organisaties kan via [NLX/FSC]( https://www.nlx.io/) lopen, of daarbuiten. Gezien het publieke bevragingen zijn op openbare informatie is NLX an sich niet verplicht en kan het inregelen van een PKI-certificaat nodeloos complex zijn. Dat gezegd hebbende biedt NLX ook voordelen met betrekking tot het monitoren en loggen van verkeer. ![OpenWeb Architecture](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/Federatie.svg) -## Commonground -Als commonground applicatie is OpenWoo.app uitaard op te delen in componenten +## Domeinen -- Publicatie Platform (laag 5 Interactie) -- Woo Service (laag 4 Services) -- Open Index (laag 3 Integratie) +OpenWoo.app is een organisatie specifieke applicatie waarvan de installaties onderling een federatief netwerk vormen. Dat kan het wat onduidelijk maken wat waar leeft. -![Common Ground](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/CommonGround.svg) +| Type                  | Domein                                        | Status       | Type              | +|-----------------------|-----------------------------------------------|--------------|-------------------| +| Federatief            | koophulpje.nl                                 | productie    | Publicatiepagina | +| Federatief            | acceptatie.koophulpje.nl                      | acceptatie   | Publicatiepagina | +| Organisatie Specifiek | [organisatie_naam].koophulpje.nl              | productie    | Publicatiepagina | +| Organisatie Specifiek | acceptatie.[organisatie_naam].koophulpje.nl   | acceptatie   | Publicatiepagina | +| n.v.t                 | OpenWoo.app                                   | productie    | Product Pagina    | +| n.v.t                 | acceptatie.OpenWoo.app                        | acceptatie   | Product Pagina    | +| Organisatie Specifiek | [organisatie_naam].OpenWoo.app                | productie    | Publicatiepagina | +| Organisatie Specifiek | acceptatie.[organisatie_naam].OpenWoo.app     | acceptatie   | Publicatiepagina | +| Federatief            | api.OpenWoo.app                               | productie    | API               | +| Federatief            | acceptatie.api.OpenWoo.app                    | acceptatie   | API               | +| Organisatie Specifiek | api.[organisatie_naam].OpenWoo.app            | productie    | API               | +| Organisatie Specifiek | acceptatie.api.[organisatie_naam].OpenWoo.app | acceptatie   | API               | -## Domeinen -OpenWoo.app is een organisatie specifieke applicatie waarvan de installaties onderling een federatief netwerk vormen. Dat kan het wat onduidenlijk maken wat waar leeft. +Dit zijn de aangeboden domeinen vanuit OpenWoo.app, daarnaast zien de dat de meeste organisaties hun publicatiepagina ontsluiten op hun eigen domein e.g. open.[organisatie_naam].nl -| Type | Domein | Status | Type | -|-----------------------|-----------------------------------------------|--------------|-------------------| -| Federatief | koophulpje.nl | productie | Publicatie Pagina | -| Federatief | acceptatie.koophulpje.nl | acceptatie | Publicatie Pagina | -| Organisatie Specifiek | [organisatie_naam].koophulpje.nl | productie | Publicatie Pagina | -| Organisatie Specifiek | acceptatie.[organisatie_naam].koophulpje.nl | acceptatie | Publicatie Pagina | -| n.v.t | OpenWoo.app | productie | Product Pagina | -| n.v.t | acceptatie.OpenWoo.app | acceptatie | Product Pagina | -| Organisatie Specifiek | [organisatie_naam].OpenWoo.app | productie | Publicatie Pagina | -| Organisatie Specifiek | acceptatie.[organisatie_naam].OpenWoo.app | acceptatie | Publicatie Pagina | -| Federatief | api.OpenWoo.app | productie | API | -| Federatief | acceptatie.api.OpenWoo.app | acceptatie | API | -| Organisatie Specifiek | api.[organisatie_naam].OpenWoo.app | productie | API | -| Organisatie Specifiek | acceptatie.api.[organisatie_naam].OpenWoo.app | acceptatie | API | - -Dit zijn de aangeboden domeinen vanuit OpenWoo.app, daarnaast zien de dat de meeste organisaties hun publicatie pagina ontsluiten op hun eigen domein e.g. open.[organisatie_naam].nl - -## Woo Publicatie-object - -Het Woo Publicatie-object vormt de kern van zowel de Woo-API als de Woo-website. Dit object bevat alle essentiële informatie over een Woo-publicatie, inclusief metadata, publicatiedatum, bijlagen en andere relevante eigenschappen. Het dient als de centrale entiteit waaromheen de functionaliteiten van de API en de website zijn gebouwd. Door deze gecentraliseerde aanpak is het eenvoudiger om Woo-publicaties efficiënt te beheren, op te halen en weer te geven, en draagt het bij aan een coherente en gestroomlijnde gebruikerservaring. +## Documenten vs Publicatieobjecten + +Vanuit de Woo denken we doorgaans aan documenten die gepubliceerd moeten worden. Vanuit OpenWoo.app denken we echter in termen van publicatieobjecten waaraan één of meer documenten kunnen worden gekoppeld. Publicatieobjecten bevatten de metadata waarmee documenten kunnen worden gevonden, geclusterd en weergegeven, zoals thema's en typen. Ook kunnen publicatieobjecten aan elkaar worden gerelateerd. Dit is vooral relevant in raadsinformatiesystemen, waar een stuk hoort bij een agenda-item, dat weer hoort bij een agenda van een vergadering en gekoppeld kan zijn aan stemgedrag van personen of fracties. + +Het onderling aan elkaar relateren van publicatieobjecten leidt onder water tot een driedimensionaal datamodel en is een van de redenen waarom er binnen OpenWoo.app is gekozen voor linked data. + +## Metadata + +Ieder publicatie object beschikt over een type (bijvoorbeeld woo_verzoek) en een voorgedefinieerde metadataset. De metadataset beschrijft wat er in de publicatie aan gegevens wordt verwacht en typeert deze (bijvoorbeeld heeft titel, de titel is een string) en biedt daarmee context voor de weergave van de publicatie. Dit biedt de search UI de mogelijkheid om cards te maken die geoptimaliseerd zijn voor specifieke WOO-categorieën en een algemene card voor niet op voorhand gedefinieerde of onbekende categorieën. + +Dat laatste kan voorkomen als een organisatie zelf metadata sets toevoegt, dat mag. Het is mogelijk voor organisaties om zelf extra metadata beschrijvingen te definiëren en hierop te publiceren. Organisaties zijn daarmee ook niet gelimiteerd tot de door KOOP gedefinieerde categorieën. Dit is ook een van de redenen waarom zoeken in de UI de faceted search MOET implementeren (zie ook de [architectuur documentatie van open catalogi](https://documentatie.opencatalogi.nl/Handleidingen/Architectuur/)). Het is niet op voorhand voorspelbaar op welke aspecten kan worden gezocht, dit is afhankelijk van de publicaties en gedefinieerde metadata zoals gepubliceerd door deelnemende organisaties. ## Roadmap diff --git a/docs/techniek/Configuratie.md b/docs/techniek/Configuratie.md index a623fe46..4736a18e 100644 --- a/docs/techniek/Configuratie.md +++ b/docs/techniek/Configuratie.md @@ -4,9 +4,9 @@ Om te zorgen dat de OpenWoo-website goed werkt, is het belangrijk dat de onderli - [Configuratie](#configuratie) - [Gebruik variabelen](#gebruik-variabelen) - - [Algemene inrichting zaaksysteem](#algemene-inrichting-zaaksysteem) - - [Categorieën](#categorieën) - - [Bijlagen](#bijlagen) + - [Algemene inrichting zaaksysteem](#algemene-inrichting) + - [Categorieën](#eigenschappen-naar-categorie) + - [Bijlagen](#documentenbijlagen) - [Mapping ZGW](#mapping-zgw) - [Mapping vanuit zaaksysteem.nl search endpoint](#mapping-vanuit-zaaksysteemnl-search-endpoint) @@ -33,19 +33,21 @@ In de overzichtspagina worden de properties op de volgende plekken weergegeven. ![img_4.png](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/img_4.png) -## Algemene inrichting +## Algemene inrichting + Voor het kunnen publiceren van zaken vanuit het zaaksysteem is het belangrijk dat het zaaksysteem beschikt over de juiste inrichting. Indien er via de [OpenWoo service](https://openwoo.openservices.online/) zaken worden opgehaald, gelden daarvoor de volgende spelregels. - OpenWoo.app kijkt alleen naar eigenschappen die vooraf worden gegaan door `woo_` -- Er zijn algemene eigenschappen (geldend voor alle categorien) en specifieke eigenschapen (alleen geldend voor bepaalde categoerien) -- Voor de gedefineerde categeriën volgen we de [informatiecategorieen-en-werkdefinities](https://www.open-overheid.nl/onderwerpen/actieve-openbaarmaking/informatiecategorieen-en-werkdefinities) van koop -- Voor de velden volgen we daarnaast ook [diwoo](https://standaarden.overheid.nl/diwoo/metadata/diwoo-handleiding-sitemapindex-en-sitemaps). -- Naast deze categoerien mag een organisatie ook eigen categorien voeren maar dan worden alleen de algemene eigenschappen over genomen +- Er zijn algemene eigenschappen (geldend voor alle categorieën) en specifieke eigenschappen (alleen geldend voor bepaalde categorieën) +- Voor de gedefinieerde categorieën volgen we de [informatiecategorieen-en-werkdefinities](https://www.open-overheid.nl/onderwerpen/actieve-openbaarmaking/informatiecategorieen-en-werkdefinities) van koop +- Voor de velden volgen we daarnaast ook [DiWoo](https://standaarden.overheid.nl/diwoo/metadata/diwoo-handleiding-sitemapindex-en-sitemaps). +- Naast deze categorieën mag een organisatie ook eigen categorieën voeren, maar dan worden alleen de algemene eigenschappen over genomen -Het is niet per definitie nodig om alle eigenschappen in het bron systeem handmatig in te regelen en vullen, sommige eigenschapen kunnen worden overgenomen uit algemene metadata van een bron systeem. Kijk onder [Mappigns](#Mappigns) om te zien welke eigenschappen automatisch worden gevuld. +Het is niet per definitie nodig om alle eigenschappen in het bronsysteem handmatig in te regelen en vullen, sommige eigenschappen kunnen worden overgenomen uit algemene metadata van een bron systeem. Kijk onder [Mappings](#mappings) om te zien welke eigenschappen automatisch worden gevuld. ### Algemene eigenschappen -Een aantal zaakatributen zijn noodzakenlijk voor het voor het goed werken van de OpenWoo.app, ze zijn dan ook altijd verplicht ongeacht de Woo categori. + +Een aantal zaakattributen zijn noodzakelijk voor het voor het goed werken van de OpenWoo.app, ze zijn dan ook altijd verplicht ongeacht de Woo categorie.   | Property | Verplicht | Gebruik | Toegestane waardes | |---------------------|-----------|---------------------------------------------------------------------------------------------------------|--------------------| @@ -57,9 +59,10 @@ Een aantal zaakatributen zijn noodzakenlijk voor het voor het goed werken van de | woo_beschrijving | Nee | De UITGEBREIDE beschrijving van de publicatie zoals online getoond | string, max 2555 characters | ### Specifieke eigenschappen + | Eigenschap | Verplicht | Gebruik | Toegestane waardes | |---------------------------|-----------|----------------------------------------------------------------------------------|--------------------| -| woo_termijnoverschrijding | Nee | | | +| woo_termijnoverschrijding | Nee | | | | woo_datum_besluit | Nee | De datum waarop het besluit over de zaak genomen is | string formatted as date-time (e.g., 2023-09-12 09:00) or string formatted as date (e.g., 2023-09-12). If a date is presented instead of a date-time, the time will be automatically set to 00:00. | | woo_datum_ontvangst | Nee | De datum waarop de zaak genomen is geregistreerd | string formatted as date-time (e.g., 2023-09-12 09:00) or string formatted as date (e.g., 2023-09-12). If a date is presented instead of a date-time, the time will be automatically set to 00:00. | | woo_organisatieonderdeel | Nee | Vrije invulling tot op welk niveau ‘organisatieonderdeel’ wordt geïnterpreteerd. | string, max 2555 characters | @@ -97,10 +100,10 @@ Een aantal zaakatributen zijn noodzakenlijk voor het voor het goed werken van de | 2l | Klachtoordelen | `woo_datum_ontvangst`, `woo_organisatieonderdeel`, `woo_functiebenaming`, `woo_gedraging`, `woo_bevindingen`, `woo_oordeel`, `woo_conclusies`, `woo_datum_besluit`,`woo_termijnoverschrijding` | [definitie](https://www.open-overheid.nl/onderwerpen/actieve-openbaarmaking/instrumenten-en-diensten/richtlijnen/2024/2/16/werkdefinitie-klachtoordelen) | > **Note** -> Nog niet vastgestelde categorien of categorien die buiten de OpenWoo.app vallen kunnen wel worden ontsloten via OpenWoo.app, daarbij kan gebruik worden gemaakt van de algemene eigenschappen en documenten/bijlagen. De specifieke eigenschappen worden echter pas opgenomen op het moment dat de categorie door KOOP is vastgesteld. - +> Nog niet vastgestelde categorieën of categorieën die buiten de OpenWoo.app vallen kunnen wel worden ontsloten via OpenWoo.app, daarbij kan gebruik worden gemaakt van de algemene eigenschappen en documenten/bijlagen. De specifieke eigenschappen worden echter pas opgenomen op het moment dat de categorie door KOOP is vastgesteld. ### Documenten/Bijlagen + Bijlagen nemen een bijzondere positie in binnen de OpenWoo.app, ze vormen de kern van de naar de bezoeker over te dragen informatie en zijn het centrale onderdeel van de Woo. De manier waarop deze worden getoond wordt beïnvloed door labels. Daarvoor gelden de volgende regels: | Label | Effect van label | @@ -111,14 +114,14 @@ Bijlagen nemen een bijzondere positie in binnen de OpenWoo.app, ze vormen de ker | woo_besluit | Documenten met dit label worden weergegeven onder de titel 'Besluit' in plaats van onder bijlagen | | woo_convenant | Documenten met dit label worden weergegeven onder de titel 'Convenant' in plaats van onder bijlagen | -> **Spelregels omtrend labels** +> **Spelregels omtrent labels** > -> - Het is mogelijk om als organisatie zelf extra labels toe te voegen, als deze het juist format volgen `woo_[[labelnaam]]]` worden deze automatisch overgenomen in de weergave door boven de rij `Bijlagen` een extra rij toe te voegen in de form `[[labelnaam]]: Alle hieraan gekoppelde bestanden`. -> - Bestanden die geen andere label hebben dan `woo_publicatie` worden getoond in de rij `Bijlagen`. +> - Het is mogelijk om als organisatie zelf extra labels toe te voegen, als deze het juiste format volgen `woo_[[labelnaam]]]` worden deze automatisch overgenomen in de weergave door boven de rij `Bijlagen` een extra rij toe te voegen in de form `[[labelnaam]]: Alle hieraan gekoppelde bestanden`. +> - Bestanden die geen andere label hebben dan `woo_publicatie` worden getoond in de rij `Bijlagen`. > - Als bestanden meerdere labels hebben worden ze op meerdere plekken getoond (met uitzondering van `Bijlagen` daar worden alleen bestanden getoond zonder label) -> - Bestanden zonder het label `woo_publicatie` worden niet getoond (ook al zijn ze wel van een ander `woo_` label voorzien) +> - Bestanden zonder het label `woo_publicatie` worden niet getoond (ook al zijn ze wel van een ander `woo_`-label voorzien) -## Mappigns +## Mappings ### Mapping ZGW @@ -128,15 +131,15 @@ Gebaseerd op: [VNG ZGW Standaard](https://vng.nl/projecten/zaakgericht-werken-ap Gebaseerd op: [xxllc-zaken mapping](https://github.com/CommonGateway/WooBundle/blob/main/Installation/Mapping/woo.xxllncCaseToWoo.mapping.json) -| Eigenschap | Zaaksysteem.nl eigenschap | +| Eigenschap | Zaaksysteem.nl eigenschap | |---------------------------|-----------------------------------------| -| woo_titel | values.case.subject_external | -| woo_termijnoverschrijding | case.dateTarget - case.dateOfCompletion | -| woo_datum_ontvangst | values.case.date_of_registration | -| woo_id | object_id | +| woo_titel | values.case.subject_external | +| woo_termijnoverschrijding | case.dateTarget - case.dateOfCompletion | +| woo_datum_ontvangst | values.case.date_of_registration | +| woo_id | object_id | > **Note** -> Voor de eigenschapen word verder gekeken naar values.attribute.[`eigenschap e.g. woo_beschrijving`] +> Voor de eigenschapen word verder gekeken naar values.attribute.[`eigenschap e.g. woo_beschrijving`] Bijlagen @@ -149,10 +152,11 @@ Bijlagen | url | {{fetchedFromZaaksysteem}} | ## Configuratie -Als laatste zijn er ook een aantal waarde op het publicatie object die worden gezet aan de hand van configuratie in de [OpenWoo service](https://openwoo.openservices.online/), te weten -| Eigenchap | Invulling | Gebruik | +Als laatste zijn er ook een aantal waarde op het publicatieobject die worden gezet aan de hand van configuratie in de [OpenWoo service](https://openwoo.openservices.online/), te weten + +| Eigenchap | Invulling | Gebruik | |------------------|-------------------------------------|-------------------| | portalUrl | {{config}}/{{id van de publicatie}} | Metadata | | organisatie.naam | {{config}} | Metadata | -| organisatie.oin | {{config}} | Metadata | \ No newline at end of file +| organisatie.oin | {{config}} | Metadata | diff --git a/docs/techniek/Installatie.md b/docs/techniek/Installatie.md index caf5c1e4..2696ab38 100644 --- a/docs/techniek/Installatie.md +++ b/docs/techniek/Installatie.md @@ -1,6 +1,6 @@ # Installatie -Deze installatiehandleiding is bedoeld voor overheden en leveranciers die zelfstandig aan de slag willen met OpenWoo-website. Als je OpenWoo-website als SaaS wilt afnemen, kijk dan onder [kosten](/docs/product/Kosten.md). +Deze installatiehandleiding is bedoeld voor overheden en leveranciers die zelfstandig aan de slag willen met OpenWoo-website. Als je OpenWoo-website als SaaS wilt afnemen, kijk dan onder [kosten](../product/Kosten.md). Het template voor de OpenWoo-website is gebaseerd op de Conduction [Productpage-template](https://github.com/ConductionNL/product-website-template) voor Common Ground. Hieronder tref je een verkorte installatiehandleiding aan die vooral focust op de onderliggende bronnen. Voor meer en uitgebreidere details kun je de documentatie van het Productpage-website-template gebruiken. @@ -12,13 +12,13 @@ Om dit template te gebruiken, moet je beschikken over: - Een GitHub-organisatie en beheerdersrechten daarop OF (zie [Serverless Installatie](#serverless-installatie)) - Een APACHE/NGINX-server (zie [Server Installatie](#server-installatie)) - Een Open Webconcept CMS (WordPress) met de [OpenWoo](https://github.com/OpenWebconcept/plugin-openwoo) en [Open Convenanten](https://github.com/OpenWebconcept/plugin-openconvenanten) plugins OF -- Een Common Gateway-installatie (on-premise of SaaS) met de [Woo Bundle](https://github.com/ConductionNL/WooBundle/tree/main) +- Een losse installatie (on-premise of SaaS) met de [Woo Bundle](https://github.com/ConductionNL/WooBundle/tree/main) ## Frontend ### Serverless Installatie -De Open WOO Website is in eerste instantie opgezet om serverless gebruikt te worden via GitHub. Dat scheelt niet alleen in de kosten, maar levert ook voordeel op in de beschikbaarheid en belasting. Simpel gezegd, de GitHub CDN is gebouwd om flink wat meer aan te kunnen dan de gemiddelde gemeente. +De OpenWOO Website is in eerste instantie opgezet om serverless gebruikt te worden via GitHub. Dat scheelt niet alleen in de kosten, maar levert ook voordeel op in de beschikbaarheid en belasting. Simpel gezegd, de GitHub CDN is gebouwd om flink wat meer aan te kunnen dan de gemiddelde gemeente. > **Stappen** > @@ -85,7 +85,7 @@ In dit geval koppel je de React frontend rechtstreeks op een WordPress installat Volg de installatiehandleiding op [https://github.com/OpenWebconcept/plugin-openwoo](https://github.com/OpenWebconcept/plugin-openwoo) en op [https://github.com/OpenWebconcept/plugin-openconvenanten](https://github.com/OpenWebconcept/plugin-openconvenanten). -### Common Gateway met OpenWoo-Plugin +### Core Gateway met OpenWoo-Plugin In dit geval koppel je de React frontend op een gateway installatie, dat betekent dat alle publicaties automatisch worden opgehaald uit bestaande bronnen @@ -93,7 +93,7 @@ Volg de installatiehandleiding op [Woo Bundle](https://github.com/ConductionNL/W ## Externe Systemen -Voor het koppelen van externe systemen geldt dat zij op de juiste manier moeten zijn geconfigureerd. Kijk daarvoor onder [configuratie](/docs/techniek/Configuratie.md). +Voor het koppelen van externe systemen geldt dat zij op de juiste manier moeten zijn geconfigureerd. Kijk daarvoor onder [configuratie](./Configuratie.md). ## Verdere documentatie diff --git a/docs/techniek/Integratie.md b/docs/techniek/Integratie.md index 35504d7b..250a46af 100644 --- a/docs/techniek/Integratie.md +++ b/docs/techniek/Integratie.md @@ -24,11 +24,11 @@ Als u vanuit uw casus een API nodig heeft zonder throttling, ratelimit of namens ### Documentatie -Voor de API is een [redoc documentatie](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/oas.yaml) beschikbaar met voorbeelden van de verschillende API-endpoints, calls en resultaten. Omdat de API daarnaast kan worden gebruikt zonder authenticatie is deze ook goed te beproeven via onze [Postman-collectie](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/Woo.postman_collection.json). We raden developers van ook van harte aan om aan de hand van deze collectie te spelen en te ontwikkelen. +Voor de API is een [Stoplight documentatie](https://conduction.stoplight.io/studio/open-catalogi?) beschikbaar met voorbeelden van de verschillende API-endpoints, calls en resultaten. Omdat de API daarnaast kan worden gebruikt zonder authenticatie is deze ook goed te beproeven via onze [Postman-collectie](https://github.com/ConductionNL/opencatalogi/blob/feature/docs/postmancollection/docs/assets/Opencatalogi%20CRUD.postman_collection.json). We raden developers van ook van harte aan om aan de hand van deze collectie te spelen en te ontwikkelen. ### Voorbeelden -In het merendeel van de gevallen zult u een zoekvraag willen uitvoeren binnen de Woo-publicaties van OpenWoo.app, het endpoint daarvoor is: . Er zijn 4 voor de hand liggende zoekparameters waarmee gezocht wordt (overige opties vindt u terug in de [Redoc documentatie](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/oas.yaml)). +In het merendeel van de gevallen zult u een zoekvraag willen uitvoeren binnen de Woo-publicaties van OpenWoo.app, het endpoint daarvoor is: . Er zijn een aantal voor de hand liggende zoekparameters waarmee gezocht wordt (overige opties zijn terug te vinden in de [Stoplight documentatie](https://conduction.stoplight.io/studio/open-catalogi?)). 1. Op een of meerdere zoek woorden, b.v. `_search=test` 2. Op organisatie, dit gaat aan de hand van OIN (de volledige OIN-lijst vind u [hier](https://oinregister.logius.nl/oin-register)) b.v. `oin=00000001001299992000` @@ -36,88 +36,76 @@ In het merendeel van de gevallen zult u een zoekvraag willen uitvoeren binnen de 4. Op datum, Hierbij kunt u een begin en eindatum opgeven om een periode (bijvoorbeeld jaar) te doorzoeken publicatiedatum[after]=2022-12-31T23:59:59Z&publicatiedatum[before]=2024-01-01T00:00:00Z& ````cli -GET 'https://api.gateway.commonground.nu/api/publicaties?extend[]=all&_search=Afvalwaterakkoord&_order[publicatiedatum]=desc&_limit=12&_page=1' +GET 'https://api.gateway.commonground.nu/api/publicaties?extend[]=all&_search=verzoek&_order[publicatiedatum]=desc&_limit=12&_page=1' Response { "results": [ { - "_id": "3c75db6d-55b5-48da-aef8-a5768dd8ec89", - "id": "3082", - "titel": "Afvalwaterakkoord", - "beschrijving": null, - "samenvatting": "In dit bestuursakkoord is afgesproken door de koepelorganisaties, dat het waterschap en de gemeenten moeten samenwerken in de afvalwaterketen "als ware het één bedrijf’.", - "categorie": "Convenant", - "publicatiedatum": "2023-11-24 11:31:47", - "portalUrl": "https://conductionnl.github.io/woo-website-epe/19cdec3f-896f-4765-8d62-c6c8570926b7", - "bijlagen": [ - { + "_id": "385628ef-dd81-4ab2-98e1-3051ab1b3ef6", + "_self": { + "id": "385628ef-dd81-4ab2-98e1-3051ab1b3ef6", + "name": "informatieverzoek evenementenvergunning", + "self": "/api/publicaties/385628ef-dd81-4ab2-98e1-3051ab1b3ef6", + "schema": { + "id": "40c1041c-1526-4494-b191-244fdd30aefd", + "name": "Publicatie", + "ref": "https://commongateway.nl/woo.publicatie.schema.json" + }, + "level": 1, + "dateCreated": "2024-07-03T07:51:59+00:00", + "dateModified": "2024-08-02T12:26:46+00:00", + "dateDeleted": null, + "database": { + "id": null, + "name": null, + "ref": null + }, + "owner": { + "id": "06ef47a7-a2f1-4589-af59-b00a611d5692", + "name": "Default User", + "ref": "https://docs.commongateway.nl/user/default.user.json" + }, + "organization": { + "id": "a1c8e0b6-2f78-480d-a9fb-9792142f4761", + "name": "Default Organization", + "ref": "https://docs.commongateway.nl/organization/default.organization.json" + }, + "application": { "id": null, - "titel": "Naam_Bijlage", - "categorie": null, - "type": null, - "status": null, - "url": "https://openpub.ridderkerk.nl/wp-content/uploads/sites/3/2023/02/ondertekend-afvalwaterakkoord-Ridderkerk-2022.pdf" - } - ], - "themas": [ - { - "hoofdthema": "Milieu", - "subthema": null, - "aanvullendThema": null - } - ], - "organisatie": { - "naam": "Gemeente Ridderkerk", - "rsin": null, - "tooi": null, - "oidn": "ridderkerk", - "id": "37165afb-0e33-4813-8f66-d504501e6128" - }, - "metadata": { - "volgnummer": null, - "besluitdatum": "2022-12-21", - "verzoek": { - "inventarisatielijst": { - "categorie": null, - "type": null, - "status": "accepted", - "url": "http://localhost/api/view-file/f9358a25-ee51-4079-a1d1-e98d53c4ca80", - "titel": "Temporarily title so a object gets created for file fetching and url genering.", - "id": null - }, - "informatieverzoek": { - "categorie": null, - "type": null, - "status": "accepted", - "url": "http://localhost/api/view-file/f723f34c-ef3d-453b-b395-fe60b5127cde", - "titel": "Temporarily title so a object gets created for file fetching and url genering.", - "id": null - }, - "besluit": { - "categorie": null, - "type": null, - "status": "accepted", - "url": "http://localhost/api/view-file/4b7978e8-6cf9-469e-b27c-08f895e5f653", - "titel": "Temporarily title so a object gets created for file fetching and url genering.", - "id": null - }, - "termijnoverschrijding": null, - "ontvangstdatum": "2023-10-02T10:31:12Z", - "ontvangerInformatieverzoek": null, - "status": null + "name": null, + "ref": null }, - "id": "8e1084b5-ba4d-4d33-a5c2-f98e7f893f07" + "synchronizations": [ + { + "id": "c04f118a-d853-48c4-a8d4-d4d86ef11b36", + "source": { + "id": "f1cf401b-fbbc-4416-b2da-519eac0163b9", + "ref": "https://commongateway.woo.nl/source/conduction.zaaksysteem.source.json", + "name": "Conduction zaaksysteem", + "description": "Conduction zaaksysteem api", + "location": "https://openwoo.zaaksysteem.net/api" + }, + "endpoint": null, + "sourceId": "001046b9-0a9b-4068-a6bf-3e7efcf75c67", + "dateCreated": "2024-07-03T07:51:59+00:00", + "dateModified": "2024-07-03T07:52:00+00:00", + "lastChecked": null, + "lastSynced": null, + "sourceLastChanged": null + } + ] } } + // 1 enkele voorbeeld publicaite, in dit geval zijn het er 64 ], - "count": 1, + "count": 12, "limit": 12, - "total": 1, + "total": 64, "offset": 0, "page": 1, - "pages": 1 + "pages": 6 } ```` @@ -125,7 +113,7 @@ Vanuit een het weergeven van een zoekformulier is het goed mogelijk dat u alleen ````cli GET 'https://api.gateway.commonground.nu/api/publicaties?_queries[]=categorie' -Content-Type: application/json+aggregations +Accept: application/json+aggregations Response @@ -168,7 +156,7 @@ De kerngegevens van een Woo-publicatie zitten in het metadata-object, de inhoud | Property | Verplicht | Gebruik | Toegestane waardes | |-----------------------|---------------|--------------|-----------------------| -#### Klachten +#### Klachtoordelen | Property | Verplicht | Gebruik | Toegestane waardes | |-----------------------|---------------|--------------|-----------------------| @@ -183,8 +171,8 @@ De kerngegevens van een Woo-publicatie zitten in het metadata-object, de inhoud Er zijn twéé manieren waarop een bron kan worden gekoppeld, beide vereisen dat de bron beschikt over een koppelvlak dat benaderbaar is door de OpenWoo.app. 1. **De bron biedt een reeds door OpenWoo.app ondersteund koppelvlak aan of ontwikkelt deze.** Dit is vanuit de OpenWoo.app natuurlijk de snelste route -2. **OpenWoo.app ontwikkeld ondersteuning voor een bron specifiek koppelvlak.** Deze route vergt minder van de aan te sluiten bron (die zal doorgaans al over een koppelvlak zo als API beschikken). Maar vergt inspanning aan de kant van de OpenWoo.app leveranciers. Daarnaast zal de OpenWoo.app community akkoord moeten gaan met de ontwikkeling en bekostiging (in de praktijk zal de aanvragen worden gevraagd de kosten te dekken). +2. **OpenWoo.app ontwikkeld ondersteuning voor een bron specifiek koppelvlak.** Deze route vergt minder van de aan te sluiten bron (die zal doorgaans al over een koppelvlak zoals een API beschikken). Maar vergt inspanning aan de kant van de OpenWoo.app leveranciers. Daarnaast zal de OpenWoo.app community akkoord moeten gaan met de ontwikkeling en bekostiging (in de praktijk zal de aanvragen worden gevraagd de kosten te dekken). ## Het koppelen van een organisatie -Zie voor het koppelen van een organisatie de [naar productiepagina](/docs/techniek/Productie.md). +Zie voor het koppelen van een organisatie de [naar productiepagina](../techniek/Productie.md). diff --git a/docs/techniek/Productie.md b/docs/techniek/Productie.md index b97c7bf9..ecb1ae6f 100644 --- a/docs/techniek/Productie.md +++ b/docs/techniek/Productie.md @@ -7,13 +7,13 @@ Het in productie nemen van OpenWoo.app voor uw organisatie is makkelijker dan u - Vraag tijdig een PKI-certificaat en DNS-wijziging aan bij uw ICT-leverancier(s) - Zorg dat u tijd beschikbaar hebt voor het grondig doortesten van de keten aan de hand van de testscenario's -Als u de OpenWOO APP zelfstandig installeert zult u de [acties voor leverancier](#acties-voor-leverancier) uiteraard zelf moeten uitvoeren. +Als u de OpenWoo.app zelfstandig installeert zult u de [acties voor leverancier](#acties-voor-leverancier) uiteraard zelf moeten uitvoeren. ## Benodigde informatie voor de vormgeving Om de vormgeving van OpenWoo.app aan te passen aan uw organisatie, heeft uw leverancier of u de volgende informatie nodig: -- Logo in vector formaat (e.g. .svg, .eps of .ai) +- Logo in vector formaat (e.g. `.svg`, `.eps` of `.ai`) - Huisstijlhandboek of website die als voorbeeld gebruikt kan worden - Contactgegevens (naam, e-mailadres, telefoonnummer en functie) van een medewerker die eventuele vragen over de huisstijl kan beantwoorden. @@ -24,7 +24,7 @@ Om te beoordelen of uw organisatie NL Design tokens nodig heeft of moet aanpasse Voor de inrichting van OpenWoo.app heeft uw leverancier of u de volgende informatie nodig: - Welke afbeelding moet er worden getoond in de jumbotron? (afbeelding boven aan de landingspagina) -- Welke contactgegevens moeten er in de footer worden getoond? Denk daarbij aan +- Welke contactgegevens moeten er in de footer worden getoond? Denk daarbij aan: - Adresgegevens (bezoekadres en postadres) - Email - Telefoonnummer diff --git a/docs/techniek/Tests.md b/docs/techniek/Tests.md index f7b53d92..fc8930bf 100644 --- a/docs/techniek/Tests.md +++ b/docs/techniek/Tests.md @@ -1,6 +1,6 @@ # Testscenario's -Om de Open WOO Website zelfstandig te kunnen installeren of doorontwikkelen, is het belangrijk om ook over herbruikbare testscenario's te beschikken. Daarnaast wilt u als afnemer ook graag weten of uw SAAS of SLA product graag werkt. Daarvoor hebben we de volgende testscripts uitgeschreven. +Om de Open WOO Website zelfstandig te kunnen installeren of doorontwikkelen, is het belangrijk om ook over herbruikbare testscenario's te beschikken. Daarnaast wilt u als afnemer ook graag weten of uw SAAS of SLA-product graag werkt. Daarvoor hebben we de volgende testscripts uitgeschreven. We kunnen de testscripts opsplitsen in de volgende categorieën: @@ -114,11 +114,11 @@ Zorg ervoor dat het zaaksysteem is geconfigureerd zoals beschreven in de documen 1. Voeg een nieuwe WOO-publicatie toe in het zaaksysteem met een publicatiedatum die nu is of in het verleden en met de categorie `Woo-verzoeken en -besluiten`. 2. Voeg meerdere bijlagen toe, waarvan: - - Minimaal één gelabeld als besluit (en publiek) - - Minimaal één gelabeld als informatieverzoek (en publiek) - - Minimaal één gelabeld als inventarisatielijst (en publiek) - - Minimaal één niet-gelabeld (en publiek) - - Minimaal één niet publiek +   - Minimaal één gelabeld als besluit (en publiek) +   - Minimaal één gelabeld als informatieverzoek (en publiek) +   - Minimaal één gelabeld als inventarisatielijst (en publiek) +   - Minimaal één niet-gelabeld (en publiek) +   - Minimaal één niet publiek 3. Geef een onderwerp op 4. Geef een omschrijving op 5. Geef meerdere thema's op, gescheiden door een komma @@ -142,15 +142,15 @@ Verwijder alle testdata uit het zaaksysteem en de WOO-website. ## Technische test -Naast functioneele tests is het ook belangrijk om te controleren of de website voldoet aan de teschnsiche eisen voor overheids websites. +Naast functionele tests is het ook belangrijk om te controleren of de website voldoet aan de technische eisen voor overheidswebsites. ### WCAG -Er is een [WCAG raportage](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/WCAG-Raportage.pdf) beschickbaar voor de website. +Er is een [WCAG raportage](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/WCAG-Raportage.pdf) beschikbaar voor de website. -U kunt de test zelf herhalen, vervang in de volgende url https://conductionnl.github.io/woo-website-xxllnc/ door het addres van uw OpenWOO app +U kunt de test zelf herhalen, vervang in de volgende URL door het adres van uw OpenWoo.app [https://accessibe.com/accessscan?website=https://conductionnl.github.io/woo-website-xxllnc/](https://accessibe.com/accessscan?website=https://conductionnl.github.io/woo-website-xxllnc/) ### Pentest -Er is een [Pentest raportage](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/PENTEST-Raportage.pdf) beschickbaar voor de website. +Er is een [Pentest raportage](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/PENTEST-Raportage.pdf) beschikbaar voor de website. diff --git a/pwa/static/configFiles/municipalities/hof-van-twente/hof-van-twente-accept.json b/pwa/static/configFiles/municipalities/hof-van-twente/hof-van-twente-accept.json new file mode 100644 index 00000000..de696d1c --- /dev/null +++ b/pwa/static/configFiles/municipalities/hof-van-twente/hof-van-twente-accept.json @@ -0,0 +1,15 @@ +{ + "GATSBY_SHOW_THEME_SWITCHER": "false", + "GATSBY_API_BASE_URL": "https://hofvantwente.accept.openwoo.app/api", + "GATSBY_NL_DESIGN_THEME_CLASSNAME": "open-webconcept-theme", + "GATSBY_FAVICON_URL": "data:image/x-icon;base64,AAABAAEAk2MAAAEAIABI6wAAFgAAACgAAACTAAAAxgAAAAEAIAAAAAAAZOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AACBhwAAbHEFABUXHwAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHRIbHR3AGx0dzRsdHYobHR0aGx0dABsdHTMbHR3BGx0dOxsdHXAbHR26Gx0dIxsdHQAbHR0AGx0dABsdHQAbHR0AFxkeACEjGwByeAQAeoABAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAACBhwAAbHEFABUXHwAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR19Gx0dUBsdHRAbHR0DGx0dABsdHQAbHR1LGx0doxsdHaMbHR09Gx0dARsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABgaHgAeIBwANTcVAISKAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAACBhwAAbHEFABUXHwAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////////////gAP///////////////////////+AA////////////////////////4AD////////////////////////gAP///////////////////////+AA////////////////////////4AD////////////////////////gAP///////////////////////+AA////////////////////////4AD////////////vwf/////////gAP///////////8fB/////////+AA////////////A8H/////////4AD///////////8Bwf/////////gAP//////////BwHj/////////+AA//////////4DAf//////////4AD//////////AEB///////////gAP/////////8Acf//////////+AA//////////wB////////////4AD//////////AH////////////gAP////////4eA////////////+AA/////////A4D////////////4AD////////4B4/////////////gAP////////AD/////////////+AA////////8AP/////////////4AD/////8f/wA//////////////gAP/////j//AD/////////////+AA/////+f/8AP/////////////4AD/////z//4B//////////////gAP////+P//wH/////////////+AA/////x/+Dhg+DD8BBg4PA///4AD/////H/gH+D4MHAAGDAwB///gAP////4/8AP4PggYAQYICAH//+AA/////D/gAfg8ABgBBggAAf//4AD////8f+AB+DwACAAGCDAB///gAP////x/4AD4PAAIAIYIMAH//+AA////+P/AAPg4AAgAhggwAf//4AD////4/8AA+DgAAACCCDAB///gAP////D/4AH4OEEAIIAAAAH//+AA////8P/gAfgwQQAAAAAIAf//4AD////x//AD+DBBBAEAEAwB///gAP////H/+Af4MGGGAwAwDgf//+AA////4f/8D4AD///f/vg/n///4AD////h////gAP/////+D/////gAP///+H///+AA//////8H////+AA////4f///4AD////////////4AD////h///////////////////gAP//4+H//////////////////+AA//+A4f8Hg4Dgf8PgBDB/////4AD//wBh/weDAGB/gcAEMH/////gAP//HGH/B4IAIH+BwAQwf////+AA//8iYf8HgAgAfwDCBDB/////4AD//yBg/weACAB/AMEEMH/////gAP//AGD/B4AcAH8AwAQwf////+AA//8QYP8AABwAfgBgBDB/////4AD////w/wAACBB+AHAEEH/////gAP//+DB/AAIAADwIIAwAf////+AA///wMH8AAgAAPAgADAB/////4AD//+AQPweDAEA8GAAcAP/////gAP//5Bg/B4PBwDwYMDwB/////+AA///gGB8Hg//w////////////4AD///B8HweD//Af///////////gAP//+IwPB4P/8B///////////+AA////DAcHg//4H///////////4AD///weB/////4f///////////gAP///GID/////////////////+AA///8wwH/////////////////4AD///4HgP/////////////////gAP///hnAf/////+//////////+AA////IOA//////j//////////4AD///8D8A/////8f//////////gAP///4Y4B/////j//////////+AA/////BwB////4f//////////4AD////4DgB////D///////////gAP////hPAB///gf//////////+AA////+BmAAH/AH///////////4AD////4APAAAAB////////////gAP////wgfAAAAf///////////+AA/////8J/AAAH////////////4AD/////wM/gAD/////////////gAP/////AyP+P/////////////+AA/////+CIh///////////////4AD/////85iEH//////////////gAP//////EQAf/////////////+AA//////8BGd//////////////4AD//////8MYH//////////////gAP//////5hgf/////////////+AA///////+CB//////////////4AD///////8MH//////////////gAP///////////////////////+AA////////////////////////4AD////////////////////////gAP///////////////////////+AA////////////////////////4AD////////////////////////gAP///////////////////////+AA////////////////////////4AD////////////////////////gAP///////////////////////+AA////////////////////////4AA=", + "GATSBY_ORGANISATION_NAME": "Gemeente Hof van Twente", + "GATSBY_JUMBOTRON_IMAGE_URL": "https://raw.githubusercontent.com/ConductionNL/woo-website-hofvantwente/main/pwa/src/assets/jumbotron/MISTNOG.jpg", + "GATSBY_FOOTER_LOGO_HREF": "https://www.hofvantwente.nl/", + "GATSBY_FOOTER_CONTENT": "https://raw.githubusercontent.com/ConductionNL/woo-website-hofvantwente/main/docs/FooterContent.json", + "GATSBY_FOOTER_CONTENT_HEADER": "", + "GATSBY_OIDN_NUMBER": "00000001809250901000", + "GATSBY_SHOW_CATEGORY": "true", + "GATSBY_SHOW_ORGANIZATION": "", + "GATSBY_DATE_FULL_MONTH": "false" + } \ No newline at end of file diff --git a/pwa/static/configFiles/municipalities/hof-van-twente/hof-van-twente.json b/pwa/static/configFiles/municipalities/hof-van-twente/hof-van-twente.json new file mode 100644 index 00000000..541b5a50 --- /dev/null +++ b/pwa/static/configFiles/municipalities/hof-van-twente/hof-van-twente.json @@ -0,0 +1,15 @@ +{ + "GATSBY_SHOW_THEME_SWITCHER": "false", + "GATSBY_API_BASE_URL": "https://api.common-gateway.commonground.nu/api", + "GATSBY_NL_DESIGN_THEME_CLASSNAME": "open-webconcept-theme", + "GATSBY_FAVICON_URL": "data:image/x-icon;base64,AAABAAEAk2MAAAEAIABI6wAAFgAAACgAAACTAAAAxgAAAAEAIAAAAAAAZOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AACBhwAAbHEFABUXHwAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHRIbHR3AGx0dzRsdHYobHR0aGx0dABsdHTMbHR3BGx0dOxsdHXAbHR26Gx0dIxsdHQAbHR0AGx0dABsdHQAbHR0AFxkeACEjGwByeAQAeoABAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAACBhwAAbHEFABUXHwAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR19Gx0dUBsdHRAbHR0DGx0dABsdHQAbHR1LGx0doxsdHaMbHR09Gx0dARsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABgaHgAeIBwANTcVAISKAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAAB+hAAAfoQAAH6EAACBhwAAbHEFABUXHwAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AGx0dABsdHQAbHR0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////////////gAP///////////////////////+AA////////////////////////4AD////////////////////////gAP///////////////////////+AA////////////////////////4AD////////////////////////gAP///////////////////////+AA////////////////////////4AD////////////vwf/////////gAP///////////8fB/////////+AA////////////A8H/////////4AD///////////8Bwf/////////gAP//////////BwHj/////////+AA//////////4DAf//////////4AD//////////AEB///////////gAP/////////8Acf//////////+AA//////////wB////////////4AD//////////AH////////////gAP////////4eA////////////+AA/////////A4D////////////4AD////////4B4/////////////gAP////////AD/////////////+AA////////8AP/////////////4AD/////8f/wA//////////////gAP/////j//AD/////////////+AA/////+f/8AP/////////////4AD/////z//4B//////////////gAP////+P//wH/////////////+AA/////x/+Dhg+DD8BBg4PA///4AD/////H/gH+D4MHAAGDAwB///gAP////4/8AP4PggYAQYICAH//+AA/////D/gAfg8ABgBBggAAf//4AD////8f+AB+DwACAAGCDAB///gAP////x/4AD4PAAIAIYIMAH//+AA////+P/AAPg4AAgAhggwAf//4AD////4/8AA+DgAAACCCDAB///gAP////D/4AH4OEEAIIAAAAH//+AA////8P/gAfgwQQAAAAAIAf//4AD////x//AD+DBBBAEAEAwB///gAP////H/+Af4MGGGAwAwDgf//+AA////4f/8D4AD///f/vg/n///4AD////h////gAP/////+D/////gAP///+H///+AA//////8H////+AA////4f///4AD////////////4AD////h///////////////////gAP//4+H//////////////////+AA//+A4f8Hg4Dgf8PgBDB/////4AD//wBh/weDAGB/gcAEMH/////gAP//HGH/B4IAIH+BwAQwf////+AA//8iYf8HgAgAfwDCBDB/////4AD//yBg/weACAB/AMEEMH/////gAP//AGD/B4AcAH8AwAQwf////+AA//8QYP8AABwAfgBgBDB/////4AD////w/wAACBB+AHAEEH/////gAP//+DB/AAIAADwIIAwAf////+AA///wMH8AAgAAPAgADAB/////4AD//+AQPweDAEA8GAAcAP/////gAP//5Bg/B4PBwDwYMDwB/////+AA///gGB8Hg//w////////////4AD///B8HweD//Af///////////gAP//+IwPB4P/8B///////////+AA////DAcHg//4H///////////4AD///weB/////4f///////////gAP///GID/////////////////+AA///8wwH/////////////////4AD///4HgP/////////////////gAP///hnAf/////+//////////+AA////IOA//////j//////////4AD///8D8A/////8f//////////gAP///4Y4B/////j//////////+AA/////BwB////4f//////////4AD////4DgB////D///////////gAP////hPAB///gf//////////+AA////+BmAAH/AH///////////4AD////4APAAAAB////////////gAP////wgfAAAAf///////////+AA/////8J/AAAH////////////4AD/////wM/gAD/////////////gAP/////AyP+P/////////////+AA/////+CIh///////////////4AD/////85iEH//////////////gAP//////EQAf/////////////+AA//////8BGd//////////////4AD//////8MYH//////////////gAP//////5hgf/////////////+AA///////+CB//////////////4AD///////8MH//////////////gAP///////////////////////+AA////////////////////////4AD////////////////////////gAP///////////////////////+AA////////////////////////4AD////////////////////////gAP///////////////////////+AA////////////////////////4AD////////////////////////gAP///////////////////////+AA////////////////////////4AA=", + "GATSBY_ORGANISATION_NAME": "Gemeente Hof van Twente", + "GATSBY_JUMBOTRON_IMAGE_URL": "https://raw.githubusercontent.com/ConductionNL/woo-website-hofvantwente/main/pwa/src/assets/jumbotron/MISTNOG.jpg", + "GATSBY_FOOTER_LOGO_HREF": "https://www.hofvantwente.nl/", + "GATSBY_FOOTER_CONTENT": "https://raw.githubusercontent.com/ConductionNL/woo-website-hofvantwente/main/docs/FooterContent.json", + "GATSBY_FOOTER_CONTENT_HEADER": "", + "GATSBY_OIDN_NUMBER": "00000001809250901000", + "GATSBY_SHOW_CATEGORY": "true", + "GATSBY_SHOW_ORGANIZATION": "", + "GATSBY_DATE_FULL_MONTH": "false" + } \ No newline at end of file diff --git a/pwa/static/configFiles/municipalities/rijssen-holten/rijssen-holten-accept.json b/pwa/static/configFiles/municipalities/rijssen-holten/rijssen-holten-accept.json index 62eb9415..5d7a07b8 100644 --- a/pwa/static/configFiles/municipalities/rijssen-holten/rijssen-holten-accept.json +++ b/pwa/static/configFiles/municipalities/rijssen-holten/rijssen-holten-accept.json @@ -3,7 +3,7 @@ "GATSBY_API_BASE_URL": "https://rijssen-holten.accept.openwoo.app/api", "GATSBY_NL_DESIGN_THEME_CLASSNAME": "open-webconcept-theme", "GATSBY_FAVICON_URL": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAA7EAAAOxAGVKw4bAAADCklEQVRYhe2XXUhTYRjHf+fM5ZpzbVOXNqVtlbnUnE6syBTSPhWLsC4iKoxKSRDJvAmim8ComwqiKCgI+rwpqIsIuwgiIqIoQ/qgxNQwm5/zM/Xtojhw2kpH27zpuTrv83/O8/+/z/u873mPJIQQzKDJM0n+XwBAVLgJxodGaW18jRifRBdnwJKewuy4WAWXwt2EYmKSK+m19L7t+MUICdkOcg6WsXh7fvgFALy52Ejj3nN+/qILlZERMDH6ncvOAwx29Kj8Roc1Mk2oidbirinx8w98/ha5XZBRuYZZc/Qqn2GeJTS7oL/lKzeXH0bWajA6raSsziB9TxGG5DglJtqoJ7NqLc8bbis+a+6C0FTAaLdizXXia/PS8aiZp0dvcdVdR9/HTlWcu2YjmmitMnaUekK3BJ76zarxiNfHq7P3Vb6YRDOuXYUA6CwGFm1dEToBtgIXiStSVb6xviG/uJy6MiRZIu9IOVqDLjgBfR876XrxiWHvQED89yqYUpP8YkyLkig4VcHS6g1AkEfxu+uPeXL4GgAJbjuFZyqYl+9ScGeZB7PLRk9zOwApRZkB82RVr1eeg6pAZtU6tLGzAeh62cK9LSeZGBtXcEmW8RzaBEC8205CtmPKnEEJ0JljyNxfrIyHu/oZ7R1UxSzeno8hOY6Vx3cgSdKUOYM+in3t3Vx2HmBybJxoUwz7vJeQZDVRd3M7FpdtWvkCVuDsjYesqmig6tgVmj60qTCDzULajgIA5q93+5ED0yYHQASwD62dQpOzR+CuEOaCauEbGlHh3uY2cVqzTXx5+j7Q60FZwAosSLFSXpwLQE//EN5en3qGaTZK79STmLdw+jP9g/2xCet3/9yn8SYDyXPNfrijxPPP5ABRd7ec4LtvhOzaUuwbshUgxzWf4mVLyEpNRpbD+NF8ff6BOEW5uJC01299njV9Ej39g/+8zn/tgbSdhegTTeitRj9xuel2TLH6ALJDZ1FROi3umo3Is8J+QQ5okhBCjA0Mo9Fp0WgjLyIil9K/2Yz/Gf0X8APbf6r2zmXaDwAAAABJRU5ErkJggg==", - "GATSBY_ORGANISATION_NAME": "Gemeente Rijsen-Holten", + "GATSBY_ORGANISATION_NAME": "Gemeente Rijssen-Holten", "GATSBY_JUMBOTRON_IMAGE_URL": "https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/pwa/src/assets/jumbotron/jumbotronRijssenHolten.jpg", "GATSBY_FOOTER_LOGO_HREF": "https://www.rijssen-holten.nl/", "GATSBY_FOOTER_CONTENT": "https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/FooterContent.json", diff --git a/pwa/static/configFiles/municipalities/rijssen-holten/rijssen-holten.json b/pwa/static/configFiles/municipalities/rijssen-holten/rijssen-holten.json index 8fc1d43c..71ab4296 100644 --- a/pwa/static/configFiles/municipalities/rijssen-holten/rijssen-holten.json +++ b/pwa/static/configFiles/municipalities/rijssen-holten/rijssen-holten.json @@ -3,7 +3,7 @@ "GATSBY_API_BASE_URL": "https://api.common-gateway.commonground.nu/api", "GATSBY_NL_DESIGN_THEME_CLASSNAME": "open-webconcept-theme", "GATSBY_FAVICON_URL": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAA7EAAAOxAGVKw4bAAADCklEQVRYhe2XXUhTYRjHf+fM5ZpzbVOXNqVtlbnUnE6syBTSPhWLsC4iKoxKSRDJvAmim8ComwqiKCgI+rwpqIsIuwgiIqIoQ/qgxNQwm5/zM/Xtojhw2kpH27zpuTrv83/O8/+/z/u873mPJIQQzKDJM0n+XwBAVLgJxodGaW18jRifRBdnwJKewuy4WAWXwt2EYmKSK+m19L7t+MUICdkOcg6WsXh7fvgFALy52Ejj3nN+/qILlZERMDH6ncvOAwx29Kj8Roc1Mk2oidbirinx8w98/ha5XZBRuYZZc/Qqn2GeJTS7oL/lKzeXH0bWajA6raSsziB9TxGG5DglJtqoJ7NqLc8bbis+a+6C0FTAaLdizXXia/PS8aiZp0dvcdVdR9/HTlWcu2YjmmitMnaUekK3BJ76zarxiNfHq7P3Vb6YRDOuXYUA6CwGFm1dEToBtgIXiStSVb6xviG/uJy6MiRZIu9IOVqDLjgBfR876XrxiWHvQED89yqYUpP8YkyLkig4VcHS6g1AkEfxu+uPeXL4GgAJbjuFZyqYl+9ScGeZB7PLRk9zOwApRZkB82RVr1eeg6pAZtU6tLGzAeh62cK9LSeZGBtXcEmW8RzaBEC8205CtmPKnEEJ0JljyNxfrIyHu/oZ7R1UxSzeno8hOY6Vx3cgSdKUOYM+in3t3Vx2HmBybJxoUwz7vJeQZDVRd3M7FpdtWvkCVuDsjYesqmig6tgVmj60qTCDzULajgIA5q93+5ED0yYHQASwD62dQpOzR+CuEOaCauEbGlHh3uY2cVqzTXx5+j7Q60FZwAosSLFSXpwLQE//EN5en3qGaTZK79STmLdw+jP9g/2xCet3/9yn8SYDyXPNfrijxPPP5ABRd7ec4LtvhOzaUuwbshUgxzWf4mVLyEpNRpbD+NF8ff6BOEW5uJC01299njV9Ej39g/+8zn/tgbSdhegTTeitRj9xuel2TLH6ALJDZ1FROi3umo3Is8J+QQ5okhBCjA0Mo9Fp0WgjLyIil9K/2Yz/Gf0X8APbf6r2zmXaDwAAAABJRU5ErkJggg==", - "GATSBY_ORGANISATION_NAME": "Gemeente Rijsen-Holten", + "GATSBY_ORGANISATION_NAME": "Gemeente Rijssen-Holten", "GATSBY_JUMBOTRON_IMAGE_URL": "https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/pwa/src/assets/jumbotron/jumbotronRijssenHolten.jpg", "GATSBY_FOOTER_LOGO_HREF": "https://www.rijssen-holten.nl/", "GATSBY_FOOTER_CONTENT": "https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/FooterContent.json",