Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into development
Browse files Browse the repository at this point in the history
  • Loading branch information
remko48 committed Sep 18, 2023
2 parents 679a2ac + 582c1d8 commit a432e1f
Show file tree
Hide file tree
Showing 15 changed files with 566 additions and 2 deletions.
19 changes: 19 additions & 0 deletions .github/workflows/plantuml.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Generates SVG files from UML files (for documentation purposes)
name: generate plantuml
on: push
jobs:
generate_plantuml:
runs-on: ubuntu-latest
name: plantuml
steps:
- name: checkout
uses: actions/checkout@v1
with:
fetch-depth: 1
- name: plantuml
id: plantuml
uses: grassedge/[email protected]
with:
message: "Render PlantUML files"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
97 changes: 97 additions & 0 deletions .github/workflows/product-page-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: Deploy the Product Page to GitHub Pages

env: # Change these to your preferences any image url can also be a base encoded image
GITHUB_PAGES_BRANCH: gh-pages

# options: "true" | "false"
USE_GITHUB_REPOSITORY_NAME_AS_PATH_PREFIX: "false"

# Connected Repository
GITHUB_REPOSITORY_NAME: ${{ github.event.repository.name }}
GITHUB_REPOSITORY_URL: ${{ github.event.repository.url }}
GITHUB_API_BASE_URL: https://api.github.com/repos/${{ github.repository }}/contents
GITHUB_DOCS_DIRECTORY_PATHS: '[{"name": "Documentatie", "location": "/docs"}]'

# Links
SLACK_URL: "https://join.slack.com/t/conductionworkspace/shared_invite/zt-1y5kerime-amWEvljvnLvo5S3YfU_jzg"
READ_THE_DOCS_URL: "https://commongateway.readthedocs.io/en/latest/"

# Navbar
NAVBAR_LOGO_URL: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMywgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxNzUuNCA0Mi4yIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxNzUuNCA0Mi4yOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxwYXRoIGQ9Ik03OC4zLDQwLjdoNy4yVjAuNGgtNy4yVjQwLjd6IE05NC44LDQwLjdoNy4yVjAuNGgtNy4yVjQwLjd6IE02NC41LDkuNEw1My40LDIwLjhsLTExLTExLjRsLTQuOCw0LjlsMTEuMSwxMS40TDM3LjYsMzcuMQoJbDQuOCw0LjlsMTEuMS0xMS40bDExLDExLjRsNC44LTQuOUw1OC4yLDI1LjdsMTEuMS0xMS40TDY0LjUsOS40eiBNMjcuMiw5LjRMMTYuMSwyMC44TDUuMSw5LjRsLTQuOCw0LjlsMTEuMSwxMS40TDAuMywzNy4xTDUuMSw0MgoJbDExLjEtMTEuNGwxMSwxMS40bDQuOC00LjlMMjAuOSwyNS43TDMyLDE0LjNMMjcuMiw5LjR6IE0xMjQuOCwxMC43Yy04LjIsMC0xNC4zLDUuMi0xNC4zLDE0LjF2MTUuOWg3LjJWMjVjMC00LjgsMy03LjMsNy4xLTcuMwoJczcuMSwyLjYsNy4xLDcuM3YxNS44aDcuMnYtMTZDMTM5LjEsMTUuOCwxMzMsMTAuNywxMjQuOCwxMC43eiBNMTYwLjQsMzQuOGMtNC41LDAtOC4yLTMuOS04LjItOC44YzAtNC44LDMuNy04LjgsOC4yLTguOAoJYzMuNCwwLDYuMywyLjIsNy41LDUuM2g3LjJjLTEuMy03LTcuMS0xMS44LTE0LjYtMTEuOGMtOC44LDAtMTUuMiw2LjUtMTUuMiwxNS40YzAsOC44LDYuNCwxNS4zLDE1LjIsMTUuMwoJYzcuNSwwLDEzLjMtNC44LDE0LjYtMTEuN2gtNy4yQzE2Ni42LDMyLjYsMTYzLjcsMzQuOCwxNjAuNCwzNC44eiIvPgo8L3N2Zz4K"

# Footer
FOOTER_LOGO_URL: "https://xxllnc.nl/wp-content/uploads/2021/04/xxllnc-kleur.svg"
FOOTER_LOGO_HREF: "https://xxllnc.nl/"

# Jumbotron
JUMBOTRON_TITLE: "(Open) WOO Website Template"
JUMBOTRON_SUBTITLE: "Product page"
JUMBOTRON_DESCRIPTION: ${{ github.event.repository.description }}
JUMBOTRON_SVG: "https://uploads.magnetme-images.com/bf3b2064d7a7c8a51b2c66608b62160f01ee478ab2df8a493635c92069405d35?auto=compress&auto=format&fit=crop&frame=0&h=1125&w=2000"


# Other
FAVICON_URL: "https://xxllnc.nl/wp-content/uploads/2021/07/cropped-fav-xxllnc-32x32.png"

# NL Design Theme
NL_DESIGN_THEME_CLASSNAME: "xxllnc-theme"

on:
push:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Get the Product Website Template Code
uses: actions/checkout@v2
with:
repository: ConductionNL/product-website-template
ref: development

# With special thanks to https://github.com/SpicyPizza/create-envfile
- name: Make envfile
uses: SpicyPizza/[email protected]
with:
envkey_GITHUB_REPOSITORY_NAME: ${{ env.GITHUB_REPOSITORY_NAME }}
envkey_USE_GITHUB_REPOSITORY_NAME_AS_PATH_PREFIX: ${{ env.USE_GITHUB_REPOSITORY_NAME_AS_PATH_PREFIX }}
envkey_GATSBY_GITHUB_API_BASE_URL: ${{ env.GITHUB_API_BASE_URL }}
envkey_GATSBY_FAVICON_URL: ${{ env.FAVICON_URL }}
envkey_GATSBY_NAVBAR_LOGO_URL: ${{ env.NAVBAR_LOGO_URL }}
envkey_GATSBY_GITHUB_DOCS_DIRECTORY_PATHS: ${{ env.GITHUB_DOCS_DIRECTORY_PATHS }}
envkey_GATSBY_SLACK_URL: ${{ env.SLACK_URL }}
envkey_GATSBY_GITHUB_REPOSITORY_URL: ${{ env.GITHUB_REPOSITORY_URL }}
envkey_GATSBY_JUMBOTRON_TITLE: ${{ env.JUMBOTRON_TITLE }}
envkey_GATSBY_JUMBOTRON_SUBTITLE: ${{ env.JUMBOTRON_SUBTITLE }}
envkey_GATSBY_JUMBOTRON_DESCRIPTION: ${{ env.JUMBOTRON_DESCRIPTION }}
envkey_GATSBY_JUMBOTRON_SVG: ${{ env.JUMBOTRON_SVG }}
envkey_GATSBY_FOOTER_LOGO_URL: ${{ env.FOOTER_LOGO_URL }}
envkey_GATSBY_FOOTER_LOGO_HREF: ${{ env.FOOTER_LOGO_HREF }}
envkey_GATSBY_NL_DESIGN_THEME_CLASSNAME: ${{ env.NL_DESIGN_THEME_CLASSNAME }}
directory: pwa/static
file_name: .env.production
fail_on_empty: true
sort_keys: false

- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: 14

- name: Install dependencies
run: cd pwa && npm install

- name: Remove old Gatsby cache
run: rm -rf pwa/.cache

- name: Build application
run: cd pwa && npm run build

- name: Deploy to GitHub Pages
uses: JamesIves/[email protected]
with:
branch: ${{ env.GITHUB_PAGES_BRANCH }}
folder: pwa/public
2 changes: 1 addition & 1 deletion .github/workflows/woo-page-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ env: # Change these to your preferences any image url can also be a base encoded
on:
push:
branches:
- development
- never

jobs:
build:
Expand Down
66 changes: 65 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,65 @@
# WOO Website Template
# Open WOO Website Template

Dit is een zelfstandig bruikbare uitbreiding op [Open WOO](https://github.com/OpenWebconcept/plugin-openwoo) van het [Open Webconcept](https://openwebconcept.nl/). Het maakt hergebruik van [NL Design (React componenten)](https://nldesignsystem.nl/meedoen/introductie) om aan de hand van [Design Tokens](https://nldesignsystem.nl/meedoen/design-tokens/) een gemeentelijk specifieke [WOO-index](https://www.koopoverheid.nl/voor-overheden/rijksoverheid/woo-index) pagina's te genereren die voldoet aan alle [WCAG](https://wcag.nl/kennis/richtlijnen/) en [wettelijke eisen](https://www.rijksoverheid.nl/onderwerpen/wet-open-overheid-woo).

## Opzet

Deze pagina kan rechtstreeks vanaf GitHub (serverless) of los op een eigen omgeving gehost worden. Voor de getoonde data wordt vervolgens gebruik gemaakt van de Open WOO API definitie. Dat betekend dat één van de volgende bronnen kan worden gebruikt

- Een ([Open Webconcept](https://openwebconcept.nl/)) Wordpress installatie met de [Open WOO Plugin](https://github.com/OpenWebconcept/plugin-openwoo)
- Een ([Common Gateway](https://commongateway.app/)) Syfmony installatie met de [Open WOO bundle](https://github.com/CommonGateway/WooBundle)
- Een ([Open Online](https://www.dimpact.nl/nieuws/gemeente-vught-live-met-open-online)) Drupal installatie met de Open WOO plugin ([roadmap](/docs/Roadmap.md)).
- Een los JSON bestand dat de data bevat vanuit de repository ([roadmap](/docs/Roadmap.md)).
- Een rechtstreeks vanuit het zaak en/of raadsinformatie systeem ontsloten API

Voor de pagina maakt het niet uit wie de bron is, zolang deze zich maar aan de standaard houdt.
Meer details hierover vind u onder [architectuur](/docs/Architectuur.md).


![https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/components.svg](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/components.svg "Website Architecture")

### WOO 1.0

Voor de eerste opzet van de WOO Index van BZK is het belangrijk dat organisaties zelf hun WOO-publicaties op een doorzoekbare index publiceren. BZK houdt vervolgens een overzichtspagina bij waarop per organisatie de algemene organisatiegegevens en de organisaties specifieke indexpagina vindbaar zijn.

### WOO 2.0

BZK heeft de ambitie om aan de hand van een harvester een eigen index op te bouwen op open.overheid.nl. Deze harvesters maakt gebruik van `robot.txt` en `sitemap.xml`-bestanden om de verschillende pagina's en metadata van de organisatie specifieke index te vinden en over te nemen. Dat betekent dat ook binnen de 2.0 variant van WOO een eigen indexpagina noodzakelijk blijft. Sterker nog, de kwaliteit van de ontsluiting wordt in grote mate afhankelijk van de kwaliteit van de index.

### Open versus WOO

De WOO specificeert een aantal categorieën (zie configuratie) die door een organisatie moeten worden ontsloten, dit template ondersteund dat, maar gaat een stap verder door organisaties ook categorieën te laten toevoegen. Hierdoor kan bredere invulling worden gegeven aan het concept "open" en kunnen bijvoorbeeld ook datasets of algoritmes worden ontsloten.



## Functionaliteiten

- Serverless: Common WOO maakt gebruik van de RAD-architectuur principes voor het leveren van een Serverless voorkant.
Eigen huisstijl: Via NL Design tokens de gemeente haar eigen huisstijl gebruiken. Als er nog een NL Design tokens voor uw organisatie zijn helpen wij u uiteraard verder.
Geen handwerk: Door directe bron integratie is het niet nodig WOO-verzoeken etc actief te publiceren
- Als de gemeente gebruikmaakt van Open WOO kan er direct op de Open WOO-API worden gekoppeld
- Als de gemeente een zaaksysteem heeft wat ZGW gebruikt kan er via een gateway op het zaaksysteem worden gekoppeld (bijvoorbeeld xllnc, Roxit)
- WOO-verzoeken ook los worden toegevoegd als JSON-bestand.
- Kosteloos: Als de gemeente beschikt over een Bron, NL Design tokens en de interface servers draait zijn er geen kosten aan het gebruik verbonden.

## Voorbeelden

| Organisatie | WOO Pagina | WOO Bron(en) |
|-------------|------------|-------------------------|
| [Noordwijk](https://conductionnl.github.io/woo-website-noordwijk/) | [Pagina](https://conductionnl.github.io/woo-website-noordwijk/) | Zaaksysteem (acceptatie) |
| [Tubbergen](https://conductionnl.github.io/woo-website-tubbergen/)| [Pagina](https://conductionnl.github.io/woo-website-tubbergen/)| Zaaksysteem (acceptatie) |
|[Epe](https://conductionnl.github.io/woo-website-epe/)| [Pagina](https://conductionnl.github.io/woo-website-epe/)| Zaaksysteem (acceptatie) |
|[Dinkelland](https://conductionnl.github.io/woo-website-dinkelland/)| [Pagina](https://conductionnl.github.io/woo-website-dinkelland/)| Zaaksysteem (acceptatie) |
|[Rotterdam (Alleen vormgeving)](https://conductionnl.github.io/woo-website-rotterdam/)| [Pagina](https://conductionnl.github.io/woo-website-rotterdam/)| Demo |
|[Noaberkracht](https://conductionnl.github.io/woo-website-noaberkracht/)| [Pagina](https://conductionnl.github.io/woo-website-noaberkracht/)| Zaaksysteem (acceptatie) |
|[Leiden (Alleen vormgeving)](https://conductionnl.github.io/woo-website-leiden/)| [Pagina](https://conductionnl.github.io/woo-website-leiden/)| Demo |
|[Xxllnc (Demo omgeving)](https://conductionnl.github.io/woo-website-xxllnc/)| [Pagina](https://conductionnl.github.io/woo-website-xxllnc/)| Demo |

## Documentatie

- [Installatiehandleiding](docs/Installatie.md)
- [Architectuur](docs/Architectuur.md)
- [Roadmap](docs/Roadmap.md)
- [Configuratie](docs/Configuratie.md)
- [Testscenario's](docs/Tests.md)
.
19 changes: 19 additions & 0 deletions docs/Architectuur.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Architectuur

## Varianten

### Open Webconcept variant

Als de voorkant direct wordt gedraaid op de Open Webconcept plugin kunnen WOO-verzoeken en convenanten gemakkelijk worden beheerd vanuit de reeds bestaande webomgeving en CMS.  In dit geval zijn er aan de kant van de organisatie geen verdere installatie of beheerstichtingen nodig (mits de organisatie beschickt over een OpenWebconcept installatie met de Open Woo en Open Convenanten plugins). In combinatie met het serverless kunnen draaien van de voorkant betekent dit een oplossing zonder server of hosting kosten waarbij simpelweg hergebruik gemaakt kan worden van bestaande Common Ground componenten

Nadeel van deze oplossingsrichting is dat WOO-verzoeken en convenanten handmatig moeten worden geüpload in de CMS-omgeving en dat de zoekbalk niet wordt ondersteund.

![https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/openweb.svg](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/openweb.svg "OpenWeb Architecture")

### Common Gateway variant

Het is ook mogelijk om de voorkant te koppelen aan een Common Gateway-installatie met daarop de Open WOO-plugin. Het voordeel hiervan is dat er kan worden doorgekoppeld op het zaaksysteem waardoor WOO-verzoeken en convenanten rechtstreeks kunnen worden gepubliceerd. Dit scheelt handwerk en voorkomt fouten. Tevens ondersteunt deze richting de zoekbalk. Het is ook mogelijk om dit te combineren met het binnentrekken van gegevens uit andere bronnen zoals een raadsinformatiesysteem op Open Webconcept CMS.

Nadeel van deze oplossingsrichting is dat de gemeente de Common Gateway (open source framework) of zelf zal moeten installeren of als SAAS afnemen.

![https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/commongateway.svg](https://raw.githubusercontent.com/ConductionNL/woo-website-template/main/docs/commongateway.svg "Commongateway Architecture")
46 changes: 46 additions & 0 deletions docs/Configuratie.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Configuratie

## Mapping van XXLLNC zaken (opgehaald via search endpoint)
Gebaseerd op: https://github.com/CommonGateway/WooBundle/blob/main/Installation/Mapping/woo.xxllncCaseToWoo.mapping.json

| Woo publicatie (conform open web) | Zaaksysteem case |
|-----------------------------------|----------------------------------|
| UUID | id |
| ID | id |
| Object_ID | object_id |
| Portal_url | {{config}}.{{id}} |
| Behandelend_bestuursorgaan | {{config}} |
| Ontvanger_informatieverzoek | (Empty) |
| Volgnummer | (Empty) |
| Titel | values.case.subject_external |
| Beschrijving | values.attribute.woo_beschrijving |
| Samenvatting | values.values.attribute.woo_samenvatting |
| Categorie | values.attribute.woo_categorie |
| Verzoeker | (Empty) |
| Ontvangstdatum | values.case.date_of_registration |
| Besluitdatum | values.attribute.woo_datum_besluit |
| Behandelstatus | values.case.status |
| Publicatiedatum | values.attribute.woo_publicatiedatum |
| Besluit | is de bijlage gelabeld als "besluit" |
| Termijnoverschrijding | case.date_target - case.date_of_completion |
| URL_informatieverzoek | is de bijlage gelabeld als "informatie verzoek" |
| URL_inventarisatielijst | is de bijlage gelabeld als "inventarisatielijst" |
| URL_besluit | is de bijlage gelabeld als "besluit" |
| Geografisch_gebied | (Empty) |
| BAG_ID | (Empty) |
| BGT_ID | (Empty) |
| Postcodegebied | (Empty) |
| Adres | (Empty) |
| COORDS | (Empty) |
| Geografische_positie | (Empty) |
| Bijlagen | values.attribute.test_documenten |

| Bijlage | values.attribute.test_documenten |
|------------------------------------|--------------------------------------------------------|
| Type_Bijlage | mimetype |
| Status_Bijlage | accepted |
| Tijdstip_laatste_wijziging_bijlage | (Empty) |
| Titel_Bijlage | filename |
| URL_Bijlage | (Empty) |

Let op: Alleen documenten die zijn gelabeld als woo_publiceren worden
Loading

0 comments on commit a432e1f

Please sign in to comment.