De Web Resource Catalogus (WRC) bevat de resources die nodig zijn voor het draaien van een applicatie zoals sjablonen, routing, menu’s en afbeeldingen. Het heeft hierbij de doelstelling om te fungeren als een “headless CMS” ofwel een CMS als API, die losstaat van enige vorm van weergave. Voor het bewerken van de CMS content leunt het WRC dan ook op het Dashboard (een implementatie van de Proto Applicatie), en het fungeert zelf als een bron voor een applicatie.
Door het gescheiden houden van opslag en bewerking, is het mogelijk om vanuit één dashboard de inhoud van meerdere applicaties te beheren. Heel praktisch en levert ook meer overzicht op, zo zou een sjabloon kunnen worden gebruikt in verschillende applicaties en websites. Dit is bijvoorbeeld handig bij algemene informatie of FAQ’s.
Een extra handigheid van het WRC is dat het meertaligheid op resources ondersteunt en dat maakt het mogelijk om content in meerdere talen aan te maken en te beheren. Het maakt tevens inzichtelijk welke content al wel en welke content nog niet vertaald is. Waarmee compliancy aan de WCAG norm voor tweetaligheid kan worden opgevolgd.
Met betrekking tot vormgeving biedt het WRC twee belangrijke functionaliteiten aan applicaties. Om te beginnen kunnen templates worden “verlengd en uitgebreid”. Dat betekent bijvoorbeeld dat een applicatie gebruik zou kunnen maken van NL Design, maar hier via het WRC een eigen smaak aan toe kan voegen. Doordat het WRC kan delen tussen applicaties, is het hiermee voor een organisatie tevens mogelijk om één consistente huisstijl te voeren voor meerdere applicaties. Daarnaast biedt het WRC een mogelijkheid tot CDN, ofwel het verplaatsen van statische content van een applicatie naar een externe bron. Hiermee wordt het dataverkeer op een applicatie zelf lager en daarmee sneller. Het betekent ook dat op applicatie niveau, logica en statische content uit elkaar kunnen worden getrokken en fysiek op andere (gespecialiseerde) machines kunnen worden geplaatst.
We differentiate between two way's of installing this component, a local installation as part of the provided developers toolkit or an helm installation on an development or production environment.
First make sure you have docker desktop running on your computer. Then clone the repository to a directory on your local machine through a git command or git kraken (ui for git). If successful you can now navigate to the directory of your cloned repository in a command prompt and execute docker-compose up.
$ docker-compose up
This will build the docker image and run the used containers and when seeing the log from the php container: "NOTICE: ready to handle connections", u are ready to view the documentation at localhost on your preferred browser.
As a haven compliant commonground component this component is installable on kubernetes trough helm. The helm files can be found in the api/helm folder. For installing this component trough helm simply open your (still) favorite command line interface and run
$ helm install [name] ./api/helm --kubeconfig kubeconfig.yaml --namespace [name] --set settings.env=prod,settings.debug=0,settings.cache=1
For an in depth installation guide you can refer to the installation guide contained with the helm files, it also contains a short tutorial on getting your cluster ready to expose your installation to the world
This component adheres to international, national and local standards (in that order), notable standards are:
- Any applicable W3C standard, including but not limited to rest, JSON-LD and WEBSUB
- Any applicable schema standard
- OpenAPI Specification
- GAIA-X
- Publiccode, see the publiccode for further information
- Forum Stanaardisatie
- NL API Strategie
- Common Ground Realisatieprincipes
- Haven
- NLX
- Standard for Public Code, see the compliancy scan for further information.
This component is based on the following schema.org sources:
You can find the data model, OAS documentation and other helpfull developers material like a postman collection under api/public/schema, development support is provided trough the samenorganiseren slack channel.
Couple of quick tips when you start developing
- If you not yet have setup the component locally read the Tutorial for setting up your local environment.
- You can find the other components on Github.
- Take a look at the commonground componenten catalogus to prevent development collitions.
- Use Commongroun.conduction.nl for easy deployment of test environments to deploy your development to.
- For information on how to work with the component you can refer to the tutorial here.
First of al please read the Contributing guideline's ;)
But most imporantly, welcome! We strife to keep an active community at commonground.nl, please drop by and tell is what you are thinking about so that we can help you along.
Information about the authors of this component can be found here
Copyright © Utrecht 2019