Esplorare, attivare e disattivare i moduli
Tutte le funzionalità di Gato GraphQL sono fornite tramite moduli. Accedi ad essi facendo clic su "Modules" nel menu del plugin:

Ogni modulo può essere attivato o disattivato. Il suo stato è visibile nella tabella:
- I moduli attivati hanno uno sfondo colorato
- I moduli disattivati hanno uno sfondo bianco
Attivare/disattivare un modulo
Passando il mouse sul nome di un modulo disattivato, diventa visibile un link "Enable". Facendo clic su di esso, il modulo verrà attivato:

Allo stesso modo, passando il mouse sul nome di un modulo attivato, diventa visibile un link "Disable". Facendo clic su di esso, il modulo verrà disattivato.
In blocco
In alternativa, possiamo selezionare la casella di controllo di ogni modulo e selezionare "Enable" o "Disable" dal menu a tendina "Bulk actions":

Disattivare i moduli negli endpoint pubblici e privati
Disattivare i moduli ci permette o di rimuovere alcune funzionalità dal server GraphQL (p. es. il single endpoint), oppure di rimuovere un elemento dallo schema GraphQL (p. es. un tipo, un campo o una direttiva).
I "moduli di schema" (Schema modules) sono quei moduli che aggiungono tipi/campi/direttive allo schema GraphQL (li trovi nelle categorie "Schema Type" e "Schema Directive" nella pagina dei moduli). Possiamo aumentare la sicurezza dell'API GraphQL disattivando tutti i "Schema modules" non necessari, poiché i dati che non devono essere consumati non vengono mai esposti in primo luogo.
Ad esempio, disattivando il modulo "Users", i campi utente (QueryRoot.users, Post.author, e altri) verranno rimossi dallo schema GraphQL.
In questo modo, disattivare gli endpoint (come spiegato nella sezione precedente) ha sempre effetto sugli endpoint pubblici:
- Single endpoint
- Custom endpoints
- Persisted queries
Tuttavia, potremmo voler limitare l'accesso ai "Schema modules" soltanto ai visitatori (cioè sugli endpoint pubblici), ma non all'amministratore del sito sugli endpoint privati, in modo da non limitare la possibilità di accedere allo schema GraphQL completo per eseguire attività interne.
Gli endpoint privati sono:
- Endpoint
wp-admin/edit.php?page=graphql_api&action=run_query(che alimenta i client GraphiQL e Interactive Schema dell'amministratore, e può essere invocato nell'editor di WordPress per fornire dati ai blocchi) - Custom private endpoints (anch'essi usati per fornire dati ai blocchi, ma che permettono di bloccare la loro configurazione tramite hook PHP)
- Query GraphQL eseguite internamente (tramite la classe
GraphQLServerin PHP)
Affinché i "Schema modules" siano disattivati anche sugli endpoint privati, dobbiamo configurarlo nella scheda "Plugin Configuration > Private Endpoints" nella pagina delle impostazioni, selezionando la voce "Disable "Schema modules" in the private endpoints?"

Dipendenze tra moduli
Ogni modulo può avere una dipendenza da un altro modulo. In tal caso, se il modulo da cui dipende è disattivato, anche i suoi dipendenti vengono disattivati.
Questa informazione è visibile nella colonna "Depends on" della tabella dei moduli:

Ad esempio, se il modulo "Schema Configuration" è disattivato, anche il modulo "Schema Namespacing" verrà disattivato.
Filtrare i moduli
I moduli sono raggruppati per categorie:
- Plugin Management
- Endpoint
- Schema Configuration
- Access Control
- Versioning
- User Interface
- Performance
- Operational
- Client
- Schema Type
Facendo clic su una qualsiasi categoria, verranno visualizzati solo i moduli corrispondenti.

Consultare la documentazione di un modulo
Possiamo leggere la documentazione di un modulo facendo clic sul link "View details" sotto la descrizione del modulo:

Accedere alle impostazioni di un modulo
Passando il mouse sul nome del modulo, diventa visibile un link "Settings" (a meno che il modulo non abbia impostazioni).
Facendo clic su di esso, si aprirà la pagina delle impostazioni, focalizzata sulla scheda del modulo:
