Module Dependency Guide
Deze pagina beschrijft wat je moet aanzetten om de NL Portal werkend te krijgen, in twee lagen:
Features: welke modules een feature nodig heeft. Begin hier als je weet wat de portal moet kunnen.
Modules: welke modules elkaar nodig hebben, en in welke volgorde je ze aanzet. Lees dit voordat je iets aanzet, want een module die zijn vereisten mist doet stil niets.
Let op: Dit overzicht is gebaseerd op de laatst beschikbare major/minor release en geldt voor de standaard nl-portal-app configuratie. Eigen implementaties kunnen andere frontend-vereisten hebben, maar backend module-afhankelijkheden (zoals taak → objectenapi) blijven van toepassing.
Features
Welke modules aan moeten voor de features van de standaard app. Een pijl betekent "heeft nodig".
Zaken
✓
✓
✓
✓ ²
✓
✓
¹
Taken
✓
✓
✓
Berichten
✓
✓
✓
Account
✓
✓
¹ Alleen vereist als showContactTimeline aan staat
² Niet vanwege de feature zelf, maar omdat zakenapi niet activeert zonder besluitenapi. Zie Vereisten per module.
De modules form, product, openproduct, payment en virusscan.clamav horen niet bij één van deze vier features. Hun vereisten staan bij Modules.
Modules
Modules hebben elkaars beans nodig. Dit deel zegt welke, en in welke volgorde je ze aanzet.
Waarom de volgorde uitmaakt
Staat een vereiste module uit, dan activeert de module zichzelf niet. Er komt geen foutmelding en de applicatie start normaal op; de functionaliteit is simpelweg afwezig. Zet je bijvoorbeeld zakenapi aan zonder catalogiapi, dan werken zaken niet en zie je dat nergens terug.
Regel: zet een module pas aan wanneer al zijn vereisten aanstaan. Alles in één configuratiewijziging aanzetten mag ook. Werkt een module niet, controleer dan eerst of alle vereisten uit de tabel hieronder aanstaan.
In oudere versies liep een deel van deze combinaties niet stil af, maar faalde de applicatie tijdens het opstarten met een NoSuchBeanDefinitionException, en in Kubernetes met een crash loop. Zet je bijvoorbeeld zakenapi, catalogiapi en objectenapi aan zonder documentenapis, dan gebeurde dat. De module activeert nu netjes niet meer in plaats van te crashen. Zie je dit alsnog, dan draait er een versie van voor die correctie.
Dit geldt in het bijzonder bij configuratie via het Configuration Panel en Spring Cloud Config, omdat je daar per wijziging opslaat en de applicatie tussentijds herstart.
Vereisten per module
Zoek de module op die je wilt aanzetten en zet eerst alles uit de rechterkolom aan. Wil je meerdere modules, neem dan de vereisten van allemaal samen. Wat er niet bij staat, heb je niet nodig.
objectenapi, catalogiapi, documentenapis, besluitenapi
niets
openklant2, haalcentraal2, haalcentraal.hr, virusscan.clamav
niets
form
objectenapi
taak
objectenapi
payment.ogone, payment.direct
objectenapi
berichten
objectenapi, documentenapis
zakenapi
objectenapi, catalogiapi, documentenapis, besluitenapi
product ¹
objectenapi, catalogiapi, documentenapis, besluitenapi, zakenapi, taak
openproduct
objectenapi, catalogiapi, documentenapis, besluitenapi, zakenapi, taak
¹ dmn en prefill zijn schakelaars binnen de product module, geen aparte modules. Ze bepalen welke onderdelen van product actief zijn en hebben dezelfde vereisten.
Uitzetten gaat in omgekeerde richting: zet eerst de modules uit die iets nodig hebben, daarna hun vereisten.
Modules onderling
Een pijl betekent "heeft nodig", net als in de grafiek bij Features.
De modules openklant2, haalcentraal2, haalcentraal.hr en virusscan.clamav staan niet in de grafiek. Die hebben geen andere module nodig en kun je op elk moment aanzetten.
Last updated