Configurare il plugin
Configurare il pluginEsplorare, attivare e disattivare i moduli

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:

Modules

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:

Attivazione di un modulo

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":

Disattivazione di moduli in blocco

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 GraphQLServer in 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?"

Disattivazione di moduli in blocco

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:

Dipendenze tra 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.

Filtraggio dei moduli

Consultare la documentazione di un modulo

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

Consultazione della documentazione 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:

Accesso alle impostazioni di un modulo