Configurer le plugin
Configurer le pluginExplorer, activer et désactiver les modules

Explorer, activer et désactiver les modules

Toutes les fonctionnalités de Gato GraphQL sont fournies par des modules. Accédez-y en cliquant sur « Modules » dans le menu du plugin :

Modules

Chaque module peut être activé ou désactivé. Son état est visible dans le tableau :

  • Les modules activés ont un fond coloré
  • Les modules désactivés ont un fond blanc

Activer/désactiver un module

En passant la souris sur le nom d'un module désactivé, un lien "Enable" devient visible. En cliquant dessus, le module sera activé :

Activation d'un module

De même, en passant la souris sur le nom d'un module activé, un lien "Disable" devient visible. En cliquant dessus, le module sera désactivé.

Par lots

Alternativement, nous pouvons cocher la case de chaque module et sélectionner "Enable" ou "Disable" dans le menu déroulant « Bulk actions » :

Désactivation de modules par lots

Désactiver des modules dans les endpoints publics et privés

Désactiver des modules nous permet soit de supprimer certaines fonctionnalités du serveur GraphQL (p. ex. le single endpoint), soit de retirer un élément du schéma GraphQL (p. ex. un type, un champ ou une directive).

Les « modules de schéma » (Schema modules) sont ceux qui ajoutent des types/champs/directives au schéma GraphQL (à trouver dans les catégories « Schema Type » et « Schema Directive » sur la page des modules). Nous pouvons renforcer la sécurité de l'API GraphQL en désactivant tous les « Schema modules » inutiles, car les données qui ne doivent pas être consommées ne sont jamais exposées en premier lieu.

Par exemple, en désactivant le module « Users », les champs utilisateur (QueryRoot.users, Post.author, et autres) seront supprimés du schéma GraphQL.

Ainsi, désactiver des endpoints (comme expliqué dans la section précédente) prend toujours effet sur les endpoints publics :

  • Single endpoint
  • Custom endpoints
  • Persisted queries

Cependant, nous pouvons ne vouloir limiter l'accès aux « Schema modules » qu'aux visiteurs (c'est-à-dire sur les endpoints publics), mais pas à l'administrateur du site sur les endpoints privés, afin de ne pas restreindre la possibilité d'accéder au schéma GraphQL complet pour exécuter des tâches internes.

Les endpoints privés sont :

  • Endpoint wp-admin/edit.php?page=graphql_api&action=run_query (qui alimente les clients GraphiQL et Interactive Schema de l'administrateur, et peut être invoqué dans l'éditeur WordPress pour alimenter les blocs en données)
  • Custom private endpoints (également utilisés pour alimenter les blocs en données, mais permettant de verrouiller leur configuration via des hooks PHP)
  • Requêtes GraphQL exécutées en interne (via la classe GraphQLServer en PHP)

Pour que les « Schema modules » soient également désactivés sur les endpoints privés, nous devons le configurer dans l'onglet « Plugin Configuration > Private Endpoints » sur la page des réglages, en cochant l'élément « Disable "Schema modules" in the private endpoints? »

Désactivation de modules par lots

Dépendances entre modules

Chaque module peut avoir une dépendance envers un autre module. Dans ce cas, si le module dont il dépend est désactivé, ses dépendants sont également désactivés.

Cette information est visible dans la colonne "Depends on" du tableau des modules :

Dépendances entre modules

Par exemple, si le module « Schema Configuration » est désactivé, le module « Schema Namespacing » sera également désactivé.

Filtrer les modules

Les modules sont regroupés par catégories :

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

En cliquant sur n'importe quelle catégorie, seuls les modules correspondants seront affichés.

Filtrage des modules

Consulter la documentation d'un module

Nous pouvons lire la documentation d'un module en cliquant sur le lien "View details" sous la description du module :

Consultation de la documentation du module

Accéder aux réglages d'un module

En passant la souris sur le nom du module, un lien "Settings" devient visible (sauf si le module n'a pas de réglages).

En cliquant dessus, la page des réglages s'ouvrira, centrée sur l'onglet du module :

Accès aux réglages d'un module