De plugin configureren
De plugin configurerenBladeren, inschakelen en uitschakelen van modules

Bladeren, inschakelen en uitschakelen van modules

Alle functionaliteit in Gato GraphQL wordt geleverd via modules. Je opent ze door op "Modules" in het menu van de plugin te klikken:

Modules

Elke module kan worden in- of uitgeschakeld. De status is zichtbaar in de tabel:

  • Ingeschakelde modules hebben een gekleurde achtergrond
  • Uitgeschakelde modules hebben een witte achtergrond

Een module in-/uitschakelen

Als je de muis over de naam van een uitgeschakelde module beweegt, verschijnt er een link "Enable". Door erop te klikken schakel je de module in:

Een module inschakelen

Evenzo verschijnt er bij het bewegen van de muis over de naam van een ingeschakelde module een link "Disable". Door erop te klikken schakel je de module uit.

In bulk

Als alternatief kun je het selectievakje bij elke module aanvinken en "Enable" of "Disable" kiezen uit de vervolgkeuzelijst "Bulk actions":

Modules in bulk uitschakelen

Modules uitschakelen in publieke en privé-endpoints

Het uitschakelen van modules stelt ons in staat om bepaalde functionaliteit van de GraphQL-server te verwijderen (bijv. de single endpoint), of een element uit het GraphQL-schema te verwijderen (bijv. een type, een veld of een directive).

"Schema-modules" zijn die modules die typen/velden/directives aan het GraphQL-schema toevoegen (te vinden onder de categorieën "Schema Type" en "Schema Directive" op de pagina Modules). We kunnen de beveiliging van de GraphQL API verhogen door alle "Schema-modules" uit te schakelen die niet nodig zijn, zodat gegevens die niet geconsumeerd mogen worden, nooit worden blootgesteld.

Als we bijvoorbeeld de module "Users" uitschakelen, worden de gebruikersvelden (QueryRoot.users, Post.author en andere) uit het GraphQL-schema verwijderd.

Het uitschakelen van endpoints (zoals uitgelegd in de vorige sectie) heeft altijd effect op de publieke endpoints:

  • Single endpoint
  • Custom endpoints
  • Persisted queries

We willen echter mogelijk de toegang tot de "Schema-modules" alleen beperken voor bezoekers (d.w.z. op publieke endpoints), maar niet voor de beheerder van de site op privé-endpoints, zodat de mogelijkheid om toegang te krijgen tot het volledige GraphQL-schema voor interne taken niet wordt beperkt.

De privé-endpoints zijn:

  • Endpoint wp-admin/edit.php?page=graphql_api&action=run_query (die de GraphiQL- en Interactive Schema-clients van de beheerder aanstuurt, en kan worden aangeroepen in de WordPress-editor om gegevens aan blokken te leveren)
  • Custom private endpoints (ook gebruikt om gegevens aan blokken te leveren, maar waarmee je de configuratie via PHP-hooks kunt vergrendelen)
  • GraphQL queries die intern worden uitgevoerd (via de klasse GraphQLServer in PHP)

Om de "Schema-modules" ook uit te schakelen op de privé-endpoints, moeten we dit configureren op het tabblad "Plugin Configuration > Private Endpoints" op de pagina Instellingen, door het item "Disable "Schema modules" in the private endpoints?" aan te vinken.

Modules in bulk uitschakelen

Module-afhankelijkheden

Elke module kan afhankelijk zijn van een andere module. In dat geval worden de afhankelijke modules ook uitgeschakeld als de module waarvan ze afhankelijk zijn wordt uitgeschakeld.

Deze informatie is zichtbaar in de kolom "Depends on" van de moduletabel:

Module-afhankelijkheden

Als de module "Schema Configuration" bijvoorbeeld wordt uitgeschakeld, wordt de module "Schema Namespacing" ook uitgeschakeld.

Modules filteren

Modules zijn gegroepeerd op categorie:

  • Plugin Management
  • Endpoint
  • Schema Configuration
  • Access Control
  • Versioning
  • User Interface
  • Performance
  • Operational
  • Client
  • Schema Type

Door op een categorie te klikken worden alleen de bijbehorende modules weergegeven.

Modules filteren

De documentatie van een module bekijken

Je kunt de documentatie van een module lezen door op de link "View details" onder de beschrijving van de module te klikken:

Moduledocumentatie bekijken

De instellingen van een module openen

Als je over de naam van de module beweegt, wordt een link "Settings" zichtbaar (tenzij de module geen instellingen heeft).

Door erop te klikken wordt de pagina Instellingen geopend, gericht op het tabblad van de module:

De instellingen van een module openen