Configurar el plugin
Configurar el pluginExplorar, activar y desactivar módulos

Explorar, activar y desactivar módulos

Toda la funcionalidad de Gato GraphQL se proporciona a través de módulos. Accede a ellos haciendo clic en "Modules" en el menú del plugin:

Módulos

Cada módulo puede estar activado o desactivado. Su estado se puede ver en la tabla:

  • Los módulos activados tienen un fondo de color
  • Los módulos desactivados tienen un fondo blanco

Activar/desactivar un módulo

Al pasar el ratón por encima del nombre de un módulo desactivado, se mostrará un enlace "Enable". Al hacer clic en él se activará el módulo:

Activación de un módulo

Del mismo modo, al pasar el ratón sobre el nombre de un módulo activado, se mostrará un enlace "Disable". Al hacer clic en él se desactivará el módulo.

Por lotes

Como alternativa, podemos marcar la casilla de cada módulo y seleccionar "Enable" o "Disable" desde el desplegable "Bulk actions":

Desactivación de módulos por lotes

Desactivar módulos en endpoints públicos y privados

Desactivar módulos nos permite, o bien quitar funcionalidad del servidor de GraphQL (p. ej. el single endpoint), o bien retirar algún elemento del esquema de GraphQL (p. ej. un tipo, un campo o una directiva).

Los "módulos de esquema" (Schema modules) son aquellos que añaden tipos/campos/directivas al esquema de GraphQL (los encontrarás en las categorías "Schema Type" y "Schema Directive" en la página de Modules). Podemos aumentar la seguridad de la API de GraphQL desactivando todos los "Schema modules" que no se necesiten, ya que los datos que no deben consumirse nunca se exponen en primer lugar.

Por ejemplo, al desactivar el módulo "Users", los campos de usuario (QueryRoot.users, Post.author, y otros) serán eliminados del esquema de GraphQL.

Así pues, desactivar endpoints (como se explicó en la sección anterior) siempre surte efecto en los endpoints públicos:

  • Single endpoint
  • Custom endpoints
  • Persisted queries

Sin embargo, puede que sólo queramos limitar el acceso a los "Schema modules" para los visitantes (es decir, en los endpoints públicos), pero no para el administrador del sitio en los endpoints privados, para no restringir la posibilidad de acceder al esquema completo de GraphQL al ejecutar tareas internas.

Los endpoints privados son:

  • Endpoint wp-admin/edit.php?page=graphql_api&action=run_query (que potencia los clientes de GraphiQL y Interactive Schema del administrador, y puede invocarse en el editor de WordPress para alimentar de datos a los bloques)
  • Custom private endpoints (también usados para alimentar de datos a los bloques, pero que permiten bloquear su configuración mediante hooks de PHP)
  • Consultas de GraphQL ejecutadas internamente (mediante la clase GraphQLServer en PHP)

Para que los "Schema modules" también se desactiven en los endpoints privados, debemos configurarlo en la pestaña "Plugin Configuration > Private Endpoints" en la página de Ajustes, marcando el elemento "Disable "Schema modules" in the private endpoints?"

Desactivación de módulos por lotes

Dependencias de módulos

Cada módulo puede tener una dependencia de otro módulo. En ese caso, si el módulo del que depende está desactivado, sus dependientes también se desactivan.

Esta información se ve en la columna "Depends on" de la tabla de módulos:

Dependencias de módulos

Por ejemplo, si el módulo "Schema Configuration" está desactivado, el módulo "Schema Namespacing" también se desactivará.

Filtrar módulos

Los módulos se agrupan por categorías:

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

Al hacer clic en cualquier categoría, sólo se mostrarán los módulos correspondientes.

Filtrado de módulos

Ver la documentación del módulo

Podemos leer la documentación de un módulo haciendo clic en el enlace "View details" debajo de la descripción del módulo:

Visualización de la documentación del módulo

Acceder a los ajustes del módulo

Al pasar el ratón sobre el nombre del módulo, se mostrará un enlace "Settings" (a menos que el módulo no tenga ajustes).

Al hacer clic en él se abrirá la página de Ajustes, situada en la pestaña del módulo:

Acceso a los ajustes de un módulo