Eklentiyi yapılandırma
Eklentiyi yapılandırmaModüllere Göz Atma, Etkinleştirme ve Devre Dışı Bırakma

Modüllere Göz Atma, Etkinleştirme ve Devre Dışı Bırakma

Gato GraphQL'deki tüm işlevsellik modüller aracılığıyla sağlanır. Eklentinin menüsünde "Modules" seçeneğine tıklayarak bunlara erişebilirsiniz:

Modules

Her modül etkinleştirilebilir veya devre dışı bırakılabilir. Durumları tabloda görünür:

  • Etkin modüllerin arka planı renklidir
  • Devre dışı modüllerin arka planı beyazdır

Modülü Etkinleştirme/Devre Dışı Bırakma

Devre dışı bir modülün adının üzerine fareyle gelindiğinde, "Enable" bağlantısı görünür hale gelir. Buna tıklamak modülü etkinleştirir:

Bir modülü etkinleştirme

Benzer şekilde, etkin bir modülün adının üzerine fareyle gelindiğinde, "Disable" bağlantısı görünür hale gelir. Buna tıklamak modülü devre dışı bırakır.

Toplu İşlem

Alternatif olarak, her modül için onay kutusunu seçip "Bulk actions" açılır menüsünden "Enable" ya da "Disable" seçeneğini belirleyebilirsiniz:

Modülleri toplu devre dışı bırakma

Genel ve Özel Endpoint'lerde Modülleri Devre Dışı Bırakma

Modülleri devre dışı bırakmak; GraphQL sunucusundan bazı işlevleri kaldırmamıza (örneğin: tek endpoint) ya da GraphQL şemasından bazı öğeleri kaldırmamıza (örneğin: bir tür, alan veya direktif) olanak tanır.

"Şema modülleri" (Schema modules), GraphQL şemasına türler/alanlar/direktifler ekleyen modüllerdir (Modules sayfasındaki "Schema Type" ve "Schema Directive" kategorileri altında bulunur). Tüketilmemesi gereken veriler hiçbir zaman açıkta bırakılmayacağından, ihtiyaç duyulmayan tüm "Schema modules" devre dışı bırakılarak GraphQL API'nin güvenliği artırılabilir.

Örneğin, "Users" modülü devre dışı bırakıldığında kullanıcı alanları (QueryRoot.users, Post.author ve diğerleri) GraphQL şemasından kaldırılır.

Bu nedenle, endpoint'lerin devre dışı bırakılması (önceki bölümde açıklandığı gibi) her zaman genel endpoint'lerde geçerlidir:

  • Single endpoint
  • Custom endpoints
  • Persisted queries

Ancak "Schema modules" erişimini yalnızca ziyaretçilerle (yani genel endpoint'lerde) kısıtlamak, ancak site yöneticisine özel endpoint'lerde kısıtlama uygulamamak isteyebiliriz; böylece dahili görevleri yürütmek için tam GraphQL şemasına erişim kısıtlanmamış olur.

Özel endpoint'ler şunlardır:

  • wp-admin/edit.php?page=graphql_api&action=run_query endpoint'i (yöneticinin GraphiQL ve Interactive Schema istemcilerini güçlendirir ve bloklara veri beslemek için WordPress editöründe çağrılabilir)
  • Custom private endpoints (aynı zamanda bloklara veri beslemek için kullanılır, ancak yapılandırmasını PHP hook'ları aracılığıyla kilitlemenize olanak tanır)
  • Dahili olarak yürütülen GraphQL queries (PHP'de GraphQLServer sınıfı aracılığıyla)

"Schema modules" özel endpoint'lerde de devre dışı bırakılması için, Ayarlar sayfasındaki "Plugin Configuration > Private Endpoints" sekmesinde "Disable "Schema modules" in the private endpoints?" öğesini işaretleyerek bunu yapılandırmalıyız.

Modülleri toplu devre dışı bırakma

Modül Bağımlılıkları

Her modülün başka bir modüle bağımlılığı olabilir. Bu durumda, bağımlı olunan modül devre dışı bırakılırsa, ona bağımlı olanlar da devre dışı bırakılır.

Bu bilgi, modüller tablosundaki "Depends on" sütununda görünür:

Modül bağımlılıkları

Örneğin, "Schema Configuration" modülü devre dışı bırakılırsa "Schema Namespacing" modülü de devre dışı bırakılır.

Modülleri Filtreleme

Modüller kategorilere göre gruplandırılmıştır:

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

Herhangi bir kategoriye tıklamak yalnızca ilgili modülleri görüntüler.

Modülleri filtreleme

Modül Belgelerini Görüntüleme

Modülün açıklamasının altındaki "View details" bağlantısına tıklayarak bir modülün belgelerini okuyabiliriz:

Modül belgelerini görüntüleme

Modül Ayarlarına Erişme

Modülün adının üzerine gelindiğinde, "Settings" bağlantısı görünür hale gelir (modülün herhangi bir ayarı yoksa görünmez).

Buna tıklamak, Ayarlar sayfasını modülün sekmesine odaklanarak açar:

Modül ayarlarına erişme