Mengonfigurasi plugin
Mengonfigurasi pluginMenjelajahi, mengaktifkan, dan menonaktifkan modul

Menjelajahi, mengaktifkan, dan menonaktifkan modul

Semua fungsionalitas di Gato GraphQL disediakan melalui modul. Akses modul-modul tersebut dengan mengklik "Modules" pada menu plugin:

Modul

Setiap modul dapat diaktifkan atau dinonaktifkan. Statusnya terlihat pada tabel:

  • Modul yang diaktifkan memiliki latar belakang berwarna
  • Modul yang dinonaktifkan memiliki latar belakang putih

Mengaktifkan/menonaktifkan modul

Saat mengarahkan kursor ke nama modul yang dinonaktifkan, tautan "Enable" akan muncul. Mengkliknya akan mengaktifkan modul tersebut:

Mengaktifkan modul

Demikian pula, saat mengarahkan kursor ke nama modul yang diaktifkan, tautan "Disable" akan muncul. Mengkliknya akan menonaktifkan modul tersebut.

Secara massal

Sebagai alternatif, kita dapat mencentang kotak untuk setiap modul, lalu memilih "Enable" atau "Disable" dari dropdown "Bulk actions":

Menonaktifkan modul secara massal

Menonaktifkan modul di endpoint publik dan privat

Menonaktifkan modul memungkinkan kita untuk menghapus beberapa fungsionalitas dari server GraphQL (mis.: single endpoint), atau menghapus elemen tertentu dari skema GraphQL (mis.: sebuah tipe, field, atau directive).

"Modul skema" (Schema modules) adalah modul-modul yang menambahkan tipe/field/directive ke skema GraphQL (dapat ditemukan di bawah kategori "Schema Type" dan "Schema Directive" di halaman Modules). Kita dapat meningkatkan keamanan API GraphQL dengan menonaktifkan semua "Schema modules" yang tidak diperlukan, karena data yang tidak boleh dikonsumsi tidak pernah diekspos sejak awal.

Misalnya, saat menonaktifkan modul "Users", field-field pengguna (QueryRoot.users, Post.author, dan lainnya) akan dihapus dari skema GraphQL.

Oleh karena itu, menonaktifkan endpoint (seperti yang dijelaskan di bagian sebelumnya) selalu berlaku pada endpoint publik:

  • Single endpoint
  • Custom endpoints
  • Persisted queries

Namun, kita mungkin hanya ingin membatasi akses ke "Schema modules" bagi pengunjung (yaitu pada endpoint publik), tetapi tidak bagi admin situs pada endpoint privat, agar tidak membatasi kemampuan untuk mengakses skema GraphQL penuh saat menjalankan tugas internal.

Endpoint privat adalah:

  • Endpoint wp-admin/edit.php?page=graphql_api&action=run_query (yang mendukung klien GraphiQL dan Interactive Schema milik admin, dan dapat dipanggil di editor WordPress untuk menyuplai data ke blok)
  • Custom private endpoints (juga digunakan untuk menyuplai data ke blok, tetapi memungkinkan Anda mengunci konfigurasinya melalui hook PHP)
  • GraphQL queries yang dieksekusi secara internal (melalui kelas GraphQLServer di PHP)

Agar "Schema modules" juga dinonaktifkan pada endpoint privat, kita harus mengonfigurasinya di tab "Plugin Configuration > Private Endpoints" pada halaman Settings, dengan mencentang item "Disable "Schema modules" in the private endpoints?"

Menonaktifkan modul secara massal

Dependensi modul

Setiap modul dapat memiliki ketergantungan pada modul lain. Dalam hal itu, jika modul yang menjadi ketergantungan dinonaktifkan, modul-modul dependannya juga akan dinonaktifkan.

Informasi ini terlihat pada kolom "Depends on" di tabel modul:

Dependensi modul

Misalnya, jika modul "Schema Configuration" dinonaktifkan, modul "Schema Namespacing" juga akan dinonaktifkan.

Memfilter modul

Modul-modul dikelompokkan berdasarkan kategori:

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

Mengklik kategori mana pun hanya akan menampilkan modul yang sesuai.

Memfilter modul

Melihat dokumentasi modul

Kita dapat membaca dokumentasi untuk sebuah modul dengan mengklik tautan "View details" di bawah deskripsi modul:

Melihat dokumentasi modul

Mengakses pengaturan modul

Saat mengarahkan kursor ke nama modul, tautan "Settings" akan muncul (kecuali jika modul tidak memiliki pengaturan).

Mengkliknya akan membuka halaman Settings, berfokus pada tab modul tersebut:

Mengakses pengaturan modul