Ga naar hoofdinhoud

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.

Het template voor de OpenWoo-website is gebaseerd op de Conduction Productpage-template voor Common Ground (gearchiveerd — repo niet langer beschikbaar). Hieronder tref je een verkorte installatiehandleiding aan die vooral focust op de onderliggende bronnen.

Randvoorwaarden

Om dit template te gebruiken, moet je beschikken over:

  • NL Design Token voor je organisatie (de oude Productpage-template-documentatie op conductionnl.github.io is niet langer beschikbaar — neem contact op via info@conduction.nl voor de actuele NL Design-instructies)
  • Een GitHub-organisatie en beheerdersrechten daarop OF (zie Serverless Installatie)
  • Een APACHE/NGINX-server (zie Server Installatie)
  • Een Open Webconcept CMS (WordPress) met de OpenWoo en Open Convenanten plugins OF
  • Een losse installatie (on-premise of SaaS) met de Woo Bundle (gearchiveerd 1.0-component — repo niet langer beschikbaar; voor 2.0 zie Nextcloud met OpenCatalogi + OpenRegister hieronder)

Frontend

Serverless Installatie

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.

Flow nog gericht op GitHub Actions / GitHub Pages

De stappen hieronder zijn geschreven voor de oorspronkelijke GitHub-Actions + GitHub-Pages-route. Sinds de migratie naar Codeberg draait woo-website-template-apiv2 op Forgejo Actions (.forgejo/workflows/ in plaats van .github/workflows/) en Codeberg Pages — de UI-stappen ("workflow permissions", "settings → pages") werken anders. Tot deze sectie is herschreven voor Codeberg: lees .github als .forgejo, en zoek de Forgejo/Codeberg-equivalenten van de GitHub Actions / Pages UI-instellingen.

Stappen

  1. Fork de woo-website-template-apiv2-repo naar je eigen Codeberg-organisatie via de "Fork"-knop rechtsboven. (Een directe "use as template"-knop is nog niet ingericht op Codeberg — fork is het werkende alternatief. Op termijn wordt deze repo samengevoegd terug onder de naam woo-website-template.)
  2. Zet de workflow permissions op Read and write permissions.
  3. Ga op de main branch in de repository naar de folder .forgejo/workflows/ (oude GitHub-Actions-tak gebruikte .github/workflows/)
  4. Verwijder de workflow product-page-deploy als deze er nog staat
  5. Open de workflow woo-page-deploy en pas de branche aan van never naar main
  6. Pas de verdere configuratie in woo-page-deploy aan zoals hieronder vermeld onder configuratie en sla deze op
  7. Ga naar acties en wacht tot de actie "Deploy the WOO Page to GitHub Pages" succesvol is afgerond
  8. Ga naar settings -> pages, selecteer onder source deploy from branch en geef als branche op gh-pages
  9. Bovenaan de pagina verschijnt nu de URL waarop je je Open WOO Website kunt terugvinden
  10. Als je de Open WOO Website wilt hosten onder een subdomein van je organisatie en voorzien van een PKI-certificaat, kun je daarvoor de normale GitHub Pages-handleidingen volgen of een SLA afsluiten voor ondersteuning (zie kosten)

Workflow Permissions

Stappen

  1. Ga naar Settings
  2. Ga naar Actions
  3. Ga naar General.

settings-action

  1. Scroll naar Workflow permissions.
  2. Set permissions naar Read and write permissions.

Workflow permissions

Server Installatie

Als je de OpenWoo-website liever vanaf een eigen server draait, kan dat uiteraard ook. In dat geval is er wel sprake van een ietwat ingewikkelder installatie waarvoor je beter de handleiding van het onderliggende framework kunt volgen.

Stappen

  1. Volg de stappen hiervoor op de Productpage-template (gearchiveerd — repo niet langer beschikbaar; raadpleeg een actuele Conduction product-site zoals deze repo voor de huidige opzet)
  2. Pas de configuratie aan zoals hieronder vermeld bij configuratie

Configuratie

Configuratie vindt plaats via environment (env) waardes. In het geval van een serverless configuratie moeten de env-waardes worden aangepast in de page deploy workflow (Forgejo Actions onder .forgejo/workflows/, niet .github/workflows/). In het geval van een serverinstallatie in het .env-bestand in de Gatsby-rootmap. We ondersteunen de volgende configuratie-opties.

KeyVerplichtUsageAllowed ValueDefault / Example
GITHUB_PAGES_BRANCHAlleen bij serverlessDe branche waarop de pagina wordt gebouwdstring, max 255 charactersgh-pages
GITHUB_REPOSITORY_NAMEAlleen bij serverlessstring, max 255 characters$\{{ github.event.repository.name }}
API_BASE_URLJaDe locatie van de Open Woo API (OpenRegister-deployment)string, max 255 characters"https://canary.accept.commonground.nu/apps/openregister/api"
NL_DESIGN_THEME_CLASSNAMEJaDe naam van het thema van de organisatiestring, max 255 characters"conduction-theme"
FAVICON_URLJaDe locatie van de favicon van de organisatiestring, max 255 characters"https://conduction.nl/wp-content/uploads/2021/07/cropped-favicon-32x32.png"
HEADER_LOGO_URLJaDe locatie van het primaire logo van de organisatiestring, moet een base encoded afbeelding zijn OF url"https://conduction.nl/wp-content/uploads/2021/07/cropped-conductionlogo-1.png"
ORGANISATION_NAMEJaDe naam van de organisatiestring, max 255 characters"Conduction"
JUMBOTRON_IMAGE_URLNeeDe locatie van de gebruikte header, bij leeg wordt er geen header getoondstring, max 255 characters"https://www.conduction.nl/wp-content/uploads/2021/07/cropped-Conduction_HOME_0000_afb1-1.png"
FOOTER_LOGO_URLJaDe locatie van het primaire logo van de organisatiestring, moet een base encoded afbeelding zijn OF url...
FOOTER_LOGO_HREFJaDe homepage van de organisatiestring, max 255 characters"https://conduction.nl/"
OIDN_NUMBERNeeHet OIDN-nummer van de organisatie, bij leeg worden Woo-publicaties mogelijk niet beperkt tot de eigen organisatieinteger, max 16 characters1234567890

Backend

Voor de backend zijn twee opties beschikbaar. In beide gevallen moet de resulterende URL worden opgenomen onder API_BASE_URL in de frontend-configuratie.

Open Webconcept met OpenWoo en Open Convenanten Plugin

In dit geval koppel je de React frontend rechtstreeks op een WordPress installatie, dat betekent dat alle publicaties handmatig moeten worden geüpload.

Volg de installatiehandleiding op https://github.com/OpenWebconcept/plugin-openwoo en op https://github.com/OpenWebconcept/plugin-openconvenanten.

Nextcloud met OpenCatalogi + OpenRegister

In dit geval koppel je de React frontend aan een Nextcloud-installatie met OpenCatalogi (RegieTool) en OpenRegister (object-storage). Publicaties worden automatisch opgehaald uit bestaande bronnen via de OpenWoo-register-inrichting. Dit is sinds OpenWoo 2.0 het canonieke backend-pad (zie architectuur-overview).

API_BASE_URL wijs je naar de OpenRegister-API van de deployment, bv.:

https://canary.accept.commonground.nu/apps/openregister/api

Legacy (1.0): Een eerdere variant koppelde de frontend aan de Common Gateway WooBundle (gearchiveerd — repo niet langer beschikbaar). Deze route wordt sinds 2.0 niet langer aanbevolen — de zoek- en beheer-API zijn nu losse componenten op OpenRegister en eventueel ontsluitbaar op NLX/FSC.

Externe Systemen

Voor het koppelen van externe systemen geldt dat zij op de juiste manier moeten zijn geconfigureerd. Kijk daarvoor onder configuratie.

Verdere documentatie

De oude Productpage-template-documentatie op conductionnl.github.io is niet langer beschikbaar. Raadpleeg een actuele Conduction product-site of neem contact op via info@conduction.nl voor de huidige documentatie.